diff --git a/README.org b/README.org index 9538bd4..d1c3127 100644 --- a/README.org +++ b/README.org @@ -136,15 +136,15 @@ Here follows a list of interesting Emacs configurations: silently ignore the setup stanzas of uninstalled extension packages. 5. [[https://sachachua.com/dotemacs/][Sacha Chua's configuration]] is a practical example of producing the Emacs initialization files by tangling an [[info:org#Top][org]] file. It gives me the impression - that she is a very practical person trying to achieve her goals by the most + that she is a practical person trying to achieve her goals by the most efficient means. 6. [[https://github.com/purcell/emacs.d][Steve Purcell's configuration]] is well organized and a showcase of readable code. Its commit and issue histories are also helpful: see for instance the discussion [[https://github.com/purcell/emacs.d/issues/778][The order of company candidates is incorrect in Emacs lisp mode]]. Here follows a list of links on how to use Emacs and Elisp: -1. [[https://www.masteringemacs.org/][Mastering Emacs]] is a link to a blog with many interesting posts that promotes - a book on how to become a proficient Emacs user. +1. [[https://www.masteringemacs.org/][Mastering Emacs]] is a link to a blog with interesting posts that promotes a + book on how to become a proficient Emacs user. 2. [[https://www2.lib.uchicago.edu/keith/emacs/][Use GNU Emacs: The Plain Text Computing Environment]] explains the fundamentals of the Emacs abstractions before showing how to exploit those abstractions interactively. It targets a similar audience as the [[https://www.masteringemacs.org/][Mastering Emacs]] book. @@ -155,7 +155,7 @@ Here follows a list of links on how to use Emacs and Elisp: 4. [[https://www.youtube.com/watch?v=6ZWp05OW1c0][Emergency Emacs]] is a link to a video on fundamental editing features and principles with focus on [[info:ediff#Top][ediff (info)]], [[info:emacs#Undo][undo (info)]], [[info:emacs#Moving Point][moving point (info)]], [[info:emacs#Erasing][erasing (info)]], and [[info:emacs#Dynamic Abbrevs][dynamic abbreviations (info)]]. -5. [[https://endlessparentheses.com/][Endless Parentheses]] is a blog with many mindblowing code snippets. +5. [[https://endlessparentheses.com/][Endless Parentheses]] is a blog with mindblowing code snippets. 6. [[https://www.murilopereira.com/how-to-open-a-file-in-emacs/][How to open a file in Emacs]] looks into [[info:elisp#Top][elisp (info)]] and [[info:elisp#Debugging][elisp debugging (info)]] and then compares Emacs, [[https://www.vim.org/][Vim]], [[https://neovim.io/][Neovim]], and [[https://code.visualstudio.com/][Visual Studio Code]] with respect to values and technology. @@ -536,11 +536,14 @@ Listing [[lst:set-default-face-height]] shows that font scaling is easy in case proper initialization of all face heigths. To adjust the font size in the current or future frames, invoke src_emacs-lisp{(set-default-face-height)}. To adjust the font size in the current buffer, type: -1. {{{kbd(s-=)}}} which is bound to src_emacs-lisp{(text-scale-adjust +1)}. -2. {{{kbd(s--)}}} which is bound to src_emacs-lisp{(text-scale-adjust -1)}. -3. {{{kbd(s-0)}}} which is bound to src_emacs-lisp{(text-scale-adjust 0)}. +1. {{{kbd(s-=)}}} to invoke src_emacs-lisp[:results silent]{(text-scale-adjust + +1)}. +2. {{{kbd(s--)}}} to invoke src_emacs-lisp[:results silent]{(text-scale-adjust + -1)}. +3. {{{kbd(s-0)}}} to invoke src_emacs-lisp[:results silent]{(text-scale-adjust + 0)}. Listing [[lst:fix-gtk-color-for-invert-default-face]], -[[lst:shadow-org-font-lock-faces]], and [[lst:shadow-emacs-font-lock-faces]] show a few +[[lst:shadow-org-font-lock-faces]], and [[lst:shadow-emacs-font-lock-faces]] show a tweaks to improve visibility without theming: 1. Fixing the =gtk= background color of the already loaded =region= face. 2. Toggling between a dark and light background by means of @@ -631,7 +634,7 @@ Scale all other faces with a height that is a real number." :inherit (fixed-pitch) ,@(and (>= emacs-major-version 27) '(:extend t)) :background "#FFFFD0")) - "My face used for text inside various blocks. + "My face used for text inside blocks. It is always used for source blocks. You can refine what face should be used depending on the source block language by setting, @@ -843,8 +846,8 @@ BUG: The virtual buffers of the ~consult-buffer~ command do not seem to work. Therefore, ~consult-buffer~ is no means to access the bookmark history (contrary to claims in [[info:consult#Top][consult (info)]]). -#+caption[Let Emacs save bookmarks when it is killed]: -#+caption: Let Emacs save bookmarks when it is killed. +#+caption[Let Emacs save bookmarks when killed]: +#+caption: Let Emacs save bookmarks when killed. #+name: lst:setup-bookmark #+begin_src emacs-lisp -n :results silent (with-eval-after-load 'bookmark @@ -2288,8 +2291,7 @@ list detailing and motivating each listing: 4. Listing [[lst:ob-tangle-plus]] extends [[info:org#Noweb Reference Syntax][source code export (info)]] with the possibility to tangle of for instance Emacs Lisp files (or other programming mode files) into a directory specified by ~org-babel-post-tangle-dir~ which - can be changed using =org-get-entry= to read lines like ~#+property: - tangle-dir: ANY-PLACE~ near the beginning an Org file. + ~toggle-post-tangle-hook-dir-usage~ may change. 5. Listing [[lst:set-org-link-options]] handles [[https://orgmode.org/][Org-mode]] options specific to [[info:org#Hyperlinks][hyperlinks (info)]]. 6. Listing [[lst:setup-org-mode-map-1]] and [[lst:setup-org-mode-map-2]] extend the @@ -2460,7 +2462,7 @@ When prefix ARG is non-nil, prompt first for a language." (defcustom org-babel-post-tangle-dir nil "Destination directory used by `dir+org-babel-post-tangle'. -May be changed by `toggle-post-tangle-hook-dir-usage'." +Is subject to change by `toggle-post-tangle-hook-dir-usage'." :group 'org-babel) (defcustom org-babel-post-tangle-dir-modes '(emacs-lisp-mode) @@ -3323,7 +3325,7 @@ processor, text to product convertor) to an Emacs setup. Listing Ref. [cite:@Schulte.MCSE.2011.41] shows that [[https://orgmode.org/][Org-mode]] is a simple, plain-text markup language for hierarchical documents allowing intermingling of data, code, -and prose. It serves as an example link to to show how to use [[https://github.com/bdarcus/citar][Citar]] within this +and prose. It serves as an example link to show how to use [[https://github.com/bdarcus/citar][Citar]] within this setup, provided that =citar-bibliography= and =citar-library-paths= point to valid directories and files. In an [[https://orgmode.org/][Org-mode]] buffer this setup allows to: 1. Insert one or more [[https://orgmode.org/][Org-mode]] cite links: @@ -3632,8 +3634,7 @@ facilate moving single directories or whole directory trees." (let ((path (match-string 1 link)) (page (and (match-beginning 2) (string-to-number (match-string 2 link))))) - ;; Let Org mode open the file (in-emacs = 1) to ensure - ;; org-link-frame-setup is respected. + ;; Let Org mode open the file to respect org-link-frame-setup. (org-open-file path 1) (when page (pdf-view-goto-page page)))) @@ -3934,7 +3935,7 @@ Load all test files first." ;; test-ob-exp/noweb-on-export fails due to spacing (can't fix). ;; test-ob-exp/noweb-on-export-with-exports-results due to spacing (idem). ;; ob-maxima fixed but spacing is fragile. Which Maxima? - ;; ob-python hangs sometimes, but very seldom. + ;; ob-python hangs sometimes, but seldom. ;; ob-tangle/continued-code-blocks-w-noweb-ref fails. (ert (rx (or "org/" "org-fold" "org-element" "org-macro" "org-src" "property-inheritance" @@ -6022,8 +6023,8 @@ packages: 2. [[https://jedi.readthedocs.io/en/latest/][Jedi]] is a static analysis tool for Python that is typically used in plugins for editors or integrated development environments. Jedi has a focus on autocompletion and object definition lookup functionality. -3. [[https://github.com/charliermarsh/ruff#readme][Ruff]] is an extremely fast Python linter and a replacement for [[https://flake8.pycqa.org/en/latest/][Flake8]] with a - variety of its plugins. [[https://notes.crmarsh.com/][Charlie Marsh]] explains why he started [[https://pypi.org/project/ruff/][Ruff]] in the +3. Nowadays, [[https://github.com/charliermarsh/ruff#readme][Ruff]] is the fastest Python linter and a replacement for [[https://flake8.pycqa.org/en/latest/][Flake8]] with + a variety of its plugins. [[https://notes.crmarsh.com/][Charlie Marsh]] explains why he started [[https://pypi.org/project/ruff/][Ruff]] in the post [[https://notes.crmarsh.com/python-tooling-could-be-much-much-faster][Python tooling could be much faster]]. 4. [[https://github.com/python-lsp/python-lsp-server#readme][Python LSP Server]] is in my opinion the most complete [[https://en.wikipedia.org/wiki/Language_Server_Protocol][Language Server Protocol]] implementation for Python and it handles [[https://github.com/charliermarsh/ruff#readme][Ruff]] thanks to the [[https://github.com/python-lsp/python-lsp-ruff][python-lsp-ruff]] @@ -6715,8 +6716,8 @@ Listing [[lst:obas-test][Org Babel Ackermann Scheme test]] allows to check wheth :END: The library [[info:dash.info#Top][dash.el (info)]] positions itself as a modern alternative for the list -processing API of [[info:cl#Top][cl]]. It is a requirement of several important packages in this -Emacs setup (for instance [[https://github.com/andras-simonyi/citeproc-el#readme][citeproc]], [[https://github.com/magit/magit#readme][magit]], and [[https://github.com/Fuco1/smartparens#readme][smartparens]]). Listing +processing API of [[info:cl#Top][cl]]. It is a requirement of important packages in this Emacs +setup (for instance [[https://github.com/andras-simonyi/citeproc-el#readme][citeproc]], [[https://github.com/magit/magit#readme][magit]], and [[https://github.com/Fuco1/smartparens#readme][smartparens]]). Listing [[lst:configure-dash]] enables fontification of =dash= macros and makes =info-lookup-symbol= take into account the =dash= macros. @@ -7135,7 +7136,7 @@ on any Org table, Org source block, Org block, or Org subtree. (user-error "Not in a table"))) (defun narrow-or-widen-dwim (p) - "Widen if buffer is narrowed, narrow \"Do What I Mean\" otherwise. + "Widen a narrowed buffer, narrow \"Do What I Mean\" otherwise. DWIM means: region, Org table, Org source block, Org block, Org subtree, LaTeX environment, TeX group, or defun, whichever applies first. Narrowing to org-src-block actually calls