Google
 

Trailing-Edge - PDP-10 Archives - clisp - clisp/upsala/emacs.lap
There are no other files named emacs.lap in the archive.
;;; CLC vP.U.V.1(2) compiling CARMEN::SS:<CLISP.UPSALA>EMACS.CLISP.6

(PROVIDE "EMACS") 
(IN-PACKAGE "EMACS" :NICKNAMES (QUOTE ("TECO"))) 
(EXPORT (QUOTE (ED EDIT EMACS START-EMACS KILL-EMACS GET-DEFINITION))) 
(OR (FBOUNDP (FIND-SYMBOL "EDITOR-MODIFIED-P" *LISP-PACKAGE*)) (LOAD "clisp:modified-p.lap")) 
(USE-PACKAGE "LISP") 
(IMPORT (QUOTE (EDITOR-KILL-FORK EDITOR-CREATE-FORK EDITOR-BUFFER-SIZE EDITOR-CALL-FORK EDITOR-GET-FORK EDITOR-SET-MODIFIED EDITOR-WRITE-CHANNEL EDITOR-RUN-FORK EDITOR-CLIP-BUFFER EDITOR-SET-JCL EDITOR-CLEAR-BUFFER EDITOR-READ-CHANNEL EDITOR-MODIFIED-P PRETTY-LAMBDA-TO-DEFUN))) 
(MAKE-FEATURE :EMACS) 
(DEFCONSTANT ESC (STRING #\ESCAPE) "The Escape character") 
(DEFVAR *EMACS-STARTED* NIL "Flag that Emacs started our way") 
(%PUT (QUOTE STRING-CONC) (QUOTE LISP::%FUN-DOCUMENTATION) (QUOTE "Concatenate args to one string")) 

#_(LAP #0_STRING-CONC EXPR
       (ENTRY-POINTS (2 3 4 5 6 7 8) REST)
       #0_(CONCATENATE STRING)
       (CODE-START)
(LABEL 2)    (MOVE O1 NIL)
             (JRST 1)
(LABEL 3)    (MOVEI W2 1)
             (ICALL REST1)
             (JRST 1)
(LABEL 4)    (MOVEI W2 2)
             (ICALL REST2)
             (JRST 1)
(LABEL 5)    (MOVEI W2 3)
             (ICALL REST3)
             (JRST 1)
(LABEL 6)    (MOVEI W2 4)
             (ICALL REST4)
             (JRST 1)
(LABEL 7)    (MOVEI W2 5)
             (ICALL REST5)
             (JRST 1)
(LABEL 8)    (MOVEI W2 0)
             (ICALL RESTX)
(LABEL 1)    (ADDI Q 1)
             (MOVEM O1 0 Q)
             (MOVE O2 O1)
             (MOVE O1 (CONSTANT 1))
             (CALL MAPCAR 2)
             (MOVE O2 O1)
             (MOVE O1 (CONSTANT 1))
             (CALL CONS 2)
             (MOVE O2 O1)
             (MOVE O1 (CONSTANT 0))
             (CALL APPLY 2)
             (SUBI Q 1)
             (POPJ P)
)

(%PUT (QUOTE STRING-CONC) (QUOTE LISP::%ARGS-DOCUMENTATION) (QUOTE (&REST ARGS))) 
(%PUT (QUOTE STRING-CONC) (QUOTE LISP::%SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>EMACS.CLISP.6") (GET (QUOTE STRING-CONC) (QUOTE LISP::%SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE INIT-EMACS-TOP-LEVEL) (QUOTE LISP::%FUN-DOCUMENTATION) (QUOTE "Initiate emacs top level")) 

#_(LAP #0_INIT-EMACS-TOP-LEVEL EXPR
       (ENTRY-POINTS (1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_(*EMACS-STARTED* "CLISP " ESC "m(m.m CLISP mode" ")" "0fsEXIT" 2 T)
       (CODE-START)
(LABEL 1)    (ADDI Q 5)
             (SKIPN NIL (SPECIAL 0))
             (JRST 4)
             (MOVE O1 NIL)
             (CALL LISP::EDITOR-SET-MODIFIED 1)
             (JRST 3)
(LABEL 4)    (SKIPA)
             (JRST 5)
             (CALL LISP::EDITOR-KILL-FORK 0)
             (CALL LISP::EDITOR-GET-FORK 0)
             (MOVEM O1 (SPECIAL 0))
             (MOVE O5 (CONSTANT 1))
             (MOVEM O5 -4 Q)
             (MOVE O5 (SPECIAL 2))
             (MOVEM O5 -3 Q)
             (MOVE O5 (CONSTANT 3))
             (MOVEM O5 -2 Q)
             (MOVE O5 (SPECIAL 2))
             (MOVEM O5 -1 Q)
             (MOVE O5 (CONSTANT 4))
             (MOVEM O5 0 Q)
             (PUSH Q (SPECIAL 2))
             (PUSH Q (CONSTANT 5))
             (PUSH Q (SPECIAL 2))
             (PUSH Q (SPECIAL 2))
             (MOVE O1 -8 Q)
             (MOVE O2 -7 Q)
             (MOVE O3 -6 Q)
             (MOVE O4 -5 Q)
             (MOVE O5 -4 Q)
             (CALL EMACS::STRING-CONC 9)
             (CALL LISP::EDITOR-SET-JCL 1)
             (MOVE O1 (CONSTANT 6))
             (CALL LISP::EDITOR-RUN-FORK 1)
             (MOVE O1 NIL)
             (CALL LISP::EDITOR-SET-MODIFIED 1)
(LABEL 5)
(LABEL 3)    (MOVE O1 (CONSTANT 7))
             (MOVEI N 1)
             (SUBI Q 5)
             (POPJ P)
)

(%PUT (QUOTE INIT-EMACS-TOP-LEVEL) (QUOTE LISP::%ARGS-DOCUMENTATION) (QUOTE NIL)) 
(%PUT (QUOTE INIT-EMACS-TOP-LEVEL) (QUOTE LISP::%SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>EMACS.CLISP.6") (GET (QUOTE INIT-EMACS-TOP-LEVEL) (QUOTE LISP::%SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE START-EMACS) (QUOTE LISP::%FUN-DOCUMENTATION) (QUOTE "Start EMACS.
  Good for re-setting terminal length etc, which is only read at start.
  Good anytime EMACS seems screwed up.")) 

#_(LAP #0_START-EMACS EXPR
       (ENTRY-POINTS (1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_(T)
       (CODE-START)
(LABEL 1)    (MOVE O1 (CONSTANT 0))
             (CALL EMACS:EMACS 1)
             (POPJ P)
)

(%PUT (QUOTE START-EMACS) (QUOTE LISP::%ARGS-DOCUMENTATION) (QUOTE NIL)) 
(%PUT (QUOTE START-EMACS) (QUOTE LISP::%SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>EMACS.CLISP.6") (GET (QUOTE START-EMACS) (QUOTE LISP::%SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE EMACS) (QUOTE LISP::%FUN-DOCUMENTATION) (QUOTE "Read-Eval-Print top level for Emacs.
  The optional Start-It argument should be non-nil to start Emacs
  instead of just continuing it.")) 

#_(LAP #0_EMACS EXPR
       (ENTRY-POINTS (1 2 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_(*TERMINAL-IO* USER::EXIT-EMACS :TRANSLATE 0 *STANDARD-OUTPUT* SET-TERMINAL-MODES)
       (CODE-START)
(LABEL 1)    (MOVE O1 NIL)
(LABEL 2)    (ADDI Q 8)
             (MOVEM O1 -7 Q)
             (MOVE O1 (SPECIAL 0))
             (CALL GET-TERMINAL-MODES 1)
             (MOVEM O1 -6 Q)
             (ICALL CUNWIND)
             (JRST 4)
             (JRST 5)
             (MOVE O1 (CONSTANT 1))
             (ICALL CCATCH)
             (JRST 6)
             (MOVE O5 (SPECIAL 0))
             (MOVEM O5 -5 Q)
             (MOVE O3 NIL)
             (MOVE O1 O5)
             (MOVE O2 (CONSTANT 2))
             (CALL SET-TERMINAL-MODES 3)
             (CALL EMACS::INIT-EMACS-TOP-LEVEL 0)
(LABEL 11)   (CALL LISP::EDITOR-MODIFIED-P 0)
             (JUMPE O1 13)
             (CALL LISP::EDITOR-READ-CHANNEL 0)
             (MOVEM O1 -3 Q)
             (MOVE O2 NIL)
             (CALL READ 2)
             (MOVEM O1 -4 Q)
             (CALL LISP::EDITOR-WRITE-CHANNEL 0)
             (MOVEM O1 -3 Q)
             (MOVE O1 (CONSTANT 3))
             (CALL LISP::EDITOR-BUFFER-SIZE 1)
             (MOVE O5 -3 Q)
             (MOVEM O5 -2 Q)
             (MOVE O1 O5)
             (SPEC-BIND (SPECIAL 4))
             (MOVEM O1 (SPECIAL 4))
             (MOVE O1 -4 Q)
             (CALL EVAL 1)
             (ICALL VALUES-TO-LIST)
             (MOVEM O1 -1 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 0 Q)
(LABEL 18)   (MOVE O1 -1 Q)
             (CALL ATOM 1)
             (JUMPE O1 19)
             (JRST 14)
(LABEL 19)   (MOVE O1 0 Q)
             (CALL PRIN1 1)
             (CALL TERPRI 0)
             (MOVE O1 -1 Q)
             (MOVE O1 1 O1)
             (MOVEM O1 -1 Q)
             (MOVE O1 0 O1)
             (MOVEM O1 0 Q)
             (JRST 18)
(LABEL 14)   (UNBIND 1)
             (MOVE O1 -3 Q)
             (CALL LISP::EDITOR-CLIP-BUFFER 1)
             (MOVE O1 NIL)
             (CALL LISP::EDITOR-SET-MODIFIED 1)
(LABEL 13)   (SKIPN NIL -7 Q)
             (JRST 22)
             (MOVE O1 NIL)
             (MOVEM O1 -7 Q)
             (MOVE O1 (CONSTANT 3))
             (JRST 23)
(LABEL 22)   (MOVE O1 NIL)
(LABEL 23)   (CALL LISP::EDITOR-RUN-FORK 1)
             (JRST 11)
             (POPJ P)
(LABEL 6)    (POPJ P)
(LABEL 4)    (MOVE O5 (SPECIAL 0))
             (MOVEM O5 -4 Q)
             (MOVE O3 -6 Q)
             (MOVE O1 (CONSTANT 5))
             (MOVE O2 O5)
             (CALL APPLY 3)
             (POPJ P)
(LABEL 5)    (MOVE O1 NIL)
             (CALL LISP::EDITOR-SET-MODIFIED 1)
             (SUBI Q 8)
             (POPJ P)
)

(%PUT (QUOTE EMACS) (QUOTE LISP::%ARGS-DOCUMENTATION) (QUOTE (&OPTIONAL START-IT))) 
(%PUT (QUOTE EMACS) (QUOTE LISP::%SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>EMACS.CLISP.6") (GET (QUOTE EMACS) (QUOTE LISP::%SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE ED) (QUOTE LISP::%FUN-DOCUMENTATION) (QUOTE "Edits something.  With no argument or NIL, just continues EMACS.
  With a symbol name, it edits the incore definition.
  With a pathname or string, it edits a file.")) 

#_(LAP #0_ED EXPR
       (ENTRY-POINTS (1 2 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_("NYI - This feature is Not Yet Implemented~%~
       Meanwhile, use M-X Edit Definition$ in EMACS instead" "No definition for ~S to edit." :EDIT-FUNCTION :EDIT-FILE)
       (CODE-START)
(LABEL 1)    (MOVE O1 NIL)
(LABEL 2)    (ADDI Q 1)
             (MOVEM O1 0 Q)
             (SKIPN NIL 0 Q)
             (JRST 4)
             (MOVE O1 0 Q)
             (CALL SYMBOLP 1)
             (JUMPE O1 6)
             (MOVE O1 (CONSTANT 0))
             (CALL ERROR 1)
             (MOVE O1 0 Q)
             (CALL EMACS:GET-DEFINITION 1)
             (JUMPN O1 7)
             (MOVE O2 0 Q)
             (MOVE O1 (CONSTANT 1))
             (CALL ERROR 2)
(LABEL 7)    (MOVE O2 0 Q)
             (MOVE O1 (CONSTANT 2))
             (CALL EMACS::TELL-EMACS 2)
             (JRST 4)
(LABEL 6)    (SKIPA)
             (JRST 9)
             (MOVE O1 0 Q)
             (CALL NAMESTRING 1)
             (MOVE O2 O1)
             (MOVE O1 (CONSTANT 3))
             (CALL EMACS::TELL-EMACS 2)
(LABEL 9)
(LABEL 4)    (CALL EMACS:EMACS 0)
             (SUBI Q 1)
             (POPJ P)
)

(%PUT (QUOTE ED) (QUOTE LISP::%ARGS-DOCUMENTATION) (QUOTE (&OPTIONAL THING))) 
(%PUT (QUOTE ED) (QUOTE LISP::%SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>EMACS.CLISP.6") (GET (QUOTE ED) (QUOTE LISP::%SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE EDIT) (QUOTE LISP::%FUN-DOCUMENTATION) (QUOTE "Edits something.  Just like ED except that is does not evaluate its
  argument.")) 

#_(LAP #0_EDIT MACRO
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_(2 "Macro ~S cannot be called with ~S args." EDIT ED QUOTE)
       (CODE-START)
(LABEL 1)    (ADDI Q 3)
             (MOVEM O1 -2 Q)
             (CALL LENGTH 1)
             (MOVEM O1 -1 Q)
             (MOVE O2 (CONSTANT 0))
             (CALL > 2)
             (JUMPE O1 4)
             (MOVE O1 -2 Q)
             (CALL LENGTH 1)
             (CALL 1- 1)
             (MOVE O3 O1)
             (MOVE O1 (CONSTANT 1))
             (MOVE O2 (CONSTANT 2))
             (CALL ERROR 3)
             (JRST 3)
(LABEL 4)    (SKIPA)
             (JRST 5)
             (MOVE O1 -2 Q)
             (SKIPN NIL 1 O1)
             (JRST 7)
             (MOVE O1 -2 Q)
             (MOVE O1 1 O1)
             (MOVE O5 0 O1)
             (MOVEM O5 0 Q)
             (JRST 6)
(LABEL 7)    (SKIPA)
             (JRST 8)
             (MOVEM NIL 0 Q)
(LABEL 8)
(LABEL 6)    (MOVE O2 0 Q)
             (MOVE O1 (CONSTANT 4))
             (CALL LIST 2)
             (MOVE O2 O1)
             (MOVE O1 (CONSTANT 3))
             (CALL LIST 2)
(LABEL 5)
(LABEL 3)    (SUBI Q 3)
             (POPJ P)
)

(%PUT (QUOTE EDIT) (QUOTE LISP::%ARGS-DOCUMENTATION) (QUOTE (&OPTIONAL THING))) 
(%PUT (QUOTE EDIT) (QUOTE LISP::%SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>EMACS.CLISP.6") (GET (QUOTE EDIT) (QUOTE LISP::%SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE TELL-EMACS) (QUOTE LISP::%FUN-DOCUMENTATION) (QUOTE "Tell Emacs to do something through JCL.")) 

#_(LAP #0_TELL-EMACS EXPR
       (ENTRY-POINTS (2 3 4 5 6 7 8) REST)
       #0_(T :EDIT-FILE :EDIT-FUNCTION :TECO-CODE (:TECO-CODE :EDIT-FUNCTION :EDIT-FILE) "CLISP m(m.mFind File" ESC ")" "CLISP m(m.mEdit Definition" "CLISP " "You must tell me what to tell Emacs")
       (CODE-START)
(LABEL 2)    (MOVE O1 NIL)
             (JRST 1)
(LABEL 3)    (MOVEI W2 1)
             (ICALL REST1)
             (JRST 1)
(LABEL 4)    (MOVEI W2 2)
             (ICALL REST2)
             (JRST 1)
(LABEL 5)    (MOVEI W2 3)
             (ICALL REST3)
             (JRST 1)
(LABEL 6)    (MOVEI W2 4)
             (ICALL REST4)
             (JRST 1)
(LABEL 7)    (MOVEI W2 5)
             (ICALL REST5)
             (JRST 1)
(LABEL 8)    (MOVEI W2 0)
             (ICALL RESTX)
(LABEL 1)    (ADDI Q 10)
             (MOVEM O1 -3 Q)
             (MOVE O5 (CONSTANT 0))
             (MOVEM O5 -9 Q)
             (MOVE O2 O1)
(LABEL 10)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 1))
             (JRST 9)
             (JUMPN O2 10)
             (MOVEM NIL -9 Q)
             (MOVE O1 NIL)
(LABEL 9)    (MOVEM O1 -8 Q)
             (MOVE O5 (CONSTANT 0))
             (MOVEM O5 -7 Q)
             (MOVE O2 -3 Q)
(LABEL 12)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 2))
             (JRST 11)
             (JUMPN O2 12)
             (MOVEM NIL -7 Q)
             (MOVE O1 NIL)
(LABEL 11)   (MOVEM O1 -6 Q)
             (MOVE O5 (CONSTANT 0))
             (MOVEM O5 -5 Q)
             (MOVE O2 -3 Q)
(LABEL 14)   (DMOVE O3 0 O2)
             (DMOVE O1 0 O4)
             (CAMN O3 (CONSTANT 3))
             (JRST 13)
             (JUMPN O2 14)
             (MOVEM NIL -5 Q)
             (MOVE O1 NIL)
(LABEL 13)   (MOVEM O1 -4 Q)
             (MOVE O5 -3 Q)
             (MOVEM O5 -2 Q)
             (MOVE O2 (CONSTANT 4))
             (MOVE O1 O5)
             (CALL LISP::KEYWORD-TEST 2)
             (CALL EMACS::INIT-EMACS-TOP-LEVEL 0)
             (SKIPN NIL -9 Q)
             (JRST 17)
             (MOVE O5 (SPECIAL 6))
             (MOVEM O5 0 Q)
             (MOVE O5 (SPECIAL 6))
             (MOVE O1 (CONSTANT 5))
             (MOVE O2 0 Q)
             (MOVE O3 (CONSTANT 7))
             (MOVE O4 -8 Q)
             (CALL EMACS::STRING-CONC 5)
             (MOVEM O1 -1 Q)
             (SKIPN NIL -5 Q)
             (JRST 18)
             (MOVE O5 (SPECIAL 6))
             (MOVEM O5 0 Q)
             (MOVE O3 -4 Q)
             (MOVE O1 -1 Q)
             (MOVE O2 O5)
             (CALL EMACS::STRING-CONC 3)
             (MOVEM O1 -1 Q)
(LABEL 18)   (MOVE O1 -1 Q)
             (CALL LISP::EDITOR-SET-JCL 1)
             (JRST 16)
(LABEL 17)   (SKIPN NIL -7 Q)
             (JRST 20)
             (MOVE O5 (SPECIAL 6))
             (MOVEM O5 0 Q)
             (MOVE O5 (SPECIAL 6))
             (MOVE O1 (CONSTANT 8))
             (MOVE O2 0 Q)
             (MOVE O3 (CONSTANT 7))
             (MOVE O4 -6 Q)
             (CALL EMACS::STRING-CONC 5)
             (MOVEM O1 -1 Q)
             (CALL LISP::EDITOR-SET-JCL 1)
             (JRST 16)
(LABEL 20)   (SKIPN NIL -5 Q)
             (JRST 22)
             (SKIPE NIL -9 Q)
(LABEL 22)   (JRST 21)
             (MOVE O2 -4 Q)
             (MOVE O1 (CONSTANT 9))
             (CALL EMACS::STRING-CONC 2)
             (CALL LISP::EDITOR-SET-JCL 1)
             (JRST 16)
(LABEL 21)   (SKIPA)
             (JRST 24)
             (MOVE O1 (CONSTANT 10))
             (CALL ERROR 1)
(LABEL 24)
(LABEL 16)   (SUBI Q 10)
             (POPJ P)
)

(%PUT (QUOTE TELL-EMACS) (QUOTE LISP::%ARGS-DOCUMENTATION) (QUOTE (&OPTIONAL &KEY (EDIT-FILE NIL ?FILE) (EDIT-FUNCTION NIL ?FUNCTION) (TECO-CODE NIL ?TECO)))) 
(%PUT (QUOTE TELL-EMACS) (QUOTE LISP::%SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>EMACS.CLISP.6") (GET (QUOTE TELL-EMACS) (QUOTE LISP::%SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE KILL-EMACS) (QUOTE LISP::%FUN-DOCUMENTATION) (QUOTE "Kills Emacs, as we know it")) 

#_(LAP #0_KILL-EMACS EXPR
       (ENTRY-POINTS (1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_(*EMACS-STARTED*)
       (CODE-START)
(LABEL 1)    (MOVE O1 NIL)
             (MOVEM O1 (SPECIAL 0))
             (CALL LISP::EDITOR-KILL-FORK 0)
             (POPJ P)
)

(%PUT (QUOTE KILL-EMACS) (QUOTE LISP::%ARGS-DOCUMENTATION) (QUOTE NIL)) 
(%PUT (QUOTE KILL-EMACS) (QUOTE LISP::%SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>EMACS.CLISP.6") (GET (QUOTE KILL-EMACS) (QUOTE LISP::%SOURCE-DOCUMENTATION)))) 
(%PUT (QUOTE GET-DEFINITION) (QUOTE LISP::%FUN-DOCUMENTATION) (QUOTE "Get a definition for sym.  Either a sexpr or a filename is returned.")) 

#_(LAP #0_GET-DEFINITION-INTERNAL-5 AUXILIARY
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_NIL
       (CODE-START)
(LABEL 1)    (ADDI Q 1)
             (MOVEM O1 0 Q)
             (CALL LISTP 1)
             (JUMPE O1 3)
             (MOVE O1 0 Q)
             (MOVE O1 0 O1)
             (MOVEI N 1)
             (JRST 4)
(LABEL 3)    (MOVE O1 0 Q)
             (MOVEI N 1)
(LABEL 4)    (SUBI Q 1)
             (POPJ P)
)


#_(LAP #0_GET-DEFINITION EXPR
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_(GET-DEFINITION-INTERNAL-5 LISP::SOURCE LAMBDA (#\NEWLINE #\SPACE #\TAB) MACRO SETF SYMBOL-FUNCTION QUOTE)
       (CODE-START)
(LABEL 1)    (ADDI Q 8)
             (MOVEM O1 -7 Q)
             (MOVE O1 (CONSTANT 0))
             (MOVEM O1 -6 Q)
             (MOVE O1 -7 Q)
             (CALL FBOUNDP 1)
             (JUMPN O1 3)
             (MOVE O1 NIL)
             (MOVEI N 1)
             (JRST 4)
(LABEL 3)    (MOVE O1 -7 Q)
             (CALL COMPILEDP 1)
             (JUMPN1 O1 7)
             (MOVE O1 -7 Q)
             (CALL SPECIAL-FORM-P 1)
             (SKIPN NIL O1)
(LABEL 7)    (JRST 6)
             (MOVE O5 -6 Q)
             (MOVEM O5 -5 Q)
             (MOVE O2 (CONSTANT 1))
             (MOVE O1 -7 Q)
             (CALL DOCUMENTATION 2)
             (MOVE O6 -5 Q)
             (FCALL 1)
             (JRST 5)
(LABEL 6)    (MOVE O5 -6 Q)
             (MOVEM O5 -5 Q)
             (MOVE O2 (CONSTANT 1))
             (MOVE O1 -7 Q)
             (CALL DOCUMENTATION 2)
             (MOVE O6 -5 Q)
             (FCALL 1)
             (JUMPN O1 5)
             (MOVE O1 -7 Q)
             (CALL SYMBOL-FUNCTION 1)
             (MOVEM O1 -4 Q)
             (MOVE O5 0 O1)
             (MOVEM O5 -3 Q)
             (MOVE O2 (CONSTANT 2))
             (CAME O2 -3 Q)
             (JRST 11)
             (CALL MAKE-STRING-OUTPUT-STREAM 0)
             (MOVEM O1 -1 Q)
             (ICALL CUNWIND)
             (JRST 12)
             (JRST 13)
             (MOVE O2 -4 Q)
             (MOVE O1 -7 Q)
             (CALL LISP::PRETTY-LAMBDA-TO-DEFUN 2)
             (MOVEM O1 0 Q)
             (MOVE O2 -1 Q)
             (CALL PPRINT 2)
             (MOVE O1 -1 Q)
             (CALL GET-OUTPUT-STREAM-STRING 1)
             (POPJ P)
(LABEL 12)   (MOVE O1 -1 Q)
             (CALL CLOSE 1)
             (POPJ P)
(LABEL 13)   (MOVE O2 O1)
             (MOVE O1 (CONSTANT 3))
             (CALL STRING-TRIM 2)
             (JRST 10)
(LABEL 11)   (MOVE O2 (CONSTANT 4))
             (CAME O2 -3 Q)
             (JRST 14)
             (CALL MAKE-STRING-OUTPUT-STREAM 0)
             (MOVEM O1 -1 Q)
             (ICALL CUNWIND)
             (JRST 15)
             (JRST 16)
             (MOVE O1 -4 Q)
             (MOVE O2 1 O1)
             (MOVE O1 -7 Q)
             (CALL LISP::PRETTY-LAMBDA-TO-DEFUN 2)
             (MOVE O2 1 O1)
             (MOVE O1 (CONSTANT 4))
             (CALL CONS 2)
             (MOVEM O1 0 Q)
             (MOVE O2 -1 Q)
             (CALL PPRINT 2)
             (MOVE O1 -1 Q)
             (CALL GET-OUTPUT-STREAM-STRING 1)
             (POPJ P)
(LABEL 15)   (MOVE O1 -1 Q)
             (CALL CLOSE 1)
             (POPJ P)
(LABEL 16)   (MOVE O2 O1)
             (MOVE O1 (CONSTANT 3))
             (CALL STRING-TRIM 2)
             (JRST 10)
(LABEL 14)   (SKIPA)
             (JRST 17)
             (MOVE O2 -7 Q)
             (MOVE O1 (CONSTANT 6))
             (CALL LIST 2)
             (MOVEM O1 -2 Q)
             (MOVE O2 -4 Q)
             (MOVE O1 (CONSTANT 7))
             (CALL LIST 2)
             (MOVE O3 O1)
             (MOVE O1 (CONSTANT 5))
             (MOVE O2 -2 Q)
             (CALL LIST 3)
(LABEL 17)
(LABEL 10)
(LABEL 5)
(LABEL 4)    (SUBI Q 8)
             (POPJ P)
)

(%PUT (QUOTE GET-DEFINITION) (QUOTE LISP::%ARGS-DOCUMENTATION) (QUOTE (SYM))) 
(%PUT (QUOTE GET-DEFINITION) (QUOTE LISP::%SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>EMACS.CLISP.6") (GET (QUOTE GET-DEFINITION) (QUOTE LISP::%SOURCE-DOCUMENTATION)))) 

#_(LAP #0_DEF-DOC MACRO
       (ENTRY-POINTS (2-FEW 1 2-MANY 2-MANY 2-MANY 2-MANY 2-MANY))
       #0_(3 "Macro ~S cannot be called with ~S args." DEF-DOC LISP::%SET-DOCUMENTATION (QUOTE FUNCTION))
       (CODE-START)
(LABEL 1)    (ADDI Q 4)
             (MOVEM O1 -3 Q)
             (CALL LENGTH 1)
             (MOVEM O1 -2 Q)
             (MOVE O2 (CONSTANT 0))
             (CALL = 2)
             (JUMPN O1 4)
             (MOVE O1 -3 Q)
             (CALL LENGTH 1)
             (CALL 1- 1)
             (MOVE O3 O1)
             (MOVE O1 (CONSTANT 1))
             (MOVE O2 (CONSTANT 2))
             (CALL ERROR 3)
             (JRST 3)
(LABEL 4)    (SKIPA)
             (JRST 5)
             (MOVE O1 -3 Q)
             (MOVE O1 1 O1)
             (MOVE O5 0 O1)
             (MOVEM O5 -1 Q)
             (MOVE O1 -3 Q)
             (MOVE O1 1 O1)
             (MOVE O1 1 O1)
             (MOVE O5 0 O1)
             (MOVEM O5 0 Q)
             (MOVE O4 O5)
             (MOVE O1 (CONSTANT 3))
             (MOVE O2 -1 Q)
             (MOVE O3 (CONSTANT 4))
             (CALL LIST 4)
(LABEL 5)
(LABEL 3)    (SUBI Q 4)
             (POPJ P)
)

(%PUT (QUOTE DEF-DOC) (QUOTE LISP::%ARGS-DOCUMENTATION) (QUOTE (SYM DESCR))) 
(%PUT (QUOTE DEF-DOC) (QUOTE LISP::%SOURCE-DOCUMENTATION) (CONS (QUOTE "CARMEN::SS:<CLISP.UPSALA>EMACS.CLISP.6") (GET (QUOTE DEF-DOC) (QUOTE LISP::%SOURCE-DOCUMENTATION)))) 
(DEF-DOC (QUOTE EDITOR-CALL-FORK) "Calls the editor fork's Fs Superior with the integer arg given") 
(DEF-DOC (QUOTE EDITOR-SET-JCL) "Sets up JCL for the editor") 
(DEF-DOC (QUOTE EDITOR-RUN-FORK) "Starts the editor. With a small integer arg starts the fork at that entry
  vector offset. If arg is NIL and the fork has been started, continues, else
  starts in entry vector offset 0.") 
(DEF-DOC (QUOTE EDITOR-CLEAR-BUFFER) "Clears the current buffer") 
(DEF-DOC (QUOTE EDITOR-WRITE-CHANNEL) "Returns a channel for writing into the buffer at point.") 
(DEF-DOC (QUOTE EDITOR-READ-CHANNEL) "Returns a channel for reading from the buffer.") 
(DEF-DOC (QUOTE EDITOR-CREATE-FORK) "Make sure the editor has a valid buffer") 
(DEF-DOC (QUOTE EDITOR-CLIP-BUFFER) "Call after done writing - updates point, etc.") 
(DEF-DOC (QUOTE EDITOR-SET-MODIFIED) "Sets the current buffer modified or not (T/NIL)") 
(DEF-DOC (QUOTE EDITOR-KILL-FORK) "Kill the current editor fork if it exists") 
(DEF-DOC (QUOTE EDITOR-BUFFER-SIZE) "Returns the size of the buffer") 
(DEF-DOC (QUOTE EDITOR-GET-FORK) "Make sure we have an editor fork.  Creating it if needed.")