#33: get-dispatch-macro-character doesn't signal errors in compiled code
--------------------+-------------------------------------------------------
Reporter: rtoy | Owner: somebody
Type: defect | Status: new
Priority: minor | Milestone:
Component: Core | Version: 19f
Keywords: |
--------------------+-------------------------------------------------------
This example is from the clisp mailing list
{{{
* (defun dispatch-macro-char-p (char rt)
(handler-case (prog1 t
(get-dispatch-macro-character char #\x rt))
(error () nil)))
DISPATCH-MACRO-CHAR-P
* (dispatch-macro-char-p #\$ (copy-readtable nil))
NIL
* (compile 'dispatch-macro-char-p)
DISPATCH-MACRO-CHAR-P
NIL
NIL
* (dispatch-macro-char-p #\$ (copy-readtable nil))
T
}}}
I think this is because {{{get-dispatch-macro-character}}} is declared
to be flushable. I think that's wrong since
{{{get-dispatch-macro-character}}} is supposed to signal errors.
--
Ticket URL: <http://127.0.0.1:8000/cmucl/ticket/33>
cmucl <http://common-lisp.net/project/cmucl>
cmucl
#34: get-dispatch-macro-character doesn't signal errors in compiled code
--------------------+-------------------------------------------------------
Reporter: rtoy | Owner: somebody
Type: defect | Status: new
Priority: minor | Milestone:
Component: Core | Version: 19f
Keywords: |
--------------------+-------------------------------------------------------
This example is from the clisp mailing list
{{{
* (defun dispatch-macro-char-p (char rt)
(handler-case (prog1 t
(get-dispatch-macro-character char #\x rt))
(error () nil)))
DISPATCH-MACRO-CHAR-P
* (dispatch-macro-char-p #\$ (copy-readtable nil))
NIL
* (compile 'dispatch-macro-char-p)
DISPATCH-MACRO-CHAR-P
NIL
NIL
* (dispatch-macro-char-p #\$ (copy-readtable nil))
T
}}}
I think this is because {{{get-dispatch-macro-character}}} is declared
to be flushable. I think that's wrong since
{{{get-dispatch-macro-character}}} is supposed to signal errors.
--
Ticket URL: <http://127.0.0.1:8000/cmucl/ticket/34>
cmucl <http://common-lisp.net/project/cmucl>
cmucl