[ Reini
| autocad
| autolisp faq
| stdlib
| search
| xarch webmail
| xarch
]
[ emacs support
| mail archive
| src
]
Corman Common Lisp patches
AutoCAD Interface
2002-05-20: Try the new com class loader com-acad using Chris Double's idl.lisp (slightly modified) from http://www.double.co.nz/cl/ and his weblog. This creates CLOS classes from typelibs automatically (e.g. the AutoCAD IDL is huge: 530kb IDL and 1.6MB as sexp). The syntax should ideally be the same as with ACL imported OLE objects. This is work in progress, there are not so many utility functions and helpers yet. The zip contains all required modules and patches.
There's also the old Corman Lisp ARX v0.2.013 for Corman LISP. This is a corman console listener inside AutoCAD. Warning! This ARX is only tested up to Corman Lisp v1.3
See the README for this acad library.
NOTE: The latest released Corman Lisp acad library reflects CLARX version 0.2.011
I'll try to add some basic IDispatch interface (Corman as OLE server) when
I'll have some spare time, to allow access from VB or VLISP. It should be
dynamic as with pythonwin or acl. (see ffi's)
Older Plans:
I didn't have time yet to write it down, because I
wanted to do it "good". To do it manually you'll have to create a FFI or
COM interface definition for each and every AutoCAD function. That's why I started
to think writing a TLB importer (in spirit to vl-import-typelib) but with using
autoloading stubs for the COM part. Or similar with simple FFI stubs parsed from
the export definition file.
The number of required FFI functions for the low-level AutoCAD interface:
(from exports15)
| library | number of functions |
| AcDb | 4719 |
| AcGe | 3578 |
| AcRx | 448 |
| aced | 111 |
| AcAx | 130 |
ILISP XEmacs/ntemacs interface
The ilisp fixes for cormanlisp are incooperated into ilisp 5.12.
The XEmacs and
ntemacs
ilisp dialect definition for cormanlisp of
mine is here, but the plain cl dialect should work also fine.
This needs some corman lisp patches (setf readtable-case, compile-file-pathname, ...).
For convenience I included all other currently known patches too.
- ilisp-README.ccl
- ccl-1.5-patches.zip
- 2002-05-28 09:23 - added patches directory
- 2002-05-21 11:56 - fixed idl, com-type-libs, ilisp
- 2002-05-17 20:02 - CCL 1.5 fixes and patches (also ilisp)
- ilisp-ccl-5.11.zip
- 2002-05-31 18:00 - final 5.12 patches
- 2002-05-21 11:56 - more ilisp fixes
- 2002-05-17 20:02 - fixes for the latest ilisp 5.11 release (not CVS)
- ccl-ilisp-fixes.zip (old)
- 2000-11-14 18:03:28 - fixed readtable-case check-type error
- 2000-10-10 13:40:00 - fixed compile-file-pathname fix
- ilisp-ccl-5.10.1.zip (old)
- 2000-10-10 13:40:00 - dummy-string error and provided more patches.
- 2000-09-29 12:16:38 - fixed pathname backquotes and added debugger menu.
it still creates too many and non-splittable frames on xemacs.
- 2000-09-28 12:13:51 - fixed space binding
- ilisp-ccl-5.9.3.zip (old)
- 2000-09-19 15:14
Note that emacs will need a header like this:
;;;; -*- Mode: Lisp; Syntax: Common-Lisp; tab-width:4 -*-
or just
;;;; -*- tab-width:4 -*-
not to bother Roger or to
reindent all sources.
I also wrote some XEmacs emodules
(htmlhelp, winhelp, OLE, registry), but haven't successfully compiled them yet for
my various emacsen.
A patch for ntemacs to call COM servers is here,
but it doesn't work yet good enough.
Various other modules
Old Source Patches
These were only relevant to integrate ilisp 5.10 with cormanlisp 1.41. Most of it is
defunct now.
To browse my old unofficial lisp modules and fixes click [here].
Note that you must do a "diff -b" (ignoring whitespace) to find the changes because
I added the emacs header line in all files and reindentend most functions.
The ilisp relevant fixes only are in ccl-ilisp-fixes.zip.
- io.lisp
- v1.5: 2002-04-09 - fixed peek-char as suggested by chris double
- clconsole.cpp
- 2001-09-01 - works with v1.5 also. Apply the changes by yourself with the new src.
- 2000-09-13 - add DISPLAY-URL (fixes DOCUMENTATION in the console)
- 2000-09-28 - add EDITOR-SET-DEFAULT-MESSAGE, EDITOR-SET-MESSAGE and EDITOR-GET-MESSAGE
- The pre-compiled clconsole.exe with the above mentioned fixes. (some switches should work only since 1.4)
- cltl2.lisp Link browser to CLtL2 as with hyperspec.lisp to CLHS.
- htmlhelp.lisp
Spawn hh and display a topic. Not quite ready yet. Should be done via FFI.
- readtable.lisp
- READTABLE-CASE was fixed in v1.5, (setf READTABLE-CASE) not
- 2000-11-14 fixed READTABLE-CASE
- added READTABLE-CASE + setf method
(tricky bootstrapping problems). This patch also needs a new setf.lisp with a (defsetf readtable-case set-readtable-case) at the very end.
- compile-file.lisp
- v1.5 fixed COMPILE-FILE to accept pathnames as well. so you may alias COMPILE-FILE-PATHNAME to COMPILE-FILE also. 2001-09-03
- added COMPILE-FILE-PATHNAME, fixed this fix at 2000-10-10.
- life.lisp
- 2000-11-14 added optional size arguments, improved size logic.
- require.lisp
- don't know if this was fixed with v1.5.
- fixed REQUIRE
with calls like this: (require :com-type-libs). Use lowercase filenames on length > 8.
String args must use the correct case of the filename or use the optional 2nd arg.
Force uppercase strings in *MODULES*.
- ffi.lisp
- tried to add :bool support for c-structs, but not tested yet.
- Other...
E-Mail Archive and Help
I published my mail-archive with all publishable mails
regarding corman lisp, esp. for AutoCAD.
Documentation
Get the Corman Common Lisp documentation and help v1.5 converted to HTML Help
cclwinhelp.zip [80kb], and all three big common lisp help files together
all-lispchm.zip [5mb] (CLHS, CLtL2,Corman). This allows browsing and
searching of all three together.
You might also want to see the old CLtL2 and CLHS HTML Help files
and sources.
History
- 2002-05-31: com-data.lisp
- 2002-05-28 - 2002-05-30: final ilisp patches for 5.12
- 2002-05-22 - 2002-05-31: pcre.lisp
- 2002-05-20: com-acad.zip, more ilisp and corman patches
- 2002-05-17: ilisp and corman patches
- 2002-04-09: io.lisp patch
- 2001-09-01: new cormanlisp.chm (partially v1.5 compatible),
removed cormanlisp.hlp,
new all-lispchm.zip
- 2000-09-29: fixed pathname backquotes and added debugger menu
- 2000-09-28: clconsole - add EDITOR-SET-DEFAULT-MESSAGE, EDITOR-SET-MESSAGE and EDITOR-GET-MESSAGE
- 2000-09-14: fixed ilisp support (at least xemacs), added htmlhelp.lisp, cltl2.lisp
- 2000-09-13: winhelp and chm for v1.41 [223 KB].
you might also want the old CLtL2 and CLHS HTML Help files.
clconsole: add DISPLAY-URL (fixes DOCUMENTATION in the console)
Reini Urban <rurban@xarch.tu-graz.ac.at>
Created: Thu Jan 13 19:26:44 MET 2000
Last modified: Fri May 31 16:13:16 GMT 2002