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.