;ELC ;;; compiled by kwzh@hal.gnu.ai.mit.edu on Mon Apr 17 19:50:07 1995 ;;; from file /gd/gnu/emacs/19.0/lisp/scheme.el ;;; emacs version 19.28.90.26. ;;; bytecomp version FSF 2.10 ;;; optimization is on. ;;; this file uses opcodes which do not exist in Emacs 18. (if (and (boundp 'emacs-version) (or (and (boundp 'epoch::version) epoch::version) (string-lessp emacs-version "19"))) (error "`/gd/gnu/emacs/19.0/lisp/scheme.el' was compiled for Emacs 19")) #@2  (defvar scheme-mode-syntax-table nil (#$ . 480)) (byte-code " !\nW\n\"\nTX3\n\"\nT\"XG\n\"\nT6X[\n\"\nTJ\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\")" [scheme-mode-syntax-table 0 i make-syntax-table set-syntax-table 256 modify-syntax-entry "_ " 48 57 "w " 65 90 97 122 9 " " 10 "> " 12 13 32 91 "(] " 93 ")[ " 123 "(} " 125 "){ " 124 " 23" 40 "() " 41 ")( " 59 "< " 34 "\" " 39 " p" 96 44 "_ p" 64 35 "_ p14" 92 "\\ "] 4) #@2  (defvar scheme-mode-abbrev-table nil (#$ . 1072)) (define-abbrev-table (quote scheme-mode-abbrev-table) nil) (defalias 'scheme-mode-variables #[nil " !\n!P! ! ! ! !!!!! ։" [set-syntax-table scheme-mode-syntax-table scheme-mode-abbrev-table local-abbrev-table make-local-variable paragraph-start "$\\|" page-delimiter paragraph-separate paragraph-ignore-fill-prefix t indent-line-function scheme-indent-line parse-sexp-ignore-comments comment-start ";" comment-start-skip ";+[ ]*" comment-column 40 comment-indent-function scheme-comment-indent ("" scheme-mode-line-process) mode-line-process] 2]) (byte-code "! B" [boundp scheme-mode-line-process "" current-load-list] 2) (defalias 'scheme-mode-commands #[(map) " # # #" [define-key map " " scheme-indent-line "" backward-delete-char-untabify "" scheme-indent-sexp] 4]) (byte-code "! B   !‡" [boundp scheme-mode-map nil current-load-list make-sparse-keymap scheme-mode-commands] 2) #@712 Major mode for editing Scheme code. Editing commands are similar to those of lisp-mode. In addition, if an inferior Scheme process is running, some additional commands will be defined, for evaluating expressions and controlling the interpreter, and the state of the process will be displayed in the modeline of all Scheme buffers. The names of commands that interact with the Scheme process start with "xscheme-". For more information see the documentation for xscheme-interaction-mode. Commands: Delete converts tabs to spaces as it moves back. Blank lines separate paragraphs. Semicolons start comments. \{scheme-mode-map} Entry to this mode calls the value of scheme-mode-hook if that value is non-nil. (defalias 'scheme-mode #[nil " !" [kill-all-local-variables scheme-mode-initialize scheme-mode-variables run-hooks scheme-mode-hook] 2 (#$ . 2119) nil]) (defalias 'scheme-mode-initialize #[nil " !ĉ" [use-local-map scheme-mode-map scheme-mode major-mode "Scheme" mode-name] 2]) #@109 If non-nil, scheme mode is specialized for MIT Scheme. Set this to nil if you normally use another dialect. (defvar scheme-mit-dialect t (#$ . 3132)) (defalias 'scheme-comment-indent #[(&optional pos) "b!i;!* <% @& );xn6Ȃ8iT ])" [pos looking-at ";;;" ";;" calculate-scheme-indent tem " " nil 0 comment-column] 3]) #@2  (defvar scheme-indent-offset nil (#$ . 3488)) #@2  (defvar scheme-indent-function (quote scheme-indent-function) (#$ . 3540)) #@132 Indent current line as Scheme code. With argument, indent any additional lines of the same expression rigidly along with this one. (defalias 'scheme-indent-line #[(&optional whole-exp) " d`Zy`w!?s<)@iZU<\f`|jd\nZ`VId\nZb s U?s\fb!`\fby` \fV)s\f #-" [calculate-scheme-indent nil pos end beg shift-amt indent 0 " " looking-at "[ ]*;;;" whole-exp forward-sexp 1 indent-code-rigidly] 7 (#$ . 3623) "P"]) #@400 Return appropriate indentation for current line as scheme code. In usual case returns an integer: the column to indent to. Can instead return a list, whose car is the column to indent to. This means that following lines at the same level of indentation should not necessarily be indented the same way. The second element of the list is the buffer position of the start of the containing expression. (defalias 'calculate-scheme-indent #[(&optional parse-start) "y` \n % b( `\nW:`\n# ( @V 8 A@Tb `V \n#A@ ):\fTb i:` $!y`) V` $` U!` $ : by` $ : i @\nbwi2 \f \fbi\\22!///\n \"2i. " [0 nil t first-sexp-list-p containing-sexp last-sexp retry desired-indent paren-depth state indent-point parse-start beginning-of-defun parse-partial-sexp 2 peek looking-at "\\s(" 1 forward-sexp backward-prefix-chars 3 " " scheme-indent-offset boundp scheme-indent-function] 9 (#$ . 4095)]) (defalias 'scheme-indent-function #[(indent-point state) "i A@Tb!` A@U?fu`!`{   !N@  #eN  \"e GVe OИe  \"**" [normal-indent state re-search-forward "\\sw\\|\\s_" -1 forward-sexp 1 nil method function intern-soft scheme-indent-function scheme-indent-specform indent-point 3 0 "def" scheme-indent-defform] 5]) #@2  (defvar scheme-body-indent 2 (#$ . 5542)) (defalias 'scheme-indent-specform #[(count state indent-point) "A@ ‰bi \\u!` $` W2Ώ$ VD \\\\D] U[ UW\fX[\f]," [state count nil containing-form-column body-indent i containing-form-start scheme-body-indent 1 forward-sexp parse-partial-sexp indent-point t (byte-code "S!`\f$" [count forward-sexp 1 parse-partial-sexp indent-point t] 5) ((error)) 0 normal-indent] 6]) (defalias 'scheme-indent-defform #[(state indent-point) "A@by`AA@VA@b\ni\\" [state 1 scheme-body-indent] 2]) (defalias 'would-be-symbol #[(string) "OØ?" [string 0 1 "("] 3]) (defalias 'next-sexp-as-string #[nil "!`!`\n{)" [forward-sexp 1 the-end backward-sexp] 2]) (defalias 'scheme-let-indent #[(state indent-point) "w!##" [" " nil looking-at "[-a-zA-Z0-9+*/?!@$%^&_:~]" scheme-indent-specform 2 state indent-point 1] 4]) (byte-code "###############7####################################" [put begin scheme-indent-function 0 case 1 delay do 2 lambda let scheme-let-indent let* letrec sequence call-with-input-file with-input-from-file with-input-from-port call-with-output-file with-output-to-file with-output-to-port scheme-mit-dialect fluid-let in-package let-syntax local-declare macro make-environment named-lambda using-syntax with-input-from-string with-output-to-string with-values syntax-table-define list-transform-positive list-transform-negative list-search-positive list-search-negative access-components assignment-components combination-components comment-components conditional-components disjunction-components declaration-components definition-components delay-components in-package-components lambda-components lambda-components* lambda-components** open-block-components pathname-components procedure-components sequence-components unassigned\?-components unbound\?-components variable-components] 4) #@57 Indent each line of the list starting just after point. (defalias 'scheme-indent-sexp #[nil "C!) ? \f\fnmn`` %@ @T  @gy '҉\f,X VA S y WB T y`wm!@@Y@@@[!AA@[@)i\nU`|\nj." [nil 0 this-indent state inner-loop-done outer-loop-done bol next-depth indent-stack forward-sexp 1 last-depth innerloop-done parse-partial-sexp 4 indent-for-comment 3 5 t " " looking-at "[;\n]" calculate-scheme-indent val] 8 (#$ . 7749) nil]) (provide (quote scheme))