unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: Augusto Stoffel <arstoffel@gmail.com>
Cc: philipk@posteo.net, michael_heerdegen@web.de,
	mail@daniel-mendler.de, gregory@heytings.org,
	monnier@iro.umontreal.ca, 62009@debbugs.gnu.org
Subject: bug#62009: 29.0.60; Emacs crashes on setf symbol-name
Date: Fri, 10 Mar 2023 14:09:41 +0200	[thread overview]
Message-ID: <83pm9gzu2i.fsf@gnu.org> (raw)
In-Reply-To: <87v8j84zp1.fsf@gmail.com> (message from Augusto Stoffel on Fri,  10 Mar 2023 12:23:54 +0100)

> From: Augusto Stoffel <arstoffel@gmail.com>
> Cc: Gregory Heytings <gregory@heytings.org>,  Eli Zaretskii <eliz@gnu.org>,
>   Philip Kaludercic <philipk@posteo.net>,  michael_heerdegen@web.de,
>   monnier@iro.umontreal.ca,  62009@debbugs.gnu.org
> Date: Fri, 10 Mar 2023 12:23:54 +0100
> 
> On Fri, 10 Mar 2023 at 12:09, Daniel Mendler wrote:
> 
> > On 3/10/23 11:59, Gregory Heytings wrote:
> >> That would also come with a performance overhead, as there is currently no 
> >> way to distinguist strings that are used for symbol names from other 
> >> strings.  Not to mention the added complexity in the code.
> >
> > One could check if the string is located in read-only memory. Or one
> > could add a flag bit to the string data structure (and possibly to other
> > data structures too). Freezing data structures such that they become
> > read-only is a generally useful feature. There won't be any performance
> > overhead of the check since a branch not taken is fast thanks to the
> > branch predictor.
> 
> Note also that in-place modification of strings is arbitrarily costly,
> cf. (aset "ascii" 0 ?😼).  Not to mention that it's rarely a good or
> necessary move to make, as far as programming style is concerned.

Be this tru as it may, we will not constrain what Lisp programs can
legitimately do just because we think it is "rarely a good move".
That's against our long-time policy, which is explain why something
might not be a good idea, but otherwise don't block that, letting the
unwise cope with the consequences of their unwise actions.

IOW, we encourage Lisp programmers to DTRT and not use dangerous
practices, but don't block them if they want to.





  reply	other threads:[~2023-03-10 12:09 UTC|newest]

Thread overview: 48+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-03-06 19:26 bug#62009: 29.0.60; Emacs crashes on setf symbol-name Daniel Mendler
2023-03-07  4:40 ` Ruijie Yu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-03-07 15:45 ` Michael Heerdegen
2023-03-07 17:08   ` Daniel Mendler
2023-03-07 17:39     ` Eli Zaretskii
2023-03-09 21:11       ` Philip Kaludercic
2023-03-10  7:11         ` Eli Zaretskii
2023-03-10  8:45           ` Augusto Stoffel
2023-03-10  8:47             ` Augusto Stoffel
2023-03-10 11:50               ` Eli Zaretskii
2023-03-10 12:00                 ` Daniel Mendler
2023-03-10 12:35                   ` Eli Zaretskii
2023-03-10 12:45                     ` Daniel Mendler
2023-03-10 12:57                       ` Eli Zaretskii
2023-03-10 13:08                         ` Daniel Mendler
2023-03-10 15:02                           ` Eli Zaretskii
2023-03-11 15:16                     ` Gregory Heytings
2023-03-11 15:37                       ` Eli Zaretskii
2023-03-18 22:46                         ` Gregory Heytings
2023-03-19  6:03                           ` Eli Zaretskii
2023-03-19 21:20                             ` Gregory Heytings
2023-03-10 11:49             ` Eli Zaretskii
2023-03-10  9:40           ` Gregory Heytings
2023-03-10 10:31             ` Daniel Mendler
2023-03-10 10:59               ` Gregory Heytings
2023-03-10 11:09                 ` Daniel Mendler
2023-03-10 11:23                   ` Augusto Stoffel
2023-03-10 12:09                     ` Eli Zaretskii [this message]
2023-03-10 11:30                   ` Robert Pluim
2023-03-10 11:36                     ` Daniel Mendler
2023-03-10 12:13                       ` Eli Zaretskii
2023-03-10 12:24                         ` Daniel Mendler
2023-03-10 22:01                           ` Dmitry Gutov
2023-03-10 11:57                     ` Gregory Heytings
2023-03-10 12:12                     ` Eli Zaretskii
2023-03-10 13:19                       ` Robert Pluim
2023-03-11  7:07                     ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-03-13  8:07                       ` Robert Pluim
2023-03-13  8:28                         ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-03-13 11:47                           ` Eli Zaretskii
2023-03-13 11:50                             ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-03-13 11:46                         ` Eli Zaretskii
2023-03-10 11:59                 ` Eli Zaretskii
2023-03-10 11:53             ` Eli Zaretskii
2023-03-10 11:59               ` Gregory Heytings
2023-03-11  7:07               ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-03-11  7:47                 ` Eli Zaretskii
2023-03-10 18:56           ` Philip Kaludercic

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=83pm9gzu2i.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=62009@debbugs.gnu.org \
    --cc=arstoffel@gmail.com \
    --cc=gregory@heytings.org \
    --cc=mail@daniel-mendler.de \
    --cc=michael_heerdegen@web.de \
    --cc=monnier@iro.umontreal.ca \
    --cc=philipk@posteo.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).