Subject: bug#5327: closed (Re: bug#5327: 23.1; unload-feature-special-hooks add fill-nobreak-predicate)

From: [email-masked] (GNU bug Tracking System)
Date: Mon, 11 Jul 2011 16:26:02 +0000

Your bug report

#5327: 23.1; unload-feature-special-hooks add fill-nobreak-predicate

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
5327: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=5327
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#5327: 23.1; unload-feature-special-hooks add fill-nobreak-predicate
From: Juanma Barranquero <[email-masked]>
To: Kevin Ryde <[email-masked]>
Cc: [email-masked]
Date: Mon, 11 Jul 2011 18:25:01 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

On Wed, Jan 6, 2010 at 00:38, Kevin Ryde <[email-masked]> wrote:

>    M-x sgml-mode
>    M-x unload-feature sgml-mode
>    type in a long line to be filled
>    M-q
>    => Symbol's function definition is void: sgml-fill-nobreak

`fill-nobreak-predicate' was set locally, so it would be removed when
the mode for the buffer was changed. Previously, `unload-feature'
failed to do so unless the mode package's FEATURE-unload-function,
assuming one existed, did by itself. Since revno:104702
`unload-feature' does so automatically, so the above case should work
(i.e, unloading sgml-mode will change the buffer's major mode to
text-mode).

That said, I'll add that variable and some of the others you mentioned
to `unload-feature-special-hooks' because it's better to be safe than
sorry. But, what would be nice is some way to identify hook variables
in a generic way, instead of special-casing still more of them. :-(

>   find-directory-functions
>   auto-coding-functions

OK.

>   compile-command-default-functions

I cannot find that one in the Emacs sources.

    Juanma

Subject: 23.1; unload-feature-special-hooks add fill-nobreak-predicate
From: Kevin Ryde <[email-masked]>
To: [email-masked]
Date: Wed, 06 Jan 2010 10:38:11 +1100
List-Id: <debbugs-submit.debbugs.gnu.org>

While nosing around the unload-feature stuff I wondered if
unload-feature-special-hooks should include fill-nobreak-predicate, as
it's a hook now.

The damage from leaving an unloaded func there is limited to paragraph
filling, and is likely to be either buffer local, or be autoloaded and
then end up ok anyway.  You can see a bad effect currently for instance
with

    M-x sgml-mode
    M-x unload-feature sgml-mode
    type in a long line to be filled
    M-q
    => Symbol's function definition is void: sgml-fill-nobreak

In GNU Emacs 23.1.1 (i486-pc-linux-gnu, GTK+ Version 2.16.5)
 of 2009-09-14 on raven, modified by Debian
configured using `configure  '--build=i486-linux-gnu' '--host=i486-linux-gnu' '--prefix=/usr' '--sharedstatedir=/var/lib' '--libexecdir=/usr/lib' '--localstatedir=/var/lib' '--infodir=/usr/share/info' '--mandir=/usr/share/man' '--with-pop=yes' '--enable-locallisppath=/etc/emacs23:/etc/emacs:/usr/local/share/emacs/23.1/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/23.1/site-lisp:/usr/share/emacs/site-lisp:/usr/share/emacs/23.1/leim' '--with-x=yes' '--with-x-toolkit=gtk' '--with-toolkit-scroll-bars' 'build_alias=i486-linux-gnu' 'host_alias=i486-linux-gnu' 'CFLAGS=-DDEBIAN -g -O2' 'LDFLAGS=-g' 'CPPFLAGS=''