mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-01-06 11:50:51 -08:00
Make cl-gensym obsolete in favor of built-in gensym
* lisp/emacs-lisp/cl-macs.el (cl-gensym): Declare function obsolete in favor of gensym, added in Emacs 26.1. The only reason for its existence is that it allows an integer argument, but that's not really useful, so it's better to remove this complexity. Ref: https://lists.gnu.org/r/emacs-devel/2017-09/msg00313.html * doc/misc/cl.texi (Symbols, Creating Symbols, Efficiency Concerns) (Obsolete Setf Customization): Don't document above obsolete function. * lisp/emacs-lisp/cl-macs.el (cl--parse-loop-clause): * lisp/emacs-lisp/edebug.el (edebug-make-form-wrapper): * lisp/obsolete/cl.el (cl--function-convert, lexical-let): * lisp/obsolete/thumbs.el (thumbs-temp-file): * lisp/progmodes/eglot.el (eglot--lambda) (eglot--when-live-buffer, eglot--when-buffer-window) (eglot--collecting-xrefs, eglot--glob-parse): * lisp/progmodes/flymake.el (flymake--run-backend): * test/lisp/emacs-lisp/package-tests.el (with-package-test): * test/lisp/progmodes/eglot-tests.el (eglot--guessing-contact): * test/lisp/progmodes/elisp-mode-tests.el (elisp-shorthand-read-buffer, elisp-shorthand-read-from-string): Prefer plain gensym to cl-gensym in files that can depend on Emacs 26.1. * lisp/jsonrpc.el (jsonrpc-lambda, jsonrpc-request): Prefer gensym to cl-gensym only when defined, as this file supports Emacs 25.1 * test/lisp/emacs-lisp/cl-macs-tests.el (cl-lib-test-gensym): Simplify test as 'should' no longer uses cl-gensym.
This commit is contained in:
parent
1a22bc0fd6
commit
60b071e224
13 changed files with 43 additions and 63 deletions
|
|
@ -961,21 +961,14 @@ See Bug#57915."
|
|||
:b 1)))
|
||||
|
||||
(ert-deftest cl-lib-test-gensym ()
|
||||
;; Since the expansion of `should' calls `cl-gensym' and thus has a
|
||||
;; side-effect on `cl--gensym-counter', we have to make sure all
|
||||
;; macros in our test body are expanded before we rebind
|
||||
;; `cl--gensym-counter' and run the body. Otherwise, the test would
|
||||
;; fail if run interpreted.
|
||||
(let ((body (byte-compile
|
||||
'(lambda ()
|
||||
(should (equal (symbol-name (cl-gensym)) "G0"))
|
||||
(should (equal (symbol-name (cl-gensym)) "G1"))
|
||||
(should (equal (symbol-name (cl-gensym)) "G2"))
|
||||
(should (equal (symbol-name (cl-gensym "foo")) "foo3"))
|
||||
(should (equal (symbol-name (cl-gensym "bar")) "bar4"))
|
||||
(should (equal cl--gensym-counter 5))))))
|
||||
(with-suppressed-warnings ((obsolete cl-gensym))
|
||||
(let ((cl--gensym-counter 0))
|
||||
(funcall body))))
|
||||
(should (equal (symbol-name (cl-gensym)) "G0"))
|
||||
(should (equal (symbol-name (cl-gensym)) "G1"))
|
||||
(should (equal (symbol-name (cl-gensym)) "G2"))
|
||||
(should (equal (symbol-name (cl-gensym "foo")) "foo3"))
|
||||
(should (equal (symbol-name (cl-gensym "bar")) "bar4"))
|
||||
(should (equal cl--gensym-counter 5)))))
|
||||
|
||||
(ert-deftest cl-the ()
|
||||
(should (eql (cl-the integer 42) 42))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue