Subject: Re: bug#45607: 27.1; compiled replace-string breaks repeat-complex-command

From: Juri Linkov <[email-masked]>
Date: Tue, 09 Aug 2022 21:41:24 +0300

> It should be added to all commands that work on the region like this,
> yes.  But I wondered whether we should make some trivial helper
> functions first like
>
> (defun use-region-beginning ()
>   "Return the start of the region if `use-region-p'."
>   (and (use-region-p) (region-beginning)))
>
> and the same for -end to avoid having to repeat that code phrase so many
> places.

Indeed, this will help to make the history items shorter:

  (replace-string "a" "b" nil (if (use-region-p) (region-beginning)) (if (use-region-p) (region-end)))
  ->
  (replace-string "a" "b" nil (use-region-beginning) (use-region-end))