]> git.eshelyaron.com Git - emacs.git/commitdiff
* rect.el (copy-rectangle-as-kill): New command.
authorReuben Thomas <rrt@sc3d.org>
Sat, 14 Jul 2012 02:19:07 +0000 (10:19 +0800)
committerChong Yidong <cyd@gnu.org>
Sat, 14 Jul 2012 02:19:07 +0000 (10:19 +0800)
* 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
etc/NEWS
lisp/ChangeLog
lisp/bindings.el
lisp/rect.el
lisp/register.el

index 0132a3a9ed721e3d0e68168bfc9a47323717a581..fc34e31f1d5f5e2c3c54c954372a86e203873f35 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -158,6 +158,9 @@ character when doing minibuffer filename prompts.
 
 ** `goto-char' is now bound to `M-g c'.
 
+** New command `C-x r M-w' (copy-rectangle-as-kill).
+It copies the region-rectangle as the last rectangle kill.
+
 ** New input method `vietnamese-vni'.
 
 \f
index dd510bbcf589253fcf9c2193b2168ba11882c70e..fb1eae49dba5f576ec14aa561ff4b1d27f9ee18c 100644 (file)
@@ -1,3 +1,14 @@
+2012-07-14  Chong Yidong  <cyd@gnu.org>
+
+       * bindings.el: Consolidate ctl-x-r-map bindings.  Bind
+       copy-rectangle-as-kill to C-x r w.
+
+       * rect.el, register.el: Move bindings to bindings.el.
+
+2012-07-14  Reuben Thomas  <rrt@sc3d.org>
+
+       * rect.el (copy-rectangle-as-kill): New command (Bug#739).
+
 2012-07-13  Andreas Schwab  <schwab@linux-m68k.org>
 
        * emacs-lisp/cl.el (labels): Remove spurious quote.  (Bug#11938)
index 96700c6dc260488f5badbdb1c5f11657d5a091e0..e0555a17b15c7a3038ebb2f414291aa8ab47ca69 100644 (file)
@@ -1183,7 +1183,30 @@ if `inhibit-field-text-motion' is non-nil."
 (define-key ctl-x-5-map "m" 'compose-mail-other-frame)
 \f
 
-(defvar ctl-x-r-map (make-sparse-keymap)
+(defvar ctl-x-r-map
+  (let ((map (make-sparse-keymap)))
+    (define-key map "c" 'clear-rectangle)
+    (define-key map "k" 'kill-rectangle)
+    (define-key map "d" 'delete-rectangle)
+    (define-key map "y" 'yank-rectangle)
+    (define-key map "o" 'open-rectangle)
+    (define-key map "t" 'string-rectangle)
+    (define-key map "N" 'rectangle-number-lines)
+    (define-key map "\M-w" 'copy-rectangle-as-kill)
+    (define-key map "\C-@" 'point-to-register)
+    (define-key map [?\C-\ ] 'point-to-register)
+    (define-key map " " 'point-to-register)
+    (define-key map "j" 'jump-to-register)
+    (define-key map "s" 'copy-to-register)
+    (define-key map "x" 'copy-to-register)
+    (define-key map "i" 'insert-register)
+    (define-key map "g" 'insert-register)
+    (define-key map "r" 'copy-rectangle-to-register)
+    (define-key map "n" 'number-to-register)
+    (define-key map "+" 'increment-register)
+    (define-key map "w" 'window-configuration-to-register)
+    (define-key map "f" 'frame-configuration-to-register)
+    map)
   "Keymap for subcommands of C-x r.")
 (define-key ctl-x-map "r" ctl-x-r-map)
 
index 574d96a8c102b9883a9a6700d382d7c28cc3b127..1bf7364e20d4159d4f6f4e01ab60cc135fd6622c 100644 (file)
 ;; ### NOTE: this file was almost completely rewritten by Didier Verna
 ;; <didier@xemacs.org> in July 1999.
 
-;;; Global key bindings
-
-;;;###autoload (define-key ctl-x-r-map "c" 'clear-rectangle)
-;;;###autoload (define-key ctl-x-r-map "k" 'kill-rectangle)
-;;;###autoload (define-key ctl-x-r-map "d" 'delete-rectangle)
-;;;###autoload (define-key ctl-x-r-map "y" 'yank-rectangle)
-;;;###autoload (define-key ctl-x-r-map "o" 'open-rectangle)
-;;;###autoload (define-key ctl-x-r-map "t" 'string-rectangle)
-;;;###autoload (define-key ctl-x-r-map "N" 'rectangle-number-lines)
-
 ;;; Code:
 
 ;; FIXME: this function should be replaced by `apply-on-rectangle'
@@ -235,6 +225,13 @@ even beep.)"
        (barf-if-buffer-read-only)
        (signal 'text-read-only (list (current-buffer)))))))
 
+;;;###autoload
+(defun copy-rectangle-as-kill (start end)
+  "Copy the region-rectangle and save it as the last killed one."
+  (interactive "r")
+  (setq killed-rectangle (extract-rectangle start end))
+  (setq deactivate-mark t))
+
 ;;;###autoload
 (defun yank-rectangle ()
   "Yank the last killed rectangle with upper left corner at point."
index 21fcff2d148ba79d26117d7734d24c9f01a5cb1f..52c236e49be96da1c1ea86b2c77c376619060112 100644 (file)
 (declare-function semantic-tag-buffer "semantic/tag" (tag))
 (declare-function semantic-tag-start "semantic/tag" (tag))
 
-;;; Global key bindings
-
-(define-key ctl-x-r-map "\C-@" 'point-to-register)
-(define-key ctl-x-r-map [?\C-\ ] 'point-to-register)
-(define-key ctl-x-r-map " " 'point-to-register)
-(define-key ctl-x-r-map "j" 'jump-to-register)
-(define-key ctl-x-r-map "s" 'copy-to-register)
-(define-key ctl-x-r-map "x" 'copy-to-register)
-(define-key ctl-x-r-map "i" 'insert-register)
-(define-key ctl-x-r-map "g" 'insert-register)
-(define-key ctl-x-r-map "r" 'copy-rectangle-to-register)
-(define-key ctl-x-r-map "n" 'number-to-register)
-(define-key ctl-x-r-map "+" 'increment-register)
-(define-key ctl-x-r-map "w" 'window-configuration-to-register)
-(define-key ctl-x-r-map "f" 'frame-configuration-to-register)
-
 ;;; Code:
 
 (cl-defstruct