defgeneric problem
james anderson <[email protected]> Mon, 20 Jan 2003 22:43:49 +0100
| Newsgroups | gmane.lisp.openmcl.bugs,gmane.spam.detected |
|---|---|
| Message-ID | <[email protected]> |
hello again;
thank you for your previous note. once i supplanted the aliases with
symbolic links openmcl does better. one thing which confused me is that
an alias on the desktop appears to be negotiable...
i have another question. would one expect a problem with the following
form?
(defGeneric initialize-clone (node clone)
(:documentation
"copy slot values from one node to another.
slots with bound values are left unchanged in order to permit
previous initarg based
initialization (see clone-instance), which can then avoid unwanted
deep cloning.")
(:method-combination progn :most-specific-first)
(:method progn ((from standard-object) (to standard-object))))
it yields an unforgiving stack overflow. the stack trace below shows
the state where the problem occurred loading a file, but the same thing
happens if the form is evaluated in a new lisp. to wit:
...
(BFFFF900) : 65466 NIL NIL
(BFFFF910) : 65467 NIL NIL
(BFFFF920) : 65468 NIL NIL
(BFFFF930) : 65469 NIL NIL
(BFFFF940) : 65470 NIL NIL
(BFFFF950) : 65471 NIL NIL
(BFFFF960) : 65472 "CCL::ENSURE-GENERIC-FUNCTION-INTERNAL" 1264
(BFFFF970) : 65473 "Anonymous Function #x52B4DF6" 60
(BFFFF980) : 65474 "CCL::LOAD-FROM-STREAM" 240
(BFFFF990) : 65475 "CCL::%LOAD" 1320
(BFFFF9B0) : 65476 NIL NIL
(BFFFF9C0) : 65477 "LOAD" 620
(BFFFF9E0) : 65478 "Anonymous Function #x52A291E" 284
(BFFFF9F0) : 65479 "MAP" 460
(BFFFFA00) : 65480 "COMMON-LISP-USER::EXECUTE-SYSTEM-OPERATIONS" 280
(BFFFFA10) : 65481 NIL NIL
(BFFFFA20) : 65482 "CCL::CALL-CHECK-REGS" 80
(BFFFFA30) : 65483 NIL NIL
(BFFFFA40) : 65484 "CCL::TOPLEVEL-EVAL" 176
(BFFFFA50) : 65485 "CCL::READ-LOOP" 964
(BFFFFAA0) : 65486 "TOPLEVEL-LOOP" 52
1 > :?
(:V N FRAME-NUMBER) Return value <n> in frame <frame-number>
(:F N) Show backtrace frame <n>
(:C N) Choose restart <n>
(:B &OPTIONAL SHOW-FRAME-CONTENTS) backtrace
:R list restarts
:Q return to toplevel
:GO continue
:POP exit current break loop
:? help
(:PROC &OPTIONAL P) Show information about specified process <p>/all
processes
(:KILL P) Kill process whose name or ID matches <p>
(:Y P) Yield control of terminal-input to process whose name or ID is
<p>
1 > (:f 65472)
(BFFFF960) : 65472 "CCL::ENSURE-GENERIC-FUNCTION-INTERNAL" 1264
0 : INITIALIZE-CLONE ("required")
1 CCL::GLOBAL-P: T ("required")
2 : (NODE CLONE) ("required")
3 CCL::ARGUMENT-PRECEDENCE-ORDER: NIL ("required")
4 DECLARE: NIL ("required")
initialization (see clone-instance), which can then avoid unwanted
deep cloning." ("required")
6 : #<FUNCALLABLE-STANDARD-CLASS STANDARD-GENERIC-FUNCTION>
("required")
7 CCL::METHOD-CLASS: #<STANDARD-CLASS STANDARD-METHOD> ("required")
8 CCL::ENVIRONMENT: NIL ("required")
initialization (see clone-instance), which can then avoid unwanted
deep cloning.") (:METHOD-COMBINATION PROGN :MOST-SPECIFIC-FIRST)
(:METHOD PROGN ((FROM STANDARD-OBJECT) (TO STANDARD-OBJECT)))) ("saved
SAVE0")
10 : T ("saved SAVE1")
11 : #<FILE-CHARACTER-INPUT-STREAM
("/Development/Source/Library/LISP/de/setf/utility/clos.lisp" [4])
#x52B441E> ("saved SAVE2")
12 : T ("saved SAVE3")
13 : NIL ("saved SAVE4")
14 : 5 ("saved SAVE5")
15 : NIL ("saved SAVE6")
16 : NIL ("saved SAVE7")
17 CCL::BITS: 512
18 CCL::KEYS: #()
19 CCL::METHODS: NIL
20 CCL::GBITS: NIL
1 > :pop
> Error: Stack overflow on value stack.
> While executing: CCL::%ERR-DISP
> Type :POP to abort.
Type :? for other options.
1 > :q
> Error: Stack overflow on value stack.
> While executing: CCL::%ERR-DISP
> Type :POP to abort.
Type :? for other options.
1 > :q
> Error: Stack overflow on value stack.
> While executing: CCL::%ERR-DISP
> Type :POP to abort.
Type :? for other options.
1 > Killed