diff options
| author | Gerd Moellmann | 1999-07-21 21:43:52 +0000 |
|---|---|---|
| committer | Gerd Moellmann | 1999-07-21 21:43:52 +0000 |
| commit | 2e9f55fde2d2430d687fc25cae1e0095dde7e4b1 (patch) | |
| tree | c4053ed49162daffce32498d5b1e4098cd117bca /src | |
| parent | 41c28a3753d17471b669cabb85c3bd5a375e78d7 (diff) | |
| download | emacs-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.c | 15 |
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 | ||
| 37 | static void insert_from_string_1 P_ ((Lisp_Object, int, int, int, int, int, int)); | 38 | static void insert_from_string_1 P_ ((Lisp_Object, int, int, int, int, int, int)); |
| 38 | static void insert_from_buffer_1 (); | 39 | static 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 | { |