;;; -*- Mode:Lisp; Readtable:ZL; Package:USER; Base:8; Patch-File:T -*- ;;; Patch file for System version 123.267 ;;; Reason: ;;; Miscellaneous ZWEI fixes for CommonLISP convenience. ;;; New command, 'Common LISP Mode', sets your readtable etc. ;;; Reason: ;;; Miscellaneous ZWE fixes and new command (Common LISP Mode) ;;; for CommonLISP programming convenience. ;;; Reason: ;;; **Also fix type on DEFMAJOR LISP-MODE mode that, under bizarre/unlikely ;;; circumstances, might have failed to set your *readtable*. ;;; Reason: ;;; Improvements in ZMacs for Common-LISP programmers. ;;; ;;; 1. Reading in a buffer or parsing attribute list with Mode:CommonLISP or ;;; Common-LISP works; puts file in LISP mode. Done by listing the variants ;;; as translations. ;;; 2. New command 'Common LISP Mode'. Slightly different from 'Set Common LISP', ;;; does more. Makes you think you're compatible with other LISP machines. ;;; This includes setting the :syntax attribute to "CL". ;;; ;;; All this because of the <>100 files in CommonLISP syntax I have to make ;;; work. ;;; Written 9-May-88 19:02:14 by keith (Keith Corbett) at site Gigamos Cambridge ;;; while running on Fish food from band 1 ;;; with Experimental System 123.266, Experimental Local-File 73.5, Experimental FILE-Server 22.5, Experimental Unix-Interface 11.0, Experimental KERMIT 34.3, Experimental ZMail 71.2, Experimental Lambda-Diag 15.0, Experimental Tape 22.4, microcode 1756, SDU Boot Tape 3.14, SDU ROM 103, patch/experimental. ; From modified file DJ: L.ZWEI; COMTAB.LISP#354 at 9-May-88 19:02:35 #8R ZWEI#: (COMPILER-LET ((*PACKAGE* (PKG-FIND-PACKAGE "ZWEI"))) (COMPILER::PATCH-SOURCE-FILE "SYS: ZWEI; COMTAB  " (DEFUN INITIALIZE-STANDARD-COMTABS () (SETQ *STANDARD-COMTAB* (SET-COMTAB 'STANDARD-COMTAB '((0 #o200) COM-ORDINARILY-SELF-INSERT #/BS COM-ORDINARILY-SELF-INSERT #/C-F COM-FORWARD #/C-B COM-BACKWARD #/C-N COM-DOWN-REAL-LINE #/C-P COM-UP-REAL-LINE #/C-V COM-NEXT-SCREEN #/M-V COM-PREVIOUS-SCREEN #/C-M-V COM-SCROLL-OTHER-WINDOW #/C-A COM-BEGINNING-OF-LINE #/C-E COM-END-OF-LINE #/M-R COM-MOVE-TO-SCREEN-EDGE #/M-< COM-GOTO-BEGINNING #/M-> COM-GOTO-END #/C-SP COM-SET-POP-MARK #/C-@ COM-SET-POP-MARK #/M-SP COM-PUSH-POP-POINT-EXPLICIT #/C-M-SP COM-MOVE-TO-PREVIOUS-POINT #/CR COM-INSERT-CRS #/C-O COM-MAKE-ROOM #/C-M-O COM-SPLIT-LINE #/M-O COM-THIS-INDENTATION #/M-^ COM-DELETE-INDENTATION #/C-M-^ COM-DELETE-INDENTATION #/C-D COM-DELETE-FORWARD #/RUBOUT COM-RUBOUT #/C-RUBOUT COM-TAB-HACKING-RUBOUT #/C-K COM-KILL-LINE #/CLEAR COM-CLEAR #/BREAK COM-BREAK #/M-W COM-SAVE-REGION #/C-W COM-KILL-REGION #/C-M-W COM-APPEND-NEXT-KILL #/C-Y COM-YANK #/M-Y COM-YANK-POP #/C-L COM-RECENTER-WINDOW #/FF COM-COMPLETE-REDISPLAY #/C-M-! COM-COMPLETE-REDISPLAY #/C-U COM-UNIVERSAL-ARGUMENT #/C-- COM-NEGATE-NUMERIC-ARG #/M-- COM-NEGATE-NUMERIC-ARG #/M-C-- COM-NEGATE-NUMERIC-ARG #/S-- COM-NEGATE-NUMERIC-ARG #/S-C-- COM-NEGATE-NUMERIC-ARG #/S-M-- COM-NEGATE-NUMERIC-ARG #/S-M-C-- COM-NEGATE-NUMERIC-ARG #/H-- COM-NEGATE-NUMERIC-ARG #/C-- COM-NEGATE-NUMERIC-ARG #/H-M-- COM-NEGATE-NUMERIC-ARG #/H-M-C-- COM-NEGATE-NUMERIC-ARG #/H-S-- COM-NEGATE-NUMERIC-ARG #/H-S-C-- COM-NEGATE-NUMERIC-ARG #/H-S-M-- COM-NEGATE-NUMERIC-ARG #/H-S-M-C-- COM-NEGATE-NUMERIC-ARG (#/C-0 10.) COM-NUMBERS (#/M-0 10.) COM-NUMBERS (#/C-M-0 10.) COM-NUMBERS (#/S-0 10.) COM-NUMBERS (#/S-C-0 10.) COM-NUMBERS (#/S-M-0 10.) COM-NUMBERS (#/S-M-C-0 10.) COM-NUMBERS (#/H-0 10.) COM-NUMBERS (#/H-C-0 10.) COM-NUMBERS (#/H-M-0 10.) COM-NUMBERS (#/H-M-C-0 10.) COM-NUMBERS (#/H-S-0 10.) COM-NUMBERS (#/H-S-C-0 10.) COM-NUMBERS (#/H-S-M-0 10.) COM-NUMBERS (#/H-S-M-C-0 10.) COM-NUMBERS #/C-T COM-EXCHANGE-CHARACTERS #/M-T COM-EXCHANGE-WORDS #/C-M-T COM-EXCHANGE-SEXPS #/M-F COM-FORWARD-WORD #/M-B COM-BACKWARD-WORD #/M-K COM-KILL-SENTENCE #/M-D COM-KILL-WORD #/M-RUBOUT COM-BACKWARD-KILL-WORD #/M-@ COM-MARK-WORD #/C-M-F COM-FORWARD-SEXP #/C-M-N COM-FORWARD-LIST #/C-M-B COM-BACKWARD-SEXP #/C-M-P COM-BACKWARD-LIST #/C-M-K COM-KILL-SEXP #/C-M-RUBOUT COM-BACKWARD-KILL-SEXP #/C-M-@ COM-MARK-SEXP #/C-M-/) COM-FORWARD-UP-LIST #/C-M-/( COM-BACKWARD-UP-LIST #/C-M-U COM-BACKWARD-UP-LIST #/C-M-[ COM-BEGINNING-OF-DEFUN #/C-M-] COM-END-OF-DEFUN #/C-M-A COM-BEGINNING-OF-DEFUN #/C-M-E COM-END-OF-DEFUN #/C-M-D COM-DOWN-LIST #/C-/( COM-FIND-UNBALANCED-PARENTHESES #/C-/) COM-SHOW-LIST-START #/M-/( COM-MAKE-/(/) #/M-/) COM-MOVE-OVER-/) #/C-M-Shift-K COM-DELETE-/(/) #/C-M-Shift-F COM-GROW-LIST-FORWARD #/C-M-Shift-B COM-GROW-LIST-BACKWARD #/M-] COM-FORWARD-PARAGRAPH #/M-[ COM-BACKWARD-PARAGRAPH #/M-H COM-MARK-PARAGRAPH #/M-E COM-FORWARD-SENTENCE #/M-A COM-BACKWARD-SENTENCE #/C-G COM-BEEP #/TAB COM-INSERT-TAB #/C-M-TAB COM-INDENT-FOR-LISP #/C-TAB COM-INDENT-DIFFERENTLY #/LF COM-INDENT-NEW-LINE #/C-M-Q COM-INDENT-SEXP #/C-/; COM-INDENT-FOR-COMMENT #/M-/; COM-INDENT-FOR-COMMENT #/C-M-/; COM-KILL-COMMENT #/M-N COM-DOWN-COMMENT-LINE #/M-P COM-UP-COMMENT-LINE #/c-sh-M com-macro-expand-expression #/m-sh-M com-macro-expand-expression-all #/M-Q COM-FILL-PARAGRAPH #/M-G COM-FILL-REGION #/C-/\ COM-JUST-ONE-SPACE #/M-/\ COM-DELETE-HORIZONTAL-SPACE #/M-CR COM-BACK-TO-INDENTATION #/M-M COM-BACK-TO-INDENTATION #/C-M-CR COM-BACK-TO-INDENTATION #/C-M-M COM-BACK-TO-INDENTATION #/M-U COM-UPPERCASE-WORD #/M-L COM-LOWERCASE-WORD #/M-C COM-UPPERCASE-INITIAL #/C-M-/\ COM-INDENT-REGION #/M-FF COM-INSERT-FF #/M-TAB COM-INSERT-TAB #/M-S COM-CENTER-LINE #/M-= COM-COUNT-LINES-REGION #/C-= COM-FAST-WHERE-AM-I #/C-S COM-INCREMENTAL-SEARCH #/C-R COM-REVERSE-INCREMENTAL-SEARCH #/M- COM-EVALUATE-MINI-BUFFER #/C- COM-COMPILE-REGION #/C-SH-C COM-COMPILE-REGION #/C-SH-E COM-EVALUATE-REGION #/M-SH-E COM-EVALUATE-REGION-VERBOSE #/C-M-SH-E COM-EVALUATE-REGION-HACK ; #/C-? COM-SELF-DOCUMENT #/M-? COM-SELF-DOCUMENT #/C-M-? COM-DOCUMENTATION #/HELP COM-DOCUMENTATION #/C-HELP COM-DOCUMENTATION #/C-Q COM-QUOTED-INSERT #/M-X COM-EXTENDED-COMMAND #/C-M-X COM-ANY-EXTENDED-COMMAND #/c-sh-x com-various-quantities #/C-< COM-MARK-BEGINNING #/C-> COM-MARK-END #/M-LF COM-INDENT-NEW-COMMENT-LINE #/C-% COM-REPLACE-STRING #/M-% COM-QUERY-REPLACE #/C-M-H COM-MARK-DEFUN #/C-M-R COM-REPOSITION-WINDOW #/M-/' COM-UPCASE-DIGIT #/C-SH-S COM-LISP-MATCH-SEARCH #/C-Z COM-QUIT ; #/END COM-QUIT #/ABORT COM-ABORT-AT-TOP-LEVEL #/C-M-& COM-FROB-LISP-CONDITIONAL #/C-M-$ COM-FROB-DO #/C-SH-A COM-QUICK-ARGLIST #/C-SH-D COM-QUICK-DOCUMENTATION #/M-SH-D COM-LONG-DOCUMENTATION #/C-SH-V COM-DESCRIBE-VARIABLE-AT-POINT #/C-J COM-CHANGE-FONT-CHAR #/M-J COM-CHANGE-FONT-WORD #/C-M-J COM-CHANGE-DEFAULT-FONT #/C-SH-J COM-CHANGE-FONT-REGION #/M-SH-J COM-CHANGE-ONE-FONT-REGION #/M-/# COM-TEXT-JUSTIFIER-CHANGE-FONT-WORD #/M-_ COM-TEXT-JUSTIFIER-UNDERLINE-WORD #/M-$ COM-CORRECT-WORD-SPELLING #/C-M-/# COM-GOTO-CHARACTER #/M-SH-P COM-QUICK-PRINT-BUFFER #/C-SH-U COM-QUICK-UNDO #/C-SH-R COM-QUICK-REDO #/MOUSE-1-1 COM-MOUSE-MARK-REGION #/MOUSE-1-2 COM-MOUSE-MOVE-REGION #/MOUSE-2-1 COM-MOUSE-MARK-THING #/MOUSE-2-2 COM-MOUSE-KILL-YANK ) (MAKE-COMMAND-ALIST '(;; COM*: COM-INSTALL-COMMAND COM-SET-KEY COM-ARGLIST COM-COUNT-LINES COM-COUNT-WORDS COM-COUNT-CHARACTERS COM-QUERY-REPLACE COM-REPLACE-STRING COM-HOW-MANY COM-COUNT-OCCURRENCES COM-OCCUR COM-LIST-MATCHING-LINES COM-KEEP-LINES COM-DELETE-NON-MATCHING-LINES COM-FLUSH-LINES COM-DELETE-MATCHING-LINES COM-COMPILE-REGION COM-COMPILE-BUFFER COM-EVALUATE-REGION COM-EVALUATE-BUFFER COM-VIEW-REGISTER COM-LIST-REGISTERS COM-KILL-REGISTER COM-GET-REGISTER COM-PUT-REGISTER COM-LIST-VARIABLES COM-VARIABLE-APROPOS COM-DESCRIBE-VARIABLE COM-SET-VARIABLE COM-GRIND-DEFINITION COM-GRIND-EXPRESSION COM-EVALUATE-INTO-BUFFER com-evaluate-and-print-into-buffer COM-TRACE COM-UNTRACE COM-VIEW-MAIL COM-ATOM-QUERY-REPLACE COM-FORMAT-CODE COM-MULTIPLE-QUERY-REPLACE COM-MULTIPLE-QUERY-REPLACE-FROM-BUFFER COM-QUERY-EXCHANGE COM-QUERY-REPLACE-LAST-KILL COM-QUERY-REPLACE-LET-BINDING COM-FIND-UNBALANCED-PARENTHESES COM-MACRO-EXPAND-EXPRESSION COM-MACRO-EXPAND-EXPRESSION-ALL COM-UNDO COM-REDO COM-DISCARD-UNDO-INFORMATION COM-FILL-LONG-COMMENT COM-KILL-COMMENTS-IN-REGION COM-INDENT-UNDER COM-INDENT-NESTED COM-INDENT-RELATIVE COM-SORT-LINES COM-SORT-PARAGRAPHS COM-SORT-VIA-KEYBOARD-MACROS COM-EXECUTE-COMMAND-INTO-BUFFER COM-INSERT-DATE COM-DISASSEMBLE COM-UPPERCASE-LISP-CODE-IN-REGION COM-LOWERCASE-LISP-CODE-IN-REGION COM-REVERSE-LINES COM-REVERSE-FOLLOWING-LIST COM-STACK-LIST-VERTICALLY COM-PRINT-BUFFER COM-PRINT-REGION COM-PRINT-ALL-BUFFERS COM-DISSOCIATED-PRESS COM-MAKE-LOCAL-VARIABLE COM-KILL-LOCAL-VARIABLE COM-LIST-LOCAL-VARIABLES com-correct-spelling ;; DOC: COM-LIST-COMMANDS COM-APROPOS COM-WHERE-IS COM-DESCRIBE-COMMAND COM-GENERATE-WALLCHART com-long-documentation ;; FILES: COM-INSERT-FILE com-write-region-to-file COM-APPEND-TO-FILE COM-PREPEND-TO-FILE COM-VIEW-FILE COM-LIST-FILES COM-PRINT-FILE COM-RENAME-FILE COM-DELETE-FILE COM-UNDELETE-FILE COM-COPY-FILE COM-COPY-TEXT-FILE COM-COPY-BINARY-FILE COM-LOAD-FILE com-create-one-buffer-to-go ;; DIRS: COM-LIST-ALL-DIRECTORY-NAMES COM-VIEW-DIRECTORY COM-EXPUNGE-DIRECTORY COM-VIEW-LOGIN-DIRECTORY ;; MODES: COM-LISP-MODE com-common-lisp-mode COM-TEXT-MODE COM-FUNDAMENTAL-MODE COM-PL1-MODE COM-BOLIO-MODE COM-TEX-MODE COM-TECO-MODE COM-MACSYMA-MODE COM-ELECTRIC-PL1-MODE COM-ATOM-WORD-MODE COM-EMACS-MODE COM-OVERWRITE-MODE COM-ANY-BRACKET-MODE COM-AUTO-FILL-MODE COM-WORD-ABBREV-MODE COM-INSERT-WORD-ABBREVS COM-KILL-ALL-WORD-ABBREVS COM-LIST-WORD-ABBREVS COM-KILL-MODE-WORD-ABBREV COM-KILL-GLOBAL-WORD-ABBREV COM-DEFINE-WORD-ABBREVS COM-EDIT-WORD-ABBREVS COM-LIST-SOME-WORD-ABBREVS COM-WRITE-WORD-ABBREV-FILE COM-READ-WORD-ABBREV-FILE COM-MAKE-WORD-ABBREV COM-EDIT-TAB-STOPS COM-MIDAS-MODE COM-RETURN-INDENTS-MODE COM-ELECTRIC-SHIFT-LOCK-MODE COM-ELECTRIC-FONT-LOCK-MODE ;; FONT, KBDMAC, DIRED COM-SET-FONTS COM-INSTALL-MACRO COM-INSTALL-MOUSE-MACRO COM-VIEW-KEYBOARD-MACRO COM-NAME-LAST-KEYBOARD-MACRO )))) (SETQ *STANDARD-CONTROL-X-COMTAB* (SET-COMTAB 'STANDARD-CONTROL-X-COMTAB '(#/C-G COM-PREFIX-BEEP #/C-D COM-DISPLAY-DIRECTORY #/C-N COM-SET-GOAL-COLUMN #/C-P COM-MARK-PAGE #/C-X COM-SWAP-POINT-AND-MARK #/G COM-GET-REGISTER #/X COM-PUT-REGISTER #/S COM-SAVE-POSITION-IN-REGISTER #/J COM-JUMP-TO-REGISTER-POSITION #/L COM-COUNT-LINES-PAGE #/RUBOUT COM-BACKWARD-KILL-SENTENCE #/C-/; COM-COMMENT-OUT-REGION #/; COM-SET-COMMENT-COLUMN #/. COM-SET-FILL-PREFIX #/F COM-SET-FILL-COLUMN #/C-U COM-UPPERCASE-REGION #/C-L COM-LOWERCASE-REGION #/C-O COM-DELETE-BLANK-LINES #/C-I COM-INDENT-RIGIDLY #/= COM-WHERE-AM-I #/[ COM-PREVIOUS-PAGE #/] COM-NEXT-PAGE #/H COM-MARK-WHOLE #/C-C COM-QUIT #/C-J COM-CHANGE-FONT-REGION #/( COM-START-KEYBOARD-MACRO #/) COM-END-KEYBOARD-MACRO #/E COM-CALL-LAST-KEYBOARD-MACRO #/Q COM-KEYBOARD-MACRO-QUERY #/ COM-REPEAT-MINI-BUFFER-COMMAND #/C-T COM-EXCHANGE-LINES #/T COM-EXCHANGE-REGIONS #/# COM-TEXT-JUSTIFIER-CHANGE-FONT-REGION #/_ COM-TEXT-JUSTIFIER-UNDERLINE-REGION #/C-M-SP COM-MOVE-TO-DEFAULT-PREVIOUS-POINT #/HELP COM-DOCUMENT-CONTAINING-PREFIX-COMMAND #/ABORT COM-PREFIX-ABORT ))) (SET-COMTAB-CONTROL-INDIRECTION *STANDARD-CONTROL-X-COMTAB*) (SET-COMTAB *STANDARD-COMTAB* (LIST #/C-X (MAKE-EXTENDED-COMMAND *STANDARD-CONTROL-X-COMTAB*))) (SETQ *COMPLETING-READER-COMTAB* (SET-COMTAB 'COMPLETING-READER-COMTAB '(#/ COM-COMPLETE #/SP COM-SELF-INSERT-AND-COMPLETE #/. COM-SELF-INSERT-AND-COMPLETE #/C-? COM-LIST-COMPLETIONS #/C-Q COM-QUOTED-INSERT #/HELP COM-DOCUMENT-COMPLETING-READ #/C-// COM-COMPLETION-APROPOS #/CR COM-COMPLETE-AND-EXIT #/C-G COM-MINI-BUFFER-BEEP #/ABORT COM-RECURSIVE-EDIT-ABORT #/C-CR COM-COMPLETE-AND-EXIT #/END COM-COMPLETE-AND-EXIT-IF-UNIQUE #/MOUSE-1-1 COM-MOUSE-END-OF-MINI-BUFFER #/MOUSE-3-1 COM-MOUSE-LIST-COMPLETIONS #/C-SH-Y COM-YANK-DEFAULT-STRING #/C-M-Y COM-YANK-PREVIOUS-INPUT #/M-SH-Y COM-POP-MINI-BUFFER-HISTORY #/C-SH-F COM-SPECIFY-FILE-BUFFER #/C-Z :UNDEFINED #/M-Z :UNDEFINED #/C-M-Z :UNDEFINED))) (SET-COMTAB-INDIRECTION *COMPLETING-READER-COMTAB* *STANDARD-COMTAB*) (SETQ *CONTROL-R-COMTAB* (SET-COMTAB 'CONTROL-R-COMTAB '(#/C- COM-EXIT-CONTROL-R #/END COM-EXIT-CONTROL-R #/ABORT COM-EXIT-CONTROL-R))) (SET-COMTAB-INDIRECTION *CONTROL-R-COMTAB* *STANDARD-COMTAB*) (SETQ *RECURSIVE-EDIT-COMTAB* (SET-COMTAB 'RECURSIVE-EDIT-COMTAB '(#/C- COM-EXIT-CONTROL-R #/END COM-EXIT-CONTROL-R #/C-G COM-RECURSIVE-EDIT-BEEP #/ABORT COM-RECURSIVE-EDIT-ABORT))) (SET-COMTAB-INDIRECTION *RECURSIVE-EDIT-COMTAB* *STANDARD-COMTAB*) (SETQ *STANDALONE-COMTAB* (SET-COMTAB 'STANDALONE-COMTAB '(#/END COM-QUIT #/ABORT COM-STANDALONE-ABORT #/C- COM-QUIT))) (SET-COMTAB-INDIRECTION *STANDALONE-COMTAB* *STANDARD-COMTAB*) ) )) ; From modified file DJ: L.ZWEI; MODES.LISP#160 at 9-May-88 19:02:40 #8R ZWEI#: (COMPILER-LET ((*PACKAGE* (PKG-FIND-PACKAGE "ZWEI"))) (COMPILER::PATCH-SOURCE-FILE "SYS: ZWEI; MODES  " (DEFCONST *MAJOR-MODE-TRANSLATIONS* '((:SCRIBE . :TEXT) ;;Added 5/88, compatible with other LMs- KmC (:COMMONLISP . :LISP) (:COMMON-LISP . :LISP)) "Alist of mode name translations. The element (:SCRIBE . :TEXT) in this list /"translates/" SCRIBE mode to TEXT mode. It makes an attempt to turn on SCRIBE mode turn on TEXT mode instead.") )) ; From modified file DJ: L.ZWEI; MODES.LISP#160 at 9-May-88 19:04:17 #8R ZWEI#: (COMPILER-LET ((*PACKAGE* (PKG-FIND-PACKAGE "ZWEI"))) (COMPILER::PATCH-SOURCE-FILE "SYS: ZWEI; MODES  " (defcom com-common-lisp-mode "Set things up for editing CommonLISP code. Sets LISP mode and CL readtable. Also (re)computes base and package from the buffer attributes. Note: not a true mode. Updating the attribute list again will set the mode line to LISP mode, which is compatible." () (com-lisp-mode) (setq *readtable* (or si:common-lisp-readtable (si:find-readtable-named "CL"))) (SEND *INTERVAL* :SET-ATTRIBUTE :READTABLE (DONT-OPTIMIZE (SI:RDTBL-SHORT-NAME *READTABLE*)) :QUERY) ;;For Brand S compatibility, do: (send *interval* :set-attribute :syntax "CL") ;;Reparse other attributes (compute-buffer-package *interval*) dis-none) )) ;Added to make standard extended commands by KmC 5-9-88 zwei:(set-comtab *standard-comtab* nil (make-command-alist '( com-common-lisp-mode))) ; From modified file DJ: L.ZWEI; MODES.LISP#160 at 9-May-88 19:20:58 #8R ZWEI#: (COMPILER-LET ((*PACKAGE* (PKG-FIND-PACKAGE "ZWEI"))) (COMPILER::PATCH-SOURCE-FILE "SYS: ZWEI; MODES  " (DEFMAJOR COM-LISP-MODE LISP-MODE "LISP" "Sets things up for editing Lisp code. Puts Indent-For-Lisp on Tab." () (SETQ *SPACE-INDENT-FLAG* T) (SETQ *PARAGRAPH-DELIMITER-LIST* NIL) (SETQ *COMMENT-START* 'LISP-FIND-COMMENT-START-AND-END) (SET-COMTAB *MODE-COMTAB* '(#/TAB COM-INDENT-FOR-LISP #/RUBOUT COM-TAB-HACKING-RUBOUT #/C-RUBOUT COM-RUBOUT #/M-Z COM-COMPILE-AND-EXIT #/C-M-Z COM-EVALUATE-AND-EXIT)) (SETQ *READTABLE* (OR (SI:FIND-READTABLE-NAMED (SEND *INTERVAL* :GET-ATTRIBUTE :READTABLE) :FIND) *READTABLE* si:standard-readtable)) (SET-CHAR-SYNTAX (IF (= (SI:PTTBL-SLASH *READTABLE*) #//) LIST-SLASH LIST-ALPHABETIC) *MODE-LIST-SYNTAX-TABLE* #//) (SET-CHAR-SYNTAX (IF (= (SI:PTTBL-SLASH *READTABLE*) #/\) LIST-SLASH LIST-ALPHABETIC) *MODE-LIST-SYNTAX-TABLE* #/\)) ))