aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Rudalics2012-11-13 08:40:07 +0100
committerMartin Rudalics2012-11-13 08:40:07 +0100
commit9234627530cf2b766d7db64d2a059aaab11dc7b5 (patch)
tree67334b1769c6ceb8fd6c69ba472bfaa8572ad6cb
parent6e5e9b70f501a975baa4bce0b8f0854052435ff0 (diff)
downloademacs-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/ChangeLog6
-rw-r--r--lisp/window.el24
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 @@
12012-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
12012-11-13 Glenn Morris <rgm@gnu.org> 72012-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