aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog10
-rw-r--r--src/editfns.c7
-rw-r--r--src/xdisp.c49
3 files changed, 52 insertions, 14 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 4df4455e862..4d493eab7b1 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,5 +1,15 @@
12011-08-08 Eli Zaretskii <eliz@gnu.org>
2
3 * xdisp.c (forward_to_next_line_start): Allow to use the
4 no-display-properties-and-no-overlays under bidi display. Set
5 disp_pos in the bidi iterator to avoid searches for display
6 properties and overlays.
7
12011-08-08 Chong Yidong <cyd@stupidchicken.com> 82011-08-08 Chong Yidong <cyd@stupidchicken.com>
2 9
10 * editfns.c (Fset_time_zone_rule): Document relationship with the
11 setenv function.
12
3 * ftfont.c (ftfont_pattern_entity): Copy the extras argument to 13 * ftfont.c (ftfont_pattern_entity): Copy the extras argument to
4 the font entity extracted from the cache (Bug#8109). 14 the font entity extracted from the cache (Bug#8109).
5 15
diff --git a/src/editfns.c b/src/editfns.c
index 5eed386afb7..297f7b6d7e4 100644
--- a/src/editfns.c
+++ b/src/editfns.c
@@ -2053,7 +2053,12 @@ static char *initial_tz;
2053DEFUN ("set-time-zone-rule", Fset_time_zone_rule, Sset_time_zone_rule, 1, 1, 0, 2053DEFUN ("set-time-zone-rule", Fset_time_zone_rule, Sset_time_zone_rule, 1, 1, 0,
2054 doc: /* Set the local time zone using TZ, a string specifying a time zone rule. 2054 doc: /* Set the local time zone using TZ, a string specifying a time zone rule.
2055If TZ is nil, use implementation-defined default time zone information. 2055If TZ is nil, use implementation-defined default time zone information.
2056If TZ is t, use Universal Time. */) 2056If TZ is t, use Universal Time.
2057
2058Instead of calling this function, you typically want (setenv "TZ" TZ).
2059That changes both the environment of the Emacs process and the
2060variable `process-environment', whereas `set-time-zone-rule' affects
2061only the former. */)
2057 (Lisp_Object tz) 2062 (Lisp_Object tz)
2058{ 2063{
2059 const char *tzstring; 2064 const char *tzstring;
diff --git a/src/xdisp.c b/src/xdisp.c
index d4f53012763..b09a1547a57 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -5567,19 +5567,42 @@ forward_to_next_line_start (struct it *it, int *skipped_p,
5567 5567
5568 xassert (!STRINGP (it->string)); 5568 xassert (!STRINGP (it->string));
5569 5569
5570 /* If we are not bidi-reordering, and there isn't any `display' 5570 /* If there isn't any `display' property in sight, and no
5571 property in sight, and no overlays, we can just use the 5571 overlays, we can just use the position of the newline in
5572 position of the newline in buffer text. */ 5572 buffer text. */
5573 if (!it->bidi_p 5573 if (it->stop_charpos >= limit
5574 && (it->stop_charpos >= limit 5574 || ((pos = Fnext_single_property_change (make_number (start),
5575 || ((pos = Fnext_single_property_change (make_number (start), 5575 Qdisplay, Qnil,
5576 Qdisplay, Qnil, 5576 make_number (limit)),
5577 make_number (limit)), 5577 NILP (pos))
5578 NILP (pos)) 5578 && next_overlay_change (start) == ZV))
5579 && next_overlay_change (start) == ZV))) 5579 {
5580 { 5580 if (!it->bidi_p)
5581 IT_CHARPOS (*it) = limit; 5581 {
5582 IT_BYTEPOS (*it) = CHAR_TO_BYTE (limit); 5582 IT_CHARPOS (*it) = limit;
5583 IT_BYTEPOS (*it) = CHAR_TO_BYTE (limit);
5584 }
5585 else
5586 {
5587 struct bidi_it bprev;
5588
5589 /* Help bidi.c avoid expensive searches for display
5590 properties and overlays, by telling it that there are
5591 none up to `limit'. */
5592 if (it->bidi_it.disp_pos < limit)
5593 {
5594 it->bidi_it.disp_pos = limit;
5595 it->bidi_it.disp_prop_p = 0;
5596 }
5597 do {
5598 bprev = it->bidi_it;
5599 bidi_move_to_visually_next (&it->bidi_it);
5600 } while (it->bidi_it.charpos != limit);
5601 IT_CHARPOS (*it) = limit;
5602 IT_BYTEPOS (*it) = it->bidi_it.bytepos;
5603 if (bidi_it_prev)
5604 *bidi_it_prev = bprev;
5605 }
5583 *skipped_p = newline_found_p = 1; 5606 *skipped_p = newline_found_p = 1;
5584 } 5607 }
5585 else 5608 else