65 |
(defvar cua--rectangle-overlays nil) |
(defvar cua--rectangle-overlays nil) |
66 |
(make-variable-buffer-local 'cua--rectangle-overlays) |
(make-variable-buffer-local 'cua--rectangle-overlays) |
67 |
|
|
68 |
|
(defvar cua--overlay-keymap |
69 |
|
(let ((map (make-sparse-keymap))) |
70 |
|
(define-key map "\r" 'cua-rotate-rectangle))) |
71 |
|
|
72 |
(defvar cua--virtual-edges-debug nil) |
(defvar cua--virtual-edges-debug nil) |
73 |
|
|
74 |
;; Per-buffer CUA mode undo list. |
;; Per-buffer CUA mode undo list. |
278 |
(move-to-column mc) |
(move-to-column mc) |
279 |
(set-mark (point)) |
(set-mark (point)) |
280 |
(goto-char pp) |
(goto-char pp) |
281 |
|
;; Move cursor inside rectangle, except if char at rigth edge is a tab. |
282 |
(if (and (if (cua--rectangle-right-side) |
(if (and (if (cua--rectangle-right-side) |
283 |
(= (move-to-column pc) (- pc tab-width)) |
(and (= (move-to-column pc) (- pc tab-width)) |
284 |
|
(not (eolp))) |
285 |
(> (move-to-column pc) pc)) |
(> (move-to-column pc) pc)) |
286 |
(not (bolp))) |
(not (bolp))) |
287 |
(backward-char 1)) |
(backward-char 1)) |
291 |
|
|
292 |
(defun cua--forward-line (n) |
(defun cua--forward-line (n) |
293 |
;; Move forward/backward one line. Returns t if movement. |
;; Move forward/backward one line. Returns t if movement. |
294 |
(= (forward-line n) 0)) |
(let ((pt (point))) |
295 |
|
(and (= (forward-line n) 0) |
296 |
|
;; Deal with end of buffer |
297 |
|
(or (not (eobp)) |
298 |
|
(goto-char pt))))) |
299 |
|
|
300 |
(defun cua--rectangle-resized () |
(defun cua--rectangle-resized () |
301 |
;; Refresh state after resizing rectangle |
;; Refresh state after resizing rectangle |
853 |
(overlay-put overlay 'before-string bs) |
(overlay-put overlay 'before-string bs) |
854 |
(overlay-put overlay 'after-string as) |
(overlay-put overlay 'after-string as) |
855 |
(overlay-put overlay 'face rface) |
(overlay-put overlay 'face rface) |
856 |
|
(overlay-put overlay 'keymap cua--overlay-keymap) |
857 |
(setq new (cons overlay new)))))) |
(setq new (cons overlay new)))))) |
858 |
;; Trim old trailing overlays. |
;; Trim old trailing overlays. |
859 |
(mapcar (function delete-overlay) old) |
(mapcar (function delete-overlay) old) |