%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /usr/local/share/emacs/27.2/lisp/progmodes/
Upload File :
Create Path :
Current File : //usr/local/share/emacs/27.2/lisp/progmodes/scheme.elc

;ELC
;;; Compiled
;;; in Emacs version 27.2
;;; with all optimizations.

;;; This file contains utf-8 non-ASCII characters,
;;; and so cannot be loaded into Emacs 22 or earlier.
(and (boundp 'emacs-version)
     (< (aref emacs-version (1- (length emacs-version))) ?A)
     (string-lessp emacs-version "23")
     (error "`%s' was compiled for Emacs 23 or later" #$))

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


(require 'lisp-mode)
(defvar scheme-mode-syntax-table (byte-code "\300 \301\211\302W\203\303\304#\210\211T\262\202\305\262\211\306W\203,\303\304#\210\211T\262\202\307\262\211\310W\203B\303\304#\210\211T\262\202/\311\262\211\312W\203X\303\304#\210\211T\262\202E\303\313\314#\210\303\315\316#\210\303\317\314#\210\303\320\314#\210\303\321\314#\210\303\307\322#\210\303\323\324#\210\303\311\325#\210\303\326\327#\210\303\330\331#\210\303\332\333#\210\303\334\335#\210\303\336\337#\210\303\340\341#\210\303\342\343#\210\303\344\343#\210\303\345\343#\210\303\346\343#\210\303\347\350#\210\303\351\352#\210\207" [make-syntax-table 0 48 modify-syntax-entry "_   " 58 65 91 97 123 128 9 "    " 10 ">   " 12 13 32 "(]  " 93 ")[  " "(}  " 125 "){  " 124 "\" 23bn" 40 "()  " 41 ")(  " 59 "<" 34 "\"   " 39 "'   " 96 44 64 35 "' 14" 92 "\\   "] 6))
(defvar scheme-mode-abbrev-table nil)
(define-abbrev-table 'scheme-mode-abbrev-table nil)
#@76 Imenu generic expression for Scheme mode.  See `imenu-generic-expression'.
(defvar scheme-imenu-generic-expression '((nil "^(define\\(\\|-\\(generic\\(\\|-procedure\\)\\|method\\)\\)*\\s-+(?\\(\\sw+\\)" 4) ("Types" "^(define-class\\s-+(?\\(\\sw+\\)" 1) ("Macros" "^(\\(defmacro\\|define-macro\\|define-syntax\\)\\s-+(?\\(\\sw+\\)" 2)) (#$ . 1382))
(defalias 'scheme-mode-variables #[0 "\306!\210	\307\304!\210\310P\307\305!\210\f\307\311!\210\312	\307\313!\210\314\307\315!\210\316
\307\317!\210\320\307\321!\210\312\307\322!\210\323\307\324!\210\325\307\326!\210\327\307\330!\210\331\307\332!\210\333\307\334!\210\312\307\335!\210\336\307\321!\210\312\307\337!\210\340\341,\307\342!\210\312\"\307\343!\210-#\307\344!\210\345$\307\346!\210\347&\350.\307\351!\210/)\307\352!\210\353\211*\207" [scheme-mode-syntax-table scheme-mode-abbrev-table local-abbrev-table page-delimiter paragraph-start paragraph-separate set-syntax-table make-local-variable "$\\|" paragraph-ignore-fill-prefix t fill-paragraph-function lisp-fill-paragraph adaptive-fill-mode nil indent-line-function lisp-indent-line parse-sexp-ignore-comments outline-regexp ";;; \\|(...." add-log-current-defun-function lisp-current-defun-name comment-start ";" comment-add 1 comment-start-skip ";+[ 	]*" comment-use-syntax comment-column 40 lisp-indent-function scheme-indent-function ("" scheme-mode-line-process) imenu-case-fold-search imenu-generic-expression imenu-syntax-alist (("+-*/.<>=?!$%_&~^:" . "w")) syntax-propertize-function scheme-syntax-propertize ((scheme-font-lock-keywords scheme-font-lock-keywords-1 scheme-font-lock-keywords-2) nil t (("+-*/.<>=!?$%_&~^:" . "w") (35 . "w 14")) beginning-of-defun (font-lock-mark-block-function . mark-defun)) prettify-symbols-alist lisp-doc-string-elt-property scheme-doc-string-elt mode-line-process scheme-imenu-generic-expression font-lock-defaults lisp-prettify-symbols-alist] 2])
(defvar scheme-mode-line-process "")
#@91 Keymap for Scheme mode.
All commands in `lisp-mode-shared-map' are inherited by this map.
(defvar scheme-mode-map (byte-code "\301 \301\302!\303\"\210\304\305\302B#\210\304\306\307#\210\304\310\311#\210\304\312\313#\210\304\314\315#\210\304\316\317#\210\320\321\322\323#\210\320\324\322\323#\210\320\325\322\323#\210\207" [lisp-mode-shared-map make-sparse-keymap "Scheme" set-keymap-parent define-key [menu-bar scheme] [run-scheme] ("Run Inferior Scheme" . run-scheme) [uncomment-region] ("Uncomment Out Region" lambda (beg end) (interactive "r") (comment-region beg end '(4))) [comment-region] ("Comment Out Region" . comment-region) [indent-region] ("Indent Region" . indent-region) [indent-line] ("Indent Line" . lisp-indent-line) put comment-region menu-enable mark-active uncomment-region indent-region] 7) (#$ . 3367))
#@12 

(fn MAP)
(defalias 'scheme-mode-commands #[257 "\300\301\302#\210\300\303\304#\207" [define-key "" backward-delete-char-untabify "" indent-sexp] 5 (#$ . 4208)])
(defvar scheme-mode-hook nil)
(byte-code "\300\301N\204\f\302\300\301\303#\210\304\305!\204\302\305\306\307#\210\300\207" [scheme-mode-hook variable-documentation put "Hook run after entering Scheme mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" boundp scheme-mode-map definition-name scheme-mode] 4)
(defvar scheme-mode-map (make-sparse-keymap))
(byte-code "\301\302N\204\303\301\302\304\305!#\210\306\307!\204\303\307\310\311#\210\312\313 !\210\307\302N\204-\303\307\302\304\314!#\210\306\300!\204B\303\300\310\311#\210\315\316\300\317\"\210!\210\300\302N\204P\303\300\302\304\320!#\210\303\311\321\322#\207" [scheme-mode-abbrev-table scheme-mode-map variable-documentation put purecopy "Keymap for `scheme-mode'." boundp scheme-mode-syntax-table definition-name scheme-mode (lambda (#1=#:def-tmp-var) (defvar scheme-mode-syntax-table #1#)) make-syntax-table "Syntax table for `scheme-mode'." (lambda (#1#) (defvar scheme-mode-abbrev-table #1#)) define-abbrev-table nil "Abbrev table for `scheme-mode'." derived-mode-parent prog-mode] 5)
#@949 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
mode line of all Scheme buffers.  The names of commands that interact
with the Scheme process start with "xscheme-" if you use the MIT
Scheme-specific `xscheme' package; for more information see the
documentation for `xscheme-interaction-mode'.  Use \[run-scheme] to
start an inferior Scheme using the more general `cmuscheme' package.

Commands:
Delete converts tabs to spaces as it moves back.
Blank lines separate paragraphs.  Semicolons start comments.
\{scheme-mode-map}

In addition to any hooks its parent mode `prog-mode' might have run,
this mode runs the hook `scheme-mode-hook', as the final or penultimate step
during initialization.
(defalias 'scheme-mode #[0 "\306\300!\210\307\310 \210\311\312\310\313N\203\314\311\313\310\313N#\210\315!\204'\316\317 \"\210\320\f!\211\2035\211\321 =\203;\322\f\323 \"\210\210\324
\325\"\204R
=\204R\326
\325C#\210\327!\210\330\f!\210
\331 \210)\332\333!\207" [delay-mode-hooks major-mode mode-name scheme-mode-map scheme-mode-syntax-table scheme-mode-abbrev-table make-local-variable t prog-mode scheme-mode "Scheme" mode-class put keymap-parent set-keymap-parent current-local-map char-table-parent standard-syntax-table set-char-table-parent syntax-table abbrev-table-get :parents abbrev-table-put use-local-map set-syntax-table scheme-mode-variables run-mode-hooks scheme-mode-hook local-abbrev-table] 5 (#$ . 5521) nil])
(byte-code "\300\301\302\303\304\305\306\307&\210\310\311\312\313\314DD\315\316\317\306\301&\210\310\320\312\313\321DD\322\316\323\306\301&\210\310\324\312\313\325DD\326\316\327\306\301&\210\310\330\312\313\331DD\332\316\327\306\301&\210\310\333\312\313\334DD\335\316\336\306\301&\207" [custom-declare-group scheme nil "Editing Scheme code." :link (custom-group-link :tag "Font Lock Faces group" font-lock-faces) :group lisp custom-declare-variable scheme-mit-dialect funcall function #[0 "\300\207" [t] 1] "If non-nil, scheme mode is specialized for MIT Scheme.\nSet this to nil if you normally use another dialect." :type boolean dsssl-sgml-declaration #[0 "\300\207" [#1="<!DOCTYPE style-sheet PUBLIC \"-//James Clark//DTD DSSSL Style Sheet//EN\">\n"] 1 #1#] "An SGML declaration for the DSSSL file.\nIf it is defined as a string this will be inserted into an empty buffer\nwhich is in `dsssl-mode'.  It is typically James Clark's style-sheet\ndoctype, as required for Jade." (choice (string :tag "Specified string") (const :tag "None" :value nil)) scheme-mode-hook #[0 "\300\207" [nil] 1] "Normal hook run when entering `scheme-mode'.\nSee `run-hooks'." hook dsssl-mode-hook #[0 "\300\207" [nil] 1] "Normal hook run when entering `dsssl-mode'.\nSee `run-hooks'." scheme-program-name #[0 "\300\207" [#2="scheme"] 1 #2#] "Program invoked by the `run-scheme' command." string] 8)
#@75 Imenu generic expression for DSSSL mode.  See `imenu-generic-expression'.
(defvar dsssl-imenu-generic-expression '(("Defines" "^(define\\s-+(?\\(\\sw+\\)" 1) ("Modes" "^\\s-*(mode\\s-+\\(\\(\\sw\\|\\s-\\)+\\)" 1) ("Elements" "^\\s-*(element\\s-+(?\\(\\(\\sw\\|\\s-\\)+\\))?" 1) ("Declarations" "^(declare\\(-\\sw+\\)+\\>\\s-+\\(\\sw+\\)" 2)) (#$ . 8609))
#@51 Subdued expressions to highlight in Scheme modes.
(defconst scheme-font-lock-keywords-1 '(("(\\(define\\*?\\(\\(\\|-public\\|-method\\|-generic\\(-procedure\\)?\\)\\|\\(-syntax\\|-macro\\)\\|-class\\|-module\\)\\)\\>[ 	]*(*\\(\\sw+\\)?" (1 font-lock-keyword-face) (6 (cond ((match-beginning 3) font-lock-function-name-face) ((match-beginning 5) font-lock-variable-name-face) (t font-lock-type-face)) nil t))) (#$ . 8970))
#@49 Gaudy expressions to highlight in Scheme modes.
(defconst scheme-font-lock-keywords-2 (append scheme-font-lock-keywords-1 '(("(\\(and\\|begin\\|c\\(?:a\\(?:ll\\(?:-with-\\(?:current-continuation\\|\\(?:in\\|out\\)put-file\\)\\|/cc\\)\\|se\\(?:-lambda\\)?\\)\\|ond\\(?:-expand\\)?\\)\\|d\\(?:e\\(?:fine-\\(?:library\\|record-type\\|values\\)\\|lay\\(?:-force\\)?\\)\\|o\\)\\|e\\(?:lse\\|x\\(?:\\(?:cep\\|por\\)t\\)\\)\\|for\\(?:-each\\|ce\\)\\|guard\\|i\\(?:f\\|mport\\|nclude\\(?:-\\(?:ci\\|library-declarations\\)\\)?\\)\\|l\\(?:ambda\\|et\\(?:\\*\\(?:-values\\)?\\|-\\(?:syntax\\|values\\)\\|rec\\(?:\\*\\|-syntax\\)?\\)?\\)\\|map\\|o\\(?:nly\\|r\\)\\|p\\(?:arameterize\\|refix\\)\\|re\\(?:\\(?:ceiv\\|nam\\)e\\)\\|syntax\\(?:-\\(?:error\\|rules\\)\\)?\\|unless\\|when\\|λ\\)\\>" . 1) ("(let\\s-+\\(\\sw+\\)" (1 font-lock-function-name-face)) ("\\<<\\sw+>\\>" . font-lock-type-face) ("\\<#?:\\sw+\\>" . font-lock-builtin-face) ("(\\(\\<library\\>\\)\\s-*(?\\(\\sw+\\)?" (1 font-lock-keyword-face) (2 font-lock-type-face)))) (#$ . 9398))
#@51 Default expressions to highlight in Scheme modes.
(defvar scheme-font-lock-keywords scheme-font-lock-keywords-1 (#$ . 10444))
(defconst scheme-sexp-comment-syntax-table (byte-code "\301!\302\303\304#\210\302\305\306#\210\302\307\310#\210\211\207" [scheme-mode-syntax-table make-syntax-table modify-syntax-entry 59 "." 10 " " 35 "'"] 5))
(byte-code "\300\301\302\303#\210\300\304\302\305#\207" [put lambda scheme-doc-string-elt 2 define #[0 "\300d!\210\301f\302=\203
\303\207\304\207" [forward-comment nil 40 2 0] 2]] 4)
#@16 

(fn BEG END)
(defalias 'scheme-syntax-propertize #[514 "b\210\300`\"\210`b\210`W\2051\301\302\303#\2051\304\224\203
\305\304\224\304\225\306\307$\210\300`\"\210\202
\207" [scheme-syntax-propertize-sexp-comment re-search-forward "\\(#\\);" t 1 put-text-property syntax-table (12582923)] 9 (#$ . 10975)])
#@14 

(fn _ END)
(defalias 'scheme-syntax-propertize-sexp-comment #[514 "\300 \3018\302=\205'\3031$\302\3048\\b\210\305\306!\210\307`S`\310\311$0\202'\210b\207" [syntax-ppss 7 2 (scan-error) 8 forward-sexp 1 put-text-property syntax-table (12582924)] 8 (#$ . 11297)])
(defvar dsssl-mode-hook nil)
(byte-code "\300\301N\204\f\302\300\301\303#\210\304\305!\204\302\305\306\307#\210\300\207" [dsssl-mode-hook variable-documentation put "Hook run after entering DSSSL mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" boundp dsssl-mode-map definition-name dsssl-mode] 4)
(defvar dsssl-mode-map (make-sparse-keymap))
(byte-code "\301\302N\204\303\301\302\304\305!#\210\306\307!\204\303\307\310\311#\210\312\313 !\210\307\302N\204-\303\307\302\304\314!#\210\306\300!\204B\303\300\310\311#\210\315\316\300\317\"\210!\210\300\302N\204P\303\300\302\304\320!#\210\303\311\321\322#\207" [dsssl-mode-abbrev-table dsssl-mode-map variable-documentation put purecopy "Keymap for `dsssl-mode'." boundp dsssl-mode-syntax-table definition-name dsssl-mode (lambda (#1=#:def-tmp-var) (defvar dsssl-mode-syntax-table #1#)) make-syntax-table "Syntax table for `dsssl-mode'." (lambda (#1#) (defvar dsssl-mode-abbrev-table #1#)) define-abbrev-table nil "Abbrev table for `dsssl-mode'." derived-mode-parent scheme-mode] 5)
#@398 Major mode for editing DSSSL code.
Editing commands are similar to those of `lisp-mode'.

Commands:
Delete converts tabs to spaces as it moves back.
Blank lines separate paragraphs.  Semicolons start comments.
\{scheme-mode-map}
Entering this mode runs the hooks `scheme-mode-hook' and then
`dsssl-mode-hook' and inserts the value of `dsssl-sgml-declaration' if
that variable's value is a string.
(defalias 'dsssl-mode #[0 "\306\300!\210\307\310 \210\311\312\310\313N\203\314\311\313\310\313N#\210\315!\204'\316\317 \"\210\320\f!\211\2035\211\321 =\203;\322\f\323 \"\210\210\324
\325\"\204R
&=\204R\326
\325&C#\210\327!\210\330\f!\210
&\306\331!\210\332\333 \334U\203z';\203z(\204z'c\210\335)\306\336!\210\337\306\340!\210\341 *+\306\342!\210\343\")\344\345!\207" [delay-mode-hooks major-mode mode-name dsssl-mode-map dsssl-mode-syntax-table dsssl-mode-abbrev-table make-local-variable t scheme-mode dsssl-mode "DSSSL" mode-class put keymap-parent set-keymap-parent current-local-map char-table-parent standard-syntax-table set-char-table-parent syntax-table abbrev-table-get :parents abbrev-table-put use-local-map set-syntax-table page-delimiter "^;;;" buffer-size 0 (dsssl-font-lock-keywords nil t (("+-*/.<>=?$%_&~^:" . "w")) beginning-of-defun (font-lock-mark-block-function . mark-defun)) add-log-current-defun-function lisp-current-defun-name imenu-case-fold-search nil imenu-syntax-alist (("+-*/.<>=?$%_&~^:" . "w")) run-mode-hooks dsssl-mode-hook local-abbrev-table dsssl-sgml-declaration buffer-read-only font-lock-defaults dsssl-imenu-generic-expression imenu-generic-expression] 5 (#$ . 12699) nil])
(byte-code "\300\301\302\303#\210\300\304\302\303#\210\300\305\302\303#\210\300\306\302\303#\210\300\307\302\303#\210\300\310\302\303#\210\300\311\302\303#\207" [put element scheme-indent-function 1 mode with-mode make style root λ] 4)
#@49 Default expressions to highlight in DSSSL mode.
(defvar dsssl-font-lock-keywords '(("(\\(define\\(-\\w+\\)?\\)\\>[ 	]*\\((?\\)\\(\\sw+\\)\\>" (1 font-lock-keyword-face) (4 font-lock-function-name-face)) ("(\\(and\\|c\\(ase\\|ond\\)\\|else\\|if\\|l\\(ambda\\|et\\(\\|\\*\\|rec\\)\\)\\|map\\|or\\|with-mode\\)\\>" . 1) ("(\\(element\\|mode\\|declare-\\w+\\)\\>[ 	]*\\(\\sw+\\)" (1 font-lock-keyword-face) (2 font-lock-type-face)) ("(\\(element\\)\\>[ 	]*(\\(\\S)+\\))" (1 font-lock-keyword-face) (2 font-lock-type-face)) ("\\<\\sw+:\\>" . font-lock-constant-face) ("<\\([!?][-a-z0-9]+\\)" 1 font-lock-keyword-face) ("<\\(/?[-a-z0-9]+\\)" 1 font-lock-function-name-face)) (#$ . 14585))
#@477 Scheme mode function for the value of the variable `lisp-indent-function'.
This behaves like the function `lisp-indent-function', except that:

i) it checks for a non-nil value of the property `scheme-indent-function'
(or the deprecated `scheme-indent-hook'), rather than `lisp-indent-function'.

ii) if that property specifies a function, it is called with three
arguments (not two), the third argument being the default (i.e., current)
indentation.

(fn INDENT-POINT STATE)
(defalias 'scheme-indent-function #[514 "i\301\234Tb\210\302`\303\304$\210\305\234\2039\306\307!\2049\212\301y\210`)V\2042b\210\310 \210\302`\303\304$\210\311 \210i\202\214`\312\301!\210`{\313\314!\315N\206N\314!\316N\262\211\317=\204h\211\204pG\320V\203p\321\322\"\203p\323\"\202\212\211\250\203\200\324$\202\212\211\205\212\211#\266\202\207" [calculate-lisp-indent-last-sexp 1 parse-partial-sexp 0 t 2 looking-at "\\sw\\|\\s_" beginning-of-line backward-prefix-chars forward-sexp nil intern-soft scheme-indent-function scheme-indent-hook defun 3 string-match "\\`def" lisp-indent-defform lisp-indent-specform] 10 (#$ . 15275)])
#@41 

(fn STATE INDENT-POINT NORMAL-INDENT)
(defalias 'scheme-let-indent #[771 "\300\301w\210\302\303!\203\304\305$\207\304\306$\207" [" 	" nil looking-at "[-a-zA-Z0-9+*/?!@$%^&_:~]" lisp-indent-specform 2 1] 8 (#$ . 16424)])
(byte-code "\301\302\303\304#\210\301\305\303\306#\210\301\307\303\304#\210\301\310\303\311#\210\301\312\303\306#\210\301\313\303\314#\210\301\315\303\306#\210\301\316\303\306#\210\301\317\303\306#\210\301\320\303\306#\210\301\321\303\304#\210\301\322\303\306#\210\301\323\303\306#\210\301\324\303\306#\210\301\325\303\311#\210\301\326\303\306#\210\301\327\303\306#\210\301\330\303\306#\210\301\331\303\306#\210\301\332\303\306#\210\301\333\303\306#\210\301\334\303\306#\210\301\335\303\306#\210\301\336\303\337#\210\301\340\303\306#\210\301\341\303\306#\210\301\342\303\306#\210\301\343\303\306#\210\301\344\303\306#\210\301\345\303\306#\210\301\346\303\306#\210\301\347\303\311#\210\203\254\301\350\303\306#\210\301\351\303\306#\210\301\352\303\306#\210\301\353\303\306#\210\301\354\303\304#\210\301\355\303\306#\210\301\356\303\306#\210\301\357\303\306#\210\301\360\303\304#\210\301\361\303\306#\210\301\362\303\311#\210\301\363\303\306#\210\301\364\303\306#\210\301\365\303\306#\210\301\366\303\306#\210\301\367\303\306#\210\301\370\303\306#\210\301\371\303\306#\210\301\372\303\306#\210\301\373\303\306#\210\301\374\303\306#\210\301\375\303\306#\210\301\376\303\306#\210\301\377\303\306#\210\301\201@\303\306#\210\301\201A\303\306#\210\301\201B\303\306#\210\301\201C\303\306#\210\301\201D\303\306#\210\301\201E\303\306#\210\301\201F\303\306#\210\301\201G\303\306#\210\301\201H\303\306#\210\301\201I\303\306#\210\301\201J\303\306#\210\201K\201L!\207" [scheme-mit-dialect put begin scheme-indent-function 0 case 1 delay do 2 lambda let scheme-let-indent let* letrec let-values let*-values sequence let-syntax letrec-syntax syntax-rules syntax-case library call-with-input-file with-input-from-file with-input-from-port call-with-output-file with-output-to-file with-output-to-port call-with-values dynamic-wind 3 when unless letrec* parameterize define-values define-record-type define-library receive fluid-let in-package 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 provide scheme] 4)

Zerion Mini Shell 1.0