;ELC
;;; Compiled by layer@bear.franz.com on Mon Jul 23 17:50:02 2007
;;; from file /acl/acl81/src/eli/fi-modes.el
;;; in Emacs version 21.4.1
;;; with bytecomp version 2.85.4.1
;;; with all optimizations.
;;; This file uses dynamic docstrings, first added in Emacs 19.29.
(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 "`fi-modes.el' was compiled for Emacs 19.29 or later"))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
#@45 The inferior-common-lisp major-mode keymap.
(defvar fi:inferior-common-lisp-mode-map nil (#$ . 602))
#@61 Used for super-key processing in inferior-common-lisp mode.
(defvar fi:inferior-common-lisp-mode-super-key-map nil (#$ . 709))
#@44 The inferior-franz-lisp major-mode keymap.
(defvar fi:inferior-franz-lisp-mode-map nil (#$ . 842))
#@60 Used for super-key processing in inferior-franz-lisp mode.
(defvar fi:inferior-franz-lisp-mode-super-key-map nil (#$ . 947))
#@33 The tcp-lisp major-mode keymap.
(defvar fi:lisp-listener-mode-map nil (#$ . 1078))
#@49 Used for super-key processing in tcp-lisp mode.
(defvar fi:lisp-listener-mode-super-key-map nil (#$ . 1167))
#@54 Major mode map used when editing Common Lisp source.
(defvar fi:common-lisp-mode-map nil (#$ . 1282))
#@53 Major mode map used when editing Franz Lisp source.
(defvar fi:franz-lisp-mode-map nil (#$ . 1390))
#@57 Major mode map used when editing GNU Emacs Lisp source.
(defvar fi:emacs-lisp-mode-map nil (#$ . 1496))
#@84 The value of which is the syntax table for all Lisp modes, except Emacs
Lisp mode.
(defvar fi:lisp-mode-syntax-table nil (#$ . 1606))
#@61 The value of which is the syntax table for Emacs Lisp mode.
(defvar fi:emacs-lisp-mode-syntax-table nil (#$ . 1746))
#@210 *A list of the file types which are automatically put in
fi:common-lisp-mode. NOTE: the value of this variable is only used at
interface load time. Setting after the interface is loaded will have no
effect.
(defvar fi:common-lisp-file-types '(".cl" ".lisp" ".lsp") (#$ . -1870))
#@55 *When non-nil, do FI-style indentation in Lisp modes.
(defvar fi:lisp-do-indentation t (#$ . -2157))
#@101 *When non-nil, and fi:lisp-do-indentation is non-nil, turn on auto-fill
mode in Lisp editing modes.
(defvar fi:auto-fill nil (#$ . -2265))
#@39 Non-nil when buffer has a subprocess.
(defvar fi:subprocess-mode nil (#$ . 2410))
(add-hook 'fi:common-lisp-mode-hook #[nil "\301\302\"\204\f \303\304\"\301\305\"?\205 \303\306\"\211\207" [mode-line-process fi:member-equal "; pkg:" append ((fi:package ("; pkg:" fi:package))) "; rt:" ((fi:readtable ("; rt:" fi:readtable)))] 3] "*The initial value of this hook, which is run whenever a Lisp mode is\nentered, causes the `package' and readtable (if any) to be displayed in the\nmode line. It uses MODE-LINE-PROCESS, which has no use in non-subprocess\nbuffers.")
#@255 *If non-nil, the regular expression that describes the IN-PACKAGE form,
for purposes of tracking package changes in a subprocess Lisp buffer. The
value of this is taken from fi:default-in-package-regexp in Lisp subprocess
buffers, but is nil elsewhere.
(defvar fi:in-package-regexp nil (#$ . -2987))
(byte-code "\302\303!\210\301B\304\301!\204 \305\302\301!\207" [current-load-list fi::multiple-in-packages make-variable-buffer-local fi:in-package-regexp boundp nil] 2)
#@265 *The regular expression matching the Lisp expression to change the
current package. The two things this must match are the IN-PACKAGE macro
form and all the possible instances of the :package top-level command.
If nil, no automatic package tracking will be done.
(defvar fi:default-in-package-regexp "(\\(cl:\\|common-lisp:\\)?in-package\\>\\|:pa\\>\\|:pac\\>\\|:pack\\>\\|:packa\\>\\|:packag\\>\\|:package\\>" (#$ . -3469))
(byte-code "\301B\302\301!\204\f \303\303\207" [current-load-list fi::menubar-initialization boundp nil] 2)
(defalias 'fi::kill-all-local-variables #[nil " \n\306 \210
\f\211,\207" [fi::input-ring fi::input-ring-yank-pointer fi::last-input-search-string fi::last-command-was-successful-search last-command-was-successful-search last-input-search-string kill-all-local-variables input-ring-yank-pointer input-ring] 4])
#@533 Major mode for interacting with Common Lisp subprocesses.
The keymap for this mode is bound to fi:inferior-common-lisp-mode-map:
\{fi:inferior-common-lisp-mode-map}
Entry to this mode runs the following hooks:
fi:lisp-mode-hook
fi:subprocess-mode-hook
fi:inferior-common-lisp-mode-hook
in the above order.
When calling from a program, arguments are MODE-HOOK and MODE-HOOK-ARGS,
the former is applied to the latter just after killing all local variables
but before doing any other mode setup.
(defalias 'fi:inferior-common-lisp-mode #[(&optional mode-hook &rest mode-hook-args) "\306 \210\203\f \307 \"\210\310\311\312\f!\210\313 \210\314\305\315\316#\210\317
!\210\320\321\322\323\324#\207" [mode-hook mode-hook-args major-mode mode-name fi:lisp-mode-syntax-table fi:inferior-common-lisp-mode-map fi::kill-all-local-variables apply fi:inferior-common-lisp-mode "Inferior Common Lisp" set-syntax-table fi::lisp-subprocess-mode-variables fi::initialize-mode-map fi:inferior-common-lisp-mode-super-key-map sub-lisp use-local-map fi:common-lisp-indent-hook run-hooks fi:lisp-mode-hook fi:subprocess-mode-hook fi:inferior-common-lisp-mode-hook fi:lisp-indent-hook-property] 4 (#$ . 4339) nil])
#@529 Major mode for interacting with Franz Lisp subprocesses.
The keymap for this mode is bound to fi:inferior-franz-lisp-mode-map:
\{fi:inferior-franz-lisp-mode-map}
Entry to this mode runs the following hooks:
fi:lisp-mode-hook
fi:subprocess-mode-hook
fi:inferior-franz-lisp-mode-hook
in the above order.
When calling from a program, arguments are MODE-HOOK and MODE-HOOK-ARGS,
the former is applied to the latter just after killing all local variables
but before doing any other mode setup.
(defalias 'fi:inferior-franz-lisp-mode #[(&optional mode-hook &rest mode-hook-args) "\306 \210\203\f \307 \"\210\310\311\312\f!\210\313 \210\314\305\315\316#\210\317
!\210\320\321\322\323\324#\207" [mode-hook mode-hook-args major-mode mode-name fi:lisp-mode-syntax-table fi:inferior-franz-lisp-mode-map fi::kill-all-local-variables apply fi:inferior-franz-lisp-mode "Inferior Franz Lisp" set-syntax-table fi::lisp-subprocess-mode-variables fi::initialize-mode-map fi:inferior-franz-lisp-mode-super-key-map sub-lisp use-local-map fi:franz-lisp-indent-hook run-hooks fi:lisp-mode-hook fi:subprocess-mode-hook fi:inferior-franz-lisp-mode-hook fi:lisp-indent-hook-property] 4 (#$ . 5581) nil])
#@475 Major mode for interacting with Common Lisp over a socket.
The keymap for this mode is bound to fi:lisp-listener-mode-map:
\{fi:lisp-listener-mode-map}
Entry to this mode runs the following hooks:
fi:lisp-mode-hook
fi:subprocess-mode-hook
fi:lisp-listener-mode-hook
in the above order.
When calling from a program, argument is MODE-HOOK,
which is funcall'd just after killing all local variables but before doing
any other mode setup.
(defalias 'fi:lisp-listener-mode #[(&optional mode-hook) "\306 \210\203\n \210\307\310\311!\210\312 \210\313\304\314\315#\210\316\f!\210\317\320\321\322\323#\207" [mode-hook major-mode mode-name fi:lisp-mode-syntax-table fi:lisp-listener-mode-map fi:lisp-indent-hook-property fi::kill-all-local-variables fi:lisp-listener-mode "TCP Common Lisp" set-syntax-table fi::lisp-subprocess-mode-variables fi::initialize-mode-map fi:lisp-listener-mode-super-key-map tcp-lisp use-local-map fi:common-lisp-indent-hook run-hooks fi:lisp-mode-hook fi:subprocess-mode-hook fi:lisp-listener-mode-hook] 4 (#$ . 6812) nil])
#@441 Major mode for editing Lisp code to run in Common Lisp.
The keymap for this mode is bound to fi:common-lisp-mode-map:
\{fi:common-lisp-mode-map}
Entry to this mode runs the following hooks:
fi:lisp-mode-hook
fi:common-lisp-mode-hook
in the above order.
When calling from a program, argument is MODE-HOOK,
which is funcall'd just after killing all local variables but before doing
any other mode setup.
(defalias 'fi:common-lisp-mode #[(&optional mode-hook) "\306 \210\203\n \210\307\310\311!\210\312 \210\313 \210\314\304!\210\315\f!\210
\316\317\320\321\"\207" [mode-hook major-mode mode-name fi:lisp-mode-syntax-table fi:common-lisp-mode-map fi::common-lisp-backdoor-main-process-name kill-all-local-variables fi:common-lisp-mode "Common Lisp" set-syntax-table fi::lisp-edit-mode-setup fi:parse-mode-line-and-package fi::initialize-mode-map use-local-map fi:common-lisp-indent-hook run-hooks fi:lisp-mode-hook fi:common-lisp-mode-hook fi::process-name fi:lisp-indent-hook-property] 3 (#$ . 7907) nil])
#@158 See fi:common-lisp-mode. This function is here so that set-auto-mode
will go into the FI Common Lisp mode when ``mode: lisp'' appears in
the file modeline.
(defalias 'lisp-mode #[(&optional mode-hook) "\301!\207" [mode-hook fi:common-lisp-mode] 2 (#$ . 8966) nil])
#@165 See fi:common-lisp-mode. This function is here so that set-auto-mode
will go into the FI Common Lisp mode when ``mode: common-lisp'' appears in
the file modeline.
(defalias 'common-lisp-mode #[(&optional mode-hook) "\301!\207" [mode-hook fi:common-lisp-mode] 2 (#$ . 9240) nil])
#@437 Major mode for editing Lisp code to run in Franz Lisp.
The keymap for this mode is bound to fi:franz-lisp-mode-map:
\{fi:franz-lisp-mode-map}
Entry to this mode runs the following hooks:
fi:lisp-mode-hook
fi:franz-lisp-mode-hook
in the above order.
When calling from a program, argument is MODE-HOOK,
which is funcall'd just after killing all local variables but before doing
any other mode setup.
(defalias 'fi:franz-lisp-mode #[(&optional mode-hook) "\306 \210\203\n \210\307\310\311!\210\312 \210\313 \210\314\304!\210\315\f!\210
\316\317\320\321\"\207" [mode-hook major-mode mode-name fi:lisp-mode-syntax-table fi:franz-lisp-mode-map fi:franz-lisp-process-name kill-all-local-variables fi:franz-lisp-mode "Franz Lisp" set-syntax-table fi::lisp-edit-mode-setup fi:parse-mode-line-and-package fi::initialize-mode-map use-local-map fi:franz-lisp-indent-hook run-hooks fi:lisp-mode-hook fi:franz-lisp-mode-hook fi::process-name fi:lisp-indent-hook-property] 3 (#$ . 9528) nil])
#@384 Major mode for editing Lisp code to run in Emacs Lisp.
The keymap for this mode is bound to fi:emacs-lisp-mode-map:
\{fi:emacs-lisp-mode-map}
Entry to this mode runs the fi:emacs-lisp-mode-hook hook.
When calling from a program, argument is MODE-HOOK,
which is funcall'd just after killing all local variables but before doing
any other mode setup.
(defalias 'fi:emacs-lisp-mode #[(&optional mode-hook) "\306 \210\203\n \210\307\310\311!\210\312 \210\313\304!\210\314\f!\210\315\316\317!\207" [mode-hook major-mode mode-name fi:emacs-lisp-mode-syntax-table fi:emacs-lisp-mode-map fi:lisp-indent-hook-property kill-all-local-variables fi:emacs-lisp-mode "Emacs Lisp" set-syntax-table fi::lisp-edit-mode-setup fi::initialize-mode-map use-local-map fi:emacs-lisp-indent-hook run-hooks fi:emacs-lisp-mode-hook] 2 (#$ . 10561) nil])
(defalias 'fi::lisp-edit-mode-setup #[nil "\300 \207" [fi::lisp-mode-setup-common] 1])
(defalias 'fi::lisp-subprocess-mode-variables #[nil "\301\300!\210\302\303 \207" [fi:subprocess-mode make-local-variable t fi::lisp-mode-setup-common] 2])
(defalias 'fi::lisp-mode-setup-common #[nil "\n\306\305!\210\307\fP\306\310!\210
\306\311!\210\312 \306\313!\210\314\306\315!\210\316
\203\201 \306\317!\210\320 \203G \321!\322\323!\210\306\324!\210\325\306\326!\210\327\306\330!\210\331\306\332!\210\333\334\211\211\211\335\211\211\334\257\"\334\211\211\335\211\211\334\257#\335\211\211\211\211\211\211\257$\202\205 \336\333!\210%\205\215 % \207" [fi:default-in-package-regexp fi:in-package-regexp lisp-mode-abbrev-table local-abbrev-table page-delimiter paragraph-start make-local-variable "^$\\|" paragraph-separate comment-start ";" comment-start-skip ";+[ ]*" comment-column 40 fill-paragraph-function fi:fill-paragraph 75 auto-fill-mode 1 auto-fill-function fi::do-auto-fill indent-line-function fi:lisp-indent-line comment-indent-function fi:lisp-comment-indent parse-sexp-ignore-comments t 0 nil lisp-mode-variables fi:lisp-do-indentation fi:auto-fill fill-column fi::lisp-most-recent-parse-result fi::calculate-lisp-indent-state-temp fi::lisp-indent-state-temp fi::menubar-initialization] 8])
#@170 *The name of the package to use as the default package, if there is no
package specification in the mode line. See fi:parse-mode-line-and-package
for more information.
(defvar fi:default-package "user" (#$ . -12764))
(byte-code "\301B\302\301!\204\f \303\301\207" [current-load-list fi::do-parse-mode-line-and-package boundp t] 2)
#@423 Determine the current package in which the buffer is defined.
The buffer's IN-PACKAGE form and the -*- mode line are parsed for this
information. This function is automatically called when a Common Lisp
source file is visited, but may be executed explicitly to re-parse the
package.
When using Allegro CL 4.2 or later, the ``Readtable: '' can be used to name
the readtable used for evaluations given to Lisp from emacs.
(defalias 'fi:parse-mode-line-and-package #[nil "\205 \304\305!\304\306\n\307\310\307%\211\207" [fi::do-parse-mode-line-and-package fi:readtable fi:default-package fi:package fi::parse-mode-line "readtable" "package" t fi::parse-package-from-buffer] 6 (#$ . 13106) nil])
(defalias 'fi::parse-mode-line #[(key &optional default-value messagep fail-hook list-value-ok) "\212\306\307\310\"\311\211\211\211eb\210\312\313\212\311\210`)\306#\203\250 \314\311w\210`\312\313\212\311\210`)\306#\203\250 \315u\210\314\311x\210`\nb\210\312\316 \306#\203\250 \nb\210\312
\306#\203\250 \314\311w\210`\211 V\203a \n\312\317 \306#\203o \320u\210\202r b\210\314\311x\210\n`Y\203\202 \202\250 \203\227 \321\322!\nfU\203\227 \nT`{\202\232 \n`{\306\323\324!@!\227)\204\303 \203\303 eb\210 \211\203\302 \306)\204\312 \203\342 \203\334 \325\326\f#\210\202\342 \325\327\f#\210\f.\207" [key end start found value search-string t format "%s:" nil search-forward "-*-" " " -3 ":" ";" -1 string-to-char "(" symbol-name read-from-string message "%s specification is `%s'" "using default %s specification of `%s'" case-fold-search default-value list-value-ok val fail-hook messagep] 7])
(byte-code "\301B\302\301!\204\f \303\301\207" [current-load-list fi::*in-package-regexp* boundp "^(\\(cl:\\|common-lisp:\\)?in-package[ ]*#?"] 2)
(defalias 'fi::parse-package-from-buffer #[(&optional current-point backward post-init) "\204 eb\210 \203 \306\202 \307\211\310\311#\310\f\203\230 \312\225\313\314\310\311#\210\312\224{\315!@\2119\203Z \316!\312\234\317U\203S \316!\320\310O\202\226 \316!\202\226 :\203\216 @\321=\203\216 A@9\203\216 \316A@!\211\312\234\317U\203\210 \320\310O\202\212 )\202\226 ;\205\226 ,\204\250 \n\310\311#\203\250 \311
+\207" [current-point backward search fi::*in-package-regexp* pos value re-search-backward re-search-forward nil t 0 search-forward ")" read-from-string symbol-name 58 1 quote start end p-string p name post-init fi::multiple-in-packages] 5])
(defalias 'fi::find-tag-common-lisp #[nil "\302 \211\205 \303\304\305\306$\211\203 \307 T\"\202 ))\207" [default n find-tag-default position 58 :from-end t subseq] 6])
(byte-code "\303\304\211\203 @\305\306\307#\210 A\211\204 *\310\n!\304\207" [m #:--dolist-temp--55966 auto-mode-alist (fi:common-lisp-mode fi:inferior-common-lisp-mode fi:lisp-listener-mode fi:definition-mode) nil put find-tag-default-function fi::find-tag-common-lisp copy-alist] 5)
(defalias 'fi::def-auto-mode #[(string mode) "\304 \"\211\203 \n\241\202 B B\211)\207" [string auto-mode-alist xx mode assoc] 4])
(byte-code "\302\303\304\"\210\211\203 \302\305 @\306Q\307\"\210 A\211\204 )\302\207" [fi:common-lisp-file-types list fi::def-auto-mode "\\.l$" fi:franz-lisp-mode "\\" "$" fi:common-lisp-mode] 5)
#@67 *If non-nil, then use the FI supplied mode for editing .el files.
(defvar fi:define-emacs-lisp-mode nil (#$ . -16405))
(byte-code "\203 \304\305\306\"\210\304\307\306\"\210 \204\312 \310\311 \n\312W\203* \313\n\314 #\210\nT\211\202 \315\315\316W\203? \313\n\314 #\210\nT\211\202- \317\317\320W\203T \313\n\314 #\210\nT\211\202B \321\321\322W\203i \313\n\314 #\210\nT\211\202W \313\323\324 #\210\313\325\324 #\210\313\326\327 #\210\313\330\327 #\210\313\331\332 #\210\313\333\334 #\210\313\335\334 #\210\313\336\334 #\210\313\337\334 #\210\313\340\334 #\210\313\341\342 #\210\313\343\344 #\210\313\345\346 #\210\313\347\350 #\210\313\317\351 #\210\313\352\353 #\210)\204\360 \354 !\313\355\356#\210\313\337\356#\210\313\357\360#\210\313\317\314#\210\313\352\314#\210\361\362\363\217\207" [fi:define-emacs-lisp-mode fi:emacs-lisp-mode-syntax-table i fi:lisp-mode-syntax-table fi::def-auto-mode "\\.el$" fi:emacs-lisp-mode "[]>:/]\\..*emacs" 0 make-syntax-table 48 modify-syntax-entry "_ " 58 65 91 97 123 128 32 " " 9 10 "> " 12 59 "< " 96 "' " 39 44 46 35 34 "\" " 92 "\\ " 40 "() " 41 ")( " "(] " 93 ")[ " copy-syntax-table 42 "w " 124 "\" " nil (byte-code "\301\302!\210\303>\203 \202 \303B\304>\203 \202 \304B\305>\203* \202- \305B\301\207" [add-log-lisp-like-modes require add-log fi:common-lisp-mode fi:franz-lisp-mode fi:emacs-lisp-mode] 2) ((error))] 5)