[mcclim-devel] Show Command Table Listener command: error left-clicking field in ACCEPTING-VALUES dialog
I have found a bug that can be reproduced this way. Run the CLIM Listener, enter the command "Show Command Table" and hit ENTER without providing an argument. An ACCEPTING-VALUES dialog prompting for the missing argument appears. Left-clicking the input field generates this error: No matching method for the generic function #<STANDARD-GENERIC-FUNCTION CLIM:COMMAND-TABLE-NAME (1) {284FF439}>, when called with arguments (NIL). [Condition of type PCL::NO-APPLICABLE-METHOD-ERROR] Restarts: 0: [CONTINUE ] Retry call to :FUNCTION. 1: [ABORT ] Return to application command loop 2: [RETURN-TO-LISTENER] Return to listener. 3: [DESTROY ] Destroy the process Debug (type H for help) ("DEFMETHOD NO-APPLICABLE-METHOD (T)" #<unused-arg> #<unused-arg> #<STANDARD-GENERIC-FUNCTION CLIM:COMMAND-TABLE-NAME (1) {284FF439}> (NIL)) Source: Error finding source: Error in function DEBUG::GET-FILE-TOP-LEVEL-FORM: Source file no longer exists: target:pcl/braid.lisp. 0] I use the latest McCLIM CVS sources with CMUCL Snapshot 2005-01 under Slackware Linux 10.0. Paolo -- Lisp Propulsion Laboratory log - http://www.paoloamoroso.it/log
I was trying to replicate this bug, and I find now that loading the clim listener crashes when it's unable to find a compiled version of "/home/rpg/lisp/mcclim/Apps/Listener/icons/CVS". As far as I can tell, this is because the REMOVE-IF #'directoryp in PRECACHE-ICONS is not working for me. Here's the unpleasant behavior that's responsible for the bug: [1] CLIM-LISTENER(9): (setf pn *) #p"/home/rpg/lisp/mcclim/Apps/Listener/icons/CVS" [1] CLIM-LISTENER(10): (directoryp pn) NIL [1] CLIM-LISTENER(11): (pathname-name pn) "CVS" The relevant code snippet: ; There has to be a better way.. (defun directoryp (pathname) "Returns pathname when supplied with a directory, otherwise nil" (if (or (pathname-name pathname) (pathname-type pathname)) nil pathname)) Reasonable-patch-p? (defun directoryp (pathname) "Returns pathname when supplied with a directory, otherwise nil" #+allegro (excl:file-directory-p pathname) #-allegro (if (or (pathname-name pathname) (pathname-type pathname)) nil pathname)) Cheers, r
Argh. Sorry about the command line --- had started out to edit Paolo's message, and didn't successfully remove all of his command line...
participants (2)
-
Paolo Amoroso
-
rpgoldman@real-time.com