From 6ed21409010af173233e50ff47c9c43fa8d38f55 Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Thu, 14 Feb 2002 01:47:50 +0000 Subject: [PATCH] (describe-register-1): Access register contents here. --- lisp/register.el | 109 ++++++++++++++++++++++++----------------------- 1 file 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.) -- 2.39.5