dump-image should not make CLISP images executable
Pierre Neidhardt
mail at ambrevar.xyz
Tue Dec 1 09:56:34 UTC 2020
Hi!
I noticed a possible mistake in the dump-image code for CLISP:
--8<---------------cut here---------------start------------->8---
(apply #'ext:saveinitmem filename
:quiet t
:start-package *package*
:keep-global-handlers nil
:executable (if executable 0 t) ;--- requires clisp 2.48 or later, still catches --clisp-x
(when executable
(list
;; :parse-options nil ;--- requires a non-standard patch to clisp.
:norc t :script nil :init-function #'restore-image)))
--8<---------------cut here---------------end--------------->8---
According to the documentation
(https://clisp.sourceforge.io/impnotes/image.html):
> When non-NIL, the saved file will be a standalone executable. In this
> case, the #P".mem" extension is not added. On Win32 and Cygwin the
> extension #P".exe" is added instead. Additionally, if this argument
> is 0, the standard CLISP command line options will not be processed by
> the executable but will be placed into EXT:*ARGS* instead.
Here since we are setting `:executable` to 0 or t, the result is always
executable. I don't think this is right because then the result cannot
be loaded with `clisp -M path/ro/result`.
I believe the fix would be
```diff
- :executable (if executable 0 t)
+ :executable (if executable 0 nil)
```
Cheers!
--
Pierre Neidhardt
https://ambrevar.xyz/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 511 bytes
Desc: not available
URL: <https://mailman.common-lisp.net/pipermail/asdf-devel/attachments/20201201/759ec975/attachment.sig>
More information about the asdf-devel
mailing list