summaryrefslogtreecommitdiff
path: root/lisp/register.el
diff options
context:
space:
mode:
authorRichard M. Stallman <rms@gnu.org>2002-02-14 01:47:50 +0000
committerRichard M. Stallman <rms@gnu.org>2002-02-14 01:47:50 +0000
commit6ed21409010af173233e50ff47c9c43fa8d38f55 (patch)
tree7221cb52095991ad20e6543c88073fe9fd67d692 /lisp/register.el
parent9b9d845dca98258d002990d0815bfbeb278e1cbe (diff)
downloademacs-6ed21409010af173233e50ff47c9c43fa8d38f55.tar.gz
(describe-register-1): Access register contents here.
Diffstat (limited to 'lisp/register.el')
-rw-r--r--lisp/register.el109
1 files changed, 55 insertions, 54 deletions
diff --git a/lisp/register.el b/lisp/register.el
index e9322c5c914..c93d52c9f9b 100644
--- a/lisp/register.el
+++ b/lisp/register.el
@@ -185,60 +185,61 @@ The Lisp value REGISTER is a character."
(princ "Register ")
(princ (single-key-description register))
(princ " contains ")
- (cond
- ((numberp val)
- (princ val))
-
- ((markerp val)
- (let ((buf (marker-buffer val)))
- (if (null buf)
- (princ "a marker in no buffer")
- (princ "a buffer position:\n buffer ")
- (princ (buffer-name buf))
- (princ ", position ")
- (princ (marker-position val)))))
-
- ((and (consp val) (window-configuration-p (car val)))
- (princ "a window configuration."))
-
- ((and (consp val) (frame-configuration-p (car val)))
- (princ "a frame configuration."))
-
- ((and (consp val) (eq (car val) 'file))
- (princ "the file ")
- (prin1 (cdr val))
- (princ "."))
-
- ((and (consp val) (eq (car val) 'file-query))
- (princ "a file-query reference:\n file ")
- (prin1 (car (cdr val)))
- (princ ",\n position ")
- (princ (car (cdr (cdr val))))
- (princ "."))
-
- ((consp val)
- (if verbose
- (progn
- (princ "the rectangle:\n")
- (while val
- (princ " ")
- (princ (car val))
- (terpri)
- (setq val (cdr val))))
- (princ "a rectangle starting with ")
- (princ (car val))))
-
- ((stringp val)
- (if verbose
- (progn
- (princ "the text:\n")
- (princ val))
- (princ "text starting with\n ")
- (string-match "[^ \t\n].\\{,20\\}" val)
- (princ (match-string 0 val))))
- (t
- (princ "Garbage:\n")
- (if verbose (prin1 val)))))
+ (let ((val (get-register register)))
+ (cond
+ ((numberp val)
+ (princ val))
+
+ ((markerp val)
+ (let ((buf (marker-buffer val)))
+ (if (null buf)
+ (princ "a marker in no buffer")
+ (princ "a buffer position:\n buffer ")
+ (princ (buffer-name buf))
+ (princ ", position ")
+ (princ (marker-position val)))))
+
+ ((and (consp val) (window-configuration-p (car val)))
+ (princ "a window configuration."))
+
+ ((and (consp val) (frame-configuration-p (car val)))
+ (princ "a frame configuration."))
+
+ ((and (consp val) (eq (car val) 'file))
+ (princ "the file ")
+ (prin1 (cdr val))
+ (princ "."))
+
+ ((and (consp val) (eq (car val) 'file-query))
+ (princ "a file-query reference:\n file ")
+ (prin1 (car (cdr val)))
+ (princ ",\n position ")
+ (princ (car (cdr (cdr val))))
+ (princ "."))
+
+ ((consp val)
+ (if verbose
+ (progn
+ (princ "the rectangle:\n")
+ (while val
+ (princ " ")
+ (princ (car val))
+ (terpri)
+ (setq val (cdr val))))
+ (princ "a rectangle starting with ")
+ (princ (car val))))
+
+ ((stringp val)
+ (if verbose
+ (progn
+ (princ "the text:\n")
+ (princ val))
+ (princ "text starting with\n ")
+ (string-match "[^ \t\n].\\{,20\\}" val)
+ (princ (match-string 0 val))))
+ (t
+ (princ "Garbage:\n")
+ (if verbose (prin1 val))))))
(defun insert-register (register &optional arg)
"Insert contents of register REGISTER. (REGISTER is a character.)