# HG changeset patch # User Miles Bader # Date 1192574364 0 # Node ID a89507976418dc588b47810547106db8fadd3578 # Parent 0bc184c597701787c799add100f6a647a6b5bfdb# Parent 10e976a841605fda1590db4bc7ee48659ec77240 Merge from emacs--rel--22 Revision: emacs@sv.gnu.org/emacs--devo--0--patch-892 diff -r 0bc184c59770 -r a89507976418 doc/emacs/ChangeLog --- a/doc/emacs/ChangeLog Tue Oct 16 16:28:39 2007 +0000 +++ b/doc/emacs/ChangeLog Tue Oct 16 22:39:24 2007 +0000 @@ -1,3 +1,7 @@ +2007-10-16 Richard Stallman + + * calendar.texi (Diary): Clarify text about diary file example. + 2007-10-13 Eric S. Raymond * files.texi: Capitalize node names according to convention. diff -r 0bc184c59770 -r a89507976418 doc/emacs/calendar.texi --- a/doc/emacs/calendar.texi Tue Oct 16 16:28:39 2007 +0000 +++ b/doc/emacs/calendar.texi Tue Oct 16 22:39:24 2007 +0000 @@ -989,9 +989,8 @@ 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 @@ @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 -r 0bc184c59770 -r a89507976418 src/ChangeLog --- a/src/ChangeLog Tue Oct 16 16:28:39 2007 +0000 +++ b/src/ChangeLog Tue Oct 16 22:39:24 2007 +0000 @@ -1,3 +1,10 @@ +2007-10-16 YAMAMOTO Mitsuharu + + * 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 * xfns.c (Fx_create_frame, Fx_display_list): @@ -109,6 +116,11 @@ * puresize.h (BASE_PURESIZE): Increase to 1170000. +2007-10-09 Richard Stallman + + * xdisp.c (handle_invisible_prop): After setting up an ellipsis, + return HANDLED_RETURN. + 2007-10-08 Martin Rudalics * keyboard.c (kbd_buffer_get_event): Break loop waiting for input diff -r 0bc184c59770 -r a89507976418 src/eval.c --- a/src/eval.c Tue Oct 16 16:28:39 2007 +0000 +++ b/src/eval.c Tue Oct 16 22:39:24 2007 +0000 @@ -468,7 +468,7 @@ struct gcpro gcpro1, gcpro2; register int argnum = 0; - if (NILP(args)) + if (NILP (args)) return Qnil; args_left = args; diff -r 0bc184c59770 -r a89507976418 src/xdisp.c --- a/src/xdisp.c Tue Oct 16 16:28:39 2007 +0000 +++ b/src/xdisp.c Tue Oct 16 22:39:24 2007 +0000 @@ -3827,7 +3827,13 @@ { 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 @@ 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 @@ /* 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 @@ /* 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 */