[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Declaring cl.el obsolete
From: |
Stefan Monnier |
Subject: |
Re: Declaring cl.el obsolete |
Date: |
Tue, 23 Jul 2019 11:07:21 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) |
> cl-lib was released 6 years ago and its uptake has been much more successful
> than in my wildest dreams.
> AFAIK it has been technically obsolete already for the last 6 years, in
> that everything it offers is provided by cl-lib or lexical-binding.
In the ensuing discussions, there have been the following objections:
1- Eli doesn't like using "obsolete" and would prefer "deprecated".
2- Lars pointed out that `cl` is still in fairly wide use outside of Emacs.
3- Ken explained that he prefers the non-prefixed names.
Regarding (3), I know several people feel that way, and that's a valid
preference, but I see no reason why the `cl` package satisfying this
preference needs to be distributed with Emacs.
Regarding (2), I pointed out that I don't foresee `cl` disappearing
completely any time soon. Instead, it will likely move to GNU ELPA when
we finally remove it from Emacs.
As for (1), I used the word "deprecated".
So any remaining objection to the patch below?
Stefan
diff --git a/etc/NEWS b/etc/NEWS
index 5378e56bca..00c076a18e 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -485,6 +485,8 @@ current and the previous or the next line, as before.
* Changes in Specialized Modes and Packages in Emacs 27.1
+** The 'cl' package is now officially deprecated in favor of `cl-lib`.
+
+++
** winner
*** A new variable, `winner-boring-buffers-regexp', has been added.
diff --git a/lisp/emacs-lisp/cl.el b/lisp/obsolete/cl.el
similarity index 99%
rename from lisp/emacs-lisp/cl.el
rename to lisp/obsolete/cl.el
index 71be1d1b49..417c757ed5 100644
--- a/lisp/emacs-lisp/cl.el
+++ b/lisp/obsolete/cl.el
@@ -3,6 +3,7 @@
;; Copyright (C) 2012-2019 Free Software Foundation, Inc.
;; Author: Stefan Monnier <address@hidden>
+;; Deprecated-since: 27.1
;; Keywords: extensions
;; This file is part of GNU Emacs.
diff --git a/lisp/subr.el b/lisp/subr.el
index f1a4e8bb29..e7f40e1cf5 100644
--- a/lisp/subr.el
+++ b/lisp/subr.el
@@ -4445,7 +4445,7 @@ do-after-load-evaluation
(package (intern (substring file 0
(string-match "\\.elc?\\>" file))
obarray))
- (msg (format "Package %s is obsolete" package)))
+ (msg (format "Package %s is deprecated" package)))
;; Cribbed from cl--compiling-file.
(when (or (not (fboundp 'byte-compile-warning-enabled-p))
(byte-compile-warning-enabled-p 'obsolete package))
- Re: Declaring cl.el obsolete,
Stefan Monnier <=