Subject: bug#38598: closed (Re: bug#38598: 26.3; Document relation between `make-symbol` and `gensym`)

From: [email-masked] (GNU bug Tracking System)
Date: Sat, 14 Dec 2019 09:31:02 +0000

Your bug report

#38598: 26.3; Document relation between `make-symbol` and `gensym`

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
38598: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=38598
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#38598: 26.3; Document relation between `make-symbol` and `gensym`
From: Eli Zaretskii <[email-masked]>
To: Drew Adams <[email-masked]>
Cc: [email-masked]
Date: Sat, 14 Dec 2019 11:30:00 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

> Date: Fri, 13 Dec 2019 12:35:13 -0800 (PST)
> From: Drew Adams <[email-masked]>
> 
> (See https://emacs.stackexchange.com/a/54361/105.)
> 
> The Common-Lisp doc is clear about the similarity and difference between
> `make-symbol` and `gensym`.  The Emacs-Lisp doc says nothing about this.
> 
> Please consider mentioning this in (elisp) `Creating Symbols'.  Such
> info can help users better understand when they might want to use one or
> the other of these functions.
> 
> Yes, this info can be gleaned by carefully reading their individual
> descriptions (how the symbol-naming is done).  But it would help users
> to state it clearly.

Thanks, but I find the current documentation clear enough:

 -- Function: make-symbol name
     This function returns a newly-allocated, uninterned symbol whose
     name is NAME (which must be a string).  Its value and function
     definition are void, and its property list is ‘nil’.  In the
     example below, the value of ‘sym’ is not ‘eq’ to ‘foo’ because it
     is a distinct uninterned symbol whose name is also ‘foo’.

          (setq sym (make-symbol "foo"))
               ⇒ foo
          (eq sym 'foo)
               ⇒ nil

 -- Function: gensym &optional prefix
     This function returns a symbol using ‘make-symbol’, whose name is
     made by appending ‘gensym-counter’ to PREFIX.  The prefix defaults
     to ‘"g"’.

I see nothing that could be gained by adding any explicit sentence
about the difference, since that would simply be a rewording of what
is already said right there.

So I'm closing this bug report.

Subject: 26.3; Document relation between `make-symbol` and `gensym`
From: Drew Adams <[email-masked]>
To: [email-masked]
Date: Fri, 13 Dec 2019 12:35:13 -0800 (PST)
List-Id: <debbugs-submit.debbugs.gnu.org>

(See https://emacs.stackexchange.com/a/54361/105.)

The Common-Lisp doc is clear about the similarity and difference between
`make-symbol` and `gensym`.  The Emacs-Lisp doc says nothing about this.

Please consider mentioning this in (elisp) `Creating Symbols'.  Such
info can help users better understand when they might want to use one or
the other of these functions.

Yes, this info can be gleaned by carefully reading their individual
descriptions (how the symbol-naming is done).  But it would help users
to state it clearly.  The Common-Lisp doc does this simply, with a
single parenthetical sentence: 

  (The only difference between gensym and make-symbol is in how the
  new-symbol's name is determined.)

http://clhs.lisp.se/Body/f_gensym.htm

In GNU Emacs 26.3 (build 1, x86_64-w64-mingw32)
 of 2019-08-29
Repository revision: 96dd0196c28bc36779584e47fffcca433c9309cd
Windowing system distributor `Microsoft Corp.', version 10.0.17763
Configured using:
 `configure --without-dbus --host=x86_64-w64-mingw32
 --without-compress-install 'CFLAGS=-O2 -static -g3''