From: Robert E. B. <bb...@sp...> - 2003-02-01 21:23:31
|
The Hyperspec says the RESTART-BIND macro can have key/value pairs where the key is :TEST-FUNCTION. SBCL seems to call this key option :TEST-FUN instead. Here's a patch that fixes the typo and adds a few declarations to get rid of some optimization notes. bob ==================== Index: target-error.lisp =================================================================== RCS file: /cvsroot/sbcl/sbcl/src/code/target-error.lisp,v retrieving revision 1.7 diff -c -r1.7 target-error.lisp *** target-error.lisp 14 Dec 2002 22:10:08 -0000 1.7 --- target-error.lisp 1 Feb 2003 21:16:12 -0000 *************** *** 23,32 **** (defstruct (restart (:copier nil) (:predicate nil)) (name (missing-arg) :type symbol :read-only t) ! function ! report-function ! interactive-function ! (test-fun (lambda (cond) (declare (ignore cond)) t))) (def!method print-object ((restart restart) stream) (if *print-escape* (print-unreadable-object (restart stream :type t :identity t) --- 23,32 ---- (defstruct (restart (:copier nil) (:predicate nil)) (name (missing-arg) :type symbol :read-only t) ! (function (missing-arg) :type function) ! (report-function nil :type (or null function)) ! (interactive-function nil :type (or null function)) ! (test-function (lambda (cond) (declare (ignore cond)) t) :type function)) (def!method print-object ((restart restart) stream) (if *print-escape* (print-unreadable-object (restart stream :type t :identity t) *************** *** 51,57 **** (when (and (or (not condition) (member restart associated) (not (member restart other))) ! (funcall (restart-test-fun restart) condition)) (res restart)))) (res)))) --- 51,58 ---- (when (and (or (not condition) (member restart associated) (not (member restart other))) ! (funcall (restart-test-function restart) ! condition)) (res restart)))) (res)))) *************** *** 208,214 **** :interactive-function result))) (when test ! (setq result (list* `#',test :test-fun result))) (nreverse result))) (parse-keyword-pairs (list keys) (do ((l list (cddr l)) --- 209,215 ---- :interactive-function result))) (when test ! (setq result (list* `#',test :test-function result))) (nreverse result))) (parse-keyword-pairs (list keys) (do ((l list (cddr l)) |
From: William H. N. <wil...@ai...> - 2003-02-02 02:38:27
|
On Sat, Feb 01, 2003 at 01:23:27PM -0800, Robert E. Brown wrote: > The Hyperspec says the RESTART-BIND macro can have key/value pairs where the > key is :TEST-FUNCTION. SBCL seems to call this key option :TEST-FUN > instead. Here's a patch that fixes the typo and adds a few declarations to > get rid of some optimization notes. Ouch. Someone got careless when using emacs macros to standardize internal names as FOO-FUN instead of FOO-FUNCTION and FOO-FUNC and so forth.:-( This or something quite like it will probably be checked in by sometime tomorrow. Thanks. -- William Harold Newman <wil...@ai...> Furious activity is no substitute for understanding. -- H. H. Williams PGP key fingerprint 85 CE 1C BA 79 8D 51 8C B9 25 FB EE E0 C3 E5 7C |
From: William H. N. <wil...@ai...> - 2003-02-02 14:05:29
|
On Sat, Feb 01, 2003 at 08:22:38PM -0600, William Harold Newman wrote: > On Sat, Feb 01, 2003 at 01:23:27PM -0800, Robert E. Brown wrote: > > The Hyperspec says the RESTART-BIND macro can have key/value pairs where the > > key is :TEST-FUNCTION. SBCL seems to call this key option :TEST-FUN > > instead. Here's a patch that fixes the typo and adds a few declarations to > > get rid of some optimization notes. > > This or something quite like it will probably be checked in by > sometime tomorrow. Thanks. I've now checked it in as sbcl-0.7.12.15. Thanks again. -- William Harold Newman <wil...@ai...> Furious activity is no substitute for understanding. -- H. H. Williams PGP key fingerprint 85 CE 1C BA 79 8D 51 8C B9 25 FB EE E0 C3 E5 7C |