diff options
| author | Reuben Thomas | 2012-07-14 10:19:07 +0800 |
|---|---|---|
| committer | Chong Yidong | 2012-07-14 10:19:07 +0800 |
| commit | be755c79bdba0a187af6541b0fea7d55d5b23754 (patch) | |
| tree | cb266a82ec694a44d3714c59e7b122d640fae16b | |
| parent | ed9265fc7dc83341b2a807f114dcdd4d170d7e0e (diff) | |
| download | emacs-be755c79bdba0a187af6541b0fea7d55d5b23754.tar.gz emacs-be755c79bdba0a187af6541b0fea7d55d5b23754.zip | |
* rect.el (copy-rectangle-as-kill): New command.
* lisp/rect.el, lisp/register.el: Move bindings to bindings.el.
* lisp/bindings.el: Consolidate ctl-x-r-map bindings. Bind
copy-rectangle-as-kill to C-x r w.
Fixes: debbugs:739
| -rw-r--r-- | etc/NEWS | 3 | ||||
| -rw-r--r-- | lisp/ChangeLog | 11 | ||||
| -rw-r--r-- | lisp/bindings.el | 25 | ||||
| -rw-r--r-- | lisp/rect.el | 17 | ||||
| -rw-r--r-- | lisp/register.el | 16 |
5 files changed, 45 insertions, 27 deletions
| @@ -158,6 +158,9 @@ character when doing minibuffer filename prompts. | |||
| 158 | 158 | ||
| 159 | ** `goto-char' is now bound to `M-g c'. | 159 | ** `goto-char' is now bound to `M-g c'. |
| 160 | 160 | ||
| 161 | ** New command `C-x r M-w' (copy-rectangle-as-kill). | ||
| 162 | It copies the region-rectangle as the last rectangle kill. | ||
| 163 | |||
| 161 | ** New input method `vietnamese-vni'. | 164 | ** New input method `vietnamese-vni'. |
| 162 | 165 | ||
| 163 | 166 | ||
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index dd510bbcf58..fb1eae49dba 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,3 +1,14 @@ | |||
| 1 | 2012-07-14 Chong Yidong <cyd@gnu.org> | ||
| 2 | |||
| 3 | * bindings.el: Consolidate ctl-x-r-map bindings. Bind | ||
| 4 | copy-rectangle-as-kill to C-x r w. | ||
| 5 | |||
| 6 | * rect.el, register.el: Move bindings to bindings.el. | ||
| 7 | |||
| 8 | 2012-07-14 Reuben Thomas <rrt@sc3d.org> | ||
| 9 | |||
| 10 | * rect.el (copy-rectangle-as-kill): New command (Bug#739). | ||
| 11 | |||
| 1 | 2012-07-13 Andreas Schwab <schwab@linux-m68k.org> | 12 | 2012-07-13 Andreas Schwab <schwab@linux-m68k.org> |
| 2 | 13 | ||
| 3 | * emacs-lisp/cl.el (labels): Remove spurious quote. (Bug#11938) | 14 | * emacs-lisp/cl.el (labels): Remove spurious quote. (Bug#11938) |
diff --git a/lisp/bindings.el b/lisp/bindings.el index 96700c6dc26..e0555a17b15 100644 --- a/lisp/bindings.el +++ b/lisp/bindings.el | |||
| @@ -1183,7 +1183,30 @@ if `inhibit-field-text-motion' is non-nil." | |||
| 1183 | (define-key ctl-x-5-map "m" 'compose-mail-other-frame) | 1183 | (define-key ctl-x-5-map "m" 'compose-mail-other-frame) |
| 1184 | 1184 | ||
| 1185 | 1185 | ||
| 1186 | (defvar ctl-x-r-map (make-sparse-keymap) | 1186 | (defvar ctl-x-r-map |
| 1187 | (let ((map (make-sparse-keymap))) | ||
| 1188 | (define-key map "c" 'clear-rectangle) | ||
| 1189 | (define-key map "k" 'kill-rectangle) | ||
| 1190 | (define-key map "d" 'delete-rectangle) | ||
| 1191 | (define-key map "y" 'yank-rectangle) | ||
| 1192 | (define-key map "o" 'open-rectangle) | ||
| 1193 | (define-key map "t" 'string-rectangle) | ||
| 1194 | (define-key map "N" 'rectangle-number-lines) | ||
| 1195 | (define-key map "\M-w" 'copy-rectangle-as-kill) | ||
| 1196 | (define-key map "\C-@" 'point-to-register) | ||
| 1197 | (define-key map [?\C-\ ] 'point-to-register) | ||
| 1198 | (define-key map " " 'point-to-register) | ||
| 1199 | (define-key map "j" 'jump-to-register) | ||
| 1200 | (define-key map "s" 'copy-to-register) | ||
| 1201 | (define-key map "x" 'copy-to-register) | ||
| 1202 | (define-key map "i" 'insert-register) | ||
| 1203 | (define-key map "g" 'insert-register) | ||
| 1204 | (define-key map "r" 'copy-rectangle-to-register) | ||
| 1205 | (define-key map "n" 'number-to-register) | ||
| 1206 | (define-key map "+" 'increment-register) | ||
| 1207 | (define-key map "w" 'window-configuration-to-register) | ||
| 1208 | (define-key map "f" 'frame-configuration-to-register) | ||
| 1209 | map) | ||
| 1187 | "Keymap for subcommands of C-x r.") | 1210 | "Keymap for subcommands of C-x r.") |
| 1188 | (define-key ctl-x-map "r" ctl-x-r-map) | 1211 | (define-key ctl-x-map "r" ctl-x-r-map) |
| 1189 | 1212 | ||
diff --git a/lisp/rect.el b/lisp/rect.el index 574d96a8c10..1bf7364e20d 100644 --- a/lisp/rect.el +++ b/lisp/rect.el | |||
| @@ -29,16 +29,6 @@ | |||
| 29 | ;; ### NOTE: this file was almost completely rewritten by Didier Verna | 29 | ;; ### NOTE: this file was almost completely rewritten by Didier Verna |
| 30 | ;; <didier@xemacs.org> in July 1999. | 30 | ;; <didier@xemacs.org> in July 1999. |
| 31 | 31 | ||
| 32 | ;;; Global key bindings | ||
| 33 | |||
| 34 | ;;;###autoload (define-key ctl-x-r-map "c" 'clear-rectangle) | ||
| 35 | ;;;###autoload (define-key ctl-x-r-map "k" 'kill-rectangle) | ||
| 36 | ;;;###autoload (define-key ctl-x-r-map "d" 'delete-rectangle) | ||
| 37 | ;;;###autoload (define-key ctl-x-r-map "y" 'yank-rectangle) | ||
| 38 | ;;;###autoload (define-key ctl-x-r-map "o" 'open-rectangle) | ||
| 39 | ;;;###autoload (define-key ctl-x-r-map "t" 'string-rectangle) | ||
| 40 | ;;;###autoload (define-key ctl-x-r-map "N" 'rectangle-number-lines) | ||
| 41 | |||
| 42 | ;;; Code: | 32 | ;;; Code: |
| 43 | 33 | ||
| 44 | ;; FIXME: this function should be replaced by `apply-on-rectangle' | 34 | ;; FIXME: this function should be replaced by `apply-on-rectangle' |
| @@ -236,6 +226,13 @@ even beep.)" | |||
| 236 | (signal 'text-read-only (list (current-buffer))))))) | 226 | (signal 'text-read-only (list (current-buffer))))))) |
| 237 | 227 | ||
| 238 | ;;;###autoload | 228 | ;;;###autoload |
| 229 | (defun copy-rectangle-as-kill (start end) | ||
| 230 | "Copy the region-rectangle and save it as the last killed one." | ||
| 231 | (interactive "r") | ||
| 232 | (setq killed-rectangle (extract-rectangle start end)) | ||
| 233 | (setq deactivate-mark t)) | ||
| 234 | |||
| 235 | ;;;###autoload | ||
| 239 | (defun yank-rectangle () | 236 | (defun yank-rectangle () |
| 240 | "Yank the last killed rectangle with upper left corner at point." | 237 | "Yank the last killed rectangle with upper left corner at point." |
| 241 | (interactive "*") | 238 | (interactive "*") |
diff --git a/lisp/register.el b/lisp/register.el index 21fcff2d148..52c236e49be 100644 --- a/lisp/register.el +++ b/lisp/register.el | |||
| @@ -34,22 +34,6 @@ | |||
| 34 | (declare-function semantic-tag-buffer "semantic/tag" (tag)) | 34 | (declare-function semantic-tag-buffer "semantic/tag" (tag)) |
| 35 | (declare-function semantic-tag-start "semantic/tag" (tag)) | 35 | (declare-function semantic-tag-start "semantic/tag" (tag)) |
| 36 | 36 | ||
| 37 | ;;; Global key bindings | ||
| 38 | |||
| 39 | (define-key ctl-x-r-map "\C-@" 'point-to-register) | ||
| 40 | (define-key ctl-x-r-map [?\C-\ ] 'point-to-register) | ||
| 41 | (define-key ctl-x-r-map " " 'point-to-register) | ||
| 42 | (define-key ctl-x-r-map "j" 'jump-to-register) | ||
| 43 | (define-key ctl-x-r-map "s" 'copy-to-register) | ||
| 44 | (define-key ctl-x-r-map "x" 'copy-to-register) | ||
| 45 | (define-key ctl-x-r-map "i" 'insert-register) | ||
| 46 | (define-key ctl-x-r-map "g" 'insert-register) | ||
| 47 | (define-key ctl-x-r-map "r" 'copy-rectangle-to-register) | ||
| 48 | (define-key ctl-x-r-map "n" 'number-to-register) | ||
| 49 | (define-key ctl-x-r-map "+" 'increment-register) | ||
| 50 | (define-key ctl-x-r-map "w" 'window-configuration-to-register) | ||
| 51 | (define-key ctl-x-r-map "f" 'frame-configuration-to-register) | ||
| 52 | |||
| 53 | ;;; Code: | 37 | ;;; Code: |
| 54 | 38 | ||
| 55 | (cl-defstruct | 39 | (cl-defstruct |