I do not have to work around the `org-ctags' land grab anymore

This commit is contained in:
Gerard Vermeulen 2024-04-30 12:29:10 +02:00
parent 9dbd90f3cb
commit 8990152ebb
1 changed files with 14 additions and 51 deletions

View File

@ -2182,34 +2182,32 @@ Links to Org-mode videos are:
:ID: 0D725DA1-7431-40BD-85FF-EFF4F7E4EC95
:END:
I have split the initial [[https://orgmode.org/][Org-mode]] setup over fifteen listings. Here, follows a
I have split the initial [[https://orgmode.org/][Org-mode]] setup over fourteen listings. Here, follows a
list detailing and motivating each listing:
1. Listing [[lst:set-org-options]] handles basic [[https://orgmode.org/][Org-mode]] options.
2. Listing [[lst:org-capture-templates]] initializes a simple capture template.
3. Listing [[lst:undo-org-ctags]] undoes ~org-ctags~. See [[https://list.orgmode.org/87mt43agk6.fsf@localhost/][org-ctags land grab]] for
more information.
4. Listing [[lst:setup-org-babel]] sets ~ob-core~, ~ob-latex~, and ~ob-lisp~ options.
3. Listing [[lst:setup-org-babel]] sets ~ob-core~, ~ob-latex~, and ~ob-lisp~ options.
See [[info:org#Working with Source Code][working with source code (info)]] for Org Babel information.
5. Listing [[lst:no-org-babel-eval]] prevents evaluation of blocks without an
4. Listing [[lst:no-org-babel-eval]] prevents evaluation of blocks without an
=org-babel-execute:<LANG>= function and adds fake =org-babel-execute:<LANG>=
functions to silence {{{kbd(M-x org-lint)}}} warnings.
6. Listing [[lst:set-org-link-options]] handles [[https://orgmode.org/][Org-mode]] options specific to
5. Listing [[lst:set-org-link-options]] handles [[https://orgmode.org/][Org-mode]] options specific to
[[info:org#Hyperlinks][hyperlinks (info)]].
7. Listing [[lst:looking-at-org-id]] enables recent ~org-id~ features.
8. Listing [[lst:setup-org-mode-map-1]] and [[lst:setup-org-mode-map-2]] extend the
6. Listing [[lst:looking-at-org-id]] enables recent ~org-id~ features.
7. Listing [[lst:setup-org-mode-map-1]] and [[lst:setup-org-mode-map-2]] extend the
=org-mode-map= with useful key-bindings.
9. Listing [[lst:setup-org-src]] facilitates [[info:org#Editing Source Code][editing source code blocks]], and it
8. Listing [[lst:setup-org-src]] facilitates [[info:org#Editing Source Code][editing source code blocks]], and it
provides functions to change the indentation of all =org-src-mode= blocks.
10. Listing [[lst:setup-ob-python]] allows to pretty-print Python session source
block values with [[https://github.com/psf/black#readme][black]] instead of [[https://docs.python.org/3/library/pprint.html][pprint]]. This snippet may break in the
future, because it sets =org-babel-python--def-format-value= which is a
constant declared "private" by two dashes in its name!
11. Listing [[lst:set-org-export-options]] selects the =non-intrusive= expert user
9. Listing [[lst:setup-ob-python]] allows to pretty-print Python session source
block values with [[https://github.com/psf/black#readme][black]] instead of [[https://docs.python.org/3/library/pprint.html][pprint]]. This snippet may break in the
future, because it sets =org-babel-python--def-format-value= which is a
constant declared "private" by two dashes in its name!
10. Listing [[lst:set-org-export-options]] selects the =non-intrusive= expert user
interface for export dispatching.
12. Listing [[lst:setup-org-for-lualatex-export]] and
11. Listing [[lst:setup-org-for-lualatex-export]] and
[[lst:set-ox-latex-options-for-lualatex-export]] configure [[https://orgmode.org/][Org-mode]] to generate
output for the LuaLaTeX compiler.
13. Listing [[lst:setup-org-latex-classes]] defines [[info:org#LaTeXspecificexportsettings][org-latex-classes (info)]] for
12. Listing [[lst:setup-org-latex-classes]] defines [[info:org#LaTeXspecificexportsettings][org-latex-classes (info)]] for
backward compatibility. For an explanation of the code in listing
[[lst:setup-org-latex-classes]], type {{{kbd(C-h v org-latex-classes)}}}.
@ -2267,41 +2265,6 @@ list detailing and motivating each listing:
%a"))))
#+end_src
#+caption[Undo calling =org-ctags-enable= ]:
#+caption: Undo calling =org-ctags-enable=.
#+name: lst:undo-org-ctags
#+begin_src emacs-lisp -n :results silent
;; See also `org-link-search-must-match-exact-headline' for link
;; searches. Undo calling `org-ctags-enable'. For what may cause
;; `org-ctags' loading, see:
;; https://list.orgmode.org/87mt43agk6.fsf@localhost/
;;
;; Completion may call `visit-tags-table' which also prompts for a
;; TAGS table but this is another mechanism. While editing Python
;; source blocks, start a Python interpreter to get rid of such
;; prompts.
(defun org-ctags-disable ()
"Undo calling `org-ctags-enable'.
Watch out for completion `visit-tags-table' prompts."
(interactive)
(setq org-ctags-enabled-p nil)
;; Steal the options list from the `org-ctags-open-link-functions' code.
(setq org-open-link-functions
(seq-difference org-open-link-functions
'(org-ctags-append-topic
org-ctags-ask-append-topic
org-ctags-ask-rebuild-tags-file-then-find-tag
org-ctags-ask-visit-buffer-or-file
org-ctags-fail-silently
org-ctags-find-tag
org-ctags-rebuild-tags-file-then-find-tag
org-ctags-visit-buffer-or-file)))
(put 'org-mode 'find-tag-default-function nil))
(with-eval-after-load 'org-ctags
(org-ctags-disable))
#+end_src
#+caption[Set =org-babel= options]:
#+caption: Set =org-babel= options.
#+name: lst:setup-org-babel