]> git.eshelyaron.com Git - emacs.git/commitdiff
Remove "baroque" use of prefix argument from gensym
authorMark Oteiza <mvoteiza@udel.edu>
Wed, 13 Sep 2017 14:38:05 +0000 (10:38 -0400)
committerMark Oteiza <mvoteiza@udel.edu>
Wed, 13 Sep 2017 14:38:05 +0000 (10:38 -0400)
'cl-gensym' was simply moved here, but let us take an opportunity to
shed some historical baggage.
* lisp/subr.el (gensym): Remove special treatment of PREFIX as a
number.  Use "g" as prefix to differentiate from cl-gensym defaults.
* doc/lispref/symbols.texi (Creating Symbols): Update accordingly.
* lisp/emacs-lisp/cl-macs.el (cl--gensym-counter, cl-gensym): Restore.

doc/lispref/symbols.texi
lisp/emacs-lisp/cl-macs.el
lisp/subr.el

index 2d9ec6fda301f358d8abe1d9f62f1f751bdf06b3..cda5f1c40f67182c72281d2892e58970f53e1fa2 100644 (file)
@@ -276,8 +276,7 @@ distinct uninterned symbol whose name is also @samp{foo}.
 @defun gensym &optional prefix
 This function returns a symbol using @code{make-symbol}, whose name is
 made by appending @code{gensym-counter} to @var{prefix}.  The prefix
-defaults to @code{"G"}.  If @var{prefix} is a number, it replaces the
-value of the counter.
+defaults to @code{"g"}.
 @end defun
 
 @defun intern name &optional obarray
index eee5953882df26d6e0d98c189f0ffaeb7d56eb5c..3405c92e8d4a433857e49c73d695955fb9cdef8b 100644 (file)
@@ -161,9 +161,16 @@ whether X is known at compile time, macroexpand it completely in
 
 ;;; Symbols.
 
-(defvaralias 'cl--gensym-counter 'gensym-counter)
+(defvar cl--gensym-counter 0)
 ;;;###autoload
-(cl--defalias 'cl-gensym 'gensym)
+(defun cl-gensym (&optional prefix)
+  "Generate a new uninterned symbol.
+The name is made by appending a number to PREFIX, default \"G\"."
+  (let ((pfix (if (stringp prefix) prefix "G"))
+       (num (if (integerp prefix) prefix
+              (prog1 cl--gensym-counter
+                (setq cl--gensym-counter (1+ cl--gensym-counter))))))
+    (make-symbol (format "%s%d" pfix num))))
 
 (defvar cl--gentemp-counter 0)
 ;;;###autoload
index ebb8b53b5027ca9518cd6639541af468c37ea05f..52d4e190e739c643da41fa6c499b907d776bb692 100644 (file)
@@ -286,13 +286,10 @@ without silencing all errors."
 (defun gensym (&optional prefix)
   "Return a new uninterned symbol.
 The name is made by appending `gensym-counter' to PREFIX.
-PREFIX can be a string, and defaults to \"G\".
-If PREFIX is a number, it replaces the value of `gensym-counter'."
-  (let ((pfix (if (stringp prefix) prefix "G"))
-        (num (if (integerp prefix) prefix
-               (prog1 gensym-counter
-                 (setq gensym-counter (1+ gensym-counter))))))
-    (make-symbol (format "%s%d" pfix num))))
+PREFIX is a string, and defaults to \"g\"."
+  (let ((num (prog1 gensym-counter
+               (setq gensym-counter (1+ gensym-counter)))))
+    (make-symbol (format "%s%d" prefix num))))
 
 (defun ignore (&rest _ignore)
   "Do nothing and return nil.