diff options
| author | Miles Bader | 2007-10-16 22:39:24 +0000 |
|---|---|---|
| committer | Miles Bader | 2007-10-16 22:39:24 +0000 |
| commit | 81d3d428c6b88e6c99f3fad6b7cc52c12236ff56 (patch) | |
| tree | 64eeb2b5872f9418a76cb1d5d73b3fdcc1fd557f /src | |
| parent | 9beb8baa1f1b59f8e76df62e95647c39acbac5e7 (diff) | |
| parent | c2c0d96fcaa3dc16a2ddc7b7f0b2e1fcdfffb285 (diff) | |
| download | emacs-81d3d428c6b88e6c99f3fad6b7cc52c12236ff56.tar.gz emacs-81d3d428c6b88e6c99f3fad6b7cc52c12236ff56.zip | |
Merge from emacs--rel--22
Revision: emacs@sv.gnu.org/emacs--devo--0--patch-892
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 12 | ||||
| -rw-r--r-- | src/eval.c | 2 | ||||
| -rw-r--r-- | src/xdisp.c | 26 |
3 files changed, 34 insertions, 6 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index cd6dd995bcf..6884af95810 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,10 @@ | |||
| 1 | 2007-10-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | ||
| 2 | |||
| 3 | * xdisp.c (handle_display_prop): Ignore display specs after | ||
| 4 | replacing one when string text is being replaced. | ||
| 5 | (handle_single_display_spec): Pretend as if characters with display | ||
| 6 | property haven't been consumed only when buffer text is being replaced. | ||
| 7 | |||
| 1 | 2007-10-16 Stefan Monnier <monnier@iro.umontreal.ca> | 8 | 2007-10-16 Stefan Monnier <monnier@iro.umontreal.ca> |
| 2 | 9 | ||
| 3 | * xfns.c (Fx_create_frame, Fx_display_list): | 10 | * xfns.c (Fx_create_frame, Fx_display_list): |
| @@ -109,6 +116,11 @@ | |||
| 109 | 116 | ||
| 110 | * puresize.h (BASE_PURESIZE): Increase to 1170000. | 117 | * puresize.h (BASE_PURESIZE): Increase to 1170000. |
| 111 | 118 | ||
| 119 | 2007-10-09 Richard Stallman <rms@gnu.org> | ||
| 120 | |||
| 121 | * xdisp.c (handle_invisible_prop): After setting up an ellipsis, | ||
| 122 | return HANDLED_RETURN. | ||
| 123 | |||
| 112 | 2007-10-08 Martin Rudalics <rudalics@gmx.at> | 124 | 2007-10-08 Martin Rudalics <rudalics@gmx.at> |
| 113 | 125 | ||
| 114 | * keyboard.c (kbd_buffer_get_event): Break loop waiting for input | 126 | * 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...) */) | |||
| 468 | struct gcpro gcpro1, gcpro2; | 468 | struct gcpro gcpro1, gcpro2; |
| 469 | register int argnum = 0; | 469 | register int argnum = 0; |
| 470 | 470 | ||
| 471 | if (NILP(args)) | 471 | if (NILP (args)) |
| 472 | return Qnil; | 472 | return Qnil; |
| 473 | 473 | ||
| 474 | args_left = args; | 474 | 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) | |||
| 3827 | { | 3827 | { |
| 3828 | if (handle_single_display_spec (it, XCAR (prop), object, | 3828 | if (handle_single_display_spec (it, XCAR (prop), object, |
| 3829 | position, display_replaced_p)) | 3829 | position, display_replaced_p)) |
| 3830 | display_replaced_p = 1; | 3830 | { |
| 3831 | display_replaced_p = 1; | ||
| 3832 | /* If some text in a string is replaced, `position' no | ||
| 3833 | longer points to the position of `object'. */ | ||
| 3834 | if (STRINGP (object)) | ||
| 3835 | break; | ||
| 3836 | } | ||
| 3831 | } | 3837 | } |
| 3832 | } | 3838 | } |
| 3833 | else if (VECTORP (prop)) | 3839 | else if (VECTORP (prop)) |
| @@ -3836,7 +3842,13 @@ handle_display_prop (it) | |||
| 3836 | for (i = 0; i < ASIZE (prop); ++i) | 3842 | for (i = 0; i < ASIZE (prop); ++i) |
| 3837 | if (handle_single_display_spec (it, AREF (prop, i), object, | 3843 | if (handle_single_display_spec (it, AREF (prop, i), object, |
| 3838 | position, display_replaced_p)) | 3844 | position, display_replaced_p)) |
| 3839 | display_replaced_p = 1; | 3845 | { |
| 3846 | display_replaced_p = 1; | ||
| 3847 | /* If some text in a string is replaced, `position' no | ||
| 3848 | longer points to the position of `object'. */ | ||
| 3849 | if (STRINGP (object)) | ||
| 3850 | break; | ||
| 3851 | } | ||
| 3840 | } | 3852 | } |
| 3841 | else | 3853 | else |
| 3842 | { | 3854 | { |
| @@ -4225,13 +4237,16 @@ handle_single_display_spec (it, spec, object, position, | |||
| 4225 | /* Say that we haven't consumed the characters with | 4237 | /* Say that we haven't consumed the characters with |
| 4226 | `display' property yet. The call to pop_it in | 4238 | `display' property yet. The call to pop_it in |
| 4227 | set_iterator_to_next will clean this up. */ | 4239 | set_iterator_to_next will clean this up. */ |
| 4228 | *position = start_pos; | 4240 | if (BUFFERP (object)) |
| 4241 | it->current.pos = start_pos; | ||
| 4229 | } | 4242 | } |
| 4230 | else if (CONSP (value) && EQ (XCAR (value), Qspace)) | 4243 | else if (CONSP (value) && EQ (XCAR (value), Qspace)) |
| 4231 | { | 4244 | { |
| 4232 | it->method = GET_FROM_STRETCH; | 4245 | it->method = GET_FROM_STRETCH; |
| 4233 | it->object = value; | 4246 | it->object = value; |
| 4234 | *position = it->position = start_pos; | 4247 | it->position = start_pos; |
| 4248 | if (BUFFERP (object)) | ||
| 4249 | it->current.pos = start_pos; | ||
| 4235 | } | 4250 | } |
| 4236 | #ifdef HAVE_WINDOW_SYSTEM | 4251 | #ifdef HAVE_WINDOW_SYSTEM |
| 4237 | else | 4252 | else |
| @@ -4245,7 +4260,8 @@ handle_single_display_spec (it, spec, object, position, | |||
| 4245 | /* Say that we haven't consumed the characters with | 4260 | /* Say that we haven't consumed the characters with |
| 4246 | `display' property yet. The call to pop_it in | 4261 | `display' property yet. The call to pop_it in |
| 4247 | set_iterator_to_next will clean this up. */ | 4262 | set_iterator_to_next will clean this up. */ |
| 4248 | *position = start_pos; | 4263 | if (BUFFERP (object)) |
| 4264 | it->current.pos = start_pos; | ||
| 4249 | } | 4265 | } |
| 4250 | #endif /* HAVE_WINDOW_SYSTEM */ | 4266 | #endif /* HAVE_WINDOW_SYSTEM */ |
| 4251 | 4267 | ||