org-set-tags-command: Fix handling `org-loop-over-headlines-in-active-region'

* lisp/org.el (org-set-tags-command): Respect the non-nil value of
`org-loop-over-headlines-in-active-region'.  The code is adapted from
similar uses in other commands.

Reported-by: Alex Giorev <alex.giorev@gmail.com>
Link: https://orgmode.org/list/CAMq3WZh1sGW+BNKW1hZA+wP=iFskzShF-D-wUqWYqb_EponZ8g@mail.gmail.com
This commit is contained in:
Ihor Radchenko 2022-10-29 13:25:38 +08:00
parent c70a422082
commit 7880695221
No known key found for this signature in database
GPG Key ID: 6470762A7DA11D8B
1 changed files with 4 additions and 5 deletions

View File

@ -11573,13 +11573,12 @@ in Lisp code use `org-set-tags' instead."
(cond
((equal '(4) arg) (org-align-tags t))
((and (org-region-active-p) org-loop-over-headlines-in-active-region)
(let (org-loop-over-headlines-in-active-region) ; hint: infinite recursion.
(let ((cl (if (eq org-loop-over-headlines-in-active-region 'start-level)
'region-start-level 'region))
org-loop-over-headlines-in-active-region) ; hint: infinite recursion.
(org-map-entries
#'org-set-tags-command
nil
(if (eq org-loop-over-headlines-in-active-region 'start-level)
'region-start-level
'region)
nil cl
(lambda () (when (org-invisible-p) (org-end-of-subtree nil t))))))
(t
(save-excursion