unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Alan Mackenzie <acm@muc.de>
To: Eli Zaretskii <eliz@gnu.org>
Cc: gregory@heytings.org, mattiase@acm.org, philipk@posteo.net,
	silent2600@gmail.com, emacs-devel@gnu.org
Subject: Re: emacs master + org Wrong type argument: number-or-marker-p
Date: Tue, 2 Aug 2022 20:28:42 +0000	[thread overview]
Message-ID: <YumI+nNTZAIcMYvT@ACM> (raw)
In-Reply-To: <83v8ra5uee.fsf@gnu.org>

Hello, Eli.

On Tue, Aug 02, 2022 at 22:15:37 +0300, Eli Zaretskii wrote:
> > Date: Tue, 2 Aug 2022 18:59:07 +0000
> > Cc: gregory@heytings.org, mattiase@acm.org, philipk@posteo.net,
> >   silent2600@gmail.com, emacs-devel@gnu.org
> > From: Alan Mackenzie <acm@muc.de>

> > > This happens only in buffers with very long lines, where we want to
> > > prevent Lisp programs called from low-level facilities, like
> > > redisplay, to scan the entire buffer.

> > So Lisp programs will "only" fail to work in buffers with long lines.  I
> > protest at this.

> Not any Lisp programs, only those invoked from those hooks.

> And they won't necessarily fail.

No, they'll continue in a state different from that conceived by their
creator.  Is that not a failure?

> In fact, we have yet to see a single serious failure due to these
> measures.  In general, the restriction is large enough to satisfy any
> reasonable processing, so it shouldn't matter unless the Lisp program
> misbehaves.

> > There surely could have been a solution to whatever
> > the problem was that respected the integrity of the Lisp machine.

> Theoretically, yes.  But in practice, Emacs had this problem since 22
> years ago, and no solution presented itself.

> > There is not even a return code to say that a byte-code instruction
> > has failed to work.

> A program can always test point-min and point-max.

A rigorous program MUST now test these.  This is such a horrible
artifact that it won't get done most of the time.

> > Surely there should be an error signalled if such happens, since the
> > program is broken after ignoring an instruction.

> It isn't broken, though.

I disagree fundamentally.  CC Mode, for example, uses widen and
narrow-to-region all over the place, and surely other modes will too.
When the opcodes break, so will these modes.

> > Ignoring what a programmer programmed cannot be a good strategy.

> It isn't ignored, just restricted:

There are no safety fences of any sort.  The meaning of a program using
w and n-t-r is no longer determinate.

> we don't let such programs run amok high and low in these extra-long
> lines.

Using widen and narrow-to-region is hardly running amok.

> > I protest also that this wasn't discussed openly on emacs-devel.

> It is being discussed, here and on the bug tracker, for about a month
> now.

That's a month in which the discussion was open only to somebody who
reads every post in the bug list, such as yourself, or who came upon the
discussion by chance.  Others, such as me, were unaware of it.  It looks
like the decision to change the byte code interpreter has already been
taken, and I had no chance to participate in that process.

Is it really right that fundamental changes to Emacs get discussed only
on the bug list, or in secret[*] on emacs-devel?  [*]I.e. when the
subject line is not explicit.

Anyhow, I wanted to protest and I have done so.  The arguments between
the two of us here about widen and n-t-r are clearly not going anywhere,
so I don't intend to continue them.  I won't feel put out if you don't
want to answer them.

-- 
Alan Mackenzie (Nuremberg, Germany).



  reply	other threads:[~2022-08-02 20:28 UTC|newest]

