diff options
| author | Martin Rudalics | 2012-11-13 08:40:07 +0100 |
|---|---|---|
| committer | Martin Rudalics | 2012-11-13 08:40:07 +0100 |
| commit | 9234627530cf2b766d7db64d2a059aaab11dc7b5 (patch) | |
| tree | 67334b1769c6ceb8fd6c69ba472bfaa8572ad6cb | |
| parent | 6e5e9b70f501a975baa4bce0b8f0854052435ff0 (diff) | |
| download | emacs-9234627530cf2b766d7db64d2a059aaab11dc7b5.tar.gz emacs-9234627530cf2b766d7db64d2a059aaab11dc7b5.zip | |
Preserve window-point-insertion-type when copying window-point markers. (Bug#12588)
* window.el (record-window-buffer)
(display-buffer-record-window): When copying the markers to
window-point preserve window-point-insertion-type. (Bug#12588)
| -rw-r--r-- | lisp/ChangeLog | 6 | ||||
| -rw-r--r-- | lisp/window.el | 24 |
2 files changed, 21 insertions, 9 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 61d202433fc..c13ef1289f8 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,3 +1,9 @@ | |||
| 1 | 2012-11-13 Martin Rudalics <rudalics@gmx.at> | ||
| 2 | |||
| 3 | * window.el (record-window-buffer) | ||
| 4 | (display-buffer-record-window): When copying the markers to | ||
| 5 | window-point preserve window-point-insertion-type. (Bug#12588) | ||
| 6 | |||
| 1 | 2012-11-13 Glenn Morris <rgm@gnu.org> | 7 | 2012-11-13 Glenn Morris <rgm@gnu.org> |
| 2 | 8 | ||
| 3 | * emacs-lisp/eieio-datadebug.el (eieio-debug-methodinvoke): | 9 | * emacs-lisp/eieio-datadebug.el (eieio-debug-methodinvoke): |
diff --git a/lisp/window.el b/lisp/window.el index 30ee622cfe6..6ea66d9d0a2 100644 --- a/lisp/window.el +++ b/lisp/window.el | |||
| @@ -3049,8 +3049,10 @@ WINDOW must be a live window and defaults to the selected one." | |||
| 3049 | (set-marker (nth 2 entry) point)) | 3049 | (set-marker (nth 2 entry) point)) |
| 3050 | ;; Make new markers. | 3050 | ;; Make new markers. |
| 3051 | (list (copy-marker start) | 3051 | (list (copy-marker start) |
| 3052 | (copy-marker point))))) | 3052 | (copy-marker |
| 3053 | 3053 | ;; Preserve window-point-insertion-type | |
| 3054 | ;; (Bug#12588). | ||
| 3055 | point window-point-insertion-type))))) | ||
| 3054 | (set-window-prev-buffers | 3056 | (set-window-prev-buffers |
| 3055 | window (cons entry (window-prev-buffers window)))))))) | 3057 | window (cons entry (window-prev-buffers window)))))))) |
| 3056 | 3058 | ||
| @@ -4555,13 +4557,17 @@ element is BUFFER." | |||
| 4555 | ;; If WINDOW has a quit-restore parameter, reset its car. | 4557 | ;; If WINDOW has a quit-restore parameter, reset its car. |
| 4556 | (setcar (window-parameter window 'quit-restore) 'same)) | 4558 | (setcar (window-parameter window 'quit-restore) 'same)) |
| 4557 | ;; WINDOW shows another buffer. | 4559 | ;; WINDOW shows another buffer. |
| 4558 | (set-window-parameter | 4560 | (with-current-buffer (window-buffer window) |
| 4559 | window 'quit-restore | 4561 | (set-window-parameter |
| 4560 | (list 'other | 4562 | window 'quit-restore |
| 4561 | ;; A quadruple of WINDOW's buffer, start, point and height. | 4563 | (list 'other |
| 4562 | (list (window-buffer window) (window-start window) | 4564 | ;; A quadruple of WINDOW's buffer, start, point and height. |
| 4563 | (window-point window) (window-total-size window)) | 4565 | (list (current-buffer) (window-start window) |
| 4564 | (selected-window) buffer)))) | 4566 | ;; Preserve window-point-insertion-type (Bug#12588). |
| 4567 | (copy-marker | ||
| 4568 | (window-point window) window-point-insertion-type) | ||
| 4569 | (window-total-size window)) | ||
| 4570 | (selected-window) buffer))))) | ||
| 4565 | ((eq type 'window) | 4571 | ((eq type 'window) |
| 4566 | ;; WINDOW has been created on an existing frame. | 4572 | ;; WINDOW has been created on an existing frame. |
| 4567 | (set-window-parameter | 4573 | (set-window-parameter |