From 860010a7f7b731055cf8dac036fbc2f9571eb269 Mon Sep 17 00:00:00 2001 From: Gerard Vermeulen Date: Sun, 26 Feb 2023 21:44:42 +0100 Subject: [PATCH] Tweak source block export in the "CL custom font locking" section --- README.org | 41 ++++++++++++++++++++++++++++------------- 1 file changed, 28 insertions(+), 13 deletions(-) diff --git a/README.org b/README.org index 9fceea4..bc0105c 100644 --- a/README.org +++ b/README.org @@ -4153,6 +4153,14 @@ EOF # End: #+end_src +*** [[https://www.n16f.net/blog/custom-font-lock-configuration-in-emacs/][Common Lisp custom font locking]] +:PROPERTIES: +:CUSTOM_ID: sec:cl-custom-font-locking +:END: + +#+caption[Define faces for =Common Lisp= custom font locking]: +#+caption: Define faces for =Common Lisp= custom-font-locking. +#+name: lst:cl-custom-font-locking-faces #+begin_src emacs-lisp -n :results silent ;;; Common Lisp custom font lock configuration. ;;; https://www.n16f.net/blog/custom-font-lock-configuration-in-emacs/ @@ -4170,9 +4178,9 @@ EOF "The face used to highlight standard Common Lisp value symbols.") #+end_src -#+caption[Define tools to find =Common Lisp= standard symbol names]: -#+caption: Define tools to find =Common Lisp= standard symbol names. -#+name: lst:find-cl-standard-symbol-names +#+caption[Setup =SLY= and =Common Lisp= to find standard symbol names]: +#+caption: Setup =SLY= and =Common Lisp= to find standard symbol names. +#+name: lst:sly-cl-standard-symbol-names #+begin_src lisp -n :eval never-export :results silent :tangle no (rplacd (assoc 'slynk:*string-elision-length* slynk:*slynk-pprint-bindings*) (ash 1 14)) @@ -4185,17 +4193,18 @@ EOF (sort symbols #'string<))) #+end_src -#+caption[Define the =cl-function-names= variable]: -#+caption: Define the =cl-function-names= variable. +#+caption[Define the =cl-function-names= variable in an =Emacs Lisp= block]: +#+caption: Use =Common Lisp= to define the =cl-function-names= variable in +#+caption: an =Emacs Lisp= source block for tangling into =user-init-file=. #+name: lst:define-cl-function-names -#+header: :wrap "src emacs-lisp -n :export none :eval never" -#+begin_src lisp -n +#+header: :wrap "src emacs-lisp -n :results silent" +#+begin_src lisp -n :exports both :eval never-export (format nil "(defvar~% cl-function-names~% '~S)~%" (standard-symbol-names #'fboundp)) #+end_src #+RESULTS: lst:define-cl-function-names -#+begin_src emacs-lisp -n :export none :eval never +#+begin_src emacs-lisp -n :results silent (defvar cl-function-names '("*" "+" "-" "/" "/=" "1+" "1-" "<" "<=" "=" ">" ">=" "abort" "abs" "acons" @@ -4350,17 +4359,20 @@ EOF "yes-or-no-p" "zerop")) #+end_src -#+caption[Define the =cl-value-names= variable]: -#+caption: Define the =cl-value-names= variable. +\newpage + +#+caption[Define the =cl-variable-names= variable in an =Emacs Lisp= block]: +#+caption: Use =Common Lisp= to define the =cl-variable-names= variable in +#+caption: an =Emacs Lisp= source block for tangling into =user-init-file=. #+name: lst:define-cl-value-names -#+header: :wrap "src emacs-lisp :export none :eval never" -#+begin_src lisp -n +#+header: :wrap "src emacs-lisp -n :results silent" +#+begin_src lisp -n :exports both :eval never-export (format nil "(defvar~% cl-value-names~% '~S)~%" (standard-symbol-names #'boundp)) #+end_src #+RESULTS: lst:define-cl-value-names -#+begin_src emacs-lisp :export none :eval never +#+begin_src emacs-lisp -n :results silent (defvar cl-value-names '("*" "**" "***" "*break-on-signals*" "*compile-file-pathname*" @@ -4403,6 +4415,9 @@ EOF "single-float-negative-epsilon" "t")) #+end_src +#+caption[Finalize =Common Lisp= custom font locking]: +#+caption: Finalize =Common Lisp= custom font locking. +#+name: lst:finalize-cl-custom-font-locking #+begin_src emacs-lisp -n :results silent (defvar cl-font-lock-keywords (let* ((character-re (concat "#\\\\" lisp-mode-symbol-regexp "\\_>"))