unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: Alan Mackenzie <acm@muc.de>
Cc: emacs-devel@gnu.org
Subject: Re: Edebug corrupting point in buffers.
Date: Tue, 01 Nov 2022 16:42:30 +0200	[thread overview]
Message-ID: <838rkud9d5.fsf@gnu.org> (raw)
In-Reply-To: <Y2EiK32B9lxLSFms@ACM> (message from Alan Mackenzie on Tue, 1 Nov 2022 13:42:03 +0000)

> Date: Tue, 1 Nov 2022 13:42:03 +0000
> Cc: emacs-devel@gnu.org
> From: Alan Mackenzie <acm@muc.de>
> 
> > ??? Why would point be restored to the value before the last move of
> > point?  The program you are debugging doesn't affect that buffer with
> > notes, does it?
> 
> Probably not, but it might.  The point is, edebug can't know [*] which
> buffers have been modified by edebug itself, and which have been modified
> by the user.  Some might have been modified by both.
> [*] Without significant enhancement to edebug.

What do you mean by "buffers modified by edebug itself"?  AFAIK,
Edebug doesn't modify any buffers except the one where you are
stepping, where it moves the overlay arrow and point.

> > > With test-edebug.el being
> > > #########################################################################
> > >  1 (defun test-edebug ()
> > >  2   (let ((A "*scratch*") (B "emacs.README"))
> > >  3    (set-buffer A)
> > >  4    (set-buffer B)
> > >  5    (goto-char (point-max))
> > >  6    (insert "(2022-11-01)\n")
> > >  7    ;; B's buffer-point is at point-max.
> > >  8
> > >  9    (set-buffer A)
> > > 10    (set-buffer B)
> > > 11    ;; B's buffer-point is no longer at point-max.
> > > 12   (insert "(2022-11-01)a\n")))
> > > #########################################################################
> > > ,
> > > (i) Emacs -Q.
> > > (ii) On a single frame, arrange buffers *scratch*, test-edebug.el, and
> > >   some other substantial buffer, that I call emacs.README.
> > > (iii) Put point in emacs.README somewhere other than point-max.
> > > (iv) Instrument test-edebug for edebug with C-u C-M-x.
> > > (v) M-: (test-edebug).
> > > (vi) Step through test-edebug using the space key.
> > > (vii) Note that the second text insertion happens where point was in the
> > >   window, not at point-max.  This is the bug.
> 
> > I cannot reproduce this: for me, the insertion is at point-max.  Maybe
> > your recipe description is incomplete?
> 
> Apologies.  I neglected to mention that window-saving (toggled by "W" in
> an edebug session) must be enabled to trigger the bug.  Indeed, I wasn't
> fully aware of this.

If the problem happens only when edebug-save-displayed-buffer-points
is non-nil, then maybe we should step back a notch and ask why you set
that option?  It is nil by default.  What doesn't work for you if you
keep it at its nil value?

AFAIU, this variable exists for some very special situations (which
ones exactly I admit I don't have a clear idea), and it could be that
your use case is not one of them.



  reply	other threads:[~2022-11-01 14:42 UTC|newest]

Thread overview: 62+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-10-31 11:43 Edebug corrupting point in buffers; we need buffer-point and set-buffer-point, perhaps Alan Mackenzie
2022-10-31 13:16 ` Eli Zaretskii
2022-10-31 14:32   ` Alan Mackenzie
2022-10-31 14:50     ` Eli Zaretskii
2022-10-31 15:46       ` Alan Mackenzie
2022-10-31 17:33         ` Stefan Monnier
2022-10-31 17:55         ` Eli Zaretskii
2022-10-31 20:46           ` Alan Mackenzie
2022-11-01  6:21             ` Eli Zaretskii
2022-10-31 17:19       ` Stefan Monnier
2022-10-31 18:09         ` Eli Zaretskii
2022-10-31 20:35           ` Stefan Monnier
2022-10-31 17:21 ` Stefan Monnier
2022-10-31 18:10   ` Eli Zaretskii
2022-10-31 23:14     ` Stefan Monnier
2022-11-01  7:06       ` Eli Zaretskii
2022-10-31 21:25 ` Alan Mackenzie
2022-11-01  6:45   ` Eli Zaretskii
2022-11-01 11:41     ` Edebug corrupting point in buffers Alan Mackenzie
2022-11-01 11:53       ` Eli Zaretskii
2022-11-01 13:42         ` Alan Mackenzie
2022-11-01 14:42           ` Eli Zaretskii [this message]
2022-11-01 17:06             ` Alan Mackenzie
2022-11-01 17:12               ` Eli Zaretskii
2022-11-01 17:24                 ` Alan Mackenzie
2022-11-01 17:57                   ` Eli Zaretskii
2022-11-01 19:02                     ` Alan Mackenzie
2022-11-01 19:47                       ` Stefan Monnier
2022-11-01 20:53                         ` Alan Mackenzie
2022-11-01 21:51                           ` Stefan Monnier
2022-11-02 10:40                             ` Alan Mackenzie
2022-11-02 13:12                               ` Stefan Monnier
2022-11-02 13:28                                 ` Eli Zaretskii
2022-11-02  3:28                         ` Eli Zaretskii
2022-11-02 12:53                           ` Stefan Monnier
2022-11-02 17:40                       ` Juri Linkov
2022-11-02 18:26                         ` Eli Zaretskii
2022-11-02 18:36                           ` Juri Linkov
2022-11-02 18:52                             ` Eli Zaretskii
2022-11-03 17:25                               ` Juri Linkov
2022-11-03 18:06                                 ` Eli Zaretskii
2022-11-03 18:31                                   ` Juri Linkov
2022-11-02 11:34                     ` Alan Mackenzie
2022-11-02 14:00                       ` Eli Zaretskii
2022-11-02 16:18                         ` Alan Mackenzie
2022-11-02 16:57                           ` Eli Zaretskii
2022-11-03 11:32                             ` Alan Mackenzie
2022-11-03 13:29                               ` Eli Zaretskii
2022-11-03 18:07                                 ` Alan Mackenzie
2022-11-03 18:15                                   ` Eli Zaretskii
2022-11-03 20:25                                     ` Alan Mackenzie
2022-11-05 11:24                                       ` Eli Zaretskii
2022-11-05 16:50                                         ` Alan Mackenzie
2022-11-06  8:10                                           ` Eli Zaretskii
2022-11-06 14:40                                             ` Alan Mackenzie
2022-11-03 19:29                         ` Stefan Monnier
2022-11-03 19:36                           ` Eli Zaretskii
2022-11-03 20:39                             ` Stefan Monnier
2022-11-04  6:34                               ` Eli Zaretskii
2022-11-04  6:37                               ` Eli Zaretskii
2022-11-03 19:57                           ` Alan Mackenzie
2022-11-03 20:35                             ` 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

  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=838rkud9d5.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=acm@muc.de \
    --cc=emacs-devel@gnu.org \
    /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).