(ASSEMBLE.CLAUSE ( reset←editor←state 0 si ) 31
    (allocate)
    (put.Ai.variable.Yn 2 1)
    (put.Ai.symbol 1 QP%.SCRATCH%.FILE)
    (call 4 gettopval 2 si)
    (body.cut)
    (load.pos.word 1)
    (settopval QP%.EDITOR%.STATE)
    (put.Ai.symbol 3 si)
    (put.Ai.constant 2 1)
    (put.Ai.symbol 1 %$emacs%-temp%-file)
    (call 4 abolish 3 si)
    (put.Ai.symbol 2 si)
    (put.Ai.structure 1 %$emacs%-temp%-file 1)
    (unify.local.Yn 1)
    (depart asserta←module 2 si)
)

(ASSEMBLE.CLAUSE ( reset←editor←state 0 si ) 5
    (load.pos.word 0)
    (settopval QP%.EDITOR%.STATE)
    (proceed)
)

(ASSEMBLE.CLAUSE ( under←emacs 0 si ) 6
    (gettopval QP%.EDITOR%.STATE)
    (store.integer 1)
    (proceed)
)

(ASSEMBLE.CLAUSE ( editor←temporary←file 1 si ) 14
    (put.Ai.value.Xn 4 1)
    (allocate)
    (put.Ai.symbol 3 si)
    (put.Ai.void 2)
    (put.Ai.structure 1 %$emacs%-temp%-file 1)
    (unify.local.Xn 4)
    (call 3 clause←module 3 si)
    (depart.cut)
)

(ASSEMBLE.CLAUSE ( send←emacs 1 si ) 34
    (allocate)
    (get.Ai.variable.Yn 1 2)
    (put.Ai.variable.Yn 1 1)
    (call 5 current←output 1 si)
    (put.Ai.symbol 1 user)
    (call 5 set←output 1 si)
    (put.Ai.constant 1 29)
    (call 5 put←char←to←emacs 1 si)
    (put.Ai.value.Yn 1 2)
    (call 4 send←emacs←list 1 si)
    (put.Ai.constant 1 27)
    (call 4 put←char←to←emacs 1 si)
    (put.Ai.unsafe.Yn 1 1)
    (depart set←output 1 si)
)

(ASSEMBLE.CLAUSE ( send←emacs←list 1 si ) 4
    (get.Ai.constant 1 NIL)
    (cut.proceed)
)

(ASSEMBLE.CLAUSE ( send←emacs←list 1 si ) 12
    (get.Ai.list 1)
    (unify.variable.Xn 1)
    (allocate)
    (unify.variable.Yn 1)
    (head.cut)
    (call 4 send←emacs←list 1 si)
    (put.Ai.value.Yn 1 1)
    (depart send←emacs←list 1 si)
)

(ASSEMBLE.CLAUSE ( send←emacs←list 1 si ) 2
    (execute write←to←emacs 1 si)
)

(ASSEMBLE.CLAUSE ( write←to←emacs 1 si ) 7
    (get.Ai.structure 1 tab 1)
    (unify.variable.Xn 1)
    (head.cut)
    (execute tab←to←emacs 1 si)
)

(ASSEMBLE.CLAUSE ( write←to←emacs 1 si ) 8
    (get.Ai.constant 1 %\n)
    (head.cut)
    (put.Ai.symbol 1 %
)
    (execute write←atom←to←emacs 1 si)
)

(ASSEMBLE.CLAUSE ( write←to←emacs 1 si ) 11
    (allocate)
    (get.Ai.variable.Yn 1 1)
    (put.Ai.value.Yn 1 1)
    (is.a 128)
    (body.cut)
    (put.Ai.value.Yn 1 1)
    (depart write←atom←to←emacs 1 si)
)

(ASSEMBLE.CLAUSE ( write←to←emacs 1 si ) 11
    (allocate)
    (get.Ai.variable.Yn 1 1)
    (put.Ai.value.Yn 1 1)
    (is.a 24)
    (body.cut)
    (put.Ai.value.Yn 1 1)
    (depart write←integer←to←emacs 1 si)
)

