unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Lute Kamstra <Lute.Kamstra.lists@xs4all.nl>
Cc: Stefan Monnier <monnier@iro.umontreal.ca>, emacs-devel@gnu.org
Subject: Re: Removing unloaded functions from auto-mode-alist.
Date: Sun, 24 Apr 2005 23:51:37 +0200	[thread overview]
Message-ID: <87is2balna.fsf@xs4all.nl> (raw)
In-Reply-To: <85fyxfrjal.fsf@lola.goethe.zz> (David Kastrup's message of "Sun, 24 Apr 2005 22:50:26 +0200")

David Kastrup <dak@gnu.org> writes:

> Lute Kamstra <Lute.Kamstra.lists@xs4all.nl> writes:
>
>> Consider the following situation:
>>
>> function 'a is autoloaded: (autoload "blabla" ...).
>> function 'b is autoloaded: (autoload "other" ...).
>> function 'c is defined.
>> function 'd is unbound.
>>
>> "blabla" defines 'a, 'b, 'c, and 'd as functions.
>>
>> Do (require 'blabla) and then (unload-feature 'blabla).
>>
>> Currently, all four functions will be unbound by unload-feature.  You
>> propose to let unload-feature restore both 'a and 'b to their previous
>> autoloads [1].
>
> Sure.
>
>> But what should be done with 'c?
>>
>> I think restoring 'c to its previous definition would be the right
>> thing to do.
>
> Not at all.  The purpose of unload-feature is to be able to restore a
> state, most particular to conserve memory.  So unload-feature should
> not waste memory by keeping in effect a history of load sequences
> around.  Its purpose should be confined to unloading those features
> that _can_ reasonably be unloaded.  And that means no functions
> whatsoever that _redefine_ stuff.  The main purpose of the autoload
> restoration is to restore autoloads into the package itself, not
> foreign autoloads.

For me, it is most intuitive/logical that unload-feature tries to undo
the effects of loading the feature.  It is very uncommon that a
feature redefines a function (or a variable), so keeping track of such
cases will not waste much memory.

> I think that unload-feature should in the case of c being redefined
> simply barf and refuse to unload the feature.

That's quite extreme.  And it would require you too keep track of
redefinitions.  Why not use that tracking machinery to just restore
these rare cases?

>> But that would be quite a substantial change.  It's probably best to
>> leave this alone until after the release.
>
> Lute, _any_ change in that area is best left alone.  Richard has
> already clearly stated that we are not going to fiddle with it before
> the release, and I can only agree.  The current state of brokenness
> has been there for a long time, and nobody really complained.  We
> can't hope to get a serious amount of testing for this sort of stuff
> in before the release.  And the effects might be memory leakage and
> similar hard to find things that take people months to figure out.
>
> We can't invest the time to make sure that nothing like this will
> happen.

Ok.

Lute.

  reply	other threads:[~2005-04-24 21:51 UTC|newest]

Thread overview: 66+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-04-19 15:23 Removing unloaded functions from auto-mode-alist Lute Kamstra
2005-04-19 16:25 ` David Kastrup
2005-04-19 17:44   ` Stefan Monnier
2005-04-19 21:28     ` David Kastrup
2005-04-19 21:58       ` Stefan Monnier
2005-04-19 22:33         ` David Kastrup
2005-04-20 18:52           ` Stefan Monnier
2005-04-24 20:24             ` Lute Kamstra
2005-04-24 20:50               ` David Kastrup
2005-04-24 21:51                 ` Lute Kamstra [this message]
2005-04-24 22:00                   ` David Kastrup
2005-04-24 23:37                     ` Lute Kamstra
2005-04-25  0:07                       ` David Kastrup
2005-04-26 10:04                       ` Richard Stallman
2005-04-20 19:22           ` Lute Kamstra
2005-04-19 23:01         ` Stefan Monnier
2005-04-19 23:14         ` Lute Kamstra
2005-04-19 23:24           ` David Kastrup
2005-04-20 18:41             ` Stefan Monnier
2005-04-20 19:00               ` David Kastrup
2005-04-20 19:18                 ` Stefan Monnier
2005-04-20 19:50                   ` David Kastrup
2005-04-20 19:29               ` Lute Kamstra
2005-04-20 14:57           ` Richard Stallman
2005-04-20 15:59             ` Lute Kamstra
2005-04-21 15:30               ` Richard Stallman
2005-04-21 16:35                 ` Lute Kamstra
2005-04-22 20:51                   ` David Kastrup
2005-04-23 21:00                     ` Lute Kamstra
2005-04-23 22:10                       ` David Kastrup
2005-04-24 20:21                         ` Lute Kamstra
2005-04-24 20:32                           ` David Kastrup
2005-04-24 20:52                             ` Lute Kamstra
2005-04-25 16:05                             ` Richard Stallman
2005-04-23 22:24                     ` Richard Stallman
2005-04-20 14:57         ` Richard Stallman
2005-04-20 15:02           ` Stefan Monnier
2005-04-20 15:57             ` David Kastrup
2005-04-20 18:37               ` Stefan Monnier
2005-04-20 19:19                 ` David Kastrup
2005-04-20 20:11                   ` Stefan Monnier
2005-04-20 20:25                     ` David Kastrup
2005-04-20 20:57                       ` Stefan Monnier
2005-04-20 21:33                         ` David Kastrup
2005-04-20 16:25             ` Andreas Schwab
2005-04-20 16:57               ` David Kastrup
2005-04-20 22:47                 ` Andreas Schwab
2005-04-20 22:58                   ` David Kastrup
2005-04-21  9:56                     ` Andreas Schwab
2005-04-21 10:12                       ` David Kastrup
2005-04-21 11:50                         ` Andreas Schwab
2005-04-21 19:56                         ` Richard Stallman
2005-04-21 20:13                           ` David Kastrup
2005-04-23 16:15                             ` Richard Stallman
2005-04-23 16:23                               ` David Kastrup
2005-04-23 16:15                           ` Richard Stallman
2005-04-21 11:41                       ` Johan Vromans
2005-04-20 15:43           ` David Kastrup
2005-04-21 15:30             ` Richard Stallman
2005-04-21 17:46               ` David Kastrup
2005-04-23 16:15                 ` Richard Stallman
2005-04-19 22:00       ` Lute Kamstra
2005-04-19 23:22       ` Andreas Schwab
2005-04-19 23:33         ` David Kastrup
2005-04-19 21:05   ` Lute Kamstra
2005-04-20 14:57     ` Richard Stallman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87is2balna.fsf@xs4all.nl \
    --to=lute.kamstra.lists@xs4all.nl \
    --cc=emacs-devel@gnu.org \
    --cc=monnier@iro.umontreal.ca \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).