Mercurial > emacs
comparison lisp/register.el @ 43291:d6866cd43406
(describe-register-1): Access register contents here.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Thu, 14 Feb 2002 01:47:50 +0000 |
parents | a2f11ee215ea |
children | b8ccc58cc821 |
comparison
equal
deleted
inserted
replaced
43290:3198ecb4e71f | 43291:d6866cd43406 |
---|---|
183 | 183 |
184 (defun describe-register-1 (register &optional verbose) | 184 (defun describe-register-1 (register &optional verbose) |
185 (princ "Register ") | 185 (princ "Register ") |
186 (princ (single-key-description register)) | 186 (princ (single-key-description register)) |
187 (princ " contains ") | 187 (princ " contains ") |
188 (cond | 188 (let ((val (get-register register))) |
189 ((numberp val) | 189 (cond |
190 (princ val)) | 190 ((numberp val) |
191 | 191 (princ val)) |
192 ((markerp val) | 192 |
193 (let ((buf (marker-buffer val))) | 193 ((markerp val) |
194 (if (null buf) | 194 (let ((buf (marker-buffer val))) |
195 (princ "a marker in no buffer") | 195 (if (null buf) |
196 (princ "a buffer position:\n buffer ") | 196 (princ "a marker in no buffer") |
197 (princ (buffer-name buf)) | 197 (princ "a buffer position:\n buffer ") |
198 (princ ", position ") | 198 (princ (buffer-name buf)) |
199 (princ (marker-position val))))) | 199 (princ ", position ") |
200 | 200 (princ (marker-position val))))) |
201 ((and (consp val) (window-configuration-p (car val))) | 201 |
202 (princ "a window configuration.")) | 202 ((and (consp val) (window-configuration-p (car val))) |
203 | 203 (princ "a window configuration.")) |
204 ((and (consp val) (frame-configuration-p (car val))) | 204 |
205 (princ "a frame configuration.")) | 205 ((and (consp val) (frame-configuration-p (car val))) |
206 | 206 (princ "a frame configuration.")) |
207 ((and (consp val) (eq (car val) 'file)) | 207 |
208 (princ "the file ") | 208 ((and (consp val) (eq (car val) 'file)) |
209 (prin1 (cdr val)) | 209 (princ "the file ") |
210 (princ ".")) | 210 (prin1 (cdr val)) |
211 | 211 (princ ".")) |
212 ((and (consp val) (eq (car val) 'file-query)) | 212 |
213 (princ "a file-query reference:\n file ") | 213 ((and (consp val) (eq (car val) 'file-query)) |
214 (prin1 (car (cdr val))) | 214 (princ "a file-query reference:\n file ") |
215 (princ ",\n position ") | 215 (prin1 (car (cdr val))) |
216 (princ (car (cdr (cdr val)))) | 216 (princ ",\n position ") |
217 (princ ".")) | 217 (princ (car (cdr (cdr val)))) |
218 | 218 (princ ".")) |
219 ((consp val) | 219 |
220 (if verbose | 220 ((consp val) |
221 (progn | 221 (if verbose |
222 (princ "the rectangle:\n") | 222 (progn |
223 (while val | 223 (princ "the rectangle:\n") |
224 (princ " ") | 224 (while val |
225 (princ (car val)) | 225 (princ " ") |
226 (terpri) | 226 (princ (car val)) |
227 (setq val (cdr val)))) | 227 (terpri) |
228 (princ "a rectangle starting with ") | 228 (setq val (cdr val)))) |
229 (princ (car val)))) | 229 (princ "a rectangle starting with ") |
230 | 230 (princ (car val)))) |
231 ((stringp val) | 231 |
232 (if verbose | 232 ((stringp val) |
233 (progn | 233 (if verbose |
234 (princ "the text:\n") | 234 (progn |
235 (princ val)) | 235 (princ "the text:\n") |
236 (princ "text starting with\n ") | 236 (princ val)) |
237 (string-match "[^ \t\n].\\{,20\\}" val) | 237 (princ "text starting with\n ") |
238 (princ (match-string 0 val)))) | 238 (string-match "[^ \t\n].\\{,20\\}" val) |
239 (t | 239 (princ (match-string 0 val)))) |
240 (princ "Garbage:\n") | 240 (t |
241 (if verbose (prin1 val))))) | 241 (princ "Garbage:\n") |
242 (if verbose (prin1 val)))))) | |
242 | 243 |
243 (defun insert-register (register &optional arg) | 244 (defun insert-register (register &optional arg) |
244 "Insert contents of register REGISTER. (REGISTER is a character.) | 245 "Insert contents of register REGISTER. (REGISTER is a character.) |
245 Normally puts point before and mark after the inserted text. | 246 Normally puts point before and mark after the inserted text. |
246 If optional second arg is non-nil, puts mark before and point after. | 247 If optional second arg is non-nil, puts mark before and point after. |