Hi List, I cite from a recent thread on Emacs Help:
#+begin_quote Right, I'm very much convinced that the power of Org-mode could be unleashed in a true org-minor-mode that works in the comment-sections of programming major-modes. [...] The major "flaw" of Org-mode that inhibits its use as minor-mode is the wide-spread use of hard-coded regexps, i.e. regexps of this form ,-------------- | "^\\*+ ... $" `-------------- in many many variants all over the place. Those three elements "^" (bol), "$" (eol) and "*" (star) are not portable, since in comment-sections of programming major-modes the above should look like: PicoLisp (comment-start repeated with padding) ,-------------- | "^## *+ ... $" `-------------- Elisp outshine-style (comment-start repeated with padding) ,-------------- | "^;; *+ ... $" `-------------- old-school Elisp (comment-start repeated no padding, different star) ,-------------- | "^;;;+ ... $" `-------------- #+end_quote Now I just announced [[https://github.com/tj64/drx][drx.el]] on Emacs Help, I cite again: #+begin_quote Its main purpose is to abstract from hardcoded "^", "$" and "\\*" in regexps. Here are a few examples: # basic usage #+begin_src emacs-lisp (drx "foo" t nil t) #+end_src #+results: : ^foo$ # org-mode version #+begin_src emacs-lisp (drx " foo" t '(t "+") t) #+end_src #+results: : ^\(\*+\) foo$ # css-mode version with # as star #+begin_src emacs-lisp (let ((drx-BOL "^/* ") (drx-EOL "*/$") (drx-STAR "#")) (drx " foo" t '(t "+") t)) #+end_src #+results: : ^/* \(#+\) foo*/$ Many more things are possible, the more than 80 ERT tests in drx.el give many examples with expected output. #+end_quote What do you think - is there any chance that Org-mode switches from static hardcoded regexp strings (all over the place) to dynamic regexps calculated at runtime (using libraries like drx.el or rx.el)? There would be a cost definitely, but then a true org-minor-mode could become reality that offers the full power of Org-mode in programming mode's comment section (I'm actually working on it by merging outshine with orgstruct: [[https://github.com/tj64/omm][omm.el]]). -- cheers, Thorsten