aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPaul Eggert2016-03-22 11:01:30 -0700
committerPaul Eggert2016-03-22 11:01:30 -0700
commit37b9099068c10383e959ee366a52a22516846163 (patch)
treef135528cdacc4313be84f7bf1ceade19327d5fe7 /src
parent6bd1e2203486ace170f5de15cf7d66146fc8cc87 (diff)
parent56df61712ac446d3dcd9c897f687cc74a04be314 (diff)
downloademacs-37b9099068c10383e959ee366a52a22516846163.tar.gz
emacs-37b9099068c10383e959ee366a52a22516846163.zip
-
Diffstat (limited to 'src')
-rw-r--r--src/editfns.c6
-rw-r--r--src/image.c3
-rw-r--r--src/keyboard.c11
-rw-r--r--src/xdisp.c29
-rw-r--r--src/xfns.c2
5 files changed, 34 insertions, 17 deletions
diff --git a/src/editfns.c b/src/editfns.c
index c6441c25af9..664a59e0721 100644
--- a/src/editfns.c
+++ b/src/editfns.c
@@ -1456,7 +1456,7 @@ time_overflow (void)
1456 error ("Specified time is not representable"); 1456 error ("Specified time is not representable");
1457} 1457}
1458 1458
1459static void 1459static _Noreturn void
1460invalid_time (void) 1460invalid_time (void)
1461{ 1461{
1462 error ("Invalid time specification"); 1462 error ("Invalid time specification");
@@ -1848,7 +1848,9 @@ lisp_time_struct (Lisp_Object specified_time, int *plen)
1848 Lisp_Object high, low, usec, psec; 1848 Lisp_Object high, low, usec, psec;
1849 struct lisp_time t; 1849 struct lisp_time t;
1850 int len = disassemble_lisp_time (specified_time, &high, &low, &usec, &psec); 1850 int len = disassemble_lisp_time (specified_time, &high, &low, &usec, &psec);
1851 int val = len ? decode_time_components (high, low, usec, psec, &t, 0) : 0; 1851 if (!len)
1852 invalid_time ();
1853 int val = decode_time_components (high, low, usec, psec, &t, 0);
1852 check_time_validity (val); 1854 check_time_validity (val);
1853 *plen = len; 1855 *plen = len;
1854 return t; 1856 return t;
diff --git a/src/image.c b/src/image.c
index bee066eb3fb..867450567c2 100644
--- a/src/image.c
+++ b/src/image.c
@@ -1830,6 +1830,9 @@ cache_image (struct frame *f, struct image *img)
1830 struct image_cache *c = FRAME_IMAGE_CACHE (f); 1830 struct image_cache *c = FRAME_IMAGE_CACHE (f);
1831 ptrdiff_t i; 1831 ptrdiff_t i;
1832 1832
1833 if (!c)
1834 c = FRAME_IMAGE_CACHE (f) = make_image_cache ();
1835
1833 /* Find a free slot in c->images. */ 1836 /* Find a free slot in c->images. */
1834 for (i = 0; i < c->used; ++i) 1837 for (i = 0; i < c->used; ++i)
1835 if (c->images[i] == NULL) 1838 if (c->images[i] == NULL)
diff --git a/src/keyboard.c b/src/keyboard.c
index b8e0a6d88ea..1a5dbd0f617 100644
--- a/src/keyboard.c
+++ b/src/keyboard.c
@@ -430,10 +430,9 @@ kset_system_key_syms (struct kboard *kb, Lisp_Object val)
430static bool 430static bool
431echo_keystrokes_p (void) 431echo_keystrokes_p (void)
432{ 432{
433 return (!cursor_in_echo_area) 433 return (FLOATP (Vecho_keystrokes) ? XFLOAT_DATA (Vecho_keystrokes) > 0.0
434 && (FLOATP (Vecho_keystrokes) ? XFLOAT_DATA (Vecho_keystrokes) > 0.0 434 : INTEGERP (Vecho_keystrokes) ? XINT (Vecho_keystrokes) > 0
435 : INTEGERP (Vecho_keystrokes) ? XINT (Vecho_keystrokes) > 0 435 : false);
436 : false);
437} 436}
438 437
439/* Add C to the echo string, without echoing it immediately. C can be 438/* Add C to the echo string, without echoing it immediately. C can be
@@ -8901,7 +8900,9 @@ read_key_sequence (Lisp_Object *keybuf, int bufsize, Lisp_Object prompt,
8901 if (!echo_keystrokes_p ()) 8900 if (!echo_keystrokes_p ())
8902 current_kboard->immediate_echo = false; 8901 current_kboard->immediate_echo = false;
8903 } 8902 }
8904 else if (echo_keystrokes_p ()) 8903 else if (cursor_in_echo_area /* FIXME: Not sure why we test this here,
8904 maybe we should just drop this test. */
8905 && echo_keystrokes_p ())
8905 /* This doesn't put in a dash if the echo buffer is empty, so 8906 /* This doesn't put in a dash if the echo buffer is empty, so
8906 you don't always see a dash hanging out in the minibuffer. */ 8907 you don't always see a dash hanging out in the minibuffer. */
8907 echo_dash (); 8908 echo_dash ();
diff --git a/src/xdisp.c b/src/xdisp.c
index 123303ef8d8..7dc99e1c283 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -2946,7 +2946,7 @@ init_iterator (struct it *it, struct window *w,
2946 character properties needed for reordering are not yet 2946 character properties needed for reordering are not yet
2947 available. */ 2947 available. */
2948 it->bidi_p = 2948 it->bidi_p =
2949 NILP (Vpurify_flag) 2949 !redisplay__inhibit_bidi
2950 && !NILP (BVAR (current_buffer, bidi_display_reordering)) 2950 && !NILP (BVAR (current_buffer, bidi_display_reordering))
2951 && it->multibyte_p; 2951 && it->multibyte_p;
2952 2952
@@ -6641,7 +6641,7 @@ reseat_to_string (struct it *it, const char *s, Lisp_Object string,
6641 loading loadup.el, as the necessary character property tables are 6641 loading loadup.el, as the necessary character property tables are
6642 not yet available. */ 6642 not yet available. */
6643 it->bidi_p = 6643 it->bidi_p =
6644 NILP (Vpurify_flag) 6644 !redisplay__inhibit_bidi
6645 && !NILP (BVAR (&buffer_defaults, bidi_display_reordering)); 6645 && !NILP (BVAR (&buffer_defaults, bidi_display_reordering));
6646 6646
6647 if (s == NULL) 6647 if (s == NULL)
@@ -10531,8 +10531,8 @@ ensure_echo_area_buffers (void)
10531 suitable buffer from echo_buffer[] and clear it. 10531 suitable buffer from echo_buffer[] and clear it.
10532 10532
10533 If WHICH < 0, set echo_area_buffer[1] to echo_area_buffer[0], so 10533 If WHICH < 0, set echo_area_buffer[1] to echo_area_buffer[0], so
10534 that the current message becomes the last displayed one, make 10534 that the current message becomes the last displayed one, choose a
10535 choose a suitable buffer for echo_area_buffer[0], and clear it. 10535 suitable buffer for echo_area_buffer[0], and clear it.
10536 10536
10537 Value is what FN returns. */ 10537 Value is what FN returns. */
10538 10538
@@ -10566,7 +10566,7 @@ with_echo_area_buffer (struct window *w, int which,
10566 echo_area_buffer[this_one] = Qnil; 10566 echo_area_buffer[this_one] = Qnil;
10567 } 10567 }
10568 10568
10569 /* Choose a suitable buffer from echo_buffer[] is we don't 10569 /* Choose a suitable buffer from echo_buffer[] if we don't
10570 have one. */ 10570 have one. */
10571 if (NILP (echo_area_buffer[this_one])) 10571 if (NILP (echo_area_buffer[this_one]))
10572 { 10572 {
@@ -21194,7 +21194,7 @@ See also `bidi-paragraph-direction'. */)
21194 || NILP (BVAR (buf, enable_multibyte_characters)) 21194 || NILP (BVAR (buf, enable_multibyte_characters))
21195 /* When we are loading loadup.el, the character property tables 21195 /* When we are loading loadup.el, the character property tables
21196 needed for bidi iteration are not yet available. */ 21196 needed for bidi iteration are not yet available. */
21197 || !NILP (Vpurify_flag)) 21197 || redisplay__inhibit_bidi)
21198 return Qleft_to_right; 21198 return Qleft_to_right;
21199 else if (!NILP (BVAR (buf, bidi_paragraph_direction))) 21199 else if (!NILP (BVAR (buf, bidi_paragraph_direction)))
21200 return BVAR (buf, bidi_paragraph_direction); 21200 return BVAR (buf, bidi_paragraph_direction);
@@ -21318,7 +21318,7 @@ the `bidi-class' property of a character. */)
21318 /* When we are loading loadup.el, the character property 21318 /* When we are loading loadup.el, the character property
21319 tables needed for bidi iteration are not yet 21319 tables needed for bidi iteration are not yet
21320 available. */ 21320 available. */
21321 || !NILP (Vpurify_flag)) 21321 || redisplay__inhibit_bidi)
21322 return Qnil; 21322 return Qnil;
21323 21323
21324 validate_subarray (object, from, to, SCHARS (object), &from_pos, &to_pos); 21324 validate_subarray (object, from, to, SCHARS (object), &from_pos, &to_pos);
@@ -21346,7 +21346,7 @@ the `bidi-class' property of a character. */)
21346 /* When we are loading loadup.el, the character property 21346 /* When we are loading loadup.el, the character property
21347 tables needed for bidi iteration are not yet 21347 tables needed for bidi iteration are not yet
21348 available. */ 21348 available. */
21349 || !NILP (Vpurify_flag)) 21349 || redisplay__inhibit_bidi)
21350 return Qnil; 21350 return Qnil;
21351 21351
21352 set_buffer_temp (buf); 21352 set_buffer_temp (buf);
@@ -31552,7 +31552,12 @@ A value of t means resize them to fit the text displayed in them.
31552A value of `grow-only', the default, means let mini-windows grow only; 31552A value of `grow-only', the default, means let mini-windows grow only;
31553they return to their normal size when the minibuffer is closed, or the 31553they return to their normal size when the minibuffer is closed, or the
31554echo area becomes empty. */); 31554echo area becomes empty. */);
31555 Vresize_mini_windows = Qgrow_only; 31555 /* Contrary to the doc string, we initialize this to nil, so that
31556 loading loadup.el won't try to resize windows before loading
31557 window.el, where some functions we need to call for this live.
31558 We assign the 'grow-only' value right after loading window.el
31559 during loadup. */
31560 Vresize_mini_windows = Qnil;
31556 31561
31557 DEFVAR_LISP ("blink-cursor-alist", Vblink_cursor_alist, 31562 DEFVAR_LISP ("blink-cursor-alist", Vblink_cursor_alist,
31558 doc: /* Alist specifying how to blink the cursor off. 31563 doc: /* Alist specifying how to blink the cursor off.
@@ -31760,6 +31765,12 @@ display table takes effect; in this case, Emacs does not consult
31760 DEFVAR_LISP ("redisplay--variables", Vredisplay__variables, 31765 DEFVAR_LISP ("redisplay--variables", Vredisplay__variables,
31761 doc: /* A hash-table of variables changing which triggers a thorough redisplay. */); 31766 doc: /* A hash-table of variables changing which triggers a thorough redisplay. */);
31762 Vredisplay__variables = Qnil; 31767 Vredisplay__variables = Qnil;
31768
31769 DEFVAR_BOOL ("redisplay--inhibit-bidi", redisplay__inhibit_bidi,
31770 doc: /* Non-nil means it is not safe to attempt bidi reordering for display. */);
31771 /* Initialize to t, since we need to disable reordering until
31772 loadup.el successfully loads charprop.el. */
31773 redisplay__inhibit_bidi = true;
31763} 31774}
31764 31775
31765 31776
diff --git a/src/xfns.c b/src/xfns.c
index 74c559a5a0b..f7779e52590 100644
--- a/src/xfns.c
+++ b/src/xfns.c
@@ -273,7 +273,7 @@ x_real_pos_and_offsets (struct frame *f,
273 XFree (tmp_children); 273 XFree (tmp_children);
274#endif 274#endif
275 275
276 if (wm_window == rootw || had_errors) 276 if (had_errors || wm_window == rootw)
277 break; 277 break;
278 278
279 win = wm_window; 279 win = wm_window;