emacs-pretest-bug
[Top][All Lists]
Advanced

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

Re: Emacs build does not finish


From: Kenichi Handa
Subject: Re: Emacs build does not finish
Date: Thu, 25 Jan 2007 21:28:15 +0900
User-agent: SEMI/1.14.3 (Ushinoya) FLIM/1.14.2 (Yagi-Nishiguchi) APEL/10.2 Emacs/22.0.92 (i686-pc-linux-gnu) MULE/5.0 (SAKAKI)

In article <address@hidden>, Romain Francoise <address@hidden> writes:

> Kenichi Handa <address@hidden> writes:
> > The process of byte compiling them is, I think, not that slow; for
> > instance, I can byte-compile ZIRANMA.el in 1.5 second.

> Does your Emacs binary include the byte-compiler change mentioned
> earlier in this thread?

Ah, no!  I've just updated my working directory and faced
with that extreme slowness in byte compiling
leim/ja-dic/ja-dic.el.

Miles Bader <address@hidden> writes:

> If the former, perhaps we should add a variable to control whether the byte
> compiler tries to correctly dump circular data structures or not
> (`byte-compile-circle'?), and bind it to nil when compiling those large
> files as we know they contain no circular data.

It seems that we need such a hack.  How about something like
the attached patch and add:
        -*- byte-compile-disable-print-circle:t; -*-
at the head of all generated quail files and ja-dic.el?

---
Kenichi Handa
address@hidden

*** bytecomp.el 25 Jan 2007 17:11:39 +0900      2.192
--- bytecomp.el 25 Jan 2007 21:22:12 +0900      
***************
*** 296,301 ****
--- 296,305 ----
  the functions you loaded will not be able to run.")
  ;;;###autoload(put 'byte-compile-dynamic 'safe-local-variable 'booleanp)
  
+ (defvar byte-compile-disable-print-circle nil
+   "If non-nil, disable `print-circle' on printing a byte-compiled code.")
+ ;;;###autoload(put 'byte-compile-disable-print-circle 'safe-local-variable 
'booleanp)
+ 
  (defcustom byte-compile-dynamic-docstrings t
    "*If non-nil, compile doc strings for lazy access.
  We bury the doc strings of functions and variables
***************
*** 2003,2009 ****
          (print-level nil)
          (print-quoted t)
          (print-gensym t)
!         (print-circle t))            ; handle circular data structures
        (princ "\n" outbuffer)
        (prin1 form outbuffer)
        nil)))
--- 2007,2014 ----
          (print-level nil)
          (print-quoted t)
          (print-gensym t)
!         (print-circle              ; handle circular data structures
!          (not byte-compile-disable-print-circle)))
        (princ "\n" outbuffer)
        (prin1 form outbuffer)
        nil)))
***************
*** 2060,2066 ****
               ;; print-gensym-alist not to be cleared
               ;; between calls to print functions.
               (print-gensym '(t))
!              (print-circle t)        ; handle circular data structures
               print-gensym-alist    ; was used before print-circle existed.
               (print-continuous-numbering t)
               print-number-table
--- 2065,2072 ----
               ;; print-gensym-alist not to be cleared
               ;; between calls to print functions.
               (print-gensym '(t))
!              (print-circle           ; handle circular data structures
!               (not byte-compile-disable-print-circle))
               print-gensym-alist    ; was used before print-circle existed.
               (print-continuous-numbering t)
               print-number-table




reply via email to

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