(ASSEMBLE.CLAUSE ( maybe←tell←emacs 2 si ) 15
    (allocate)
    (get.Ai.variable.Yn 1 1)
    (get.Ai.variable.Yn 2 2)
    (call 5 under←emacs 0 si)
    (body.cut)
    (put.Ai.value.Yn 2 2)
    (put.Ai.value.Yn 1 1)
    (depart tell←emacs 2 si)
)

(ASSEMBLE.CLAUSE ( maybe←tell←emacs 2 si ) 1
    (proceed)
)

(ASSEMBLE.CLAUSE ( tell←emacs 2 si ) 26
    (get.Ai.constant 1 find←definition)
    (get.Ai.structure 2 args 4)
    (unify.variable.Xn 3)
    (unify.variable.Xn 4)
    (unify.variable.Xn 5)
    (unify.variable.Xn 2)
    (put.Ai.list 1)
    (unify.value.Xn 2)
    (unify.nil)
    (put.Ai.list 2)
    (unify.value.Xn 5)
    (unify.value.Xn 1)
    (put.Ai.list 1)
    (unify.value.Xn 4)
    (unify.value.Xn 2)
    (put.Ai.list 2)
    (unify.value.Xn 3)
    (unify.value.Xn 1)
    (put.Ai.symbol 1 find←definition)
    (execute tell←emacs1 2 si)
)

(ASSEMBLE.CLAUSE ( tell←emacs 2 si ) 2
    (execute tell←emacs1 2 si)
)

(ASSEMBLE.CLAUSE ( tell←emacs1 2 si ) 8
    (start.calling QP%.TELL%.EMACS 2)
    (send.direct.Ai 1)
    (send.direct.Ai 2)
    (call.lisp 1)
    (unify.void 1)
    (proceed)
)

(ASSEMBLE.CLAUSE ( find←library←package 1 si ) 40
    (allocate)
    (get.Ai.variable.Yn 1 4)
    (put.Ai.constant 2 1)
    (put.Ai.variable.Yn 1 2)
    (call 7 fileerrors 2 si)
    (gettopval QP%.TRACE%.STATE)
    (store.variable.Yn 3)
    (load.pos.word 1)
    (settopval QP%.TRACE%.STATE)
    (put.Ai.variable.Yn 2 1)
    (put.Ai.value.Yn 1 4)
    (call 6 find←lib 2 si)
    (load.value.Yn 3)
    (settopval QP%.TRACE%.STATE)
    (put.Ai.unsafe.Yn 2 2)
    (put.Ai.void 1)
    (call 4 fileerrors 2 si)
    (put.Ai.unsafe.Yn 2 1)
    (put.Ai.symbol 1 library)
    (depart tell←emacs 2 si)
)

(ASSEMBLE.CLAUSE ( find←lib 2 si ) 5
    (allocate)
    (call 3 find←library←file 2 si)
    (depart.cut)
)

(ASSEMBLE.CLAUSE ( find←lib 2 si ) 3
    (get.Ai.symbol 2 cannot% find% library% file%,% check% facts% for% library←directory%/1)
    (proceed)
)

(ASSEMBLE.CLAUSE ( capture←version 0 si ) 31
    (allocate)
    (put.Ai.variable.Yn 1 2)
    (call 5 editor←temporary←file 1 si)
    (put.Ai.variable.Yn 1 1)
    (call 5 current←output 1 si)
    (put.Ai.unsafe.Yn 1 2)
    (call 4 tell 1 si)
    (call 4 version 0 si)
    (call 4 told 0 si)
    (put.Ai.unsafe.Yn 1 1)
    (call 3 set←output 1 si)
    (put.Ai.symbol 1 %(get%-version%-part%-two%))
    (depart send←emacs 1 si)
)

