all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Alan Mackenzie <acm@muc.de>
To: Paul Eggert <eggert@cs.ucla.edu>
Cc: Eli Zaretskii <eliz@gnu.org>,
	Stefan Monnier <monnier@iro.umontreal.ca>,
	emacs-devel@gnu.org
Subject: Re: Excessive use of `eassert`
Date: Mon, 22 Jan 2024 14:37:04 +0000	[thread overview]
Message-ID: <Za59kFWdQDbLs2MU@ACM> (raw)
In-Reply-To: <11f4f47c-2873-4268-9bfb-c844545f27a6@cs.ucla.edu>

Hello, Paul.

On Sun, Jan 21, 2024 at 21:19:30 -0800, Paul Eggert wrote:
> On 2024-01-21 02:59, Alan Mackenzie wrote:

> > I don't think the first patch is correct.  With it applied, the code
> > no longer signals the error of a symbol with position being processed
> > when symbols_with_pos_enabled is false.  That's in the debug build, of
> > course.

> Oh, I think I see what you mean: although the patch is correct when 
> callers use XSYMBOL correctly, ....

No, the patch is wrong.  If things only had to work when callers call
things correctly, we could scrap an awful lot more error checking code
and speed Emacs up enormously.

> .... if a caller has a bug that causes it to call XSYMBOL on a
> symbol-with-position when symbols_with_pos_enabled is false, then
> because of the patch this bug in the caller won't be diagnosed by an
> eassert failure within XSYMBOL in a debug build.

Yes.  This is a bug.

> I installed the attached to try to fix that. This patch doesn't affect 
> regular builds and so should preserve the minor performance advantage on 
> regular builds.

Your latest patch doesn't fix it.  In a regular build, symbols with
position are handled differently depending on the value of
symbols_with_pos_enabled.  Or at least they were and they must be.  Thus
in XBARE_SYMBOL, one MUST test s_w_p_e, regardless of whether the build
is a regular one or a debugging one.

Please fix this.

[ .... ]

-- 
Alan Mackenzie (Nuremberg, Germany).



  parent reply	other threads:[~2024-01-22 14:37 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-01-18 22:35 Excessive use of `eassert` Stefan Monnier
2024-01-19  7:04 ` Eli Zaretskii
2024-01-19 13:01   ` Stefan Monnier
2024-01-19 15:02     ` Eli Zaretskii
2024-01-19 15:50       ` Stefan Monnier
2024-01-19 16:23         ` Eli Zaretskii
2024-01-19 17:44           ` Stefan Monnier
2024-01-19 19:42       ` Alan Mackenzie
2024-01-19 19:56         ` Eli Zaretskii
2024-01-21  1:41         ` Paul Eggert
2024-01-21  9:57           ` Eli Zaretskii
2024-01-21 20:35             ` Paul Eggert
2024-01-21 10:59           ` Alan Mackenzie
2024-01-22  5:19             ` Paul Eggert
2024-01-22 13:07               ` Stefan Monnier
2024-01-22 14:37               ` Alan Mackenzie [this message]
2024-01-23  7:51                 ` Paul Eggert
2024-01-23 11:42                   ` Alan Mackenzie
2024-01-24  1:04                     ` Paul Eggert
2024-01-24 15:09                       ` Alan Mackenzie
2024-01-26  8:06                         ` Paul Eggert
2024-01-21 15:54           ` Stefan Monnier
2024-01-22  4:12             ` Paul Eggert
2024-01-22 13:20               ` Stefan Monnier
2024-01-23  8:15                 ` Paul Eggert
2024-01-23 17:11                   ` Stefan Monnier
2024-01-24  7:45                     ` Paul Eggert
2024-01-23 18:16                   ` Eli Zaretskii
2024-01-23 19:50                     ` Stefan Monnier

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

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

  git send-email \
    --in-reply-to=Za59kFWdQDbLs2MU@ACM \
    --to=acm@muc.de \
    --cc=eggert@cs.ucla.edu \
    --cc=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=monnier@iro.umontreal.ca \
    /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 external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.