aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorGerd Moellmann1999-07-21 21:43:52 +0000
committerGerd Moellmann1999-07-21 21:43:52 +0000
commit2e9f55fde2d2430d687fc25cae1e0095dde7e4b1 (patch)
treec4053ed49162daffce32498d5b1e4098cd117bca /src
parent41c28a3753d17471b669cabb85c3bd5a375e78d7 (diff)
downloademacs-2e9f55fde2d2430d687fc25cae1e0095dde7e4b1.tar.gz
emacs-2e9f55fde2d2430d687fc25cae1e0095dde7e4b1.zip
(prepare_to_modify_buffer): Set windows_or_buffers_changed,
(del_range_1) [PROMPT_IN_BUFFER]: If start position is less than mini-buffer prompt width, use prompt width as start.
Diffstat (limited to 'src')
-rw-r--r--src/insdel.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/insdel.c b/src/insdel.c
index f2aaa84a8b9..d331c37d96c 100644
--- a/src/insdel.c
+++ b/src/insdel.c
@@ -33,6 +33,7 @@ Boston, MA 02111-1307, USA. */
33#endif 33#endif
34 34
35#define min(x, y) ((x) < (y) ? (x) : (y)) 35#define min(x, y) ((x) < (y) ? (x) : (y))
36#define max(x, y) ((x) > (y) ? (x) : (y))
36 37
37static void insert_from_string_1 P_ ((Lisp_Object, int, int, int, int, int, int)); 38static void insert_from_string_1 P_ ((Lisp_Object, int, int, int, int, int, int));
38static void insert_from_buffer_1 (); 39static void insert_from_buffer_1 ();
@@ -2047,6 +2048,15 @@ del_range_1 (from, to, prepare)
2047 int from, to, prepare; 2048 int from, to, prepare;
2048{ 2049{
2049 int from_byte, to_byte; 2050 int from_byte, to_byte;
2051
2052#if !NO_PROMPT_IN_BUFFER
2053 if (INTEGERP (current_buffer->minibuffer_prompt_length))
2054 {
2055 /* Don't delete part of a mini-buffer prompt. */
2056 int len = XFASTINT (current_buffer->minibuffer_prompt_length);
2057 from = max (from, len);
2058 }
2059#endif /* !NO_PROMPT_IN_BUFFER */
2050 2060
2051 /* Make args be valid */ 2061 /* Make args be valid */
2052 if (from < BEGV) 2062 if (from < BEGV)
@@ -2328,6 +2338,11 @@ prepare_to_modify_buffer (start, end, preserve_ptr)
2328 if (!NILP (current_buffer->read_only)) 2338 if (!NILP (current_buffer->read_only))
2329 Fbarf_if_buffer_read_only (); 2339 Fbarf_if_buffer_read_only ();
2330 2340
2341 /* Let redisplay consider other windows than selected_window
2342 if modifying another buffer. */
2343 if (XBUFFER (XWINDOW (selected_window)->buffer) != current_buffer)
2344 ++windows_or_buffers_changed;
2345
2331 /* Only defined if Emacs is compiled with USE_TEXT_PROPERTIES */ 2346 /* Only defined if Emacs is compiled with USE_TEXT_PROPERTIES */
2332 if (BUF_INTERVALS (current_buffer) != 0) 2347 if (BUF_INTERVALS (current_buffer) != 0)
2333 { 2348 {