[Top][All Lists]

[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?


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))
-          (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))

reply via email to

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