Hi, After the latest patch, pathname-is-executable-p is no longer a simple function in the sense of SBCL, but has become a closure. Therefore, sb-impl::%simple-fun-arglist fails at extracting the arglist and yields a value that isn't even a list.
This problem can be avoided by replacing sb-impl::%simple-fun-arglist in manual.lisp by sb-introspect:function-arglist which can deal with all kinds of functions (see the attached patch). Regards, Dirk
diff --git a/manual.lisp b/manual.lisp index f3c5f06..422ffde 100644 --- a/manual.lisp +++ b/manual.lisp @@ -26,6 +26,8 @@ (in-package :stumpwm) +(require :sb-introspect) + ;; handy for figuring out which symbol is borking the documentation (defun dprint (sym) (declare (ignorable sym)) @@ -44,7 +46,7 @@ (*print-pretty* nil)) (format s "@defun {~a} ~{~a~^ ~}~%~a~&@end defun~%~%" name - #+sbcl (sb-impl::%simple-fun-arglist fn) + #+sbcl (sb-introspect:function-arglist fn) #+clisp (ext:arglist fn) #- (or sbcl clisp) '("(Check the code for args list)") (documentation fn 'function)) @@ -57,7 +59,7 @@ (*print-pretty* nil)) (format s "@defmac {~a} ~{~a~^ ~}~%~a~&@end defmac~%~%" name - #+sbcl (sb-impl::%simple-fun-arglist (macro-function symbol)) + #+sbcl (sb-introspect:function-arglist (macro-function symbol)) #+clisp (ext:arglist symbol) #- (or sbcl clisp) '("(Check the code for args list)") ;;; FIXME: when clisp compiles @@ -94,7 +96,7 @@ (let ((cmd (symbol-function (find-symbol (string-upcase name) :stumpwm)))) (format s "@deffn {Command} ~a ~{~a~^ ~}~%~a~&@end deffn~%~%" name - #+sbcl (sb-impl::%simple-fun-arglist cmd) + #+sbcl (sb-introspect:function-arglist cmd) #+clisp (ext:arglist cmd) #- (or sbcl clisp) '("(Check the code for args list)") (documentation cmd 'function))
_______________________________________________ Stumpwm-devel mailing list Stumpwm-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/stumpwm-devel