[Openmcl-devel] problem regenerating .cdb for gtk2

Gary Byers gb at clozure.com
Tue Dec 6 00:30:59 UTC 2005


The bug's actually in 1.0's hash-table code.

OpenMCL allows hash-tables with non-standard :TEST functions (other than
EQ, EQL, EQUAL, EQUALP).  In 1.0's hashing code, I changed the order
in which tests are applied to a potentially-matching key from:

   (if (entry-in-table-is-free)
     (handle-free-entry-case)
     (if (entry-in-table-is-deleted)
       (handle-deleted-entry-case)
       (if (funcall test key entry-in-table)
         (found-it))))

to call the test function before checking for free/deleted entries;
that fails if the test function can't handle the markers that're
used to represent free/deleted entries.

The lisp side of the interface translator ("ccl:library;parse-ffi.lisp")
has about 8 or 10 calls to MAKE-HASH-TABLE with a non-standard :TEST
function of #'STRING= (and with a :HASH-FUNCTION of #'SXHASH, IIRC).

(The marker used to indicate a free hash table entry is the same
marker used to indicate that a symbol is unbound; because the
hash-table code applies the test before checking for free or
deleted entries, you get STRING= complaining about the fact that
that marker isn't a string.)

Changing the ~10 calls to MAKE-HASH-TABLE in parse-ffi.lisp to just
use a :TEST of #'EQUAL should work around the bug (and it's not clear
that #'STRING= would be any better/faster in this case, anyway.)


On Mon, 5 Dec 2005, Rick Taube wrote:

> Im having problems regenerating my gtk2 .cdb files for openmcl 1.0 (it
> currently works fine in 0.14.3)
> i installed the new ffigen and -- as far as I can tell -- the process
> of actually regenerating the gtk.ffi file was successful (no errors and
> the resulting file is about the same size as one for ccl 0.14.3)
>
> howver, when i call (ccl::parse-standard-ffi-files :gtk2) I get the
> error:
>
> > Error in process listener(1): value #<Unbound> is not of the expected
> type (COMMON-LISP:OR COMMON-LISP:STRING COMMON-LISP:SYMBOL
>
> this error seems to concerns this definition in gtk.ffi:
>
> -------------------
> (type ("/Lisp/ffigen-gcc-4.0.0/bin/../ffigen/include/stddef.h" 152)
>  "ptrdiff_t"
>  (int ()))
> -------------------
>
> Im not sure how to go about debugging this, any pointers appreciated.
> Here is a trace of relevant info
>
> --rick
>
>
>
> pinhead:/Lisp/ccl/darwin-headers/gtk2 hkt$ pwd
> /Lisp/ccl/darwin-headers/gtk2
>
> pinhead:/Lisp/ccl/darwin-headers/gtk2 hkt$ cat C/populate.sh
> #!/bin/sh
> /Lisp/ffigen-gcc-4.0.0/bin/h-to-ffi.sh `pkg-config --cflags gtk+-2.0`
> /sw/include/gtk-2.0/gtk/gtk.h
> pinhead:/Lisp/ccl/darwin-headers/gtk2 hkt$
>
> pinhead:/Lisp/ccl/darwin-headers/gtk2 hkt$ ls -l
> C/sw/include/gtk-2.0/gtk
> total 3112
> -rw-r--r--  1 hkt  admin  1590416  5 Dec 17:20 gtk.ffi
>
> pinhead:/Lisp/ccl/darwin-headers/gtk2 hkt$ openmcl
> Welcome to OpenMCL Version 1.0 (DarwinPPC32)!
> ? (require :parse-ffi)
> :PARSE-FFI
> ("PARSE-FFI")
> ? (ccl::parse-standard-ffi-files :gtk2)
> #P"/Lisp/ccl/darwin-headers/gtk2/C/sw/include/gtk-2.0/gtk/gtk.ffi" ...
> > Error in process listener(1): value #<Unbound> is not of the expected
> type (COMMON-LISP:OR COMMON-LISP:STRING COMMON-LISP:SYMBOL
> COMMON-LISP:CHARACTER).
> > While executing: COMMON-LISP:STRING
> > Type :POP to abort.
> Type :? for other options.
>
> 1 > (:b t)
> (F0135B70) : 0 "COMMON-LISP:STRING" 200
>   0 : COMMON-LISP:NIL ("saved SAVE0")
>
> (F0135B80) : 1 "CCL::STRING-START-END" 48
>   0 : "ptrdiff_t" ("saved SAVE0")
>   1 : #<Unbound> ("saved SAVE1")
>   2 : 0 ("saved SAVE2")
>   3 : 9 ("saved SAVE3")
>
> (F0135B90) : 2 COMMON-LISP:NIL NIL
>
> (F0135BA0) : 3 "COMMON-LISP:STRING=" 260
>   0 : "ptrdiff_t" ("required")
>   1 : #<Unbound> ("required")
>   2 : COMMON-LISP:NIL ("keyword")
>   3 : COMMON-LISP:NIL ("key-supplied-p")
>   4 : COMMON-LISP:NIL ("keyword")
>   5 : COMMON-LISP:NIL ("key-supplied-p")
>   6 : COMMON-LISP:NIL ("keyword")
>   7 : COMMON-LISP:NIL ("key-supplied-p")
>   8 : COMMON-LISP:NIL ("keyword")
>   9 : COMMON-LISP:NIL ("key-supplied-p")
>   10 : 37 ("saved SAVE0")
>   11 : 84 ("saved SAVE1")
>   12 : COMMON-LISP:NIL ("saved SAVE2")
>   13 : #<Unbound> ("saved SAVE3")
>   14 : "ptrdiff_t" ("saved SAVE4")
>   15 : 71 ("saved SAVE5")
>
> (F0135BB0) : 4 "CCL::%HASH-PROBE" 2212
>   0 CCL::HASH: #<HASH-TABLE :TEST COMMON-LISP:STRING= size 0/60
> #x83F2A56> ("required")
>   1 CCL::UPDATE-HASH-FLAGS: COMMON-LISP:NIL ("required")
>   2 : #<HASH-TABLE-VECTOR  #x83F2AC6> ("saved SAVE0")
>   3 : #<HASH-TABLE :TEST COMMON-LISP:STRING= size 0/60 #x83F2A56>
> ("saved SAVE1")
>   4 : COMMON-LISP:NIL ("saved SAVE2")
>   5 : COMMON-LISP:NIL ("saved SAVE3")
>   6 : #<HASH-TABLE :TEST COMMON-LISP:EQUAL size 0/60 #x83F1E96> ("saved
> SAVE4")
>   7 : COMMON-LISP:MAKE-HASH-TABLE ("saved SAVE5")
>   8 : #<FILE-CHARACTER-INPUT-STREAM
> ("/Lisp/ccl/darwin-headers/gtk2/C/sw/include/gtk-2.0/gtk/gtk.ffi"/4)
> #x83F1C2E> ("saved SAVE6")
>   9 : CCL:STRUCTURE-TYPEP ("saved SAVE7")
>   10 CCL::HASH-CODE: 7269727
>   11 : 37
>   12 : 71
>   13 CCL::COMPAREF: COMMON-LISP:STRING=
>
> (F0135BC0) : 5 "COMMON-LISP:GETHASH" 452
>   0 CCL::KEY: "ptrdiff_t" ("required")
>   1 CCL::DEFAULT: COMMON-LISP:NIL ("required")
>   2 : "ptrdiff_t" ("saved SAVE0")
>   3 : (:TYPE ("/Lisp/ffigen-gcc-4.0.0/bin/../ffigen/include/stddef.h"
> 152) "ptrdiff_t" (:INT COMMON-LISP:NIL)) ("saved SAVE1")
>   4 : #<FFI-MACRO NIL #x840D566> ("saved SAVE2")
>   5 : COMMON-LISP:NIL ("saved SAVE3")
>   6 : #<HASH-TABLE :TEST COMMON-LISP:EQUAL size 0/60 #x83F1E96> ("saved
> SAVE4")
>   7 : COMMON-LISP:MAKE-HASH-TABLE ("saved SAVE5")
>   8 CCL::INTERRUPT-LEVEL: 0
>   9 : #<Compiled-function CCL::GENERAL-HASH-FIND #x80167E6>
>
> (F0135BD0) : 6 "CCL::FIND-OR-CREATE-FFI-TYPEDEF" 44
>   0 : :TYPE ("saved SAVE0")
>
> (F0135BE0) : 7 "CCL::PROCESS-FFI-TYPEDEF" 80
>   0 CCL::FORM: (:TYPE
> ("/Lisp/ffigen-gcc-4.0.0/bin/../ffigen/include/stddef.h" 152)
> "ptrdiff_t" (:INT COMMON-LISP:NIL)) ("required")
>   1 : :TYPE ("saved SAVE0")
>   2 COMMON-LISP:STRING: "ptrdiff_t"
>
> (F0135BF0) : 8 "CCL::PARSE-FFI" 976
>   0 CCL::INPATH:
> #P"/Lisp/ccl/darwin-headers/gtk2/C/sw/include/gtk-2.0/gtk/gtk.ffi"
> ("required")
>   1 : COMMON-LISP:NIL ("saved SAVE0")
>   2 :
> #P"/Lisp/ccl/darwin-headers/gtk2/C/sw/include/gtk-2.0/gtk/gtk.ffi"
> ("saved SAVE1")
>   3 : COMMON-LISP:MERGE-PATHNAMES ("saved SAVE2")
>   4 : COMMON-LISP:MAKE-HASH-TABLE ("saved SAVE3")
>   5 : COMMON-LISP:MAPHASH ("saved SAVE4")
>   6 : #P"ccl:darwin-headers;gtk2;" ("saved SAVE5")
>   7 : CCL::CDBM-OPEN ("saved SAVE6")
>   8 : CCL::CDBM-CLOSE ("saved SAVE7")
>   9 CCL::*FFI-TYPEDEFS*: #<Unbound> (:SAVED-SPECIAL)
>   10 CCL::*FFI-UNIONS*: #<Unbound> (:SAVED-SPECIAL)
>   11 CCL::*FFI-STRUCTS*: #<Unbound> (:SAVED-SPECIAL)
>   12 CCL::*FFI-OBJC-CLASSES*: COMMON-LISP:NIL (:SAVED-SPECIAL)
>   13 CCL::DEFINED-TYPES: COMMON-LISP:NIL
>   14 CCL::DEFINED-CONSTANTS: COMMON-LISP:NIL
>   15 CCL::DEFINED-MACROS: (#<FFI-MACRO NIL #x840D566> #<FFI-MACRO NIL
> #x840D62E> #<FFI-MACRO NIL #x840D6F6> #<FFI-MACRO NIL #x840D7BE>
> #<FFI-MACRO NIL #x840D87E> #<FFI-MACRO NIL #x840D93E> #<FFI-MACRO NIL
> #x840D9FE> #<FFI-MACRO NIL #x840DABE> #<FFI-MACRO NIL #x840DB7E>
> #<FFI-MACRO NIL #x840DC3E> #<FFI-MACRO NIL #x840DD06> #<FFI-MACRO NIL
> #x840DDC6> #<FFI-MACRO NIL #x840DE86> #<FFI-MACRO NIL #x840DF36>
> #<FFI-MACRO NIL #x840DFEE> #<FFI-MACRO NIL #x840E09E> #<FFI-MACRO NIL
> #x840E14E> #<FFI-MACRO NIL #x840E1EE> #<FFI-MACRO NIL #x840E29E>
> #<FFI-MACRO NIL #x840E34E> #<FFI-MACRO NIL #x840E3F6> #<FFI-MACRO NIL
> #x840E49E> #<FFI-MACRO NIL #x840E546> #<FFI-MACRO NIL #x840E5EE>
> #<FFI-MACRO NIL #x840E696> #<FFI-MACRO NIL #x840E74E> #<FFI-MACRO NIL
> #x840E7F6> #<FFI-MACRO NIL #x840E89E> #<FFI-MACRO NIL #x840E94E>
> #<FFI-MACRO NIL #x840E9F6> #<FFI-MACRO NIL #x840EAA6> #<FFI-MACRO NIL
> #x840EB4E> #<FFI-MACRO NIL #x840EBFE> #<FFI-MACRO NIL #x840ECAE>
> #<FFI-MACRO NIL #x840ED5E> #<FFI-MACRO NIL #x840EE0E> #<FFI-MACRO NIL
> #x840EEC6> #<FFI-MACRO NIL #x840EF76> #<FFI-MACRO NIL #x840F02E>
> #<FFI-MACRO NIL #x840F0E6> #<FFI-MACRO NIL #x840F1BE> #<FFI-MACRO NIL
> #x840F296> #<FFI-MACRO NIL #x840F366> #<FFI-MACRO NIL #x840F436>
> #<FFI-MACRO NIL #x840F4E6> #<FFI-MACRO NIL #x840F596> #<FFI-MACRO NIL
> #x840F646> #<FFI-MACRO NIL #x840F6FE> #<FFI-MACRO NIL #x840F7B6>
> #<FFI-MACRO NIL #x840F85E> #<FFI-MACRO NIL #x840F90E> #<FFI-MACRO NIL
> #x840F9C6> #<FFI-MACRO NIL #x840FA76> #<FFI-MACRO NIL #x840FB3E>
> #<FFI-MACRO NIL #x840FC06> #<FFI-MACRO NIL #x840FCC6> #<FFI-MACRO NIL
> #x840FD86> #<FFI-MACRO NIL #x840FE36> #<FFI-MACRO NIL #x840FEE6>
> #<FFI-MACRO NIL #x840FF9E> #<FFI-MACRO NIL #x83F005E> #<FFI-MACRO NIL
> #x83F0106> #<FFI-MACRO NIL #x83F01B6> #<FFI-MACRO NIL #x83F026E>
> #<FFI-MACRO NIL #x83F031E> #<FFI-MACRO NIL #x83F03DE> #<FFI-MACRO NIL
> #x83F049E> #<FFI-MACRO NIL #x83F0556> #<FFI-MACRO NIL #x83F060E>
> #<FFI-MACRO NIL #x83F06BE> #<FFI-MACRO NIL #x83F076E> #<FFI-MACRO NIL
> #x83F0826> #<FFI-MACRO NIL #x83F08DE> #<FFI-MACRO NIL #x83F0986>
> #<FFI-MACRO NIL #x83F0A36> #<FFI-MACRO NIL #x83F0AE6> #<FFI-MACRO NIL
> #x83F0B96> #<FFI-MACRO NIL #x83F0C5E> #<FFI-MACRO NIL #x83F0D06>
> #<FFI-MACRO NIL #x83F0DBE> #<FFI-MACRO NIL #x83F0E86> #<FFI-MACRO NIL
> #x83F0F36> #<FFI-MACRO NIL #x83F0FE6> #<FFI-MACRO NIL #x83F1096>
> #<FFI-MACRO NIL #x83F1146> #<FFI-MACRO NIL #x83F11F6> #<FFI-MACRO NIL
> #x83F12BE> #<FFI-MACRO NIL #x83F137E> #<FFI-MACRO NIL #x83F142E>
> #<FFI-MACRO NIL #x83F14DE> #<FFI-MACRO NIL #x83F158E> #<FFI-MACRO NIL
> #x83F164E> #<FFI-MACRO NIL #x83F16FE> #<FFI-MACRO NIL #x83F17AE>
> #<FFI-MACRO NIL #x83F1856> #<FFI-MACRO NIL #x83F18FE>)
>   16 CCL::DEFINED-FUNCTIONS: COMMON-LISP:NIL
>   17 CCL::DEFINED-VARS: COMMON-LISP:NIL
>   18 #:G153: #<FILE-CHARACTER-INPUT-STREAM
> ("/Lisp/ccl/darwin-headers/gtk2/C/sw/include/gtk-2.0/gtk/gtk.ffi"/4)
> #x83F1C2E>
>   19 #:G154: COMMON-LISP:NIL
>   20 CCL::*FFI-ORDINAL*: -1 (:SAVED-SPECIAL)
>   21 COMMON-LISP:*PACKAGE*: #<Package "COMMON-LISP-USER">
> (:SAVED-SPECIAL)
>
> (F0135C10) : 9 "CCL::PARSE-STANDARD-FFI-FILES" 812
>   0 CCL::DIRNAME: :GTK2 ("required")
>   1 CCL::TARGET: COMMON-LISP:NIL ("optional")
>   2 : #<SVAR COMMON-LISP:*PACKAGE* 43 #x802740E> ("saved SAVE0")
>   3 : #<SYNONYM-STREAM to COMMON-LISP:*TERMINAL-IO* #x8389386> ("saved
> SAVE1")
>   4 : (COMMON-LISP:NIL) ("saved SAVE2")
>   5 : (:PARSE-FFI ("PARSE-FFI")) ("saved SAVE3")
>   6 : 0 ("saved SAVE4")
>   7 : COMMON-LISP:T ("saved SAVE5")
>   8 : #<SYNONYM-STREAM to COMMON-LISP:*TERMINAL-IO* #x83892BE> ("saved
> SAVE6")
>   9 : #<Anonymous Function #x80E8E4E> ("saved SAVE7")
>   10 CCL::BACKEND: #<BACKEND DARWINPPC32 #x81DEC4E>
>   11 CCL::FTD: #S(CCL::FOREIGN-TYPE-DATA :TRANSLATORS #<HASH-TABLE
> :TEST COMMON-LISP:EQ size 16/60 #x829D876> :KIND-INFO #<HASH-TABLE
> :TEST COMMON-LISP:EQ size 25/60 #x829D596> :DEFINITIONS #<HASH-TABLE
> :TEST COMMON-LISP:EQ size 25/60 #x829D2B6> :STRUCT-DEFINITIONS
> #<HASH-TABLE :TEST COMMON-LISP:EQ size 3/60 #x829CFD6>
> :UNION-DEFINITIONS #<HASH-TABLE :TEST COMMON-LISP:EQ size 0/60
> #x829CCF6> :ENUM-DEFINITIONS #<HASH-TABLE :TEST COMMON-LISP:EQ size
> 0/60 #x829CA16> :INTERFACE-DB-DIRECTORY "ccl:darwin-headers;"
> :INTERFACE-PACKAGE-NAME "DARWIN32" :EXTERNAL-FUNCTION-DEFINITIONS
> #<HASH-TABLE :TEST COMMON-LISP:EQ size 0/60 #x829C736> :DIRLIST
> #<DLL-HEADER  #x829C726> :ATTRIBUTES (:SIGNED-CHAR COMMON-LISP:T
> :STRUCT-BY-VALUE COMMON-LISP:T :PREPEND-UNDERSCORES COMMON-LISP:T
> :BITS-PER-WORD 32))
>   12 CCL::*PARSE-FFI-TARGET-FTD*: #S(CCL::FOREIGN-TYPE-DATA
> :TRANSLATORS #<HASH-TABLE :TEST COMMON-LISP:EQ size 16/60 #x829D876>
> :KIND-INFO #<HASH-TABLE :TEST COMMON-LISP:EQ size 25/60 #x829D596>
> :DEFINITIONS #<HASH-TABLE :TEST COMMON-LISP:EQ size 25/60 #x829D2B6>
> :STRUCT-DEFINITIONS #<HASH-TABLE :TEST COMMON-LISP:EQ size 3/60
> #x829CFD6> :UNION-DEFINITIONS #<HASH-TABLE :TEST COMMON-LISP:EQ size
> 0/60 #x829CCF6> :ENUM-DEFINITIONS #<HASH-TABLE :TEST COMMON-LISP:EQ
> size 0/60 #x829CA16> :INTERFACE-DB-DIRECTORY "ccl:darwin-headers;"
> :INTERFACE-PACKAGE-NAME "DARWIN32" :EXTERNAL-FUNCTION-DEFINITIONS
> #<HASH-TABLE :TEST COMMON-LISP:EQ size 0/60 #x829C736> :DIRLIST
> #<DLL-HEADER  #x829C726> :ATTRIBUTES (:SIGNED-CHAR COMMON-LISP:T
> :STRUCT-BY-VALUE COMMON-LISP:T :PREPEND-UNDERSCORES COMMON-LISP:T
> :BITS-PER-WORD 32)) (:SAVED-SPECIAL)
>   13 CCL::*TARGET-FTD*: #S(CCL::FOREIGN-TYPE-DATA :TRANSLATORS
> #<HASH-TABLE :TEST COMMON-LISP:EQ size 16/60 #x829D876> :KIND-INFO
> #<HASH-TABLE :TEST COMMON-LISP:EQ size 25/60 #x829D596> :DEFINITIONS
> #<HASH-TABLE :TEST COMMON-LISP:EQ size 25/60 #x829D2B6>
> :STRUCT-DEFINITIONS #<HASH-TABLE :TEST COMMON-LISP:EQ size 3/60
> #x829CFD6> :UNION-DEFINITIONS #<HASH-TABLE :TEST COMMON-LISP:EQ size
> 0/60 #x829CCF6> :ENUM-DEFINITIONS #<HASH-TABLE :TEST COMMON-LISP:EQ
> size 0/60 #x829CA16> :INTERFACE-DB-DIRECTORY "ccl:darwin-headers;"
> :INTERFACE-PACKAGE-NAME "DARWIN32" :EXTERNAL-FUNCTION-DEFINITIONS
> #<HASH-TABLE :TEST COMMON-LISP:EQ size 0/60 #x829C736> :DIRLIST
> #<DLL-HEADER  #x829C726> :ATTRIBUTES (:SIGNED-CHAR COMMON-LISP:T
> :STRUCT-BY-VALUE COMMON-LISP:T :PREPEND-UNDERSCORES COMMON-LISP:T
> :BITS-PER-WORD 32)) (:SAVED-SPECIAL)
>   14 CCL::*TARGET-BACKEND*: #<BACKEND DARWINPPC32 #x81DEC4E>
> (:SAVED-SPECIAL)
>   15 CCL::D: #<INTERFACE-DIR :GTK2 #P"gtk2/" #x83F55AE>
>   16 CCL::*PREPEND-UNDERSCORES-TO-FFI-FUNCTION-NAMES*: COMMON-LISP:NIL
> (:SAVED-SPECIAL)
>   17 CCL::*FFI-GLOBAL-TYPEDEFS*: COMMON-LISP:NIL (:SAVED-SPECIAL)
>   18 CCL::*FFI-GLOBAL-UNIONS*: COMMON-LISP:NIL (:SAVED-SPECIAL)
>   19 CCL::*FFI-GLOBAL-STRUCTS*: COMMON-LISP:NIL (:SAVED-SPECIAL)
>   20 CCL::*FFI-GLOBAL-OBJC-CLASSES*: COMMON-LISP:NIL (:SAVED-SPECIAL)
>   21 CCL::*FFI-GLOBAL-OBJC-MESSAGES*: COMMON-LISP:NIL (:SAVED-SPECIAL)
>   22 CCL::*FFI-GLOBAL-FUNCTIONS*: COMMON-LISP:NIL (:SAVED-SPECIAL)
>   23 CCL::*FFI-GLOBAL-CONSTANTS*: COMMON-LISP:NIL (:SAVED-SPECIAL)
>   24 CCL::*FFI-GLOBAL-VARS*: COMMON-LISP:NIL (:SAVED-SPECIAL)
>
> (F0135C20) : 10 COMMON-LISP:NIL NIL
>
> (F0135C30) : 11 "CCL::CALL-CHECK-REGS" 72
>   0 CCL::FN: CCL::PARSE-STANDARD-FFI-FILES ("required")
>   1 CCL::ARGS: (:GTK2) ("rest")
>   2 CCL::OLD-REGS: (#<SVAR COMMON-LISP:*PACKAGE* 43 #x802740E>
> #<SYNONYM-STREAM to COMMON-LISP:*TERMINAL-IO* #x8389386>
> (COMMON-LISP:NIL) (:PARSE-FFI ("PARSE-FFI")) 0 COMMON-LISP:T
> #<SYNONYM-STREAM to COMMON-LISP:*TERMINAL-IO* #x83892BE> #<Anonymous
> Function #x80E8E4E>)
>   3 : CCL::PARSE-STANDARD-FFI-FILES
>
> (F0135C40) : 12 COMMON-LISP:NIL NIL
>
> (F0135C50) : 13 "CCL::TOPLEVEL-EVAL" 152
>   0 CCL::FORM: (CCL::PARSE-STANDARD-FFI-FILES :GTK2) ("required")
>   1 : COMMON-LISP:NIL ("optional")
>   2 : (CCL::PARSE-STANDARD-FFI-FILES :GTK2) ("saved SAVE0")
>   3 CCL:*LOADING-FILE-SOURCE-FILE*: COMMON-LISP:NIL (:SAVED-SPECIAL)
>   4 COMMON-LISP:PACKAGE: #<Package "COMMON-LISP-USER">
>
> (F0135C60) : 14 "CCL::READ-LOOP" 848
>   0 : 0 ("keyword")
>   1 : COMMON-LISP:T ("key-supplied-p")
>   2 : COMMON-LISP:NIL ("keyword")
>   3 : COMMON-LISP:NIL ("key-supplied-p")
>   4 : #<SYNONYM-STREAM to COMMON-LISP:*TERMINAL-IO* #x8389386>
> ("keyword")
>   5 : COMMON-LISP:T ("key-supplied-p")
>   6 : #<SYNONYM-STREAM to COMMON-LISP:*TERMINAL-IO* #x83892BE>
> ("keyword")
>   7 : COMMON-LISP:T ("key-supplied-p")
>   8 : #S(CCL::SHARED-RESOURCE :NAME "Shared Terminal Input" :LOCK
> #<RECURSIVE-LOCK [ptr @ #x100EE0] #x838922E> :PRIMARY-OWNER #<PROCESS
> listener(1) [Active] #x8388F66> :PRIMARY-OWNER-NOTIFY #<CCL:SEMAPHORE
> #x83891FE> :CURRENT-OWNER COMMON-LISP:NIL :REQUESTORS #<DLL-HEADER
> #x83891EE>) ("saved SAVE0")
>   9 : #<SVAR CCL::*AUTO-FLUSH-STREAMS* 366 #x811DA5E> ("saved SAVE1")
>   10 : #<A Mac Pointer #x1007A0> ("saved SAVE2")
>   11 : 0 ("saved SAVE3")
>   12 : 0 ("saved SAVE4")
>   13 : 0 ("saved SAVE5")
>   14 : 0 ("saved SAVE6")
>   15 : 0 ("saved SAVE7")
>   16 CCL::*BREAK-LEVEL*: 0 (:SAVED-SPECIAL)
>   17 CCL::*LAST-BREAK-LEVEL*: 0 (:SAVED-SPECIAL)
>   18 CCL:*LOADING-FILE-SOURCE-FILE*: "ccl:l1;l1-boot-3.lisp.newest"
> (:SAVED-SPECIAL)
>   19 CCL::*IN-READ-LOOP*: COMMON-LISP:NIL (:SAVED-SPECIAL)
>   20 COMMON-LISP:***: COMMON-LISP:NIL (:SAVED-SPECIAL)
>   21 COMMON-LISP:**: COMMON-LISP:NIL (:SAVED-SPECIAL)
>   22 COMMON-LISP:*: COMMON-LISP:NIL (:SAVED-SPECIAL)
>   23 COMMON-LISP:+++: COMMON-LISP:NIL (:SAVED-SPECIAL)
>   24 COMMON-LISP:++: COMMON-LISP:NIL (:SAVED-SPECIAL)
>   25 COMMON-LISP:+: COMMON-LISP:NIL (:SAVED-SPECIAL)
>   26 COMMON-LISP:///: COMMON-LISP:NIL (:SAVED-SPECIAL)
>   27 COMMON-LISP://: COMMON-LISP:NIL (:SAVED-SPECIAL)
>   28 COMMON-LISP:/: COMMON-LISP:NIL (:SAVED-SPECIAL)
>   29 COMMON-LISP:-: COMMON-LISP:NIL (:SAVED-SPECIAL)
>   30 #:ABORT-BREAK: #<COMMON-LISP:RESTART CCL:ABORT-BREAK #x4B8CBE>
>   31 #:ABORT: #<COMMON-LISP:RESTART COMMON-LISP:ABORT #x4B8C96>
>   32 #:G24872: (#<COMMON-LISP:RESTART COMMON-LISP:ABORT #x4B8C96>
> #<COMMON-LISP:RESTART CCL:ABORT-BREAK #x4B8CBE>)
>   33 CCL::%RESTARTS%: ((#<COMMON-LISP:RESTART CCL:ABORT-BREAK #x4B8DF6>
> #<COMMON-LISP:RESTART COMMON-LISP:ABORT #x4B8E1E>)) (:SAVED-SPECIAL)
>   34 : (CCL::PARSE-STANDARD-FFI-FILES :GTK2)
>   35 CCL::PATH: COMMON-LISP:NIL
>   36 : COMMON-LISP:T
>
> (F0135CA0) : 15 "CCL:TOPLEVEL-LOOP" 88
>
> (F0135CC0) : 16 "Anonymous Function #x80D2DBE" 68
>   0 CCL::INIT-FILE: "home:openmcl-init" (:INHERITED)
>
> (F0135CD0) : 17 COMMON-LISP:NIL NIL
>
> (F0135CE0) : 18 "Anonymous Function #x811DA6E" 728
>   0 CCL::CLOSE-STREAMS: COMMON-LISP:NIL (:INHERITED)
>   1 CCL::CLEANUP-FUNCTION: #<CCL:COMPILED-LEXICAL-CLOSURE #x8389166>
> (:INHERITED)
>   2 CCL::INITIAL-FUNCTION: #<CCL:COMPILED-LEXICAL-CLOSURE #x838914E>
> (:INHERITED)
>   3 CCL:OUTPUT-STREAM: #<FD-CHARACTER-OUTPUT-STREAM (TTY/1) #x8389716>
> (:INHERITED)
>   4 CCL:INPUT-STREAM: #<FD-CHARACTER-INPUT-STREAM (TTY/0) #x838998E>
> (:INHERITED)
>   5 : (#<COMMON-LISP:RESTART CCL:ABORT-BREAK #x4B8DF6>
> #<COMMON-LISP:RESTART COMMON-LISP:ABORT #x4B8E1E>) ("saved SAVE0")
>   6 : #<PROCESS listener(1) [Active] #x8388F66> ("saved SAVE1")
>   7 : #<COMMON-LISP:RESTART CCL:ABORT-BREAK #x4B8DF6> ("saved SAVE2")
>   8 COMMON-LISP:*TERMINAL-IO*: #<ECHOING-TWO-WAY-STREAM input
> #<FD-CHARACTER-INPUT-STREAM (TTY/0) #x838998E>, output
> #<FD-CHARACTER-OUTPUT-STREAM (TTY/1) #x8389716> #x838945E>
> (:SAVED-SPECIAL)
>
> (F0135D00) : 19 "CCL::RUN-PROCESS-INITIAL-FORM" 400
>   0 CCL::INITIAL-FORM: (#<CCL:COMPILED-LEXICAL-CLOSURE #x8388E86>)
> ("required")
>   1 : #<PROCESS listener(1) [Active] #x8388F66> ("saved SAVE0")
>   2 : 0 ("saved SAVE1")
>   3 : 0 ("saved SAVE2")
>   4 CCL::EXITED: COMMON-LISP:NIL
>   5 #:G51: (CCL:PROCESS-RESET)
>   6 CCL::%HANDLERS%: COMMON-LISP:NIL (:SAVED-SPECIAL)
>   7 #:ABORT: #<COMMON-LISP:RESTART COMMON-LISP:ABORT #x4B8E1E>
>   8 CCL::%RESTARTS%: COMMON-LISP:NIL (:SAVED-SPECIAL)
>   9 : #<CCL:COMPILED-LEXICAL-CLOSURE #x8388E86>
>
> (F0135D30) : 20 COMMON-LISP:NIL NIL
>
> (F0135D40) : 21 "Anonymous Function #x80DB61E" 152
>   0 CCL::INITIAL-FORM: (#<CCL:COMPILED-LEXICAL-CLOSURE #x8388E86>)
> ("required")
>   1 : 0 ("saved SAVE0")
>   2 CCL:*CURRENT-PROCESS*: #<PROCESS Initial(0) [Active] #x80DC106>
> (:SAVED-SPECIAL)
>   3 CCL::SYMS: (CCL::*FREE-XPS* CCL::*FREE-CIRCULARITY-HASH-TABLES*
> CCL::*OPERAND-VECTOR-FREELIST* CCL::*LAP-INSTRUCTION-FREELIST*
> CCL::*LAP-LABEL-FREELIST* CCL::*VINSN-VARPARTS*
> CCL::*VINSN-LABEL-FREELIST* CCL::*VINSN-FREELIST* CCL::*LCELL-FREELIST*
> CCL::*LREG-FREELIST* CCL::%TOKEN-STRINGS% COMMON-LISP:*READTABLE*
> CCL::*BACKTRACE-CONTEXTS* CCL::*FAKE-STACK-FRAMES* CCL::*CONS-POOL*
> COMMON-LISP:*PACKAGE*)
>   4 COMMON-LISP:VALUES: (COMMON-LISP:NIL COMMON-LISP:NIL #<POOL
> #x838CCB6> #<POOL  #x838CC9E> #<POOL  #x838CC86> #<POOL  #x838CC6E>
> #<POOL  #x838CC56> #<POOL  #x838CC3E> #<POOL  #x838CC26> #<POOL
> #x838CC0E> #<POOL  #x838CBF6> #<COMMON-LISP:READTABLE #x80E1216>
> COMMON-LISP:NIL COMMON-LISP:NIL #<POOL  #x838CBAE> #<Package
> "COMMON-LISP-USER">)
>
> (F0135D60) : 22 "Anonymous Function #x80CE806" 172
>   0 CCL::TCR: 263112 (:INHERITED)
>   1 CCL::THREAD: #<LISP-THREAD listener [tcr @ #x100F20] #x83890A6>
> (:INHERITED)
>   2 CCL::*CURRENT-LISP-THREAD*: #<LISP-THREAD Initial [tcr @ #x1003D0]
> #x80CEAB6> (:SAVED-SPECIAL)
>   3 CCL::INITIAL-FUNCTION: (#<Anonymous Function #x80DB61E> #<PROCESS
> listener(1) [Active] #x8388F66> (#<CCL:COMPILED-LEXICAL-CLOSURE
> #x8388E86>))
>   4 : #<Anonymous Function #x80DB61E>
>
> 1 >
>
> _______________________________________________
> Openmcl-devel mailing list
> Openmcl-devel at clozure.com
> http://clozure.com/mailman/listinfo/openmcl-devel
>
>



More information about the Openmcl-devel mailing list