changeset 85331:a89507976418

Merge from emacs--rel--22 Revision: emacs@sv.gnu.org/emacs--devo--0--patch-892
author Miles Bader <miles@gnu.org>
date Tue, 16 Oct 2007 22:39:24 +0000
parents 0bc184c59770 (current diff) 10e976a84160 (diff)
children bb808ca35bd9
files doc/emacs/ChangeLog doc/emacs/calendar.texi src/ChangeLog src/eval.c src/xdisp.c
diffstat 5 files changed, 44 insertions(+), 11 deletions(-) [+]
line wrap: on
line diff
--- 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  <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.
--- 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
--- 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  <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
--- 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;
--- 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 */