🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: gnu.emacs.bug
Article #98316

More on Emacs crashing on Sun4.

#98316
From: Bob Weiner
Date: Sat, 12 Oct 1991 17:44
65 lines
3714 bytes
>    (symbol-function 'replace-region)
>    (lambda (str-replace) "Replaces a regular expression or string, given prefix arg STR-REPLACE, in a region." (interactive "P") (byte-code "BBC	
>
>It appears that the byte-compiler version you sent was mangled by mailers.
>
>Could you try splitting up the lines using backslash-newline anbd send
>it again?
>
>I'd like to disassemble it and see if the code is incorrect.  I'd also
>like to compare it with what I get if I compile the same thing.
>
>      I should
>    mention that I have also demonstrated problems with the byte compiler in
>    the last few days such that .el code that works fine when loaded fails
>    when loaded in .elc form.
>
>That would certainly be a bug, and probably one much easier to
>investigate than unpredicatable crashes.  I don't remember seeing a
>report of this bug.  Could you please send one?

I did find the bug (not an actual Emacs bug) and solution.
Possibly, I forgot to report it to bug-gnu-emacs.
I repeat the message here.


Subject: I figured out byte-compiling/Emacs crashing problem.

A few days ago, I had the bright idea of using Emacs outlining mode
(actually outline-minor-mode, a non-standard Emacs Lisp package) while
editing from a terminal since the display size is limited and the
refresh time slow (over 2400 baud phone line).  That way I can quickly
move past functions I have collapsed into a single line and I don't get
long scroll delays.  This was so handy I decided to turn on
outline-minor-mode as part of emacs-lisp-mode-hook.

Well, Emacs replaces hidden newlines with ^M characters when in outline
mode and a comparison of the .elc files which don't work shows they all
have newline characters where the working ones have ^Ms, since whenever
the variable 'selective-display' is true in a buffer, Emacs converts ^Ms
to newlines before it saves the buffer.

Yet I would not expect the temp buffer the .elc file is written to, to
be in emacs-lisp-mode.  But a quick scan of the byte-compile-file
function shows that it does indeed put the temp buffer into this mode so
that it can use the definition of Lisp s-expressions when producing the
.elc code.

Quite a tricky problem.  This bad code in turn caused Emacs to crash on
me several times, within the past few days but only after several hours
of use, so the fact that the .elc files were invalid was not evident.

Given that this scenario can occur, I would suggest that the
byte-compile-file code locally bind emacs-lisp-mode-hook to nil so that
this will not happen to anyone else.

I am going to do that in my own local version.  If we put such a change
into our department local/lisp directory, we must remember to update it
with each new Emacs release that alters bytecomp.el.  I will try to get
the GNU people to put the change in themselves.

Bob

(Since I put in the fix and recompiled those files I had modified in
the week during which this was happening, all has been fine and the
crashes are gone.)
Technical Details
Message-ID: <9110130144.AA06148@delay.cs.brown.edu>
Path: arc1-ca.pugleaf.net!gmdzi!unido!fauern!ira.uka.de!yale.edu!qt.cs.utexas.edu!zaphod.mps.ohio-state.edu!cis.ohio-state.edu!cs.brown.edu!rsw
References: <9110121957.AA16660@mole.gnu.ai.mit.edu>

Show Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit
X-Google-Thread: fb2f1,bfa97eb1c4579e0d,start
X-Google-Attributes: gidfb2f1,public
X-Google-ArrivalTime: 1991-10-12 10:44:49 PST
Path: arc1-ca.pugleaf.net!gmdzi!unido!fauern!ira.uka.de!yale.edu!qt.cs.utexas.edu!zaphod.mps.ohio-state.edu!cis.ohio-state.edu!cs.brown.edu!rsw
From: rsw@cs.brown.edu (Bob Weiner)
Newsgroups: gnu.emacs.bug
Subject: More on Emacs crashing on Sun4.
Message-ID: <9110130144.AA06148@delay.cs.brown.edu>
Date: 12 Oct 91 17:44:49 GMT
References: <9110121957.AA16660@mole.gnu.ai.mit.edu>
Sender: gnulists@ai.mit.edu
Distribution: gnu
Organization: GNUs Not Usenet
Lines: 65
Approved: bug-gnu-emacs@prep.ai.mit.edu