GNU bug report logs - #38598
26.3; Document relation between `make-symbol` and `gensym`

Previous Next

Package: emacs;

Reported by: Drew Adams <drew.adams <at> oracle.com>

Date: Fri, 13 Dec 2019 20:38:02 UTC

Severity: normal

Found in version 26.3

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#38598: closed (26.3; Document relation between `make-symbol`
 and `gensym`)
Date: Sat, 14 Dec 2019 09:31:02 +0000
[Message part 1 (text/plain, inline)]
Your message dated Sat, 14 Dec 2019 11:30:00 +0200
with message-id <83blsb6yqv.fsf <at> gnu.org>
and subject line Re: bug#38598: 26.3; Document relation between `make-symbol` and `gensym`
has caused the debbugs.gnu.org bug report #38598,
regarding 26.3; Document relation between `make-symbol` and `gensym`
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)


-- 
38598: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=38598
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Drew Adams <drew.adams <at> oracle.com>
To: bug-gnu-emacs <at> gnu.org
Subject: 26.3; Document relation between `make-symbol` and `gensym`
Date: Fri, 13 Dec 2019 12:35:13 -0800 (PST)
(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''


[Message part 3 (message/rfc822, inline)]
From: Eli Zaretskii <eliz <at> gnu.org>
To: Drew Adams <drew.adams <at> oracle.com>
Cc: 38598-done <at> debbugs.gnu.org
Subject: Re: bug#38598: 26.3;
 Document relation between `make-symbol` and `gensym`
Date: Sat, 14 Dec 2019 11:30:00 +0200
> Date: Fri, 13 Dec 2019 12:35:13 -0800 (PST)
> From: Drew Adams <drew.adams <at> oracle.com>
> 
> (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.


This bug report was last modified 5 years and 162 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.