emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Obsolescence warnings (was: [Emacs-diffs] master 9227b5c: last-chance: n


From: Stefan Monnier
Subject: Obsolescence warnings (was: [Emacs-diffs] master 9227b5c: last-chance: new utility lib for dangling deterrence)
Date: Sat, 24 Dec 2016 00:02:03 -0500
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1.50 (gnu/linux)

> +;; [Insert "nobody reads ChangeLog files" lament, here.  --ttn]

I think the problem is older, since it was made obsolete a long
time ago.  IOW, the problem really is that there's no warning ever given
when we use an obsolete face.

In general, I think we're currently not proactive enough in warning
about uses of obsolete thingies: for functions and variables, we handle
that during byte-compilation, so those are mostly covered, but not so
for:
- faces (as evidenced here).
- user-variables or hooks (since the users most likely don't
  byte-compile their ~/.emacs file).
- more generally code that isn't byte-compiled (it's very common for
  users to use Elisp code without ever byte-compiling it).
- text-properties.
- I'm sure there are more cases.

I think it would be good to introduce a mechanism to tell the user
about uses of obsolete features.  And by "user" here I mean "end user",
not because I prefer warning the end-user than the developer, but
because in many of those cases they're one and the same, and because in
other cases that's the best we can do.

To the extent that it affects the end-user and is caught during
execution, this mechanism needs to be very careful not to get in the
way, although it should be visible enough that we can reasonably expect
that the user will likely see those messages.


        Stefan



reply via email to

[Prev in Thread] Current Thread [Next in Thread]