|
From: | Steven Tamm |
Subject: | Re: make bootstrap fails with newest CVS sources - 2002-11-25 |
Date: | Tue, 26 Nov 2002 08:21:05 -0800 |
In fns.c:Frequire I changed: if (nesting > 2) error ("Recursive `require' for feature `%s'", SDATA (SYMBOL_NAME (feature))); to: if (nesting > 3) error ("Recursive `require' for feature `%s'", SDATA (SYMBOL_NAME (feature)));This makes the recursive load die in lread.c:Fload (which produces the nicer error). Fload fails if it tries to load the same file more than 3 times.
I found this out totally by accident. On darwin/Mac OS X, there is a problem with the apple-hacked GCC that it doesn't seem to export the structure definitions for Lisp_String and Lisp_Object because of the name conflict with the Lisp_Type enum. So the gdb macros like xsymbol didn't work. After I figured that out I just thought that the problem might go away if I allowed more nesting. I was wrong.
BTW, To get the Lisp_String etc. structures to be loaded correctly into gdb on darwin all I did was add this to emacs.c
typedef Lisp_Object XLisp_Object; typedef struct Lisp_String XLisp_String; typedef struct Lisp_Symbol XLisp_Symbol; typedef struct Lisp_Cons XLisp_Cons; XLisp_Object dummy1; XLisp_String dummy2; XLisp_Symbol dummy3; XLisp_Cons dummy4;Do any other platforms have the same problem, or is there some flag I can use to make this go away?
-Steven On Tuesday, November 26, 2002, at 05:49 AM, Ben Key wrote:
There appears to be a recursive load (I turned up the recursion checkfrom 2 to 3 in fns.c) to get it to fail in lread. Recursive load: "/dev/emacs/lisp/emacs-lisp/cl-macs.el", "/dev/emacs/lisp/button.el", "/dev/emacs/lisp/help-mode.el","/dev/emacs/lisp/help-fns.el", "/dev/emacs/lisp/emacs-lisp/cl-macs.el","/dev/emacs/lisp/button.el", "/dev/emacs/lisp/help-mode.el","/dev/emacs/lisp/help-fns.el", "/dev/emacs/lisp/emacs-lisp/cl-macs.el","/dev/emacs/lisp/button.el", "/dev/emacs/lisp/help-mode.el","/dev/emacs/lisp/help-fns.el", "/dev/emacs/lisp/emacs-lisp/cl-macs.el","/dev/emacs/lisp/button.el", "/dev/emacs/lisp/help-mode.el","/dev/emacs/lisp/help-fns.el", "/dev/emacs/lisp/emacs-lisp/cl-macs.el","/dev/emacs/lisp/faces.el", "/dev/emacs/lisp/loadup.el"The chain appears to be cl-macs -> help-fns -> help-mode -> button ->cl-macsHow did you get this information? What did you have to change / enable in order to get such a detailed report? I spent quite some time searching for a way to do something similar so I could provide more information when Ireported the problem, but I failed to find anything.
[Prev in Thread] | Current Thread | [Next in Thread] |