GNU bug report logs - #73420
30.0.90; Race condition in `ansi-osc-apply-on-region' with concurrent user input

Previous Next

Package: emacs;

Reported by: Augusto Stoffel <arstoffel <at> gmail.com>

Date: Sun, 22 Sep 2024 07:39:01 UTC

Severity: normal

Found in version 30.0.90

Full log


Message #8 received at 73420 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Augusto Stoffel <arstoffel <at> gmail.com>
Cc: Matthias Meulien <orontee <at> gmail.com>, 73420 <at> debbugs.gnu.org
Subject: Re: bug#73420: 30.0.90;
 Race condition in `ansi-osc-apply-on-region' with concurrent user
 input
Date: Sun, 22 Sep 2024 11:21:04 +0300
> From: Augusto Stoffel <arstoffel <at> gmail.com>
> Date: Sun, 22 Sep 2024 09:37:55 +0200
> 
> In the current implementation of `ansi-osc-apply-on-region', the
> intention of the calls to `buffer-substring-no-properties' and
> `delete-region' is to get the payload of the OSC control sequence
> currently being parsed.
> 
> However, it is possible that the user typed some characters in the
> buffer while the OSC payload is arriving (and I have actually observed
> this happen if the payload is moderately large).  So
> `buffer-substring-no-properties' should be replaced with something that
> gets the buffer text in that range, but restricted to the portions that
> actually came from the subprocess.

Thanks.  Since you (together with Matthias) are the author of
ansi-osc.el, would you like to propose a solution for this?

> PS: Is there already a version of `filter-buffer-substring' anywhere in
> Emacs that filters based on the value of a given text property, or do
> people bake their own every time?

Looks like the latter, see backtrace--filter-visible, for example.




This bug report was last modified 267 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.