(See below for why this message is cross-posted to several bugs.)

Agustin Martin <[EMAIL PROTECTED]> writes:

> On Mon, May 09, 2005 at 10:01:05PM +0200, Daniel Brockman wrote:
>> Package: dictionaries-common
>> Version: 0.25.9
>> Severity: normal
>> 
>> Steps to reproduce:
>> 
>>    apt-get install dictionaries-common aspell-sv (or some other)
>>    apt-get install --reinstall emacs21
>
> If I am not wrong, that should also be reproduced by a plain
>
> # dpkg-reconfigure emacs21

Yes, you are right.

> I can only check that now in a woody+dict-common system, and I
> cannot reproduce that problem. I am not in dial up and cannot try a
> real reinstall. Please check if 'dpkg-reconfigure emacs21' also
> gives that problem in your system. Please also provide info about
> the emacs version you are trying.

It does.  I'm using emacs21-21.4a-1 (and CVS Emacs from last night,
packaged with Jerome Marant's emacs-snapshot).

> After your description, every upgrade should trigger that problem

Yes, I believe it does, but I have not been able to confirm this.

> (As a matter of fact a harmless error message is sometimes shown for
> xemacs probably due to that problem), but I could never see it for
> FSF emacs, and I have gone through a number of
> install/upgrade/reinstall runs (I am not sure about reinstalls, but
> should be similar).
>
> I cannot be sure that something in the emacs error handling is not
> changed in sid, but I am surprised that I never found that problem
> for FSF emacs.

I tried to downgrade to Woody's Emacs, but failed (and I don't have
time to try harder right now).

> I am also surprised that this bug, considering what causes it, has
> never been reported.

Indeed, me too.

> Read below for a possible reason.

>> This likely results in dpkg failing noisily upon running the
>> emacs-install script for some completely unrelated Emacs package.
>> You won't be able to get your Emacs back unless you first remove
>> dictionaries-common.  Then you can install Emacs, and finally put
>> back dictionaries-common if you like.
>> 
>> This becomes a real problem when you want to install a new Emacs
>> flavor (something which also provokes this bug).  The worst part
>> may be that the error messages give no hint about what is really
>> causing the problem.
>> 
>> The problem is that /etc/emacs/site-start.d/50dictionaries-common.el calls
>> 
>>    (load "/var/cache/dictionaries-common/emacsen-ispell-dicts.el" t)
>> 
>> and /var/cache/dictionaries-common/emacsen-ispell-dicts.el calls
>> 
>>    (debian-ispell-add-dictionary-entry ...)
>> 
>> which causes the autoload for `debian-ispell-add-dictionary-entry'
>> to attempt to load the library "debian-ispell".  Here's where
>> things break down.
>
> dictionaries-common emacsen-install is called with --no-site-file
> for emacs21* and with -no-site-file for xemacs21*, so that
> configuration files (etc/etc/emacs/site-start.d/* stuff) should not
> be loaded, look at the *real* dictionaries-common section
>
>   install/dictionaries-common: Byte-compiling for emacsen flavour emacs21
>   Wrote /usr/share/emacs21/site-lisp/dictionaries-common/debian-ispell.elc
>   Wrote /usr/share/emacs21/site-lisp/dictionaries-common/ispell.elc
>   Done
>
> (No loads from /etc at all)
>
> But other packages might have missed this, and they are blindly
> loading everything under /etc/emacs/site-start.d when
> byte-compiling. Can you please submit the full byte-compile log?, so
> we can better locate the problem.

Yes, you are quite right.  I can't believe I missed this.  The error
does not occur unless I also have auctex installed (some other package
that I do not have installed and whose first letter is a, b, c, or d
might also provoke it).

There are quite a few packages that cause everything in
/etc/emacs/site-start.d to be loaded when they are byte-compiled;
fortunately, their install/$package scripts all run *after*
dictionaries-common's.  These packages should probably be fixed, since
their correct functioning depends on essentially arbitrary conditions:
Let Q be a package such that Q's /etc/emacs/site-start.d script
prevents Emacs from starting without --no-site-file until Q's files
have been byte-compiled (examples of such packages currently include
dictionaries-common, bbdb and dictionary-el).  Then a package P whose
install/$package script invokes emacs without --no-site-file (there
appears to be quite a few of these) cannot be installed at the same
time as Q, unless P's name sorts lexicogragraphically *after* Q's.

>> I don't know what would be a good solution in this case, but you
>> may find it helpful to know that I've filed a similar couple of
>> bugs on the dictionary-el and BBDB packages (Bug#308335 and
>> Bug#308336, respectively) --- which also cause this same problem.
>
> The trivial fix is to surround the code by a condition-case, so we
> work around other packages bugs. I do not think that is desirable,
> so I wait for your log.

I agree.  Sorry, I do not have time to investigate further and/or
create a log right now, but I will follow up on this tonight.

> Note that those other packages might also not be guilty for
> this problem.

Yes.  I'm CCing the other bugs so that the maintainers of those
packages (bbdb and dictionary-el) do not have to worry so much
about this.  (Sorry guys!)

Maybe these bugs can even be closed.  (Assuming that it actually is
considered OK for a package to require byte-compiled files in their
/etc/emacs/site-start.d scripts.)

> Thanks for your report, ... and waiting for your feedback,

Thanks for the insightful and quick reply.

-- 
Daniel Brockman <[EMAIL PROTECTED]>


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to