emacs-devel
[Top][All Lists]
Advanced

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

Re: Emacs aborts during byte-compilation from Dired


From: Kenichi Handa
Subject: Re: Emacs aborts during byte-compilation from Dired
Date: Thu, 22 Feb 2007 20:44:23 +0900
User-agent: SEMI/1.14.3 (Ushinoya) FLIM/1.14.2 (Yagi-Nishiguchi) APEL/10.2 Emacs/22.0.93 (i686-pc-linux-gnu) MULE/5.0 (SAKAKI)

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

> I received this report from a Debian user:

> | The latest emacs-snapshot aborts if I try to compile Fontifier.el
> | from the mozart package.
> |
> | I am compiling it from dired (typing B on the line with Fontifier.el):

> The file is attached to this message.

> I can reproduce this bug with current CVS:

> #0  abort () at emacs.c:431
> #1  0x082050dc in get_property_and_range (pos=0, prop=138093161,
>     val=0xafa52360, start=0xafa5235c, end=0xafa52358, object=137922809)
>     at intervals.c:2321

I've just tried with the latest CVS HEAD code and met this
strange error.

At first, I tried to byte-compile Fontifier.el by:

  M-x byte-compile-file RET ~/Fontifier.el RET

then, Emacs signals this error:

  Symbol's value as variable is void: t

Next, I run Emacs under gdb (by M-x gdb), typed C-c C-z to
interrupt it, and then:
(gdb) p Qt
$1 = 137939193
(gdb) xsymbol
$2 = (struct Lisp_Symbol *) 0x838c8f8
"t"
(gdb) p *$2
$3 = {
  gcmarkbit = 0, 
  indirect_variable = 0, 
  constant = 1, 
  interned = 2, 
  xname = 136507507, 
  value = 137939193, 
  function = 137939169, 
  plist = 138484157, 
  next = 0x0
}
(gdb) watch ((struct Lisp_Symbol *) 0x838c8f8)->value
Hardware watchpoint 4: ((struct Lisp_Symbol *) 137939192)->value
(gdb) c
Continuing.

then, did this in Emacs:

  M-x byte-compile-file RET ~/Fontifier.el RET

then, Emacs stopped as below:

Hardware watchpoint 4: ((struct Lisp_Symbol *) 137939192)->value

Old value = 137939193
New value = 144315101
print_preprocess (obj=144315101) at print.c:1415
(gdb) 

The lines around print.c:1415 are:

  1412            /* If Vprint_continuous_numbering is non-nil and OBJ is a 
gensym,
  1413               always print the gensym with a number.  This is a special 
for
  1414               the lisp function byte-compile-output-docform.  */
  1415            if (!NILP (Vprint_continuous_numbering)
  1416                && SYMBOLP (obj)
  1417                && !SYMBOL_INTERNED_P (obj))
  1418              PRINT_NUMBER_STATUS (Vprint_number_table, 
print_number_index) = Qt;
  1419            print_number_index++;

I have no idea why the value of Qt is changed at L1415 (note
that I compiled print.c without optimization).

At last, after restaring Emacs, I deleted the local variable
section at the tail of ~/Fontifier.el and byte-compiled it
again.  The compilation finished with these warnings.

Compiling file /home/handa/temp.el at Thu Feb 22 20:31:23 2007

In ozdoc-install-simple:
temp.el:160:30:Warning: reference to free variable `src-buffer'

In ozdoc-process-request:
temp.el:266:18:Warning: reference to free variable `tmp-buffer'
temp.el:281:18:Warning: reference to free variable `out-buffer'

---
Kenichi Handa
address@hidden




reply via email to

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