Fix gensym
* lisp/subr.el (gensym): Actually implement the default prefix. * test/lisp/subr-tests.el (subr-tests--gensym): New test.
This commit is contained in:
parent
466df76f7d
commit
331d0e520f
2 changed files with 7 additions and 1 deletions
|
@ -289,7 +289,7 @@ The name is made by appending `gensym-counter' to PREFIX.
|
||||||
PREFIX is a string, and defaults to \"g\"."
|
PREFIX is a string, and defaults to \"g\"."
|
||||||
(let ((num (prog1 gensym-counter
|
(let ((num (prog1 gensym-counter
|
||||||
(setq gensym-counter (1+ gensym-counter)))))
|
(setq gensym-counter (1+ gensym-counter)))))
|
||||||
(make-symbol (format "%s%d" prefix num))))
|
(make-symbol (format "%s%d" (or prefix "g") num))))
|
||||||
|
|
||||||
(defun ignore (&rest _ignore)
|
(defun ignore (&rest _ignore)
|
||||||
"Do nothing and return nil.
|
"Do nothing and return nil.
|
||||||
|
|
|
@ -300,6 +300,12 @@ cf. Bug#25477."
|
||||||
(setq res (read-passwd "pass: " 'confirm (mapconcat #'string default "")))
|
(setq res (read-passwd "pass: " 'confirm (mapconcat #'string default "")))
|
||||||
(should (string= default res)))))
|
(should (string= default res)))))
|
||||||
|
|
||||||
|
(ert-deftest subr-tests--gensym ()
|
||||||
|
"Test `gensym' behavior."
|
||||||
|
(should (equal (symbol-name (let ((gensym-counter 0)) (gensym)))
|
||||||
|
"g0"))
|
||||||
|
(should (eq (string-to-char (symbol-name (gensym))) ?g))
|
||||||
|
(should (eq (string-to-char (symbol-name (gensym "X"))) ?X)))
|
||||||
|
|
||||||
(provide 'subr-tests)
|
(provide 'subr-tests)
|
||||||
;;; subr-tests.el ends here
|
;;; subr-tests.el ends here
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue