;ELC   
;;; Compiled by rms@psilocin.gnu.org on Mon Jan 19 15:33:23 1998
;;; from file /gd/gnu/emacs/lisp/register.el
;;; in Emacs version 20.2.83.3
;;; with bytecomp version 2.35
;;; with all optimizations.
;;; This file uses opcodes which do not exist in Emacs 18.

(if (and (boundp 'emacs-version)
	 (< (aref emacs-version (1- (length emacs-version))) ?A)
	 (or (and (boundp 'epoch::version) epoch::version)
	     (string-lessp emacs-version "19.29")))
    (error "`register.el' was compiled for Emacs 19.29 or later"))


#@623 Alist of elements (NAME . CONTENTS), one for each Emacs register.
NAME is a character (a number).  CONTENTS is a string, number, marker or list.
A list of strings represents a rectangle.
A list of the form (file . NAME) represents the file named NAME.
A list of the form (file-query NAME POSITION) represents position POSITION
 in the file named NAME, but query before visiting it.
A list of the form (WINDOW-CONFIGURATION POSITION)
 represents a saved window configuration plus a saved value of point.
A list of the form (FRAME-CONFIGURATION POSITION)
 represents a saved frame configuration plus a saved value of point.
(defvar register-alist nil (#$ . 532))
#@62 Return contents of Emacs register named REG, or nil if none.
(defalias 'get-register #[(reg) "	žA‡" [reg register-alist] 2 (#$ . 1199)])
#@148 Set contents of Emacs register named REGISTER to VALUE.  Returns VALUE.
See the documentation of the variable `register-alist' for possible VALUE.
(defalias 'set-register #[(register value) "	ž‰ƒ \n¡ˆ‚ B‰	B)‡" [register register-alist aelt value] 3 (#$ . 1344)])
#@236 Store current location of point in register REGISTER.
With prefix argument, store current frame configuration.
Use \[jump-to-register] to go to that location or restore that configuration.
Argument is a character, naming the register.
(defalias 'point-to-register #[(register &optional arg) "Â	ƒ Ã Ä D‚ Ä \"‡" [register arg set-register current-frame-configuration point-marker] 4 (#$ . 1624) "cPoint to register: \nP"])
#@176 Store the window configuration of the selected frame in register REGISTER.
Use \[jump-to-register] to restore the configuration.
Argument is a character, naming the register.
(defalias 'window-configuration-to-register #[(register &optional arg) "ÁÂ Ã D\"‡" [register set-register current-window-configuration point-marker] 4 (#$ . 2055) "cWindow configuration to register: \nP"])
#@168 Store the window configuration of all frames in register REGISTER.
Use \[jump-to-register] to restore the configuration.
Argument is a character, naming the register.
(defalias 'frame-configuration-to-register #[(register &optional arg) "ÁÂ Ã D\"‡" [register set-register current-frame-configuration point-marker] 4 (#$ . 2444) "cFrame configuration to register: \nP"])
(defalias 'register-to-point 'jump-to-register)
#@546 Move point to location stored in a register.
If the register contains a file name, find that file.
 (To put a file name in a register, you must use `set-register'.)
If the register contains a window configuration (one frame) or a frame
configuration (all frames), restore that frame or all frames accordingly.
First argument is a character, naming the register.
Optional second arg non-nil (interactively, prefix argument) says to
delete any existing frames that the frame configuration doesn't mention.
(Otherwise, these frames are iconified.)
(defalias 'jump-to-register #[(register &optional delete) "Ä!‰:ƒ! Å	@!ƒ! Æ	@\n?\"ˆ	‰A@)b‚ 	:ƒ< Ç	@!ƒ< È	@!ˆ	‰A@)b‚ É	!ƒW Ê	!„L ËÌ!ˆÍÊ	!!ˆ	b‚ 	:ƒj 	@Î=ƒj Ï	A!‚ 	:ƒš 	@Ð=ƒš ÑÒ	8!„ ÓÔÕÒ	8\"!„ ËÖ!ˆÏ	A@!ˆ×	8b‚ ËØ!)‡" [register val delete x get-register frame-configuration-p set-frame-configuration window-configuration-p set-window-configuration markerp marker-buffer error "That register's buffer no longer exists" switch-to-buffer file find-file file-query find-buffer-visiting 1 y-or-n-p format "Visit file %s again? " "Register access aborted" 2 "Register doesn't contain a buffer position or configuration"] 6 (#$ . 2870) "cJump to register: \nP"])
(defalias 'register-swap-out #[nil "…1 	‰…0 Ã\n@A!ƒ( Ä\n@A!p=ƒ( \n@ÅÆ\n@A!E¡ˆ\nA‰„\n Ç)‡" [buffer-file-name register-alist tail markerp marker-buffer file-query marker-position nil] 6])
(add-hook 'kill-buffer-hook 'register-swap-out)
#@276 Store a number in a register.
Two args, NUMBER and REGISTER (a character, naming the register).
If NUMBER is nil, a decimal number is read from the buffer starting
at point, and point moves to the end of that number.
Interactively, NUMBER is the prefix arg (none means nil).
(defalias 'number-to-register #[(number register) "Â	ƒ\f Ã	!‚ ÄÅ!ƒ Æ•bˆÇÈÆ!!‚ Æ\"‡" [register number set-register prefix-numeric-value looking-at "\\s-*-?[0-9]+" 0 string-to-int match-string] 5 (#$ . 4321) "P\ncNumber to register: "])
#@91 Add NUMBER to the contents of register REGISTER.
Interactively, NUMBER is the prefix arg.
(defalias 'increment-register #[(number register) "Â!§„ ÃÄ!ˆÅ	Â!\\\"‡" [register number get-register error "Register does not contain a number" set-register] 5 (#$ . 4841) "p\ncIncrement register: "])
#@95 Display what is contained in register named REGISTER.
The Lisp value REGISTER is a character.
(defalias 'view-register #[(register) "Ã!‰„ ÄÅÆ!\"‚ð ÇÈÉ!ˆÈÆ!!ˆÈÊ!ˆ	§ƒ, È	!‚ï Ë	!ƒW Ì	!‰„@ ÈÍ!‚S ÈÎ!ˆÈÏ\n!!ˆÈÐ!ˆÈÑ	!!)‚ï 	:ƒi Ò	@!ƒi ÈÓ!‚ï 	:ƒ{ Ô	@!ƒ{ ÈÕ!‚ï 	:ƒ– 	@Ö=ƒ– È×!ˆØ	A!ˆÈÙ!‚ï 	:ƒ½ 	@Ú=ƒ½ ÈÛ!ˆØ	A@!ˆÈÜ!ˆÈ	AA@!ˆÈÙ!‚ï 	:ƒÙ ÈÝ!ˆ	…ï È	@!ˆÞ ˆ	A‰‚Ç 	;ƒè Èß!ˆÈ	!‚ï Èà!ˆØ	!‘)‡" [register val buf get-register message "Register %s is empty" single-key-description "*Output*" princ "Register " " contains " markerp marker-buffer "a marker in no buffer" "a buffer position:\nbuffer " buffer-name ", position " marker-position window-configuration-p "a window configuration." frame-configuration-p "a frame configuration." file "the file " prin1 "." file-query "a file-query reference:\nfile " ",\nposition " "the rectangle:\n" terpri "the text:\n" "Garbage:\n"] 5 (#$ . 5142) "cView register: "])
#@261 Insert contents of register REGISTER.  (REGISTER is a character.)
Normally puts point before and mark after the inserted text.
If optional second arg is non-nil, puts mark before and point after.
Interactively, second arg is non-nil if prefix arg is supplied.
(defalias 'insert-register #[(register &optional arg) "Ã ˆÄ!‰:ƒ Å	!ˆ‚E 	;ƒ 	cˆ‚E 	§ƒ+ Æ	p\"ˆ‚E Ç	!ƒA È	!ƒA ÆÈ	!p\"ˆ‚E ÉÊ!ˆ)\n?…M Ë ‡" [register val arg push-mark get-register insert-rectangle princ markerp marker-position error "Register does not contain text" exchange-point-and-mark] 4 (#$ . 6044) "*cInsert register: \nP"])
#@207 Copy region into register REGISTER.  With prefix arg, delete as well.
Called from program, takes four args: REGISTER, START, END and DELETE-FLAG.
START and END are buffer positions indicating what to copy.
(defalias 'copy-to-register #[(register start end &optional delete-flag) "Ä	\n{\"ˆ… 	\n|‡" [register start end delete-flag set-register] 4 (#$ . 6642) "cCopy to register: \nr\nP"])
#@216 Append region to text in register REGISTER.
With prefix arg, delete as well.
Called from program, takes four args: REGISTER, START, END and DELETE-FLAG.
START and END are buffer positions indicating what to append.
(defalias 'append-to-register #[(register start end &optional delete-flag) "Ä!;„ ÅÆ!ˆÇÄ!	\n{P\"ˆ… 	\n|‡" [register start end delete-flag get-register error "Register does not contain text" set-register] 5 (#$ . 7039) "cAppend to register: \nr\nP"])
#@218 Prepend region to text in register REGISTER.
With prefix arg, delete as well.
Called from program, takes four args: REGISTER, START, END and DELETE-FLAG.
START and END are buffer positions indicating what to prepend.
(defalias 'prepend-to-register #[(register start end &optional delete-flag) "Ä!;„ ÅÆ!ˆÇ	\n{Ä!P\"ˆ… 	\n|‡" [register start end delete-flag get-register error "Register does not contain text" set-register] 5 (#$ . 7516) "cPrepend to register: \nr\nP"])
#@226 Copy rectangular region into register REGISTER.
With prefix arg, delete as well.
Called from program, takes four args: REGISTER, START, END and DELETE-FLAG.
START and END are buffer positions giving two corners of rectangle.
(defalias 'copy-rectangle-to-register #[(register start end &optional delete-flag) "Ä	ƒ Å\n\"‚ Æ\n\"\"‡" [register delete-flag start end set-register delete-extract-rectangle extract-rectangle] 5 (#$ . 7997) "cCopy rectangle to register: \nr\nP"])
