diff options
-rw-r--r-- | doc/emacs/ChangeLog | 4 | ||||
-rw-r--r-- | doc/emacs/calendar.texi | 11 | ||||
-rw-r--r-- | src/ChangeLog | 12 | ||||
-rw-r--r-- | src/eval.c | 2 | ||||
-rw-r--r-- | src/xdisp.c | 26 |
5 files changed, 44 insertions, 11 deletions
diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index 9d5e6158f3f..f65b350955e 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,3 +1,7 @@ +2007-10-16 Richard Stallman <rms@gnu.org> + + * calendar.texi (Diary): Clarify text about diary file example. + 2007-10-13 Eric S. Raymond <esr@snark.thyrsus.com> * files.texi: Capitalize node names according to convention. diff --git a/doc/emacs/calendar.texi b/doc/emacs/calendar.texi index 1357784b920..47858f4f99e 100644 --- a/doc/emacs/calendar.texi +++ b/doc/emacs/calendar.texi @@ -989,9 +989,8 @@ events for today, for the immediate future, or for any specified date. The name of the diary file is specified by the variable -@code{diary-file}; @file{~/diary} is the default. A sample diary file -is (note that the file format is essentially the same as that used by -the external shell utility @samp{calendar}): +@code{diary-file}; @file{~/diary} is the default. Here's an example +showing what that file looks like: @example 12/22/1988 Twentieth wedding anniversary!! @@ -1008,8 +1007,10 @@ April 15, 1989 Income tax due. @end example @noindent -This example uses extra spaces to align the event descriptions of most -of the entries. Such formatting is purely a matter of taste. +This format is essentially the same as the one used by the system's +@program{calendar} utility. This example uses extra spaces to align +the event descriptions of most of the entries. Such formatting is +purely a matter of taste. Although you probably will start by creating a diary manually, Emacs provides a number of commands to let you view, add, and change diary diff --git a/src/ChangeLog b/src/ChangeLog index cd6dd995bcf..6884af95810 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,10 @@ +2007-10-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> + + * xdisp.c (handle_display_prop): Ignore display specs after + replacing one when string text is being replaced. + (handle_single_display_spec): Pretend as if characters with display + property haven't been consumed only when buffer text is being replaced. + 2007-10-16 Stefan Monnier <monnier@iro.umontreal.ca> * xfns.c (Fx_create_frame, Fx_display_list): @@ -109,6 +116,11 @@ * puresize.h (BASE_PURESIZE): Increase to 1170000. +2007-10-09 Richard Stallman <rms@gnu.org> + + * xdisp.c (handle_invisible_prop): After setting up an ellipsis, + return HANDLED_RETURN. + 2007-10-08 Martin Rudalics <rudalics@gmx.at> * keyboard.c (kbd_buffer_get_event): Break loop waiting for input diff --git a/src/eval.c b/src/eval.c index d71d646a25b..eaa1a6855f6 100644 --- a/src/eval.c +++ b/src/eval.c @@ -468,7 +468,7 @@ usage: (prog1 FIRST BODY...) */) struct gcpro gcpro1, gcpro2; register int argnum = 0; - if (NILP(args)) + if (NILP (args)) return Qnil; args_left = args; diff --git a/src/xdisp.c b/src/xdisp.c index 5bf4208ff64..43e5a953e50 100644 --- a/src/xdisp.c +++ b/src/xdisp.c @@ -3827,7 +3827,13 @@ handle_display_prop (it) { if (handle_single_display_spec (it, XCAR (prop), object, position, display_replaced_p)) - display_replaced_p = 1; + { + display_replaced_p = 1; + /* If some text in a string is replaced, `position' no + longer points to the position of `object'. */ + if (STRINGP (object)) + break; + } } } else if (VECTORP (prop)) @@ -3836,7 +3842,13 @@ handle_display_prop (it) for (i = 0; i < ASIZE (prop); ++i) if (handle_single_display_spec (it, AREF (prop, i), object, position, display_replaced_p)) - display_replaced_p = 1; + { + display_replaced_p = 1; + /* If some text in a string is replaced, `position' no + longer points to the position of `object'. */ + if (STRINGP (object)) + break; + } } else { @@ -4225,13 +4237,16 @@ handle_single_display_spec (it, spec, object, position, /* Say that we haven't consumed the characters with `display' property yet. The call to pop_it in set_iterator_to_next will clean this up. */ - *position = start_pos; + if (BUFFERP (object)) + it->current.pos = start_pos; } else if (CONSP (value) && EQ (XCAR (value), Qspace)) { it->method = GET_FROM_STRETCH; it->object = value; - *position = it->position = start_pos; + it->position = start_pos; + if (BUFFERP (object)) + it->current.pos = start_pos; } #ifdef HAVE_WINDOW_SYSTEM else @@ -4245,7 +4260,8 @@ handle_single_display_spec (it, spec, object, position, /* Say that we haven't consumed the characters with `display' property yet. The call to pop_it in set_iterator_to_next will clean this up. */ - *position = start_pos; + if (BUFFERP (object)) + it->current.pos = start_pos; } #endif /* HAVE_WINDOW_SYSTEM */ |