;;; -*- 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* #/\))

))
