njordhov / mclide

Macintosh IDE for Lisp-related languages.
14 stars 5 forks source link

Build under latest CCL #3

Open eschaton opened 4 years ago

eschaton commented 4 years ago

I tried to build MCLIDE today using the latest CCL 1.12 and SLIME 2.24 on my system. Unfortunately it encountered some errors. I didn’t follow the instructions exactly; I made a symlink to my ccl and slime checkouts next to the build.sh script. (I also had to chmod a+x the script.)

$ ./build.sh 
> Error of type CCL::SIMPLE-FILE-ERROR: File exists : #P"/Users/cmh/Projects/Lisp/mclide/mclide/aux/FAQ.webloc"
> While executing: CCL::MAKE-FILE-STREAM, in process listener(1).
 (21B194E0) : 0 (PRINT-CALL-HISTORY :CONTEXT NIL :PROCESS NIL :ORIGIN NIL :DETAILED-P T :COUNT 1152921504606846975 :START-FRAME-NUMBER 0 :STREAM #<SYNONYM-STREAM to *TERMINAL-IO* #x302000477AAD> :PRINT-LEVEL 2 :PRINT-LENGTH 5 :PRINT-STRING-LENGTH :DEFAULT :SHOW-INTERNAL-FRAMES NIL :FORMAT :TRADITIONAL) 957
  (&KEY :CONTEXT :PROCESS :ORIGIN :DETAILED-P :COUNT :START-FRAME-NUMBER :STREAM :PRINT-LEVEL :PRINT-LENGTH :PRINT-STRING-LENGTH :SHOW-INTERNAL-FRAMES :FORMAT)
   CCL::CONTEXT: NIL
   PROCESS: NIL
   CCL::ORIGIN: NIL
   CCL::DETAILED-P: T
   COUNT: 1152921504606846975
   CCL::START-FRAME-NUMBER: 0
   STREAM: #<SYNONYM-STREAM to *TERMINAL-IO* #x302000477AAD>
   CCL::PRINT-LEVEL: 2
   CCL::PRINT-LENGTH: 5
   CCL::PRINT-STRING-LENGTH: :DEFAULT
   CCL::SHOW-INTERNAL-FRAMES: NIL
   FORMAT: :TRADITIONAL

  #:COMPILER-VAR: NIL
  #:COMPILER-VAR: NIL
  #:COMPILER-VAR: NIL
  #:COMPILER-VAR: NIL
  #:COMPILER-VAR: NIL
  #:COMPILER-VAR: NIL
  #:COMPILER-VAR: NIL
  #:COMPILER-VAR: NIL
  #:COMPILER-VAR: NIL
  #:COMPILER-VAR: NIL
  #:COMPILER-VAR: NIL
  #:COMPILER-VAR: NIL
  CCL::FRAME-NUMBER: 0
  *BACKTRACE-PRINT-LEVEL*: 2
  *BACKTRACE-PRINT-LENGTH*: 5
  *BACKTRACE-PRINT-STRING-LENGTH*: :DEFAULT
  *BACKTRACE-FORMAT*: :TRADITIONAL
  *STANDARD-OUTPUT*: #<SYNONYM-STREAM to *TERMINAL-IO* #x302000477AAD>
  *PRINT-CIRCLE*: NIL

 (21B19678) : 1 (ABNORMAL-APPLICATION-EXIT) 245
  NIL

  #:G157270: (ERROR)
  CCL::%HANDLERS%: ((ERROR) (PROCESS-RESET))

 (21B196A8) : 2 (BREAK-LOOP-HANDLE-ERROR #<CCL::SIMPLE-FILE-ERROR #x3020008A823D> 70660837) 1701
  (CONDITION *TOP-ERROR-FRAME*)
   CONDITION: #<CCL::SIMPLE-FILE-ERROR #x3020008A823D>
   *TOP-ERROR-FRAME*: 70660837

  CCL::BOGUS-GLOBALS: NIL
  CCL::NEWVALS: NIL
  CCL::OLDVALS: NIL

 (21B19700) : 3 (%ERROR #<CCL::SIMPLE-FILE-ERROR #x3020008A823D> NIL 70660837) 341
  (CONDITION CCL::ARGS CCL::ERROR-POINTER)
   CONDITION: #<CCL::SIMPLE-FILE-ERROR #x3020008A823D>
   CCL::ARGS: NIL
   CCL::ERROR-POINTER: 70660837

 (21B19728) : 4 (MAKE-FILE-STREAM #P"/Users/cmh/Projects/Lisp/mclide/mclide/aux/FAQ.webloc" :OUTPUT (INTEGER 0 255) :ERROR :CREATE FILE-STREAM :DEFAULT :PRIVATE T) 829
  (CCL::FILENAME CCL::DIRECTION CCL::ELEMENT-TYPE CCL::IF-EXISTS CCL::IF-DOES-NOT-EXIST CLASS EXTERNAL-FORMAT CCL::SHARING CCL::BASIC)
   CCL::FILENAME: #P"/Users/cmh/Projects/Lisp/mclide/mclide/aux/FAQ.webloc"
   CCL::DIRECTION: :OUTPUT
   CCL::ELEMENT-TYPE: (INTEGER 0 255)
   CCL::IF-EXISTS: :ERROR
   CCL::IF-DOES-NOT-EXIST: :CREATE
   CLASS: FILE-STREAM
   EXTERNAL-FORMAT: :DEFAULT
   CCL::SHARING: :PRIVATE
   CCL::BASIC: T

  CCL::TEMP-NAME: NIL
  CCL::CREATED: NIL
  CCL::DIR: (:ABSOLUTE "Users" "cmh" "Projects" "Lisp" ...)
  CCL::FILENAME: #P"/Users/cmh/Projects/Lisp/mclide/mclide/aux/FAQ.webloc"
  PATHNAME: #P"/Users/cmh/Projects/Lisp/mclide/mclide/aux/FAQ.webloc"
  CCL::NATIVE-TRUENAME: "/Users/cmh/Projects/Lisp/mclide/mclide/aux/FAQ.webloc"
  CCL::KIND: :FILE

 (21B197B8) : 5 (OPEN #P"/Users/cmh/Projects/Lisp/mclide/mclide/aux/FAQ.webloc" :DIRECTION :OUTPUT :ELEMENT-TYPE (UNSIGNED-BYTE 8) :IF-EXISTS :ERROR :IF-DOES-NOT-EXIST :CREATE :EXTERNAL-FORMAT :DEFAULT :CLASS FILE-STREAM :SHARING :PRIVATE :BASIC T) 821
  (CCL::FILENAME &KEY :DIRECTION :ELEMENT-TYPE :IF-EXISTS :IF-DOES-NOT-EXIST :EXTERNAL-FORMAT :CLASS :SHARING :BASIC)
   CCL::FILENAME: #P"/Users/cmh/Projects/Lisp/mclide/mclide/aux/FAQ.webloc"
   CCL::DIRECTION: :OUTPUT
   CCL::ELEMENT-TYPE: (UNSIGNED-BYTE 8)
   CCL::IF-EXISTS: :ERROR
   CCL::IF-DOES-NOT-EXIST: :CREATE
   EXTERNAL-FORMAT: :DEFAULT
   CLASS: FILE-STREAM
   CCL::SHARING: :PRIVATE
   CCL::BASIC: T

  #:COMPILER-VAR: T
  #:COMPILER-VAR: T
  #:COMPILER-VAR: T
  #:COMPILER-VAR: T
  #:COMPILER-VAR: NIL
  #:COMPILER-VAR: NIL
  #:COMPILER-VAR: NIL
  #:COMPILER-VAR: NIL
  #:G148642: #<RESTART CCL::RETRY-OPEN #x21C3C05D>
  #:G148640: (#<RESTART CCL::RETRY-OPEN #x21C3C05D>)
  CCL::%RESTARTS%: ((#<# # #x21C3C05D>) (#<# # #x21C3C42D> #<# # #x21C3C47D> #<# # #x21C3C4CD>) (#<# # #x21C3C5CD>) (#<# # #x21C3C6CD>) (#<# # #x21C3C8BD> #<# # #x21C3C90D>))

 (21B19880) : 6 (COPY-FILE #P"/Users/cmh/Projects/Lisp/mclide/mclide/aux/FAQ.webloc" #P"/Users/cmh/Projects/Lisp/mclide/mclide/aux/FAQ.webloc" :IF-EXISTS :ERROR :IF-DOES-NOT-EXIST :CREATE :PRESERVE-ATTRIBUTES NIL) 613
  (CCL::SOURCE-PATH CCL::DEST-PATH &KEY :IF-EXISTS :IF-DOES-NOT-EXIST :PRESERVE-ATTRIBUTES)
   CCL::SOURCE-PATH: #P"/Users/cmh/Projects/Lisp/mclide/mclide/aux/FAQ.webloc"
   CCL::DEST-PATH: #P"/Users/cmh/Projects/Lisp/mclide/mclide/aux/FAQ.webloc"
   CCL::IF-EXISTS: :ERROR
   CCL::IF-DOES-NOT-EXIST: :CREATE
   CCL::PRESERVE-ATTRIBUTES: NIL

  #:COMPILER-VAR: NIL
  #:COMPILER-VAR: NIL
  #:COMPILER-VAR: NIL
  CCL::ORIGINAL: #P"/Users/cmh/Projects/Lisp/mclide/mclide/aux/FAQ.webloc"
  CCL::NEW-NAME: #P"/Users/cmh/Projects/Lisp/mclide/mclide/aux/FAQ.webloc"
  CCL::BUFFER: #(0 0 0 0 0 ...)
  #:G170141: #<BASIC-FILE-BINARY-INPUT-STREAM ("/Users/cmh/Projects/Lisp/mclide/mclide/aux/FAQ.webloc"/5 ISO-8859-1) #x3020008A8CCD>
  #:G170142: NIL
  CCL::IN: #<BASIC-FILE-BINARY-INPUT-STREAM ("/Users/cmh/Projects/Lisp/mclide/mclide/aux/FAQ.webloc"/5 ISO-8859-1) #x3020008A8CCD>
  #:G170143: NIL
  #:G170144: NIL

 (21B19970) : 7 (COPY-FILES #P"/Users/cmh/Projects/Lisp/mclide/./mclide/aux/" #P"/Users/cmh/Projects/Lisp/mclide/MCLIDE 2.0a1-0/" :VERBOSE NIL :SHELL-P NIL) 717
  (CCL::SOURCE CCL::DESTINATION &KEY :VERBOSE :SHELL-P)
   CCL::SOURCE: #P"/Users/cmh/Projects/Lisp/mclide/./mclide/aux/"
   CCL::DESTINATION: #P"/Users/cmh/Projects/Lisp/mclide/MCLIDE 2.0a1-0/"
   CCL::VERBOSE: NIL
   CCL::SHELL-P: NIL

  #:COMPILER-VAR: NIL
  #:COMPILER-VAR: NIL
  CCL::SOURCE: #P"/Users/cmh/Projects/Lisp/mclide/./mclide/aux/"
  CCL::FILES: (#P"/Users/cmh/Projects/Lisp/mclide/mclide/aux/FAQ.webloc" #P"/Users/cmh/Projects/Lisp/mclide/mclide/aux/README.rtf")
  #:G27: (#P"/Users/cmh/Projects/Lisp/mclide/mclide/aux/FAQ.webloc" #P"/Users/cmh/Projects/Lisp/mclide/mclide/aux/README.rtf")
  CCL::FILE: #P"/Users/cmh/Projects/Lisp/mclide/mclide/aux/FAQ.webloc"
  CCL::PATH: "/Users/cmh/Projects/Lisp/mclide/mclide/aux/FAQ.webloc"
  CCL::DEST: #P"/Users/cmh/Projects/Lisp/mclide/mclide/aux/FAQ.webloc"

 (21B199E0) : 8 (CALL-CHECK-REGS COPY-FILES #P"/Users/cmh/Projects/Lisp/mclide/./mclide/aux/" #P"/Users/cmh/Projects/Lisp/mclide/MCLIDE 2.0a1-0/") 229
  (CCL::FN &REST CCL::ARGS)
   CCL::FN: COPY-FILES
   CCL::ARGS: (#P"/Users/cmh/Projects/Lisp/mclide/./mclide/aux/" #P"/Users/cmh/Projects/Lisp/mclide/MCLIDE 2.0a1-0/")

  CCL::OLD-REGS: NIL

 (21B19A18) : 9 (FUNCALL #'#<(:INTERNAL CCL::WITH-COMPILATION-UNIT-BODY CCL::LOAD-FROM-STREAM)>) 781
  NIL

  CCL::ENV: #<CCL::LEXICAL-ENVIRONMENT #x30200047A66D>
  CCL::*NX-SOURCE-NOTE-MAP*: #<HASH-TABLE :TEST EQ size 486/687 #x30200047A0ED>
  CCL::*LOADING-TOPLEVEL-LOCATION*: #<SOURCE-NOTE "/Users/cmh/Projects/Lisp/mclide/./mclide/build.lisp":8436-8513 "(copy-files (merge-pathnames \";aux;\" *mclide-repo-pathname*) *distribution*)">
  PRINT: NIL
  CCL::VAL: (COPY-FILES (MERGE-PATHNAMES ";aux;" *MCLIDE-REPO-PATHNAME*) *DISTRIBUTION*)
  CCL::EOF-VAL: (NIL)
  STREAM: #<BASIC-FILE-CHARACTER-INPUT-STREAM ("/Users/cmh/Projects/Lisp/mclide/mclide/build.lisp"/4 UTF-8) #x30200047B5FD>

 (21B19A90) : 10 (CALL-WITH-COMPILATION-UNIT #<COMPILED-LEXICAL-CLOSURE (:INTERNAL CCL::WITH-COMPILATION-UNIT-BODY CCL::LOAD-FROM-STREAM) #x21C3C1CF> :OVERRIDE NIL) 197
  (CCL::THUNK &KEY :OVERRIDE)
   CCL::THUNK: #<COMPILED-LEXICAL-CLOSURE (:INTERNAL CCL::WITH-COMPILATION-UNIT-BODY CCL::LOAD-FROM-STREAM) #x21C3C1CF>
   CCL::OVERRIDE: NIL

  #:COMPILER-VAR: T
  CCL::*OUTSTANDING-DEFERRED-WARNINGS*: #<CCL::DEFERRED-WARNINGS #x30200047A74D>

 (21B19AD8) : 11 (LOAD-FROM-STREAM #<BASIC-FILE-CHARACTER-INPUT-STREAM ("/Users/cmh/Projects/Lisp/mclide/mclide/build.lisp"/4 UTF-8) #x30200047B5FD> NIL) 357
  (STREAM PRINT)
   STREAM: #<BASIC-FILE-CHARACTER-INPUT-STREAM ("/Users/cmh/Projects/Lisp/mclide/mclide/build.lisp"/4 UTF-8) #x30200047B5FD>
   PRINT: NIL

  CCL::EOF-VAL: (NIL)
  CCL::VAL: (COPY-FILES (MERGE-PATHNAMES ";aux;" *MCLIDE-REPO-PATHNAME*) *DISTRIBUTION*)
  #:WITH-COMPILATION-UNIT-BODY: #<COMPILED-LEXICAL-CLOSURE (:INTERNAL CCL::WITH-COMPILATION-UNIT-BODY CCL::LOAD-FROM-STREAM) #x21C3C1CF>

 (21B19B18) : 12 (%LOAD #P"/Users/cmh/Projects/Lisp/mclide/mclide/build.lisp" NIL NIL :ERROR :DEFAULT NIL) 5285
  (CCL::FILE-NAME CCL::VERBOSE PRINT CCL::IF-DOES-NOT-EXIST EXTERNAL-FORMAT CCL::PRESERVE-OPTIMIZATION-SETTINGS)
   CCL::FILE-NAME: #P"/Users/cmh/Projects/Lisp/mclide/mclide/build.lisp"
   CCL::VERBOSE: NIL
   PRINT: NIL
   CCL::IF-DOES-NOT-EXIST: :ERROR
   EXTERNAL-FORMAT: :DEFAULT
   CCL::PRESERVE-OPTIMIZATION-SETTINGS: NIL

  CCL::SOURCE-FILE: #P"/Users/cmh/Projects/Lisp/mclide/./mclide/build.lisp"
  *LOAD-PATHNAME*: #P"./mclide/build.lisp"
  *LOAD-TRUENAME*: #P"/Users/cmh/Projects/Lisp/mclide/mclide/build.lisp"
  *PACKAGE*: #<Package "COMMON-LISP-USER">
  *READTABLE*: #<READTABLE #x30200030E91D>
  CCL::*LOADING-FILES*: (#P"/Users/cmh/Projects/Lisp/mclide/mclide/build.lisp")
  *LOADING-FILE-SOURCE-FILE*: "/Users/cmh/Projects/Lisp/mclide/./mclide/build.lisp"
  CCL::*LOADING-TOPLEVEL-LOCATION*: NIL
  #:G151281: #<BASIC-FILE-CHARACTER-INPUT-STREAM ("/Users/cmh/Projects/Lisp/mclide/mclide/build.lisp"/4 UTF-8) #x30200047B5FD>
  #:G151282: NIL
  STREAM: #<BASIC-FILE-CHARACTER-INPUT-STREAM ("/Users/cmh/Projects/Lisp/mclide/mclide/build.lisp"/4 UTF-8) #x30200047B5FD>

 (21B19C60) : 13 (LOAD "./mclide/build.lisp" :VERBOSE NIL :PRINT NIL :IF-DOES-NOT-EXIST :ERROR :EXTERNAL-FORMAT :DEFAULT :PRESERVE-OPTIMIZATION-SETTINGS NIL) 1021
  (CCL::FILE-NAME &KEY :VERBOSE :PRINT :IF-DOES-NOT-EXIST :EXTERNAL-FORMAT :PRESERVE-OPTIMIZATION-SETTINGS)
   CCL::FILE-NAME: "./mclide/build.lisp"
   CCL::VERBOSE: NIL
   PRINT: NIL
   CCL::IF-DOES-NOT-EXIST: :ERROR
   EXTERNAL-FORMAT: :DEFAULT
   CCL::PRESERVE-OPTIMIZATION-SETTINGS: NIL

  #:COMPILER-VAR: NIL
  #:COMPILER-VAR: NIL
  #:COMPILER-VAR: NIL
  #:COMPILER-VAR: NIL
  #:COMPILER-VAR: NIL
  #:LOAD-OTHER: #<RESTART CCL::LOAD-OTHER #x21C3C4CD>
  #:SKIP-LOAD: #<RESTART CCL::SKIP-LOAD #x21C3C47D>
  #:RETRY-LOAD: #<RESTART CCL::RETRY-LOAD #x21C3C42D>
  #:G151222: (#<RESTART CCL::RETRY-LOAD #x21C3C42D> #<RESTART CCL::SKIP-LOAD #x21C3C47D> #<RESTART CCL::LOAD-OTHER #x21C3C4CD>)
  CCL::%RESTARTS%: ((#<# # #x21C3C42D> #<# # #x21C3C47D> #<# # #x21C3C4CD>) (#<# # #x21C3C5CD>) (#<# # #x21C3C6CD>) (#<# # #x21C3C8BD> #<# # #x21C3C90D>))

 (21B19D08) : 14 (FUNCALL #'#<(:INTERNAL CCL::LOAD-FILE CCL::STARTUP-CCL)> "./mclide/build.lisp") 461
  (CCL::NAME)
   CCL::NAME: "./mclide/build.lisp"

  #:CONTINUE: #<RESTART CONTINUE #x21C3C5CD>
  #:G156850: (#<RESTART CONTINUE #x21C3C5CD>)
  CCL::%RESTARTS%: ((#<# # #x21C3C5CD>) (#<# # #x21C3C6CD>) (#<# # #x21C3C8BD> #<# # #x21C3C90D>))

 (21B19D50) : 15 (STARTUP-CCL NIL) 1645
  (&OPTIONAL CCL::INIT-FILE)
   CCL::INIT-FILE: NIL

  #:ABORT: #<RESTART ABORT #x21C3C6CD>
  #:G156840: (#<RESTART ABORT #x21C3C6CD>)
  CCL::%RESTARTS%: ((#<# # #x21C3C6CD>) (#<# # #x21C3C8BD> #<# # #x21C3C90D>))
  #:G156845: ((:LOAD . "./mclide/build.lisp") (:EVAL . "(ccl::quit)"))
  CCL::P: (:LOAD . "./mclide/build.lisp")
  CCL::PARAM: "./mclide/build.lisp"
  #:G156848: :LOAD

 (21B19DB0) : 16 (FUNCALL #'#<(:INTERNAL (TOPLEVEL-FUNCTION (CCL::LISP-DEVELOPMENT-SYSTEM T)))>) 69
  NIL

  CCL::F: CCL::LISTENER-FUNCTION
  CCL::INIT-FILE: ("home:ccl-init" "home:\\.ccl-init")

 (21B19DD0) : 17 (FUNCALL #'#<(:INTERNAL CCL::MAKE-MCL-LISTENER-PROCESS)>) 661
  NIL

  *TERMINAL-IO*: #<ECHOING-TWO-WAY-STREAM input #<BASIC-CHARACTER-INPUT-STREAM UTF-8 (TTY/0) #x30200047918D>, output #<BASIC-CHARACTER-OUTPUT-STREAM UTF-8 (TTY/1) #x302000478C8D> #x30200047C62D>
  CCL::CLOSE-STREAMS: NIL
  CCL::CLEANUP-FUNCTION: #<COMPILED-LEXICAL-CLOSURE (:INTERNAL #) #x302000476DCF>
  CCL::INITIAL-FUNCTION: #<COMPILED-LEXICAL-CLOSURE (:INTERNAL #) #x302000476D7F>
  CCL::AUTO-FLUSH: T
  OUTPUT-STREAM: #<BASIC-CHARACTER-OUTPUT-STREAM UTF-8 (TTY/1) #x302000478C8D>
  INPUT-STREAM: #<BASIC-CHARACTER-INPUT-STREAM UTF-8 (TTY/0) #x30200047918D>
  CCL::ECHOING: T

 (21B19E68) : 18 (RUN-PROCESS-INITIAL-FORM #<TTY-LISTENER listener(1) [Active] #x30200047690D> (#<COMPILED-LEXICAL-CLOSURE # #x30200047643F>)) 669
  (PROCESS CCL::INITIAL-FORM)
   PROCESS: #<TTY-LISTENER listener(1) [Active] #x30200047690D>
   CCL::INITIAL-FORM: (#<COMPILED-LEXICAL-CLOSURE # #x30200047643F>)

  CCL::EXITED: NIL
  #:G159168: (PROCESS-RESET)
  CCL::%HANDLERS%: ((PROCESS-RESET))
  #:ABORT: #<RESTART ABORT #x21C3C90D>
  #:ABORT-BREAK: #<RESTART ABORT-BREAK #x21C3C8BD>
  #:G159169: (#<RESTART ABORT-BREAK #x21C3C8BD> #<RESTART ABORT #x21C3C90D>)
  CCL::%RESTARTS%: ((#<# # #x21C3C8BD> #<# # #x21C3C90D>))

 (21B19EF0) : 19 (FUNCALL #'#<(:INTERNAL (CCL::%PROCESS-PRESET-INTERNAL (PROCESS)))> #<TTY-LISTENER listener(1) [Active] #x30200047690D> (#<COMPILED-LEXICAL-CLOSURE # #x30200047643F>)) 581
  (PROCESS CCL::INITIAL-FORM)
   PROCESS: #<TTY-LISTENER listener(1) [Active] #x30200047690D>
   CCL::INITIAL-FORM: (#<COMPILED-LEXICAL-CLOSURE # #x30200047643F>)

  *CURRENT-PROCESS*: #<TTY-LISTENER listener(1) [Active] #x30200047690D>
  #:G159154: (*PRINT-PPRINT-DISPATCH* CCL::*FREE-XPS* CCL::*FREE-CIRCULARITY-HASH-TABLES* CCL::*LOGICAL-BLOCK-XP* CCL::*FORMAT-TOP-LEVEL* ...)
  #:G159155: (#<PPRINT-DISPATCH-TABLE #x30200047CD4D> NIL NIL NIL NIL ...)
  CCL::*INTERRUPT-LEVEL*: 0
  #:G159156: ("Active")
  #:G159157: "Reset"

 (21B19F98) : 20 (FUNCALL #'#<(:INTERNAL CCL::THREAD-MAKE-STARTUP-FUNCTION)>) 277
  NIL

  CCL::*CURRENT-LISP-THREAD*: #<LISP-THREAD listener [tcr @ #x301E90] #x30200047651D>
  CCL::INITIAL-FUNCTION: (#<Compiled-function # (Non-Global)  #x3000004E67FF> #<TTY-LISTENER listener(1) [Active] #x30200047690D> (#))
  CCL::TCR: 394194
  CCL::THREAD: #<LISP-THREAD listener [tcr @ #x301E90] #x30200047651D>

Version 1.12-dev (v1.12-dev.5-26-g0a2af8dd) DarwinX8664

(Ignore the hash for CCL, I have a couple commits atop my CCL tree to do things like change the default font in the CCL IDE, so it won’t match anything in the public repository.)

njordhov commented 4 years ago

MCLIDE requires an older version of CCL from around the time it was implemented. It severely monkeypatches CCL for expediency; Unfortunately, that makes the code unlikely to be compatible with newer versions of CCL. The idea was to validate the value proposition and encourage changes to the internals of CCL that would make the functionality a clean addition.

eschaton commented 4 years ago

I haven’t really looked at the code; why is that expedient? I’d just assumed MCLIDE was just implemented against CCL, and it was otherwise entirely a front-end to swank.

njordhov commented 4 years ago

MCLIDE patches the CCL IDE itself to become a front-end to swank. It turns the CCL REPL to become a remote REPL for swank, and hooks into the various CCL menus and dialogs to communicate with the remote Lisp implementation instead of the local one. Etc.

Note the liberal use of the defcontextual macro to decorate/intercept various functionality in the CCL IDE, using advise and :around method definitions. These are likely to rot as CCL changes, and would have to be updated if MCLIDE were to work with the current version of CCL. The flexibility of Common Lisp can be a blessing... and a curse. ;-)