Thread overview: 80+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-08-01 13:13 emacs master + org Wrong type argument: number-or-marker-p hx
2022-08-01 13:37 ` Eli Zaretskii
2022-08-01 15:11   ` Philip Kaludercic
2022-08-01 15:52     ` Eli Zaretskii
2022-08-01 16:07       ` Philip Kaludercic
2022-08-01 16:34         ` Visuwesh
2022-08-01 16:11       ` Gregory Heytings
2022-08-01 16:25         ` Eli Zaretskii
2022-08-01 16:34           ` Philip Kaludercic
2022-08-01 16:39             ` Eli Zaretskii
2022-08-01 17:15               ` Mattias Engdegård
2022-08-01 17:24                 ` Eli Zaretskii
2022-08-01 17:36                   ` Mattias Engdegård
2022-08-01 17:59                     ` Eli Zaretskii
2022-08-01 18:06                       ` Gregory Heytings
2022-08-01 18:25                         ` Eli Zaretskii
2022-08-01 19:14                           ` Gregory Heytings
2022-08-01 18:47                         ` Mattias Engdegård
2022-08-01 19:16                           ` Gregory Heytings
2022-08-01 20:05                             ` Alan Mackenzie
2022-08-02 13:46                               ` Eli Zaretskii
2022-08-02 18:59                                 ` Alan Mackenzie
2022-08-02 19:15                                   ` Eli Zaretskii
2022-08-02 20:28                                     ` Alan Mackenzie [this message]
2022-08-03  1:21                                       ` Po Lu
2022-08-03  2:38                                         ` Eli Zaretskii
2022-08-03  4:34                                           ` Po Lu
2022-08-03 12:02                                             ` Eli Zaretskii
2022-08-03 12:07                                               ` Po Lu
2022-08-03 12:34                                                 ` Eli Zaretskii
2022-08-03 13:10                                                   ` Po Lu
2022-08-03 13:36                                                     ` Eli Zaretskii
2022-08-04  1:04                                                       ` Po Lu
2022-08-04  1:09                                                         ` Gregory Heytings
2022-08-04  1:27                                                           ` Po Lu
2022-08-04  6:45                                                           ` Eli Zaretskii
2022-08-03 20:47                                               ` Stefan Monnier
2022-08-04  5:51                                                 ` Eli Zaretskii
2022-08-04  6:19                                                   ` Po Lu
2022-08-04  7:10                                                     ` Eli Zaretskii
2022-08-04  7:31                                                       ` Po Lu
2022-08-04  7:58                                                         ` Eli Zaretskii
2022-08-04  8:42                                                           ` Po Lu
2022-08-04  9:06                                                             ` Eli Zaretskii
2022-08-04 10:18                                                               ` Alan Mackenzie
2022-08-04 13:18                                                                 ` Eli Zaretskii
2022-08-04 16:07                                                                   ` Alan Mackenzie
2022-08-04 16:37                                                                     ` Eli Zaretskii
2022-08-04 10:26                                                               ` Po Lu
2022-08-04 11:33                                                                 ` Werner LEMBERG
2022-08-04 13:10                                                                 ` Eli Zaretskii
2022-08-04 21:56                                                           ` Stefan Monnier
2022-08-03  7:21                                         ` Gregory Heytings
2022-08-03 11:07                                           ` Po Lu
2022-08-03 12:25                                             ` Eli Zaretskii
2022-08-03 15:25                                             ` Gregory Heytings
2022-08-04  1:02                                               ` Po Lu
2022-08-04  1:08                                                 ` Gregory Heytings
2022-08-04  9:14                                                 ` Stefan Monnier
2022-08-05  3:19                                               ` Richard Stallman
2022-08-03  8:57                                         ` Stefan Monnier
2022-08-03 11:05                                           ` Po Lu
2022-08-03 11:50                                       ` Eli Zaretskii
2022-08-02  8:25                             ` Mattias Engdegård
2022-08-02  8:43                               ` Gregory Heytings
2022-08-02  8:28                           ` Stefan Monnier
2022-08-02  8:40                             ` Mattias Engdegård
2022-08-01 16:36           ` Gregory Heytings
2022-08-01 16:49           ` Lars Ingebrigtsen
2022-08-01 17:23             ` Andreas Schwab
2022-08-07 15:22           ` Julien Cubizolles
2022-08-01 16:39         ` Andreas Schwab
2022-08-02 16:37         ` Opcode Versioning Was: " Sam Steingold
2022-08-02 22:10           ` Stefan Monnier
2022-08-04 14:59             ` Sam Steingold
2022-08-04 22:11               ` Stefan Monnier
2022-08-02  8:59       ` Po Lu
  -- strict thread matches above, loose matches on Subject: below --
2022-08-01 13:45 Gerd Möllmann
2022-08-01 17:36 Gerd Möllmann
2022-08-01 17:58 ` Lars Ingebrigtsen

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=YumI+nNTZAIcMYvT@ACM \
    --to=acm@muc.de \
    --cc=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=gregory@heytings.org \
    --cc=mattiase@acm.org \
    --cc=philipk@posteo.net \
    --cc=silent2600@gmail.com \
    /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).