From: "Bob Floyd" <bobfloyd@comcast.net>
To: "'Juri Linkov'" <juri@linkov.net>
Cc: 45617@debbugs.gnu.org
Subject: bug#45617: <query-replace> loses the edit region. Works in 23.3, broke in 26.3
Date: Fri, 15 Jan 2021 10:05:04 -0800 [thread overview]
Message-ID: <000c01d6eb68$f3f675f0$dbe361d0$@net> (raw)
In-Reply-To: <87k0sezj07.fsf@mail.linkov.net>
I'm having an issue with the new patch. <query-replace> fails!
1. Select entire region by dragging mouse.
2. Begin <query-replace>
In the command window: Query replace in region:
3. Enter RL using the keyboard
In the command window: Query replace in region RL with:
4. Now, with the mouse, select RL at line 12 ...
paramset P2 RL; <--- THIS ONE
... then yank it to the command window and with keyboard enter X:
In the command window: Query replace in region RL with: RLX
5. Enter
Only one of the two RL's in the region are selected, depending on
if the region was selected from top-to-bottom or bottom-to-top.
It should select both RL's!
----------------------------------------------------
module RL ( electrical in, out );
parameter real R1 = 7000.0;
parameter real C = 1p;
analog begin
I(in,out) <+ V(in,out) / R1;
I(out) <+ C * ddt( V(out) );
end
endmodule // Sub
paramset P2 RL;
parameter real R=1000;
.R1= R;
endparamset
----------------------------------------------------
Just in case I misread the diff, this is the function as I have manually
patched it:
(defun query-replace-read-args (prompt regexp-flag &optional noerror)
(unless noerror
(barf-if-buffer-read-only))
(save-mark-and-excursion
(let* ((from (query-replace-read-from prompt regexp-flag))
(to (if (consp from) (prog1 (cdr from) (setq from (car from)))
(query-replace-read-to from prompt regexp-flag))))
(or (and current-prefix-arg (not (eq current-prefix-arg '-)))
(and (plist-member (text-properties-at 0 from)
'isearch-regexp-function)
(get-text-property 0 'isearch-regexp-function from)))
(list from to
(and current-prefix-arg (not (eq current-prefix-arg '-)))
(and current-prefix-arg (eq current-prefix-arg '-))))))
-----Original Message-----
From: Juri Linkov [mailto:juri@linkov.net]
Sent: Friday, January 15, 2021 12:55 AM
To: Bob Floyd
Cc: 'Eli Zaretskii'; 45617@debbugs.gnu.org
Subject: Re: bug#45617: <query-replace> loses the edit region. Works in
23.3, broke in 26.3
> I've removed the earlier patch and installed these changes. Now testing
it!
> Thanks.
>
> -----Original Message-----
> (defun query-replace-read-args (prompt regexp-flag &optional noerror)
> (unless noerror
> (barf-if-buffer-read-only))
> + (save-mark-and-excursion
> (let* ((from (query-replace-read-from prompt regexp-flag))
> (to (if (consp from) (prog1 (cdr from) (setq from (car from)))
> (query-replace-read-to from prompt regexp-flag))))
It seems this is what we need to push to be able to close this bug report.
Indeed, it fixes only query-replace commands. But fixing all commands
that use the minibuffer is not as easy as adding 'save-mark-and-excursion'
like in the patch above.
The problem is that 'read-from-minibuffer' is implemented in C.
If it was implemented in Lisp, it would be easy to add just
'save-mark-and-excursion', but in C this is impossible.
next prev parent reply other threads:[~2021-01-15 18:05 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-01-03 1:05 bug#45617: <query-replace> loses the edit region. Works in 23.3, broke in 26.3 Bob Floyd
2021-01-03 14:47 ` Eli Zaretskii
2021-01-03 19:18 ` Bob Floyd
2021-01-04 17:26 ` Eli Zaretskii
2021-01-04 17:37 ` Juri Linkov
2021-01-04 22:40 ` Bob Floyd
2021-01-05 18:27 ` Juri Linkov
2021-01-05 19:45 ` Bob Floyd
2021-01-06 17:44 ` Juri Linkov
2021-01-06 18:19 ` Eli Zaretskii
2021-01-06 22:10 ` Bob Floyd
2021-01-13 18:53 ` Juri Linkov
2021-01-15 1:22 ` Bob Floyd
2021-01-15 8:54 ` Juri Linkov
2021-01-15 11:23 ` Eli Zaretskii
2021-01-19 17:45 ` Juri Linkov
2021-01-19 18:39 ` Eli Zaretskii
2021-01-15 18:05 ` Bob Floyd [this message]
2021-01-19 17:43 ` Juri Linkov
2021-01-20 22:48 ` Bob Floyd
2021-01-20 23:23 ` Bob Floyd
2021-01-21 21:50 ` Juri Linkov
2021-01-22 17:31 ` Bob Floyd
2021-01-23 17:20 ` Juri Linkov
2021-01-23 18:03 ` Bob Floyd
2021-01-23 18:31 ` Juri Linkov
2021-01-24 20:40 ` Bob Floyd
2021-01-25 17:07 ` Juri Linkov
2021-01-25 18:13 ` Bob Floyd
2021-01-25 18:54 ` Juri Linkov
2021-01-25 19:34 ` Bob Floyd
2021-01-25 19:51 ` Juri Linkov
2021-01-26 0:34 ` Bob Floyd
2021-01-27 9:43 ` Juri Linkov
2021-01-28 16:31 ` Bob Floyd
2021-01-28 18:42 ` Juri Linkov
2021-01-28 21:32 ` Bob Floyd
2021-01-29 8:56 ` Juri Linkov
2021-01-15 18:09 ` Bob Floyd
2021-01-07 18:46 ` Juri Linkov
2021-01-07 19:36 ` Eli Zaretskii
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='000c01d6eb68$f3f675f0$dbe361d0$@net' \
--to=bobfloyd@comcast.net \
--cc=45617@debbugs.gnu.org \
--cc=juri@linkov.net \
/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).