;ELC ;;; compiled by jwz@thalidomide on Fri Dec 31 01:59:57 1993 ;;; from file /th/jwz/emacs19/lisp/modes/scheme.el ;;; emacs version 19.9 Lucid (beta9). ;;; bytecomp version 2.22; 22-dec-93. ;;; 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 "This file was compiled for Emacs 19.")) (provide 'scheme) (defvar scheme-mode-syntax-table nil "\ ") (byte-code " !\nW\n\"\nTqX\n\"\nTqX\n\"\nTqX\n\"\nTq\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\")" [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) (defvar scheme-mode-abbrev-table nil "\ ") (byte-code "\"M!M!\n\n \n\n!‡" [define-abbrev-table scheme-mode-abbrev-table nil 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 comment-start ";" comment-start-skip ";+[ ]*" comment-column 40 comment-indent-hook scheme-comment-indent ("" scheme-mode-line-process) mode-line-process] 2] boundp scheme-mode-line-process "" scheme-mode-commands #[(map) " # # #" [define-key map " " scheme-indent-line "" backward-delete-char-untabify "" scheme-indent-sexp] 4] scheme-mode-map make-sparse-keymap] 3) (fset 'scheme-mode #[nil " !" [kill-all-local-variables scheme-mode-initialize scheme-mode-variables run-hooks scheme-mode-hook] 2 "\ 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." nil]) (fset 'scheme-mode-initialize #[nil " !ĉ" [use-local-map scheme-mode-map scheme-mode major-mode "Scheme" mode-name] 2]) (defvar scheme-mit-dialect t "\ If non-nil, scheme mode is specialized for MIT Scheme. Set this to nil if you normally use another dialect.") (fset 'scheme-comment-indent #[(&optional pos) "b!i! < @ )xnȪiT ])" [pos looking-at ";;;" ";;" calculate-scheme-indent tem " " nil 0 comment-column] 3]) (defvar scheme-indent-offset nil "\ ") (defvar scheme-indent-function 'scheme-indent-function "\ ") (fset 'scheme-indent-line #[(&optional whole-exp) " d`Zy`w!?<@iZU `|jd\nZ`Vd\nZb U? b!` by` V) #-" [calculate-scheme-indent nil pos end beg shift-amt indent 0 " " looking-at "[ ]*;;;" whole-exp forward-sexp 1 indent-code-rigidly] 7 "\ Indent current line as Scheme code. With argument, indent any additional lines of the same expression rigidly along with this one." "P"]) (fset 'calculate-scheme-indent #[(&optional parse-start) "y` \n  b `\nW`\n# p @V 8 A@Tb `V \n#A@ )9 Tb i-` $!y`) V` $` U!` $ 6 by` $ 6 i @\nbwi bi\\!\n \"i. " [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 "\ 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."]) (fset 'scheme-indent-function #[(indent-point state) "i A@Tb!` A@U?u`!`{   !N  #  \" GV OИ  \"**" [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]) (defvar scheme-body-indent 2 "\ ") (byte-code "MMMMM###############Q#################################ʁ@#ʁA#ʁB#" [scheme-indent-specform #[(count state indent-point) "A@ ‰bi \\u!` $` WΏt V \\\\D U U X ," [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!` $" [count forward-sexp 1 parse-partial-sexp indent-point t] 5) ((error)) 0 normal-indent] 6] scheme-indent-defform #[(state indent-point) "A@by`AA@VA@b\ni\\" [state 1 scheme-body-indent] 2] would-be-symbol #[(string) "OØ?" [string 0 1 "("] 3] next-sexp-as-string #[nil "!`!`\n{)" [forward-sexp 1 the-end backward-sexp] 2] scheme-let-indent #[(state indent-point) "w!##" [" " nil looking-at "[a-zA-Z0-9+-*/?!@$%^&_:~]" scheme-indent-specform 2 state indent-point 1] 4] put begin scheme-indent-function 0 case 1 delay do 2 lambda let 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) (fset 'scheme-indent-sexp #[nil "C!) ?   m`` %@ @  @y E҉ CX+ VA S n WB T my`wm!@@Y@@@[!A@[@)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 "\ Indent each line of the list starting just after point." nil])