;;; compiled by rms@mole.gnu.ai.mit.edu on Sat May 29 18:30:48 1993
;;; from file /home/fsf/rms/e19/lisp/subr.el
;;; emacs version 19.9.0.
;;; bytecomp version FSF 2.08
;;; optimization is on.

(defalias 'lambda '(macro . #[(&rest cdr) "ÀÁ\nBD‡" [function lambda cdr] 3 "\
Return a lambda expression.
A call of the form (lambda ARGS DOCSTRING INTERACTIVE BODY) is
self-quoting; the result of evaluating the lambda expression is the
expression itself.  The lambda expression may then be treated as a
function, i. e. stored as the function value of a symbol, passed to
funcall or mapcar, etcetera.
ARGS should take the same form as an argument list for a `defun'.
DOCSTRING should be a string, as described for `defun'.  It may be omitted.
INTERACTIVE should be a call to the function `interactive', which see.
It may also be omitted.
BODY should be a list of lisp expressions."]))
(defalias 'one-window-p #[(&optional nomini) "À \nƒ 	Ã =ƒ Ä	!	Ä	\n… Å\")=‡" [selected-window base-window nomini minibuffer-window next-window arg] 4 "\
Returns non-nil if there is only one window.
Optional arg NOMINI non-nil means don't count the minibuffer
even if it is active."])
(defalias 'walk-windows #[(proc &optional minibuf all-frames) "À ‰Ã\n#\n!ˆ\n	=?… ‚ *‡" [selected-window walk-windows-start walk-windows-current next-window minibuf all-frames proc] 5 "\
Cycle through all visible windows, calling PROC for each one.
PROC is called with a window as argument.
Optional second arg MINIBUF t means count the minibuffer window
even if not active.  If MINIBUF is neither t nor nil it means
not to count the minibuffer even if it is active.

Optional third arg ALL-FRAMES, if t, means include all frames.
ALL-FRAMES nil or omitted means cycle within the selected frame,
but include the minibuffer window (if MINIBUF says so) that that
frame uses, even if it is on another frame.
If ALL-FRAMES is neither nil nor t, stick strictly to the selected frame."])
(byte-code "ÀÁMˆÂÀÃÄ#‡" [undefined #[nil "À ‡" [ding] 1 nil nil] put suppress-keymap t] 4)
(defalias 'suppress-keymap #[(map &optional nodigits) "ÀÀÂXƒ# ÃÅ	!\"Æ=ƒ ÇÅ	!É#ˆ	T‰‚ )\n†P ËÇÍÎ#ˆÏÏÐX…O ÇÅ!Ñ#ˆT‰‚7 )‡" [0 i 127 lookup-key global-map char-to-string self-insert-command define-key map undefined nodigits nil loop "-" negative-argument 48 57 digit-argument] 5 "\
Make MAP override all normally self-inserting keys to be undefined.
Normally, as an exception, digits and minus-sign are set to make prefix args,
but optional second arg NODIGITS non-nil treats them like other chars."])
(defalias 'substitute-key-definition #[(olddef newdef keymap &optional oldmap prefix) "„ Á\n† ÅÆ!È\"	:…)@:ƒ’ @@@A\nÌIˆ	GIˆÆÎ\n!;ƒO \nA\n‚? \n‰9ƒh Ï!ƒh K‰‚T \n=ƒ{ Ñ	#ˆ‚Ž Ó\n!ƒŽ Ô	%ˆ+‚\"Õ@!ƒ\"@‰GÌÌWƒ!H\nÌIˆ	GIˆÆÎ\n!;ƒØ \nA\n‚È \n‰9ƒñ Ï!ƒñ K‰‚Ý \n=ƒÑ	#ˆ‚Ó\n!ƒÔ	%ˆ+T‰‚¥ +A‰‚ +‡" [prefix "" oldmap keymap scan vector nil vec1 vconcat prefix1 defn char 0 inner-def car-safe fboundp olddef define-key newdef keymapp substitute-key-definition arrayp array len i] 7 "\
Replace OLDDEF with NEWDEF for any keys in KEYMAP now defined as OLDDEF.
In other words, OLDDEF is replaced with NEWDEF where ever it appears.
If optional fourth argument OLDMAP is specified, we redefine
in KEYMAP as NEWDEF those chars which are defined as OLDDEF in OLDMAP."])
(defalias 'keyboard-translate #[(from to) "À	!„ Â	GV„ 	GVƒ8 	GÆÇZÈ\"	ÇWƒ4 	‰IˆT‰‚\" 	*	I‡" [arrayp keyboard-translate-table "" from to i make-string 256 0 table] 4 "\
Translate character FROM to TO at a low level.
This function creates a `keyboard-translate-table' if necessary
and then modifies one entry in it."])
(defvar global-map nil "\
Default global keymap mapping Emacs keyboard input into commands.
The value is a keymap which is usually (but not necessarily) Emacs's
global map.")
(defvar esc-map nil "\
Default keymap for ESC (meta) commands.
The normal global definition of the character ESC indirects to this keymap.")
(defvar ctl-x-map nil "\
Default keymap for C-x commands.
The normal global definition of the character C-x indirects to this keymap.")
(defvar ctl-x-4-map (make-sparse-keymap) "\
Keymap for subcommands of C-x 4")
(byte-code "ÀÁ\n\"ˆÃÅÁ#‡" [defalias ctl-x-4-prefix ctl-x-4-map define-key ctl-x-map "4"] 4)
(defvar ctl-x-5-map (make-sparse-keymap) "\
Keymap for frame commands.")
(byte-code "ÀÁ\n\"ˆÃÅÁ#ˆÆÇÈ\"	ÊÆÇË\"	\"	À‡" [defalias ctl-x-5-prefix ctl-x-5-map define-key ctl-x-map "5" lsh 1 7 listify-key-sequence-1 logior 23] 4)
(defalias 'listify-key-sequence #[(key) "À	!ƒ Â	Ã\"‡ÄÅÂ	Ã\"\"‡" [vectorp key append nil mapcar #[(c) "ÁVƒ Â\"‡‡" [c 127 logxor listify-key-sequence-1] 3]] 5 "\
Convert a key sequence to a list of events."])
(defalias 'eventp #[(obj) "À	!†  	9ƒ 	ÂN†  	:…  	@9…  	@ÂN‡" [integerp obj event-symbol-elements] 2 "\
True if the argument is an event object."])
(put (quote eventp) (quote byte-optimizer) (quote byte-compile-inline-expand))
(defalias 'event-modifiers #[(event) "‰<ƒ\n 	@	9ƒ 	ÂNA‚‘ ÃÅÆ	ÇÈÉ\"\"!„( ÊBÅÆ	ÇÈË\"\"!ƒ= Æ	Ì\"ÍY„A ÎBÅÆ	ÇÈÏ\"\"!ƒ[ Æ	Ð\"ÑÆ	Ð\"!U„_ ÒBÅÆ	ÇÈÓ\"\"!„o ÔBÅÆ	ÇÈÕ\"\"!„ ÖBÅÆ	ÇÈ×\"\"!„ ØB))‡" [event type event-symbol-elements nil list zerop logand lsh 1 23 meta 22 127 32 control 21 255 downcase shift 20 hyper 19 super 18 alt] 7 "\
Returns a list of symbols representing the modifier keys in event EVENT.
The elements of the list may include `meta', `control',
`shift', `hyper', `super', `alt', `click', `drag', and `down'."])
(defalias 'event-basic-type #[(event) "9ƒ\n ÁN@‡ÂÃÄÅ\"S\"ÇÈWƒ$ ÉÊ\"‚& !)‡" [event event-symbol-elements logand lsh 1 18 base downcase 32 logior 64] 5 "\
Returns the basic type of the given event (all modifiers removed).
The value is an ASCII printing character (not upper case) or a symbol."])
(defalias 'mouse-movement-p #[(object) ":…	 @Á=‡" [object mouse-movement] 2 "\
Return non-nil if OBJECT is a mouse movement event."])
(put (quote mouse-movement-p) (quote byte-optimizer) (quote byte-compile-inline-expand))
(defalias 'event-start #[(event) "A@‡" [event] 1 "\
Return the starting position of EVENT.
If EVENT is a mouse press or a mouse click, this returns the location
of the event.
If EVENT is a drag, this returns the drag's starting position.
The return value is of the form
   (WINDOW BUFFER-POSITION (COL . ROW) TIMESTAMP)
The `posn-' functions access elements of such lists."])
(put (quote event-start) (quote byte-optimizer) (quote byte-compile-inline-expand))
(defalias 'event-end #[(event) "GS8‡" [event] 2 "\
Return the ending location of EVENT.  EVENT should be a click or drag event.
If EVENT is a click event, this function is the same as `event-start'.
The return value is of the form
   (WINDOW BUFFER-POSITION (COL . ROW) TIMESTAMP)
The `posn-' functions access elements of such lists."])
(put (quote event-end) (quote byte-optimizer) (quote byte-compile-inline-expand))
(defalias 'posn-window #[(position) "@‡" [position] 1 "\
Return the window in POSITION.
POSITION should be a list of the form
   (WINDOW BUFFER-POSITION (COL . ROW) TIMESTAMP)
as returned by the `event-start' and `event-end' functions."])
(put (quote posn-window) (quote byte-optimizer) (quote byte-compile-inline-expand))
(defalias 'posn-point #[(position) "A@‡" [position] 1 "\
Return the buffer location in POSITION.
POSITION should be a list of the form
   (WINDOW BUFFER-POSITION (COL . ROW) TIMESTAMP)
as returned by the `event-start' and `event-end' functions."])
(put (quote posn-point) (quote byte-optimizer) (quote byte-compile-inline-expand))
(defalias 'posn-col-row #[(position) "À	8‡" [2 position] 2 "\
Return the row and column in POSITION.
POSITION should be a list of the form
   (WINDOW BUFFER-POSITION (COL . ROW) TIMESTAMP)
as returned by the `event-start' and `event-end' functions."])
(put (quote posn-col-row) (quote byte-optimizer) (quote byte-compile-inline-expand))
(defalias 'posn-timestamp #[(position) "À	8‡" [3 position] 2 "\
Return the timestamp of POSITION.
POSITION should be a list of the form
   (WINDOW BUFFER-POSITION (COL . ROW) TIMESTAMP)
nas returned by the `event-start' and `event-end' functions."])
(byte-code "ÀÁÂÃ#ˆÄÅÆ\"ˆÄÇÈ\"ˆÄÉÊ\"ˆÄËÌ\"ˆÄÍÎ\"ˆÄÏÐ\"ˆÄÑÒ\"ˆÄÓÔ\"ˆÄÕÖ\"ˆÄ×Ø\"ˆÄÙÚ\"ˆÄÛÜ\"ˆÄÝÞ\"ˆÄßà\"ˆÄáâ\"‡" [put posn-timestamp byte-optimizer byte-compile-inline-expand defalias make-syntax-table copy-syntax-table dot point dot-marker point-marker dot-min point-min dot-max point-max window-dot window-point set-window-dot set-window-point read-input read-string send-string process-send-string send-region process-send-region show-buffer set-window-buffer buffer-flush-undo buffer-disable-undo eval-current-buffer eval-buffer compiled-function-p byte-code-function-p mod %] 4)
(defun baud-rate nil "\
Obsolete function returning the value of the `baud-rate' variable.
Please convert your programs to use the variable `baud-rate' directly." baud-rate)
(byte-code "ÀÁÂ\"ˆÀÃÄ\"ˆÀÅÆ\"ˆÀÇÈ\"ˆÀÉÊ\"ˆÀËÌ\"ˆÀÍÎ\"ˆÀÏÐ\"ˆÀÑÒ\"ˆÀÓÔ\"ˆÀÕÖK\"ˆÀ×ØK\"ˆÀÙÚ\"ˆÀÛÜ\"‡" [defalias string= string-equal string< string-lessp move-marker set-marker eql eq not null rplaca setcar rplacd setcdr beep ding indent-to-column indent-to backward-delete-char delete-backward-char search-forward-regexp re-search-forward search-backward-regexp re-search-backward int-to-string number-to-string string-to-int string-to-number] 3)
(defalias 'run-hooks #[(&rest hooklist) "…6 @Â	!ƒ- 	Jƒ- 	J‰<ƒ) @Ä=„) ÅÆ\"ˆ‚,  ˆ))A‰„ Ç‡" [hooklist sym boundp value lambda mapcar funcall nil] 4 "\
Takes hook names and runs each one in turn.  Major mode functions use this.
Each argument should be a symbol, a hook variable.
These symbols are processed in the order specified.
If a hook symbol has a non-nil value, that value may be a function
or a list of functions to be called to run the hook.
If the value is a function, it is called with no arguments.
If it is a list, the elements are called, in order, with no arguments."])
(defconst run-hooks (quote run-hooks) "\
Variable by which C primitives find the function `run-hooks'.
Don't change it.")
(defalias 'add-hook #[(hook function &optional append) "À	!„\n 	ÂLˆ:ƒ ÄA	J\"Æ\")‚\" 	J>†9 	ƒ4 È	JC\"‚8 	JBL‡" [boundp hook nil function assoc tail equal append nconc] 4 "\
Add to the value of HOOK the function FUNCTION unless already present (it
becomes the first hook on the list unless optional APPEND is non-nil, in
which case it becomes the last).  HOOK should be a symbol, and FUNCTION may be
any valid function.  HOOK's value should be a list of functions, not a single
function.  If HOOK is void, it is first set to nil."])
(defalias 'eval-after-load #[(file form) "À	\n\"„ 	C\nBÃÀ	\n\"C\"ˆ‡" [assoc file after-load-alist nconc form] 4 "\
Arrange that, if FILE is ever loaded, FORM will be run at that time.
This makes or adds to an entry on `after-load-alist'.
FILE should be the name of a library, with no directory name."])
(defalias 'eval-next-after-load #[(file) "À	Â \"‡" [eval-after-load file read] 3 "\
Read the following input sexp, and run it whenever FILE is loaded.
This makes or adds to an entry on `after-load-alist'.
FILE should be the name of a library, with no directory name."])
(defalias 'read-quoted-char #[(&optional prompt) "À‰ÁÅWƒs ÀUÁƒ ÉÊ\"ˆË ƒ* Á*\nƒ Í\nXƒ[ \nÎXƒ[ ÏÐ\"\nÍZ\\Tƒ ÉÑÒ\n#‰!ˆ‚ ÀVƒk \nCÔ‰‚ \nÔ‰‚ ÕÖ\"+‡" [0 nil char code count 3 help-form inhibit-quit prompt message "%s-" read-char quit-flag 48 55 * 8 format "%s %c" unread-command-events 259 logand 255] 6 "\
Like `read-char', except that if the first character read is an octal
digit, we read up to two more octal digits and return the character
represented by the octal number consisting of those digits.
Optional argument PROMPT specifies a string to use to prompt the user."])
(defalias 'force-mode-line-update #[(&optional all) "ƒ\n ŠÁ qˆ)ÂÃ !‡" [all other-buffer set-buffer-modified-p buffer-modified-p] 2 "\
Force the mode-line of the current buffer to be redisplayed.
With optional non-nil ALL then force then force redisplay of all mode-lines."])
(defalias 'momentary-string-display #[(string pos &optional exit-char message) "„ ÁÂÃ ÂÉŽŠ\nbˆÂË!ˆ`)Í†* ÎÏ!\"ˆÐ ‰=†? C‰.‡" [exit-char 32 nil buffer-modified-p buffer-file-name insert-end name modified buffer-read-only ((byte-code "ƒ ŠÁ\n\"ˆ)Å!‡" [insert-end delete-region pos name buffer-file-name set-buffer-modified-p modified] 3)) pos insert-before-markers string message "Type %s to continue editing." single-key-description read-event char unread-command-events] 5 "\
Momentarily display STRING in the buffer at POS.
Display remains until next character is typed.
If the char is EXIT-CHAR (optional third arg, default is SPC) it is swallowed;
otherwise it is then available as input (as a command if nothing else).
Display MESSAGE (optional fourth arg) in the echo area.
If MESSAGE is nil, instructions to type EXIT-CHAR are displayed there."])
(defun ignore (&rest ignore) "\
Do nothing.
Accept any number of arguments, but ignore them." nil)
(defalias 'error #[(&rest args) "ÀÁÂÃ\"C\"ˆ‚  " [signal error apply format args] 5 "\
Signal an error, making error message by passing all args to `format'."])
(defalias 'user-original-login-name #[nil "ÀÁ!† ÀÂ!† Ã ‡" [getenv "LOGNAME" "USER" user-login-name] 2 "\
Return user's login name from original login.
This tries to remain unaffected by `su', by looking in environment variables."])
(defalias 'start-process-shell-command #[(name buffer &rest args) "Á=ƒ ÂÃ$‡ÃÈÉÊËÌ#P%‡" [system-type vax-vms apply start-process name buffer args shell-file-name "-c" "exec " mapconcat identity " "] 10 "\
Start a program in a subprocess.  Return the process object for it.
Args are NAME BUFFER COMMAND &rest COMMAND-ARGS.
NAME is name for process.  It is modified if necessary to make it unique.
BUFFER is the buffer or (buffer-name) to associate with the process.
 Process output goes at end of that buffer, unless you specify
 an output stream or filter function to handle the output.
 BUFFER may be also nil, meaning that this process is not associated
 with any buffer
Third arg is command name, the name of a shell command.
Remaining arguments are the arguments for the command.
Wildcards and redirection are handle as usual in the shell."])
(defalias 'save-match-data '(macro . #[(&rest body) "ÀÁ!Ã\nÄDCÅÆBÈ\nDEE)‡" [make-symbol "match-data" original let (match-data) unwind-protect progn body store-match-data] 6 "\
Execute the BODY forms, restoring the global value of the match data."]))
