From: Alan Mackenzie <acm@muc.de>
To: martin rudalics <rudalics@gmx.at>
Cc: alex.bennee@linaro.org, 48337@debbugs.gnu.org
Subject: bug#48337: Fwd: 28.0.50; Emacs crashing randomly (possibly minibuffer activity related)
Date: Thu, 13 May 2021 12:09:44 +0000 [thread overview]
Message-ID: <YJ0XCBqY7l1Tc6+8@ACM> (raw)
In-Reply-To: <YJ0TfRlzlsfbsAHP@ACM>
Hello, Martin.
On Thu, May 13, 2021 at 11:54:37 +0000, Alan Mackenzie wrote:
> How about the following functions, in which minibuf.c now bypasses
> record-window-buffer, instead calling push-window-buffer-onto-prev
> direct? I'm still not convinced that the call to
> buffer-list-update-hooks belongs in record-window-buffer, but that
> doesn't seem too important any more. On preliminary testing, these
> appear to work:
OK, I've wrongly moved the with-current-buffer form in the first
function. I'm aware of this and will correct it. Also, I've forgotten
to amend the doc string of record-window-buffer. I'll correct that,
too.
> (defun push-window-buffer-onto-prev (&optional window)
> "Push entry for WINDOW's buffer onto WINDOW's prev-buffers list.
> WINDOW must be a live window and defaults to the selected one.
> Any duplicate entries for the buffer in the list are removed."
> (let* ((window (window-normalize-window window t))
> (buffer (window-buffer window))
> (w-list (window-prev-buffers window))
> (entry (assq buffer w-list)))
> (when entry
> (setq w-list (assq-delete-all buffer w-list)))
> (let ((start (window-start window))
> (point (window-point window)))
> (setq entry
> (cons buffer
> (if entry
> ;; We have an entry, update marker position.
> (list (set-marker (nth 1 entry) start)
> (set-marker (nth 2 entry) point))
> (list (copy-marker start)
> (copy-marker
> ;; Preserve window-point-insertion-type
> ;; (Bug#12855)
> point (with-current-buffer buffer
> window-point-insertion-type))))))
> (set-window-prev-buffers window (cons entry w-list)))))
--
Alan Mackenzie (Nuremberg, Germany).
next prev parent reply other threads:[~2021-05-13 12:09 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <87tunasd2u.fsf@linaro.org>
2021-05-10 19:30 ` bug#48337: Fwd: 28.0.50; Emacs crashing randomly (possibly minibuffer activity related) Alex Bennée
2021-05-10 19:34 ` bug#48337: Alex Bennée
2021-05-11 2:24 ` bug#48337: Fwd: 28.0.50; Emacs crashing randomly (possibly minibuffer activity related) Eli Zaretskii
2021-05-11 6:51 ` Alex Bennée
2021-05-11 8:23 ` Alex Bennée
2021-05-11 8:54 ` Alex Bennée
2021-05-11 12:21 ` Eli Zaretskii
2021-05-11 12:54 ` Alex Bennée
2021-05-11 13:42 ` Eli Zaretskii
2021-05-11 13:47 ` Eli Zaretskii
2021-05-11 19:45 ` Alan Mackenzie
2021-05-11 19:55 ` Eli Zaretskii
2021-05-12 18:54 ` Alan Mackenzie
2021-05-13 7:54 ` martin rudalics
2021-05-13 9:52 ` Alan Mackenzie
2021-05-13 11:54 ` Alan Mackenzie
2021-05-13 12:09 ` Alan Mackenzie [this message]
2021-05-14 15:20 ` Gregory Heytings
2021-05-14 16:05 ` Eli Zaretskii
2021-05-14 17:31 ` Gregory Heytings
2021-05-14 18:19 ` Eli Zaretskii
2021-05-15 9:45 ` Gregory Heytings
2021-05-11 20:14 ` Alan Mackenzie
2021-05-11 22:07 ` Alex Bennée
2021-05-14 16:31 ` Alan Mackenzie
2021-05-14 16:52 ` Alex Bennée
2021-05-14 18:40 ` Alan Mackenzie
2021-05-14 22:35 ` Alex Bennée
2021-05-15 12:00 ` Alan Mackenzie
2021-05-16 14:24 ` Alan Mackenzie
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=YJ0XCBqY7l1Tc6+8@ACM \
--to=acm@muc.de \
--cc=48337@debbugs.gnu.org \
--cc=alex.bennee@linaro.org \
--cc=rudalics@gmx.at \
/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).