emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* re created using regexp-opt fails in an org agenda command
@ 2021-12-13  3:59 Samuel Wales
  2021-12-18  8:52 ` Samuel Wales
  2021-12-18 14:37 ` Ihor Radchenko
  0 siblings, 2 replies; 4+ messages in thread
From: Samuel Wales @ 2021-12-13  3:59 UTC (permalink / raw)
  To: emacs-orgmode

this bug is strange because it appears as if regexp-opt is broken, but
the only likely difference is an org upgrade via git clone.

in an org agenda command, the same set of org todo kw works if a
regexp was created using mapconcat, but not with regexp-opt.

i expected that regexp-opt with 'words is identical to the mapconcat
version in functionality in this context.

===

i am trying to upgrade to recent org 9.5 main.  [goal is to eventually
use bugfix branch with a couple of patches.]  [on main, however, i
intend to first try the batch agenda archive speedups.  current is org
9.4.6.  thank you very very much for those.]

i am running 25.1.1
i used git clone from savannah to get the org repo
i have not tried -Q yet as that woudl require a lot of setup
i compiled with make which defaulted to make oldorg

in my current versin of org, this bug does not exist, even though
regexp-opt should not have changed.

===

here is the org-agenda-custom-commands command.  i have provided some
raw strings produced by the commands.

this version errors with "and: Invalid regexp: "Unmatched ( or \\("".
toggling backtrace on does not produce a backtrace.

but if the regexp-opt is commented out and mapconcat is uncommented,
it does not produce an error and it works.

it also works with the string /produced by/ mapconcat.  but it still
fails with the string produced by regexp-opt.  i confirmed that the
string version of the regexp-opt works using re-search-forward, so idk
why it would not work from one version of org.

            ("ne" "clean up by expired CLOSED"
             tags (concat
                   ;; the + makes no difference seemingly
                   "+CLOSED<\"<-1w>\"&TODO={^"
                   ;; "DONE"
                   ;; (alpha-org-todo-of--regexp :doneish)
                   ;; (apply #'append (mapcar #'alpha-org-todo-of '(:doneish)))
                   (regexp-opt '("DONEKA" "DONE" "MOSTKA" "MOST"
"ANYWAY" "DUPLICATEKA" "DUPLICATE" "MOOTKA" "MOOT" "WAKARANAI")
'words)
                   ;;
"\\<\\(ANYWAY\\|D\\(?:ONE\\(?:KA\\)?\\|UPLICATE\\(?:KA\\)?\\)\\|MO\\(?:OT\\(?:KA\\)?\\|ST\\(?:KA\\)?\\)\\|WAKARANAI\\)\\>"
                   ;; (re-search-forward
"\\<\\(ANYWAY\\|D\\(?:ONE\\(?:KA\\)?\\|UPLICATE\\(?:KA\\)?\\)\\|MO\\(?:OT\\(?:KA\\)?\\|ST\\(?:KA\\)?\\)\\|WAKARANAI\\)\\>")
;; this line works
                   ;; (mapconcat #'identity (apply #'append (mapcar
#'alpha-org-todo-of '(:doneish))) "\\|")
                   ;; this line works
                   ;;
"DONEKA\\|DONE\\|MOSTKA\\|MOST\\|ANYWAY\\|DUPLICATEKA\\|DUPLICATE\\|MOOTKA\\|MOOT\\|WAKARANAI"
                   "$}")

thanks.

-- 
The Kafka Pandemic

A blog about science, health, human rights, and misopathy:
https://thekafkapandemic.blogspot.com


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2021-12-18 14:37 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-12-13  3:59 re created using regexp-opt fails in an org agenda command Samuel Wales
2021-12-18  8:52 ` Samuel Wales
2021-12-18  9:59   ` Ihor Radchenko
2021-12-18 14:37 ` Ihor Radchenko

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.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).