aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog10
-rw-r--r--src/editfns.c5
-rw-r--r--src/fns.c2
-rw-r--r--src/xdisp.c26
4 files changed, 35 insertions, 8 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 09a3ba2d825..bc76f96208a 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,13 @@
12005-09-03 Richard M. Stallman <rms@gnu.org>
2
3 * xdisp.c (redisplay_internal): Make UPDATED as long as needed.
4 (move_it_in_display_line_to): Stop after last char on line even
5 on a windowing terminal, if that's the specified stop position.
6
7 * fns.c (Fsort): Doc fix.
8
9 * editfns.c (Fpropertize): Don't insist that properties be symbols.
10
12005-09-01 Stefan Monnier <monnier@iro.umontreal.ca> 112005-09-01 Stefan Monnier <monnier@iro.umontreal.ca>
2 12
3 * dispnew.c (window_to_frame_hpos, update_window): 13 * dispnew.c (window_to_frame_hpos, update_window):
diff --git a/src/editfns.c b/src/editfns.c
index da4533d2537..a05d2396448 100644
--- a/src/editfns.c
+++ b/src/editfns.c
@@ -3260,10 +3260,7 @@ usage: (propertize STRING &rest PROPERTIES) */)
3260 string = Fcopy_sequence (args[0]); 3260 string = Fcopy_sequence (args[0]);
3261 3261
3262 for (i = 1; i < nargs; i += 2) 3262 for (i = 1; i < nargs; i += 2)
3263 { 3263 properties = Fcons (args[i], Fcons (args[i + 1], properties));
3264 CHECK_SYMBOL (args[i]);
3265 properties = Fcons (args[i], Fcons (args[i + 1], properties));
3266 }
3267 3264
3268 Fadd_text_properties (make_number (0), 3265 Fadd_text_properties (make_number (0),
3269 make_number (SCHARS (string)), 3266 make_number (SCHARS (string)),
diff --git a/src/fns.c b/src/fns.c
index 1e26ec9a392..3c23aef282e 100644
--- a/src/fns.c
+++ b/src/fns.c
@@ -1894,7 +1894,7 @@ DEFUN ("sort", Fsort, Ssort, 2, 2, 0,
1894 doc: /* Sort LIST, stably, comparing elements using PREDICATE. 1894 doc: /* Sort LIST, stably, comparing elements using PREDICATE.
1895Returns the sorted list. LIST is modified by side effects. 1895Returns the sorted list. LIST is modified by side effects.
1896PREDICATE is called with two elements of LIST, and should return non-nil 1896PREDICATE is called with two elements of LIST, and should return non-nil
1897if the first element is "less" than the second. */) 1897if the first element should sort before the second. */)
1898 (list, predicate) 1898 (list, predicate)
1899 Lisp_Object list, predicate; 1899 Lisp_Object list, predicate;
1900{ 1900{
diff --git a/src/xdisp.c b/src/xdisp.c
index a32cb70f436..b887c8d702c 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -5999,6 +5999,8 @@ move_it_in_display_line_to (it, to_charpos, to_x, op)
5999 glyphs have the same width. */ 5999 glyphs have the same width. */
6000 int single_glyph_width = it->pixel_width / it->nglyphs; 6000 int single_glyph_width = it->pixel_width / it->nglyphs;
6001 int new_x; 6001 int new_x;
6002 int x_before_this_char = x;
6003 int hpos_before_this_char = it->hpos;
6002 6004
6003 for (i = 0; i < it->nglyphs; ++i, x = new_x) 6005 for (i = 0; i < it->nglyphs; ++i, x = new_x)
6004 { 6006 {
@@ -6030,8 +6032,22 @@ move_it_in_display_line_to (it, to_charpos, to_x, op)
6030 { 6032 {
6031 ++it->hpos; 6033 ++it->hpos;
6032 it->current_x = new_x; 6034 it->current_x = new_x;
6035
6036 /* The character's last glyph just barely fits
6037 in this row. */
6033 if (i == it->nglyphs - 1) 6038 if (i == it->nglyphs - 1)
6034 { 6039 {
6040 /* If this is the destination position,
6041 return a position *before* it in this row,
6042 now that we know it fits in this row. */
6043 if (BUFFER_POS_REACHED_P ())
6044 {
6045 it->hpos = hpos_before_this_char;
6046 it->current_x = x_before_this_char;
6047 result = MOVE_POS_MATCH_OR_ZV;
6048 break;
6049 }
6050
6035 set_iterator_to_next (it, 1); 6051 set_iterator_to_next (it, 1);
6036#ifdef HAVE_WINDOW_SYSTEM 6052#ifdef HAVE_WINDOW_SYSTEM
6037 if (IT_OVERFLOW_NEWLINE_INTO_FRINGE (it)) 6053 if (IT_OVERFLOW_NEWLINE_INTO_FRINGE (it))
@@ -10600,9 +10616,13 @@ redisplay_internal (preserve_echo_area)
10600 if (consider_all_windows_p) 10616 if (consider_all_windows_p)
10601 { 10617 {
10602 Lisp_Object tail, frame; 10618 Lisp_Object tail, frame;
10603 int i, n = 0, size = 50; 10619 int i, n = 0, size = 5;
10604 struct frame **updated 10620 struct frame **updated;
10605 = (struct frame **) alloca (size * sizeof *updated); 10621
10622 FOR_EACH_FRAME (tail, frame)
10623 size++;
10624
10625 updated = (struct frame **) alloca (size * sizeof *updated);
10606 10626
10607 /* Recompute # windows showing selected buffer. This will be 10627 /* Recompute # windows showing selected buffer. This will be
10608 incremented each time such a window is displayed. */ 10628 incremented each time such a window is displayed. */