[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/eev c6d93dbcee 2/7: Merge branch 'UTF-8'
From: |
ELPA Syncer |
Subject: |
[elpa] externals/eev c6d93dbcee 2/7: Merge branch 'UTF-8' |
Date: |
Tue, 2 Jan 2024 12:57:47 -0500 (EST) |
branch: externals/eev
commit c6d93dbcee08677362fdf9b0a918e20644fbc7aa
Merge: 210347643a 721027b939
Author: Eduardo Ochs <eduardoochs@gmail.com>
Commit: Eduardo Ochs <eduardoochs@gmail.com>
Merge branch 'UTF-8'
---
ChangeLog | 21 +++++++++
VERSION | 4 +-
eev-intro.el | 136 +++++++++++++++++++++++++++++++++++++++++++++++++--------
eev-kl-here.el | 93 ++++++++++++++++++++++++++++++++++++++-
eev-kla.el | 43 +-----------------
eev-load.el | 6 ++-
eev-qrl.el | 108 +++++++++++++++++++++++++++++++++++++++++++++
eev-tlinks.el | 8 ++--
8 files changed, 350 insertions(+), 69 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 89dc215f3e..73975260aa 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,24 @@
+2023-12-23 Eduardo Ochs <eduardoochs@gmail.com>
+
+ * eev-kl-here.el: added a provide.
+
+ * eev-qrl.el: added a provide.
+
+ * eev-intro.el (find-templates-intro): rewrote the section "5.
+ Debugging the meat".
+
+ * eev-qrl.el: new file.
+
+ * eev-intro.el (find-templates-intro): mention eev-qrl.el.
+
+2023-12-22 Eduardo Ochs <eduardoochs@gmail.com>
+
+ * eev-kl-here.el: new file.
+ (ee-find-einfo-link, ee-find-eintro-link, ee-kl-sexp-klin)
+ (eeklin, eeklins): moved from "eev-kla.el" to "eev-kl-here.el".
+
+ * eev-load.el (eev-kl-here): added a (require 'eev-kl-here).
+
2023-12-21 Eduardo Ochs <eduardoochs@gmail.com>
* eev-tlinks.el (find-macports-links): new function.
diff --git a/VERSION b/VERSION
index e462cda692..fd25d21d7d 100644
--- a/VERSION
+++ b/VERSION
@@ -1,2 +1,2 @@
-Fri Dec 22 02:00:45 GMT 2023
-Thu Dec 21 23:00:45 -03 2023
+Sun Dec 24 01:38:56 GMT 2023
+Sat Dec 23 22:38:56 -03 2023
diff --git a/eev-intro.el b/eev-intro.el
index cd912351ab..b88c66945b 100644
--- a/eev-intro.el
+++ b/eev-intro.el
@@ -19,7 +19,7 @@
;;
;; Author: Eduardo Ochs <eduardoochs@gmail.com>
;; Maintainer: Eduardo Ochs <eduardoochs@gmail.com>
-;; Version: 20231221
+;; Version: 20231223
;; Keywords: e-scripts
;;
;; Latest version: <http://anggtwu.net/eev-current/eev-intro.el>
@@ -10436,18 +10436,112 @@ of what `ee-S' does:
4. Adding meat
==============
-(TODO: explain how to quote certain characters)
+The tricky part of adding stuff to the string in the
+`(ee-template0 \"...\")' is that some characters need to quoted.
+See this file for an interactive function - `M-x qrl', where the
+\"qrl\" means \"query-replace-list\" - that will quote them in
+the right way:
+
+ (find-eev \"eev-qrl.el\")
+
+That file is not loaded by default. To make Emacs always load it,
+add these lines to your ~/.emacs:
+
+;; From: (find-templates-intro \"4. Adding meat\")
+(require 'eev-qrl) ; (find-eev \"eev-qrl.el\")
+
5. Debugging the meat
=====================
-TODO: explain `M-x tt' and `M-x tt0',
-and explain which parts this video they replace:
+This video, from 2021,
(find-1stclassvideo-links \"2021ffll\")
+explains how to use `find-find-links-links-new', but from about
+36:00 onwards it explains how to debug `find-*-links' functions
+using a method that was horribly complex. In 2021 I didn't know
+how to use `C-M-x' (`eval-defun') -
+
+ (find-enode \"Lisp Eval\" \"C-M-x\" \"containing or following point\")
+
+to evaluate the defun around point; `C-M-x' makes everything much
+simpler.
+
+Let's see an example. Run this
+
+ (find-find-links-links-new \"mytaskC\" \"foo bar\" \"\")
+
+to create an adjusted skeleton in a temporary buffer; change its
+meat to:
+
+ _{foo}_{bar}_
+
+and type `C-M-x'. The meat is inside the defun for
+`find-mytaskC-links', so running `C-M-x' will redefine
+`find-mytaskC-links'.
+
+Suppose that we want to edit its meat and check the result of two
+tests after every few keystrokes. Suppose that our two tests are
+these ones,
+
+ (find-mytaskC-links)
+ (find-mytaskC-links \"FOO\" \"BAR\")
+
+or rather these ones - try them:
+
+ (find-2a nil '(find-mytaskC-links))
+ (find-2a nil '(find-mytaskC-links \"FOO\" \"BAR\"))
+
+the `find-2a's will make their temporary buffers be shown at the
+window at the right, and in the first test the \"{foo}\" and the
+\"{bar}\" will be kept unchanged, and in the second test they
+will become \"FOO\" and \"BAR\".
+
+The temporary buffer generated by
+
+ (find-find-links-links-new \"mytaskC\" \"foo bar\" \"\")
+
+has three defuns like these ones at its bottom:
+
+ (defun ee-template-test (&rest args)
+ (let ((ee-buffer-name \"*ee-template-test*\"))
+ (find-2a nil `(find-mytaskC-links ,@args))))
+
+ (defun tt0 () (interactive) (eek \"C-M-x\") (ee-template-test))
+ (defun tt () (interactive) (eek \"C-M-x\") (ee-template-test \"A\" \"B\"))
+
+Eval each of these three defuns with `M-e'. The last two are
+meant to be run from inside the
+
+ (defun find-mytaskC-links ...)
+
+with `M-x tt0' and `M-x tt'; let's see how. Generate this
+temporary buffer again,
+
+ (find-find-links-links-new \"mytaskC\" \"foo bar\" \"\")
+
+and edit the meat of `find-mytaskC-links' to make it this again:
+
+ _{foo}_{bar}_
+
+Then type `M-x tt0' and `M-x tt' while still inside the defun -
+`M-x tt0' will reevalute `find-mytaskC-links' and show the result
+of the first test in the window at the right, and `M-x tt0' will
+reevalute `find-mytaskC-links' and show the result of the second
+test in the window at the right. Then edit the meat a bit, and
+try `M-x tt0' and `M-x tt' again. TA-DAA! =)
+
+Note that we did everything in this example using only temporary
+buffers. Now try to do something similar copying your working
+version of `find-mytaskC-links' to a file in emacs-lisp-mode - I
+usually use the file \"~/elisp/test.el\" for this kind of draft
+code, and I only move the defuns of my new `find-*-links'
+functions to other files after they become minimally useful.
+
+
@@ -16237,10 +16331,25 @@ that are displayed in a format like this one:
2. Dependencies
===============
Here we install some system-wide packages.
-This part is different for each OS and distro.
+The first part - pdf-tools - should work everywhere.
+The other part is different for each OS and distro.
-2.1. Debian
+2.1. Pdf-tools
+--------------
+ Make sure that you have pdf-tools installed in Emacs.
+ This part should work in all OSs (except Windows).
+ Note: some of the sexps below take a long time - many seconds!
+
+ (find-epackage-links 'pdf-tools)
+ (package-initialize)
+ (add-to-list 'package-archives (\"melpa\" .
\"https://melpa.org/packages/\"))
+ (package-refresh-contents)
+ (package-install 'pdf-tools)
+ (find-epackage 'pdf-tools)
+
+
+2.2. Debian
-----------
Make sure that we have the Debian packages that we need.
(eepitch-shell)
@@ -16266,7 +16375,7 @@ sudo apt-get install texlive-latex-extra
(find-lpegremanual)
-2.2. Arch Linux
+2.3. Arch Linux
---------------
Make sure that we have the Pacman packages that we need.
(eepitch-shell)
@@ -16291,7 +16400,7 @@ sudo pacman -S texlive-latexextra
(find-lpegremanual)
-2.3. MacOS (MacPorts)
+2.4. MacOS (MacPorts)
---------------------
Make sure that we have the MacPorts packages that we need.
(eepitch-shell)
@@ -16316,18 +16425,9 @@ sudo port install lua-lpeg lua51-lpeg lua52-lpeg
-3. Installation (on Debian)
+3. Installation (on /tmp/)
===========================
- Make sure that you have pdf-tools installed in Emacs.
- Note: some of the sexps below take a long time - many seconds!
- (find-epackage-links 'pdf-tools)
- (package-initialize)
- (add-to-list 'package-archives (\"melpa\" .
\"https://melpa.org/packages/\"))
- (package-refresh-contents)
- (package-install 'pdf-tools)
- (find-epackage 'pdf-tools)
-
Clone the git repository with Show2.lua and friends.
See: https://github.com/edrx/show2-elpeg1#introduction
(eepitch-shell)
diff --git a/eev-kl-here.el b/eev-kl-here.el
index 650f79d277..de434aa093 100644
--- a/eev-kl-here.el
+++ b/eev-kl-here.el
@@ -19,7 +19,7 @@
;;
;; Author: Eduardo Ochs <eduardoochs@gmail.com>
;; Maintainer: Eduardo Ochs <eduardoochs@gmail.com>
-;; Version: 20231222
+;; Version: 20231223
;; Keywords: e-scripts
;;
;; Latest version: <http://anggtwu.net/eev-current/eev-kl-here.el>
@@ -28,8 +28,99 @@
;; <http://anggtwu.net/eev-intros/find-kla-intro.html>
;; (find-kla-intro)
+;;; Commentary:
+;;; This file implements some commands that look like the ones in
+;;; `eev-kla.el' but that try to be smart in a way similar to
+;;; `find-here-links'. Everything here is VERY experimental.
+;; Index:
+;; «.generate-sexps» (to "generate-sexps")
+;; «.kill-sexps» (to "kill-sexps")
+;; «.aliases» (to "aliases")
+
+(require 'eev-kla) ; (find-eev "eev-kla.el")
+(require 'eev-hlinks) ; (find-eev "eev-hlinks.el")
+
+
+
+
+
+;;; ____
+;;; / ___| _____ ___ __ ___
+;;; \___ \ / _ \ \/ / '_ \/ __|
+;;; ___) | __/> <| |_) \__ \
+;;; |____/ \___/_/\_\ .__/|___/
+;;; |_|
+;;
+;; «generate-sexps» (to ".generate-sexps")
+;; See: (find-eev "eev-kla.el" "generate-sexps")
+;; (find-eev "eev-hlinks.el" "hprog")
+;; (find-efunction 'ee-find-info-links)
+;; (find-efunction 'ee-find-intro-links)
+;;
+(defun ee-find-einfo-link (str)
+ "An internal function used by `ee-kl-sexp-klin'."
+ (let ((pos-spec-list (if str (list str))))
+ (if (ee-info-shortp)
+ `(,(ee-info-shortf) ,(ee-info-node) ,@pos-spec-list)
+ `(find-node ,(ee-info-fullnode) ,@pos-spec-list))))
+
+(defun ee-find-eintro-link (str)
+ "An internal function used by `ee-kl-sexp-klin'."
+ (let* ((stem (ee-intro-stem))
+ (find-xxx-intro (ee-intern "find-%s-intro" stem))
+ (pos-spec-list (if str (list str))))
+ `(,find-xxx-intro ,@pos-spec-list)))
+
+(defun ee-kl-sexp-klin (&optional str)
+ "<K>ill <l>ink to a <in>fo or <in>tro - make sexp."
+ (cond ((ee-info-bufferp) (ee-find-einfo-link str))
+ ((ee-intro-bufferp) (ee-find-eintro-link str))
+ (t (error "Not in info or in an intro!"))))
+
+
+;; Todo: adapt:
+;; (find-eev "eev-hlinks.el" "ee-hprog-find-here-links")
+;; (find-eev "eev-hlinks.el" "ee-hlang-run")
+
+
+;;; _ ___ _ _
+;;; | |/ (_) | |___
+;;; | ' /| | | / __|
+;;; | . \| | | \__ \
+;;; |_|\_\_|_|_|___/
+;;;
+;; «kill-sexps» (to ".kill-sexps")
+;; Commands that push sexps into the kill ring.
+;; See: (find-eev "eev-kla.el" "kill-sexps")
+;;
+(defun eeklin ()
+ "<K>ill <l>ink to <in>fo or <in>tro."
+ (interactive)
+ (ee-kl-kill (ee-kl-sexp-klin nil)))
+
+(defun eeklins ()
+ "<K>ill <l>ink to <in>fo or <in>tro and a <s>tring."
+ (interactive)
+ (ee-kl-kill (ee-kl-sexp-klin (ee-kl-region))))
+
+
+;;; _ _ _
+;;; / \ | (_) __ _ ___ ___ ___
+;;; / _ \ | | |/ _` / __|/ _ \/ __|
+;;; / ___ \| | | (_| \__ \ __/\__ \
+;;; /_/ \_\_|_|\__,_|___/\___||___/
+;;;
+;; «aliases» (to ".aliases")
+;; See: (find-eev "eev-kla.el" "aliases")
+;; (find-kla-intro "4. Aliases")
+;; I use these aliases:
+;; (defalias 'klin 'eeklin)
+;; (defalias 'klins 'eeklins)
+
+
+(provide 'eev-kl-here)
;; Local Variables:
;; coding: utf-8-unix
diff --git a/eev-kla.el b/eev-kla.el
index eafe2b1383..af0aff62d7 100644
--- a/eev-kla.el
+++ b/eev-kla.el
@@ -19,7 +19,7 @@
;;
;; Author: Eduardo Ochs <eduardoochs@gmail.com>
;; Maintainer: Eduardo Ochs <eduardoochs@gmail.com>
-;; Version: 20231202
+;; Version: 20231222
;; Keywords: e-scripts
;;
;; Latest version: <http://anggtwu.net/eev-current/eev-kla.el>
@@ -39,7 +39,6 @@
;; «.ee-kl-r-c-d» (to "ee-kl-r-c-d")
;; «.shorter-fnames» (to "shorter-fnames")
;; «.generate-sexps» (to "generate-sexps")
-;; «.generate-sexps-klin» (to "generate-sexps-klin")
;; «.ee-kl-kill» (to "ee-kl-kill")
;; «.kill-sexps» (to "kill-sexps")
;; «.ee-kl-insert» (to "ee-kl-insert")
@@ -391,34 +390,6 @@ If (ee-kl-lrcds FNAME) doesn't return any matching
`lrcd's, return nil."
(list 'to anchor region))
-;; «generate-sexps-klin» (to ".generate-sexps-klin")
-;; See: (find-eev "eev-hlinks.el" "hprog")
-;; (find-efunction 'ee-find-info-links)
-;; (find-efunction 'ee-find-intro-links)
-;;
-(defun ee-find-einfo-link (str)
- "An internal function used by `ee-kl-sexp-klin'."
- (let ((pos-spec-list (if str (list str))))
- (if (ee-info-shortp)
- `(,(ee-info-shortf) ,(ee-info-node) ,@pos-spec-list)
- `(find-node ,(ee-info-fullnode),@pos-spec-list))))
-
-(defun ee-find-eintro-link (str)
- "An internal function used by `ee-kl-sexp-klin'."
- (let* ((stem (ee-intro-stem))
- (find-xxx-intro (ee-intern "find-%s-intro" stem))
- (pos-spec-list (if str (list str))))
- `(,find-xxx-intro ,@pos-spec-list)))
-
-(defun ee-kl-sexp-klin (&optional str)
- "<K>ill <l>ink to a <in>fo or <in>tro - make sexp."
- (cond ((ee-info-bufferp) (ee-find-einfo-link str))
- ((ee-intro-bufferp) (ee-find-eintro-link str))
- (t (error "Not in info or in an intro!"))))
-
-
-
-
;;; _ _ _ _ _ _
;;; ___ ___ | | _| | | | _(_) | |
;;; / _ \/ _ \_____| |/ / |_____| |/ / | | |
@@ -496,16 +467,6 @@ Put in the kill ring a link to the preceding anchor."
(interactive)
(ee-kl-kill (ee-kl-sexp-klts)))
-(defun eeklin ()
- "<K>ill <l>ink to <in>fo or <in>tro."
- (interactive)
- (ee-kl-kill (ee-kl-sexp-klin nil)))
-
-(defun eeklins ()
- "<K>ill <l>ink to <in>fo or <in>tro and a <s>tring."
- (interactive)
- (ee-kl-kill (ee-kl-sexp-klin (ee-kl-region))))
-
@@ -606,8 +567,6 @@ When not at BOL, move to the beginning of the next line."
;; (defalias 'klfs 'eeklfs)
;; (defalias 'klt 'eeklt)
;; (defalias 'klts 'eeklts)
-;; (defalias 'klin 'eeklin)
-;; (defalias 'klins 'eeklins)
;; (defalias 'kli 'ee-kl-insert)
;; (defalias 'kla2 'eekla2)
diff --git a/eev-load.el b/eev-load.el
index 5bf3b3b216..17ba2ff116 100644
--- a/eev-load.el
+++ b/eev-load.el
@@ -1,7 +1,7 @@
;;; eev-load.el -- load all the main modules of eev. -*- lexical-binding:
nil; -*-
;;; This can also be used as an index to the main source files.
-;; Copyright (C) 2019-2022 Free Software Foundation, Inc.
+;; Copyright (C) 2019-2023 Free Software Foundation, Inc.
;;
;; This file is part of GNU eev.
;;
@@ -20,7 +20,7 @@
;;
;; Author: Eduardo Ochs <eduardoochs@gmail.com>
;; Maintainer: Eduardo Ochs <eduardoochs@gmail.com>
-;; Version: 20220827
+;; Version: 20231223
;; Keywords: e-scripts
;;
;; Supersedes: (find-eev "eev-all.el")
@@ -148,8 +148,10 @@
(require 'eev-edit) ; (find-eev "eev-edit.el")
(require 'eev-testblocks) ; (find-eev "eev-testblocks.el")
(require 'eev-kla) ; (find-eev "eev-kla.el")
+(require 'eev-kl-here) ; (find-eev "eev-kl-here.el")
(require 'eev-helpful) ; (find-eev "eev-helpful.el")
(require 'eev-rstdoc) ; (find-eev "eev-rstdoc.el")
+' (require 'eev-qrl) ; (find-eev "eev-qrl.el")
;;
;; Configuration on M$ Windows.
(require 'eev-wconfig) ; (find-eev "eev-wconfig.el")
diff --git a/eev-qrl.el b/eev-qrl.el
new file mode 100644
index 0000000000..fb88ab04f0
--- /dev/null
+++ b/eev-qrl.el
@@ -0,0 +1,108 @@
+;;; eev-qrl.el -- `query-replace-list', for editing templates. -*-
lexical-binding: nil; -*-
+
+;; Copyright (C) 2022-2023 Free Software Foundation, Inc.
+;;
+;; This file is part of GNU eev.
+;;
+;; GNU eev is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+;;
+;; GNU eev is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+;;
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
+;;
+;; Author: Eduardo Ochs <eduardoochs@gmail.com>
+;; Maintainer: Eduardo Ochs <eduardoochs@gmail.com>
+;; Version: 20231223
+;; Keywords: e-scripts
+;;
+;; Latest version: <http://anggtwu.net/eev-current/eev-qrl.el>
+;; htmlized: <http://anggtwu.net/eev-current/eev-qrl.el.html>
+;; See also: <http://anggtwu.net/eev-current/eev-beginner.el.html>
+;; <http://anggtwu.net/eev-intros/find-templates-intro.html>
+;; (find-templates-intro)
+
+;;; Comment:
+
+;; When we edit `find-*-links' functions we often have to copy
+;; external strings into the argument of the (ee-template0 "...") -
+;; and then we have to add backslashes before some characters and
+;; convert "{"s to "{<}"s and "}"s to "{>}"s. The command `M-x qrl'
+;; uses `query-replace-regexp' to do this interactively in a nice way.
+;;
+;; For more on this and on editing `find-*-links' functions, see:
+;;
+;; (find-templates-intro "4. Adding meat")
+;;
+;; To understand how this works run one of these three sexps,
+;;
+;; (require 'eev-qrl)
+;; (load (buffer-file-name))
+;; (eval-buffer)
+;;
+;; and then try the high-level tests below.
+;;
+;; High-level tests:
+;; (find-elinks-elisp '((qrl "from1" "to1" "from2" "to2") "from2from1"))
+;; (find-elinks-elisp '((qrl "a" "bb" "b" "aa") "abcde"))
+;; (find-elinks-elisp '((qrl) "{\"foo\"}"))
+;; Low-level tests:
+;; (ee-qrl-as)
+;; (ee-qrl-regexp)
+;; (ee-qrl-r0 "{")
+;; (ee-qrl-r1 "foo\\&bar")
+;; (ee-qrl-r2 "\\")
+;;
+;; The code below was based on this question:
+;; https://lists.gnu.org/archive/html/help-gnu-emacs/2023-12/msg00064.html
+
+(defvar ee-qrl-plist0
+ '("\"" "\\\""
+ "\\" "\\\\"
+ "{" "{<}"
+ "}" "{>}"))
+(defvar ee-qrl-plist ee-qrl-plist0)
+
+(defun ee-qrl-as () (cl-loop for (a b) on ee-qrl-plist by 'cddr collect a))
+(defun ee-qrl-regexp () (mapconcat 'regexp-quote (ee-qrl-as) "\\|"))
+(defun ee-qrl-r0 (s) (plist-get ee-qrl-plist (ee-no-properties s) 'equal))
+(defun ee-qrl-r1 (s) (replace-regexp-in-string "\\\\" "\\\\\\\\" s))
+(defun ee-qrl-r2 (s) (ee-qrl-r1 (ee-qrl-r0 s)))
+(defun ee-qrl-r3 (a b) (ee-qrl-r2 (match-string 0)))
+
+(defun ee-qrl0 (&rest plist)
+ (interactive)
+ (let ((ee-qrl-plist (or plist ee-qrl-plist)))
+ (query-replace-regexp (ee-qrl-regexp) (list 'ee-qrl-r3 nil))
+ "Done"))
+
+(defun ee-qrl-narrow (&rest plist)
+ (interactive)
+ (save-excursion
+ (save-restriction
+ (narrow-to-region (point) (mark))
+ (goto-char (point-min))
+ (apply 'ee-qrl0 plist))))
+
+(defun ee-qrl (&rest plist)
+ (interactive)
+ (if (region-active-p) ; if the region as active
+ (apply 'ee-qrl-narrow plist) ; then narrow to the region
+ (apply 'ee-qrl0 plist))) ; else replace to the end of the buffer
+
+(defalias 'qrl0 'ee-qrl0)
+(defalias 'qrl 'ee-qrl)
+
+
+(provide 'eev-qrl)
+
+;; Local Variables:
+;; coding: utf-8-unix
+;; no-byte-compile: t
+;; End:
diff --git a/eev-tlinks.el b/eev-tlinks.el
index fc9767cc61..93a1dda325 100644
--- a/eev-tlinks.el
+++ b/eev-tlinks.el
@@ -19,7 +19,7 @@
;;
;; Author: Eduardo Ochs <eduardoochs@gmail.com>
;; Maintainer: Eduardo Ochs <eduardoochs@gmail.com>
-;; Version: 20231221
+;; Version: 20231223
;; Keywords: e-scripts
;;
;; Latest version: <http://anggtwu.net/eev-current/eev-tlinks.el>
@@ -511,9 +511,9 @@ This is an internal function used by `find-{stem}-links'.\"
(defun ee-ffll-deftest (stem args &optional vars)
(ee-template0 "\
-;; A function to test changes in the template of `find-{stem}-links'.
-;; To use it type `M-x tt' inside the `(defun find-{stem}-links ...)'.
-;; See: (find-enode \"Lisp Eval\" \"eval-defun\" \"C-M-x\" \"containing\")
+;; Functions to test changes in the template of `find-{stem}-links'.
+;; To use them type `M-x tt' inside the `(defun find-{stem}-links ...)'.
+;; See: (find-templates-intro \"5. Debugging the meat\")
;;
(defun ee-template-test (&rest args)
(let ((ee-buffer-name \"*ee-template-test*\"))
- [elpa] externals/eev updated (17c1bcbdd9 -> 1e751eeb0f), ELPA Syncer, 2024/01/02
- [elpa] externals/eev 210347643a 1/7: Added "eev-kl-here.el"., ELPA Syncer, 2024/01/02
- [elpa] externals/eev bf1470adec 3/7: Synced the two branches., ELPA Syncer, 2024/01/02
- [elpa] externals/eev c6d93dbcee 2/7: Merge branch 'UTF-8',
ELPA Syncer <=
- [elpa] externals/eev 79ae496a2e 5/7: Merge branch 'UTF-8', ELPA Syncer, 2024/01/02
- [elpa] externals/eev 5916f707fe 4/7: Merge branch 'UTF-8'., ELPA Syncer, 2024/01/02
- [elpa] externals/eev 1e751eeb0f 7/7: Added (find-kl-here-intro)., ELPA Syncer, 2024/01/02
- [elpa] externals/eev 620f58f0e2 6/7: Trying to merge the branches., ELPA Syncer, 2024/01/02