(ASSEMBLE.CLAUSE ( capture←root 0 si ) 19
    (allocate)
    (put.Ai.variable.Yn 1 1)
    (call 4 quintus←path 1 si)
    (put.Ai.list 1)
    (unify.symbol %"%))
    (unify.nil)
    (put.Ai.list 2)
    (unify.local.Yn 1)
    (unify.value.Xn 1)
    (put.Ai.list 1)
    (unify.symbol %(setq% quintus%-root% %")
    (unify.value.Xn 2)
    (depart send←emacs 1 si)
)

(ASSEMBLE.CLAUSE ( check←mode←line 0 si ) 21
    (allocate)
    (load.choice.point)
    (store.variable.Xn 1)
    (either 3 16)
    (gettopval QP%.INTERNAL%.MODE%.CHANGE)
    (store.integer 0)
    (load.value.Xn 1)
    (cut.to.choice.point)
    (progress)
    (or.finally)
    (load.pos.word 0)
    (settopval QP%.INTERNAL%.MODE%.CHANGE)
    (depart mode←line←changed 0 si)
)

(ASSEMBLE.CLAUSE ( mode←line←changed 0 si ) 7
    (allocate)
    (call 3 under←emacs 0 si)
    (body.cut)
    (depart send←emacs←new←mode←line 0 si)
)

(ASSEMBLE.CLAUSE ( mode←line←changed 0 si ) 1
    (proceed)
)

(ASSEMBLE.CLAUSE ( send←emacs←new←mode←line 0 si ) 46
    (allocate)
    (put.Ai.variable.Yn 1 5)
    (call 8 current←module 1 si)
    (put.Ai.variable.Yn 2 1)
    (put.Ai.unsafe.Yn 1 5)
    (call 7 mode←line←module 2 si)
    (put.Ai.variable.Yn 1 4)
    (call 7 debug←state 1 si)
    (put.Ai.variable.Yn 2 2)
    (put.Ai.unsafe.Yn 1 4)
    (call 6 mode←line←trace←state 2 si)
    (gettopval QP%.BREAK%.LEVEL)
    (store.variable.Xn 1)
    (put.Ai.variable.Yn 2 3)
    (call 6 mode←line←breaklevel 2 si)
    (put.Ai.list 2)
    (unify.local.Yn 3)
    (unify.nil)
    (put.Ai.list 1)
    (unify.local.Yn 2)
    (unify.value.Xn 2)
    (put.Ai.list 2)
    (unify.local.Yn 1)
    (unify.value.Xn 1)
    (put.Ai.symbol 1 update←modeline)
    (depart tell←emacs 2 si)
)

(ASSEMBLE.CLAUSE ( mode←line←module 2 si ) 10
    (get.Ai.constant 1 user)
    (get.Ai.structure 2 tab 1)
    (unify.constant 25)
    (cut.proceed)
)

(ASSEMBLE.CLAUSE ( mode←line←module 2 si ) 32
    (get.Ai.list 2)
    (unify.variable.Xn 3)
    (unify.variable.Xn 2)
    (get.Ai.structure 3 tab 1)
    (unify.constant 5)
    (get.Ai.list 2)
    (unify.symbol Module%:% )
    (unify.list)
    (unify.local.Xn 1)
    (unify.list)
    (unify.variable.Xn 2)
    (unify.nil)
    (get.Ai.structure 2 tab 1)
    (allocate)
    (unify.variable.Yn 1)
    (put.Ai.variable.Yn 2 2)
    (call 5 symbol←length 2 si)
    (load.value.Yn 2)
    (add.pos.word 12)
    (store.value.Yn 1)
    (progress)
)

(ASSEMBLE.CLAUSE ( mode←line←trace←state 2 si ) 10
    (get.Ai.constant 1 nodebug)
    (get.Ai.structure 2 tab 1)
    (unify.constant 6)
    (cut.proceed)
)

(ASSEMBLE.CLAUSE ( mode←line←trace←state 2 si ) 12
    (get.Ai.list 2)
    (unify.local.Xn 1)
    (unify.list)
    (unify.variable.Xn 1)
    (unify.nil)
    (get.Ai.structure 1 tab 1)
    (unify.constant 1)
    (proceed)
)

(ASSEMBLE.CLAUSE ( mode←line←breaklevel 2 si ) 10
    (get.Ai.constant 1 0)
    (get.Ai.structure 2 tab 1)
    (unify.constant 15)
    (cut.proceed)
)

(ASSEMBLE.CLAUSE ( mode←line←breaklevel 2 si ) 16
    (get.Ai.list 2)
    (unify.variable.Xn 3)
    (unify.variable.Xn 2)
    (get.Ai.structure 3 tab 1)
    (unify.constant 8)
    (get.Ai.list 2)
    (unify.symbol Level%:% )
    (unify.list)
    (unify.local.Xn 1)
    (unify.nil)
    (proceed)
)

STOP