>>>>> "Leo" == Leo Butler <l_butler at users.sourceforge.net> writes:
Leo> How about the following:
Leo> :lisp (defun $directory_part (pathname) ($printf nil "/~a" (apply #'combine-path (rest (pathname-directory pathname)))))
Leo> Now, in your batch file you can access the directory name via:
Leo> dirname : directory_part(load_pathname);
Look at pathname_directory; I think it does what your $directory_part
does.
>>
>> Looking quickly through the manual, I couldn't see a way to change the
>> current working directory in the Maxima language. Is that something you
>> would use?
Leo> There aren't any directory/file stuff exposed to the Maxima top-level,
Leo> that I am aware of, but here are a few functions that let you do this:
In addition to pathname_directory, there's pathname_type and
pathname_name. Not sure exactly what kind of stuff you're interested
in.
Leo> We need to create a cd function without the system command, because
Leo> system launches a subshell, and we want to change the cwd of the Maxima process:
Look at xchdir in server.lisp. It's not directly exposed to maxima,
but it looks like it will change the current directory on all the
supported lisp implementations, except ccl. (We probably need to fix
that.)
Ray