[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

new version of applescript-from-lisp

I've uploaded a new version of applescript-from-lisp, a set of tools to
create and execute applescripts from within mcl. There are several changes
from the first version of this code.

1. Everything is now in the CL-USER package.
2. Only one scripting component is opened unless you specify otherwise.
This is more effecient than opening a component for every compiled script
which is unnecessary unless you are running multi threaded. See comment at
the beginning of the file applescript.lisp
3. I am more careful about disposing of heap allocated things so memory
behavior should be considerably more robust.
4. Now, when a script is run an AEDesc is created with any asked-for data.
Previously I would only return strings which didn't make sense if you asked
for a PICT for instance. Now the data is in an AEDesc and you can do the
right thing with it. Calling cleanup on the applescript instance will
dispose of the aedesc. See the method called show-result-as-string to see
how to do the coercion to a printable string. Thanks to Nathan Wilson at
Apple for this.
5. There is a patch called high-level-event-patch which overcomes some
problems when trying to call some scripting additions (thanks again to


1. After unstuffing, copy the 3 files in the folder called INTERFACES to
your LIBRARY;INTERFACES;. Call REINDEX-INTERFACES after you copy these

2. The file AESTUFF needs to be somewhere that REQUIRE will find it.

3. The file applescript-editor need not be loaded unless you want a little
editing window for your scripts. AppleScript.lisp (not the interface file
by the same name!) contains all the goodies.

Obtain from:

Hope this code is useful.


              Tom Bonura
Apple Computer, Inc.   Advanced Technology Group,
        Interactive Media Lab
    Intelligent Systems Program
MS 301-3S, 1 Infinite Loop, Cupertino, CA 95104
Phone: (408)974-4538  Fax: (408)974-8414