Lisp HUG Maillist Archive

some potentially useful code for Lispworks IDE

Hi!

Some time ago I created some hacks for Lispworks IDE and included them
into :budden-tools. I'm not using Lispworks for a long time so I
removed them to keep code clean and small.

I believe this point:

https://bitbucket.org/budden/budden-tools/commits/89a60a14b7250232e0115d834c72fa53a7c7e4ef

is a culmination of Lispworks IDE enhancement evolution. At this point
the following things were present in a library:

- protect listener text before current prompt so that it can't be
removed (removing active prompt is a great confusion for the user)

- concept of alternative code stepper which does not require the
function to be re-created in interpreter mode. It steps just over
compiled code, stopping at the points where functions are called,
stopping program with "break".

- :restart-with-keywords-risky debugger command to restart frames with
keyword arguments

- :smart-resolve-export-conflict debugger command to unintern a trash
symbol conflicting with a non-trash symbol you trying to export from
other package

- some asdf tools. E.g. when compilation or loading of file breaks
while loading a system, you can edit the file or its system. Put the
name of your system into -*- ... -*- first line so that IDE knows what
system your file belongs to. Patches for asdf implied that I introduce
*current-component* and *current-system* variables and suggested a
patch to asdf, but it was by asdf maintainers due to safety reasons.
So I maintain those patches till now for myself. Other part is IDE
integration, so that the source of current-component and
current-system are opened in the IDE.

-  named readtable support: If there is (in-readtable) form in the
file, then commands like Compile Defun, Eveluate Last Form and so on
will use that readtable

- enabled status bar in the listener. User can provide his function to
fill the status bar (e.g. print readtable there)

- query before the listener is closed

- some hacks to customize stepping of macros with normal Lispworks
stepper, useful with ITERATE. Similar things were included into the
Lispworks 7, so this code has lost its value.

AFAIR, code was working with Lispworks Personal 6.0 for Windows

I am sorry, but some files are in Windows 1251 encoding and with
Russian comments.

WBR, Budden

_______________________________________________
Lisp Hug - the mailing list for LispWorks users
lisp-hug@lispworks.com
http://www.lispworks.com/support/lisp-hug.html

Updated at: 2020-12-10 08:30 UTC