From Newsgroup: comp.lang.lisp
* Jason Cornez <
87pl19olxm.fsf@dev268-k.mail-host-address-is-not-set> :
Wrote on Mon, 29 Jun 2026 09:17:09 +0200:
I don't think I have an answer to your question, but I can report what
ACL11 does.
```
CL-USER(09:12:12): (define-condition my-error (error) ())
(defun my-error-p (thing) (typep thing 'my-error))
(assert (my-error-p (make-condition 'my-error)))
(defun test ()
(block nil
(restart-case (error 'my-error)
(ignore-my-error ()
:report "Ignore My error"
:test my-error-p
(return 'ok)))))
(test)
MY-ERROR
CL-USER(09:12:16): MY-ERROR-P
CL-USER(09:12:16): NIL
CL-USER(09:12:16): TEST
CL-USER(09:12:16): CL-USER(09:12:16): [2026-06-29 09:12:16]
Error: #<MY-ERROR @ #x1056e16e072>
[condition type: MY-ERROR]
Restart actions (select using :continue):
0: Return to Top Level (an "abort" restart).
1: Abort entirely from this (lisp) process.
[1] CL-USER(09:12:16): :cont 0
CL-USER(09:12:41):
```
I also confirm the same behavior when the code is in a file and compiled
before running (test)
Thanks, yes acl's repl decides the restart isn't visible, and avoids the
issue. But when running through sly or slime's debuggers, the ignore-my-restart is visible, but when you try to invoke it one gets a
"restart is not active", like in the other lisps.
This is a problem when this pattern (of declaring type visibility) is
used the wild (e.g. with iolib: src/sockets/socket-methods.lisp, where
the retry-syscall restart is meant to be invoked (say on EAGAIN), but is
not visible, or if visible, cannot be successfully invoked.)
[I thought I had a different memory from acl81_express from 2007-2009, I
didn't have the distribution tar.bz2 but had a backup of an installed
directory from around then and tried spinning it up under a faketime'd
qemu with a 32bit system from that time, but i couldn't get past the
license checks. (in general allegro express licenses expire too
quickly)
--- Synchronet 3.22a-Linux NewsLink 1.2