unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: "Stephen J. Turnbull" <stephen@xemacs.org>
To: Stefan Monnier <monnier@IRO.UMontreal.CA>
Cc: emacs-devel@gnu.org
Subject: Obsoleting more progressively
Date: Wed, 03 Nov 2010 01:56:10 +0900	[thread overview]
Message-ID: <87iq0fwtp1.fsf@uwakimon.sk.tsukuba.ac.jp> (raw)
In-Reply-To: <jwvwrovojnp.fsf-monnier+emacs@gnu.org>

Stefan Monnier writes:

 > I can think of 2 ways to do implement that second level of obsolescence:
 > - Add warnings at runtime when obsolete stuff is used.
 >   for functions, commands and macros, make-obsolete that's reasonably
 >   easy to do; for variables it's more difficult.

It's not impossible, though.  Move them into C and given them a magic
"forwarding" value that triggers a warning and then returns or sets
the real value.  (It would also be possible to do this at the LISP
level with appropriate LISP primitives, I guess.  That way the
forwarding value can't leak out.)

I would imagine that runtime warnings would severely piss off users
(hi, Eli! what was that you were saying over on the bazaar list?),
enough so that actively maintained packages would quickly upgrade.
But is it worth the burden that would be imposed on users of
dormant/defunct projects?

Also, although the forwarding mechanism would impose a slight
performance cost on every variable access, this penalty would only be
substantial for variables that are actually obsolete.  Still it might
be unacceptable.

 > - Actually remove the function/variable from the non-released code.
 >   I.e. remove/deactivate the functions/variables from trunk during
 >   development but put them back in when we start pretesting.

Yuck.  Sounds like a wonderful way to lengthen the pretest period, to
me.




  parent reply	other threads:[~2010-11-02 16:56 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-11-02 15:10 Obsoleting more progressively Stefan Monnier
2010-11-02 16:13 ` Lennart Borgman
2010-11-02 16:56 ` Stephen J. Turnbull [this message]
2010-11-02 17:51 ` Drew Adams
2010-11-03  1:11 ` jasonr
2010-11-03  1:56   ` Stefan Monnier
2010-11-03  2:58 ` CHENG Gao
2010-11-03  4:49   ` Leo
2010-11-03  7:59 ` Andreas Röhler
2010-11-03  8:23   ` Kan-Ru Chen
2010-11-03  8:18 ` Glenn Morris
2010-11-03 13:41   ` Stefan Monnier

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=87iq0fwtp1.fsf@uwakimon.sk.tsukuba.ac.jp \
    --to=stephen@xemacs.org \
    --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).