comparison lisp/emulation/cua-rect.el @ 67214:4fd503f32b2c

(cua--rectangle-overlays): Make permanent-local. (cua--rectangle-post-command): Cleanup overlays and deactivate mark after revert-buffer (or anything else which kills all local variables).
author Kim F. Storm <storm@cua.dk>
date Tue, 29 Nov 2005 23:58:20 +0000
parents cbf6461ecbbd
children 60adafc3124f
comparison
equal deleted inserted replaced
67213:818361523ce8 67214:4fd503f32b2c
63 (defvar cua--last-killed-rectangle nil) 63 (defvar cua--last-killed-rectangle nil)
64 64
65 ;; List of overlays used to display current rectangle. 65 ;; List of overlays used to display current rectangle.
66 (defvar cua--rectangle-overlays nil) 66 (defvar cua--rectangle-overlays nil)
67 (make-variable-buffer-local 'cua--rectangle-overlays) 67 (make-variable-buffer-local 'cua--rectangle-overlays)
68 (put 'cua--rectangle-overlays 'permanent-local t)
68 69
69 (defvar cua--overlay-keymap 70 (defvar cua--overlay-keymap
70 (let ((map (make-sparse-keymap))) 71 (let ((map (make-sparse-keymap)))
71 (define-key map "\r" 'cua-rotate-rectangle))) 72 (define-key map "\r" 'cua-rotate-rectangle)))
72 73
1391 (cua--rectangle-top t)))) 1392 (cua--rectangle-top t))))
1392 (if cua--rectangle 1393 (if cua--rectangle
1393 (if (and mark-active 1394 (if (and mark-active
1394 (not deactivate-mark)) 1395 (not deactivate-mark))
1395 (cua--highlight-rectangle) 1396 (cua--highlight-rectangle)
1396 (cua--deactivate-rectangle))) 1397 (cua--deactivate-rectangle))
1398 (when cua--rectangle-overlays
1399 ;; clean-up after revert-buffer
1400 (mapcar (function delete-overlay) cua--rectangle-overlays)
1401 (setq cua--rectangle-overlays nil)
1402 (setq deactivate-mark t)))
1397 (when cua--rect-undo-set-point 1403 (when cua--rect-undo-set-point
1398 (goto-char cua--rect-undo-set-point) 1404 (goto-char cua--rect-undo-set-point)
1399 (setq cua--rect-undo-set-point nil))) 1405 (setq cua--rect-undo-set-point nil)))
1400 1406
1401 ;;; Initialization 1407 ;;; Initialization