X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/7509a874332af5ea1ce20a36f7dccd207b5090c3..ff4871b986a082a4b21867827e460c50bfa0cb09:/lisp/rect.el diff --git a/lisp/rect.el b/lisp/rect.el index 0756ec3bc0..ec234b6514 100644 --- a/lisp/rect.el +++ b/lisp/rect.el @@ -1,6 +1,6 @@ ;;; rect.el --- rectangle functions for GNU Emacs -;; Copyright (C) 1985, 1999-2011 Free Software Foundation, Inc. +;; Copyright (C) 1985, 1999-2013 Free Software Foundation, Inc. ;; Maintainer: Didier Verna ;; Keywords: internal @@ -29,16 +29,6 @@ ;; ### NOTE: this file was almost completely rewritten by Didier Verna ;; 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' @@ -229,12 +219,22 @@ even beep.)" (condition-case nil (setq killed-rectangle (delete-extract-rectangle start end fill)) ((buffer-read-only text-read-only) + (setq deactivate-mark t) (setq killed-rectangle (extract-rectangle start end)) (if kill-read-only-ok (progn (message "Read only text copied to kill ring") nil) (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) + (if (called-interactively-p 'interactive) + (indicate-copied-region (length (car killed-rectangle))))) + ;;;###autoload (defun yank-rectangle () "Yank the last killed rectangle with upper left corner at point."