emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: make bootstrap fails


From: Kenichi Handa
Subject: Re: make bootstrap fails
Date: Fri, 15 Nov 2002 08:38:52 +0900 (JST)
User-agent: SEMI/1.14.3 (Ushinoya) FLIM/1.14.2 (Yagi-Nishiguchi) APEL/10.2 Emacs/21.2.92 (sparc-sun-solaris2.6) MULE/5.0 (SAKAKI)

As it seems that this mail was not delivered correctly, I'll
resend it.  I'm sorry if you get it twice.

In article <address@hidden>, Richard Stallman <address@hidden> writes:
> We should certainly delete all the cc-bytecomp-defun stuff.  It is an
> ugly approach.  However, that code has worked for years, and it has
> not been changed, so this must imply a compiler bug somewhere else.
> We should investigate that and fix it before deleting
> cc-bytecomp-defun.

> I was unable to make this fail by recompiling cc-bytecomp and cc-vars.

It's because the error happens only while bootstrapping.

> I can't afford to do a bootstrap--too many meetings today.  But if you
> byte-compile-debug to t, you should be able to get a backtrace.  Very
> likely investigating that backtrace will make considerable progress.

I think I find the reason of this error.

It seems that this change

2002-11-06  Dave Love  <address@hidden>

        * international/mule.el (set-buffer-file-coding-system):
        Call ucs-set-table-for-input.

revealed the problem of cc-bytecomp-defun.

cc-bytecomp-defun changes the function definition of the
argument symbol (in the current case; char-table-p) to
cc-bytecomp-ignore while byte-compiling.

While byte-compiling cc-mode.el, the byte compiler loads
warnings.el to display some warning.  But, as warning.el is
not yet compiled, it is loaded via load-with-code-conversion
which leads to the call of set-buffer-file-coding-system.

At this time, as the function definition of char-table-p is
changed as above, we encounter the error.

When I commented out this line in cc-vars.el:
        (cc-bytecomp-defun char-table-p)        ; Emacs 19+, XEmacs 20+
the byte-compiling of cc-mode.el succeeded (but
bootstrapping failed later at the other place, I'll report it
in the next mail).

So, I've just installed the attached workaround in HEAD.

This problem is not only for char-table-p.  For instance,
cc-defs.el has this line:

(cc-bytecomp-defun scan-lists)          ; 5 args in XEmacs, 3 in Emacs

So, if I insert (scan-lists 1 0 0) somewhere
in the function load-with-code-conversion, the error
        Symbol's function definition is void ((scan-lists))
occurs while compiling cc-mode.el.  :-(

---
Ken'ichi HANDA
address@hidden


2002-11-14  Kenichi Handa  <address@hidden>

        * progmodes/cc-vars.el: Don't cc-bytecomp-defun char-table-p.

*** cc-vars.el.~1.21.~  Mon Apr 22 09:35:36 2002
--- cc-vars.el  Thu Nov 14 16:02:35 2002
***************
*** 46,52 ****
  ;; Silence the compiler.
  (cc-bytecomp-defun get-char-table)    ; XEmacs 20+
  (cc-bytecomp-defun char-table-range)  ; Emacs 19+
! (cc-bytecomp-defun char-table-p)      ; Emacs 19+, XEmacs 20+
  
  ;; Pull in custom if it exists and is recent enough (the one in Emacs
  ;; 19.34 isn't).
--- 46,52 ----
  ;; Silence the compiler.
  (cc-bytecomp-defun get-char-table)    ; XEmacs 20+
  (cc-bytecomp-defun char-table-range)  ; Emacs 19+
! ;; (cc-bytecomp-defun char-table-p)   ; Emacs 19+, XEmacs 20+
  
  ;; Pull in custom if it exists and is recent enough (the one in Emacs
  ;; 19.34 isn't).






reply via email to

[Prev in Thread] Current Thread [Next in Thread]