[Openmcl-devel] Examining values from inside the debugger

Andrew P. Lentvorski, Jr. bsder at mail.allcaps.org
Mon Aug 16 16:06:18 PDT 2004


Okay, parse-ffi.lisp is driving me nuts.  However, that's not my 
immediate problem.

I made the following patch to parse-ffi.lisp so that it will quit 
failing silently when it does not find a .ffi file:

Index: parse-ffi.lisp
===================================================================
RCS file: /usr/local/tmpcvs/ccl-0.14-dev/ccl/library/parse-ffi.lisp,v
retrieving revision 1.2
diff -r1.2 parse-ffi.lisp
788c788,789
<          (*ffi-global-vars* (make-hash-table :test 'string= 
:hash-function 'sxhash)))
---
 >          (*ffi-global-vars* (make-hash-table :test 'string= 
:hash-function 'sxhash))
 >        (ffi-files (directory (merge-pathnames ";C;**;*.ffi" 
interface-dir))))
790,791c791,792
<     (dolist (f (directory (merge-pathnames ";C;**;*.ffi"
<                                          interface-dir)))
---
 >     (if (eq ffi-files nil) (break))
 >     (dolist (f ffi-files)


Now, I run it:


Andrew-Lentvorskis-Computer:/home/alpha/ccl/library andrewl$ openmcl
Welcome to OpenMCL Version (Beta: Darwin) 0.14.2-040506!
? (require "parse-ffi")
"parse-ffi"
("parse-ffi")
? (ccl::parse-standard-ffi-files :gtk)
 > Break in process listener(1):
 > While executing: CCL::PARSE-STANDARD-FFI-FILES
 > Type :GO to continue, :POP to abort.
 > If continued: Return from BREAK.
Type :? for other options.
1 > (apropos 'i-files)
CCL::FFI-FILES
      I-FILES
CCL::PARSE-STANDARD-FFI-FILES, Def: FUNCTION
1 > (describe 'ccl::ffi-files)
; Warning: Interface file #4P"ccl:darwin-headers;gtk;records.cdb" does 
not exist.
; While executing: CCL::CDB-OPEN
; Warning: Interface file #4P"ccl:darwin-headers;gtk;types.cdb" does 
not exist.
; While executing: CCL::CDB-OPEN
Symbol: CCL::FFI-FILES
; Warning: Interface file #4P"ccl:darwin-headers;gtk;records.cdb" does 
not exist.
; While executing: CCL::CDB-OPEN
; Warning: Interface file #4P"ccl:darwin-headers;gtk;types.cdb" does 
not exist.
; While executing: CCL::CDB-OPEN
INTERNAL in package: #<Package "CCL">
; Warning: Interface file #4P"ccl:darwin-headers;gtk;records.cdb" does 
not exist.
; While executing: CCL::CDB-OPEN
; Warning: Interface file #4P"ccl:darwin-headers;gtk;types.cdb" does 
not exist.
; While executing: CCL::CDB-OPEN
Print name: "FFI-FILES"
; Warning: Interface file #4P"ccl:darwin-headers;gtk;records.cdb" does 
not exist.
; While executing: CCL::CDB-OPEN
; Warning: Interface file #4P"ccl:darwin-headers;gtk;types.cdb" does 
not exist.
; While executing: CCL::CDB-OPEN
Value: #<Unbound>
; Warning: Interface file #4P"ccl:darwin-headers;gtk;records.cdb" does 
not exist.
; While executing: CCL::CDB-OPEN
; Warning: Interface file #4P"ccl:darwin-headers;gtk;types.cdb" does 
not exist.
; While executing: CCL::CDB-OPEN
Function: #<Unbound>
; Warning: Interface file #4P"ccl:darwin-headers;gtk;records.cdb" does 
not exist.
; While executing: CCL::CDB-OPEN
; Warning: Interface file #4P"ccl:darwin-headers;gtk;types.cdb" does 
not exist.
; While executing: CCL::CDB-OPEN
Plist: NIL
1 > ;; Huh?!?!?!  That wasn't expected ...
;; Let's try something simpler
ccl::ffi-files
 > Error in process listener(1): Unbound variable: CCL::FFI-FILES
 > While executing: "Unknown"
 > Type :GO to continue, :POP to abort.
 > If continued: Retry getting the value of CCL::FFI-FILES.
Type :? for other options.
2 > ;; Huh? Why undefined?  It should have been nil ...


What am I missing?  Does this have something to do with compiling 
versus interpreting?  I *know* that ffi-files is nil, not unbound.  
Otherwise, the break would not have fired.  However, I can't seem to 
find it with the debugger.

Do I need to use a different directive to throw things into the 
debugger?  Do I need to put in some sort of declare directive?

I would like to examine more of the variables of 
parse-standard-ffi-files, but I can't seem to get at them.

Thanks,
-a




More information about the Openmcl-devel mailing list