Mirko Vukovic mirko.vukovic@gmail.com writes:
On clisp 2.48+cygwin and slime of 2010-09-03, changing directory leaves *default-pathname-defaults* unchanged.
Is that a feature or bug?
It's a feature.
EXT:CD changes the POSIX current working directory.
Setting *default-pathname-defaults* changes the default lisp pathname defaults.
Changing them doesn't change the default-directory in emacs either.
Well, if you want to keep synchronized the POSIX current working directory with *default-pathname-defaults*, you could use com.informatimago.common-lisp.browser:cd instead of ext:cd.
http://www.informatimago.com/develop/lisp/com/informatimago/common-lisp/brow...
It has a hook to let your update *default-pathname-defaults*. I put:
(PUSH (FUNCTION EXT:CD) COM.INFORMATIMAGO.COMMON-LISP.BROWSER:*CHANGE-DIRECTORY-HOOK*) (CD (EXT:CD))
in my ~/.clisprc.lisp to initialize it.
And if you're using slime, you could also update default-directory in emacs too from this hook.
Notice that swank has it's own current directory: swank:set-default-directory swank:default-directory which, in the case of clisp is hardwired to ext:cd, but which doesn't update default-directory in emacs.