From: SourceForge.net <no...@so...> - 2009-09-27 15:37:25
|
Bugs item #2868166, was opened at 2009-09-27 11:37 Message generated for change (Tracker Item Submitted) made by sds You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=101355&aid=2868166&group_id=1355 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: Sam Steingold (sds) Assigned to: Nobody/Anonymous (nobody) Summary: too aggressive funcall eliminaton Initial Comment: http://thread.gmane.org/gmane.lisp.clisp.devel/20915 Tobias C. Rittweiler wrote: > [1]> (defun dispatch-macro-char-p (char rt) > (handler-case (prog1 t > (get-dispatch-macro-character char #\x rt)) > (error () nil))) > DISPATCH-MACRO-CHAR-P > [2]> (dispatch-macro-char-p #\$ (copy-readtable nil)) > NIL > [3]> (compile 'dispatch-macro-char-p) > DISPATCH-MACRO-CHAR-P ; > NIL ; > NIL > [4]> (dispatch-macro-char-p #\$ (copy-readtable nil)) > T confirmed. the reason is that the compiler folds the get-dispatch-macro-character call because the function is marked as seclass_read. (this is done in c-DIRECT-FUNCTION-CALL). ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=101355&aid=2868166&group_id=1355 |
From: SourceForge.net <no...@so...> - 2009-09-27 15:38:31
|
Bugs item #2868166, was opened at 2009-09-27 11:37 Message generated for change (Settings changed) made by sds You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=101355&aid=2868166&group_id=1355 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. >Category: clisp >Group: ANSI compliance issue >Status: Closed >Resolution: Fixed Priority: 5 Private: No Submitted By: Sam Steingold (sds) >Assigned to: Sam Steingold (sds) Summary: too aggressive funcall eliminaton Initial Comment: http://thread.gmane.org/gmane.lisp.clisp.devel/20915 Tobias C. Rittweiler wrote: > [1]> (defun dispatch-macro-char-p (char rt) > (handler-case (prog1 t > (get-dispatch-macro-character char #\x rt)) > (error () nil))) > DISPATCH-MACRO-CHAR-P > [2]> (dispatch-macro-char-p #\$ (copy-readtable nil)) > NIL > [3]> (compile 'dispatch-macro-char-p) > DISPATCH-MACRO-CHAR-P ; > NIL ; > NIL > [4]> (dispatch-macro-char-p #\$ (copy-readtable nil)) > T confirmed. the reason is that the compiler folds the get-dispatch-macro-character call because the function is marked as seclass_read. (this is done in c-DIRECT-FUNCTION-CALL). ---------------------------------------------------------------------- Comment By: Sam Steingold (sds) Date: 2009-09-27 11:38 Message: thank you for your bug report. the bug has been fixed in the CVS tree. you can either wait for the next release (recommended) or check out the current CVS tree (see http://clisp.cons.org) and build CLISP from the sources (be advised that between releases the CVS tree is very unstable and may not even build on your platform). ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=101355&aid=2868166&group_id=1355 |