summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/emacs/ChangeLog4
-rw-r--r--doc/emacs/calendar.texi11
-rw-r--r--src/ChangeLog12
-rw-r--r--src/eval.c2
-rw-r--r--src/xdisp.c26
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 */