[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/eev 3253d24ab1: Added (find-2024luasovideo) and (find-e
|
From: |
ELPA Syncer |
|
Subject: |
[elpa] externals/eev 3253d24ab1: Added (find-2024luasovideo) and (find-eewraptest-links). |
|
Date: |
Sun, 21 Jan 2024 00:57:55 -0500 (EST) |
branch: externals/eev
commit 3253d24ab1eb21fa0935c02b017414b6431808f1
Author: Eduardo Ochs <eduardoochs@gmail.com>
Commit: Eduardo Ochs <eduardoochs@gmail.com>
Added (find-2024luasovideo) and (find-eewraptest-links).
---
ChangeLog | 27 +++++
VERSION | 4 +-
eepitch.el | 2 +
eev-blinks.el | 4 +-
eev-intro.el | 334 +++++++++++++++++++++++++++++++++++++++++-------------
eev-tlinks.el | 77 ++++++++-----
eev-videolinks.el | 27 ++++-
eev-wrap.el | 170 +++++++++++++++++++--------
8 files changed, 492 insertions(+), 153 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 99be5329f8..d03f31551b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,30 @@
+2024-01-21 Eduardo Ochs <eduardoochs@gmail.com>
+
+ * eev-intro.el (find-wrap-intro): rewrote the section "6. All
+ wrapping functions".
+
+2024-01-20 Eduardo Ochs <eduardoochs@gmail.com>
+
+ * eev-wrap.el (ee-wrap-eewrap): small changes.
+ (find-eewraptest-links): new function.
+
+ * eev-blinks.el (find-eaproposf, find-eaproposv): make
+ interactive.
+
+2024-01-17 Eduardo Ochs <eduardoochs@gmail.com>
+
+ * eev-tlinks.el (ee-copy-rest0): added support for "skip"s that
+ are lists made of a number of lines and a string to search for.
+ (ee-search-forward-before): new function.
+
+ * eev-intro.el (find-dot-emacs-intro): new intro.
+
+2024-01-16 Eduardo Ochs <eduardoochs@gmail.com>
+
+ * eev-videolinks.el (ee-1stclassvideos-info): added an entry for
+ "2024luaso".
+ (find-2024gitvideo): new function.
+
2024-01-15 Eduardo Ochs <eduardoochs@gmail.com>
* eev.el: bumped the version.
diff --git a/VERSION b/VERSION
index aad5199bde..81d296e318 100644
--- a/VERSION
+++ b/VERSION
@@ -1,2 +1,2 @@
-Tue Jan 16 00:45:32 GMT 2024
-Mon Jan 15 21:45:32 -03 2024
+Sun Jan 21 04:10:47 GMT 2024
+Sun Jan 21 01:10:47 -03 2024
diff --git a/eepitch.el b/eepitch.el
index 86310efa60..d69700cc91 100644
--- a/eepitch.el
+++ b/eepitch.el
@@ -600,6 +600,8 @@ See: (find-eepitch-intro)"
;; (find-wrap-intro)
;; (find-eev "eev-mode.el" "eev-mode-map-set" "M-T" "eewrap-eepitch")
;; (find-eepitch-bullet-links)
+;; Skel: (find-eewrap-links "T" "eepitch" "str")
+;; Test: (find-eewraptest-links "eepitch" "shell")
(defun eewrap-eepitch () (interactive)
"Convert the current into an eepitch block (three lines long)."
diff --git a/eev-blinks.el b/eev-blinks.el
index 618af9e4a0..1636f0d646 100644
--- a/eev-blinks.el
+++ b/eev-blinks.el
@@ -21,7 +21,7 @@
;;
;; Author: Eduardo Ochs <eduardoochs@gmail.com>
;; Maintainer: Eduardo Ochs <eduardoochs@gmail.com>
-;; Version: 20240114
+;; Version: 20240120
;; Keywords: e-scripts
;;
;; Latest version: <http://anggtwu.net/eev-current/eev-blinks.el>
@@ -1696,6 +1696,7 @@ Hint: install the Debian package \"unicode-data\".")
(defun find-eaproposf (regexp &rest rest)
"Go to a temporary buffer listing all functions whose names match REGEXP."
+ (interactive "sApropos function (regexp): ")
(apply 'find-elinks-elisp
`(,(ee-template0 "\
;; (find-eaproposf {(ee-S regexp)})
@@ -1707,6 +1708,7 @@ Hint: install the Debian package \"unicode-data\".")
(defun find-eaproposv (regexp &rest rest)
"Go to a temporary buffer listing all variables whose names match REGEXP."
+ (interactive "sApropos variable (regexp): ")
(apply 'find-elinks-elisp
`(,(ee-template0 "\
;; (find-eaproposv {(ee-S regexp)})
diff --git a/eev-intro.el b/eev-intro.el
index 899d492935..d8516c2071 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: 20240114
+;; Version: 20240121
;; Keywords: e-scripts
;;
;; Latest version: <http://anggtwu.net/eev-current/eev-intro.el>
@@ -101,6 +101,7 @@
;; «.find-rstdoc-intro» (to "find-rstdoc-intro")
;; «.find-show2-intro» (to "find-show2-intro")
;; «.find-lua-tutorial-intro» (to "find-lua-tutorial-intro")
+;; «.find-dot-emacs-intro» (to "find-dot-emacs-intro")
;; Videos:
;; «.find-three-main-keys-intro» (to "find-three-main-keys-intro")
@@ -2830,57 +2831,58 @@ recommended reading order. These are the basic ones:
11. (find-psne-intro)
12. (find-rcirc-intro)
13. (find-elisp-intro)
- 14. (find-lexical-intro)
- 15. (find-multiwindow-intro)
- 16. (find-eev-install-intro)
+ 14. (find-dot-emacs-intro)
+ 15. (find-lexical-intro)
+ 16. (find-multiwindow-intro)
+ 17. (find-eev-install-intro)
These are things that I am using in workshops:
- 17. (find-windows-beginner-intro)
- 18. (find-eev-exercises-intro)
+ 18. (find-windows-beginner-intro)
+ 19. (find-eev-exercises-intro)
These ones explain ideas, conventions, and usage patterns:
- 19. (find-escripts-intro)
- 20. (find-links-conv-intro)
+ 20. (find-escripts-intro)
+ 21. (find-links-conv-intro)
These are older and more technical versions of sections of the
eev-quick-intro:
- 21. (find-eval-intro)
- 22. (find-links-intro)
- 23. (find-brxxx-intro)
- 24. (find-wrap-intro)
- 25. (find-eejump-intro)
- 26. (find-anchors-intro)
- 27. (find-code-c-d-intro)
+ 22. (find-eval-intro)
+ 23. (find-links-intro)
+ 24. (find-brxxx-intro)
+ 25. (find-wrap-intro)
+ 26. (find-eejump-intro)
+ 27. (find-anchors-intro)
+ 28. (find-code-c-d-intro)
These are etcs:
- 28. (find-templates-intro)
- 29. (find-org-intro)
- 30. (find-git-intro)
+ 29. (find-templates-intro)
+ 30. (find-org-intro)
+ 31. (find-git-intro)
These ones explain advanced features that require extra setup:
- 31. (find-kla-intro)
- 32. (find-kl-here-intro)
- 33. (find-edit-index-intro)
- 34. (find-rstdoc-intro)
- 35. (find-show2-intro)
- 36. (find-lua-tutorial-intro)
- 37. (find-prepared-intro)
- 38. (find-bounded-intro)
- 39. (find-channels-intro)
+ 32. (find-kla-intro)
+ 33. (find-kl-here-intro)
+ 34. (find-edit-index-intro)
+ 35. (find-rstdoc-intro)
+ 36. (find-show2-intro)
+ 37. (find-lua-tutorial-intro)
+ 38. (find-prepared-intro)
+ 39. (find-bounded-intro)
+ 40. (find-channels-intro)
This one was used in a video:
- 40. (find-three-main-keys-intro)
+ 41. (find-three-main-keys-intro)
These ones are obsolete:
- 41. (find-emacs-intro)
- 42. (find-defun-intro)
+ 42. (find-emacs-intro)
+ 43. (find-defun-intro)
For an index of the videos, run:
@@ -7207,64 +7209,105 @@ Try <M-M> here:
6. All wrapping functions
=========================
-Below is a list of all wrapping functions, with tests and
-hyperlinks:
+Try this:
- (eek \"2*<down> M-A <down> ;;; Test eewrap-anchor\")
- Source: (find-eev \"eev-wrap.el\" \"eewrap-anchor\")
-;; <anchor>
+ (find-eaproposf \"eewrap\")
- (eek \"2*<down> M-C <down> ;;; Test eewrap-code-c-d\")
- Source: (find-eev \"eev-wrap.el\" \"eewrap-code-c-d\")
-foo /tmp/foobar/
+It will show a temporary buffer with hyperlinks like this one,
- (eek \"2*<down> M-D <down> ;;; Test eewrap-debian\")
- Source: (find-eev \"eev-wrap.el\" \"eewrap-debian\")
-bash
+ (find-efunction 'eewrap-find-fline)
- (eek \"2*<down> M-F <down> ;;; Test eewrap-find-fline\")
- Source: (find-eev \"eev-wrap.el\" \"eewrap-find-fline\")
-/tmp/foobar/
+that points to the definition of `eewrap-find-fline'. Each
+definition of an `eewrap-*' function is preceded by a header that
+contains two lines like these ones:
- (eek \"2*<down> M-J <down> ;;; Test eewrap-eejump\")
- Source: (find-eev \"eev-wrap.el\" \"eewrap-eejump\")
-422 (find-eev-intro \"find-wrap-intro\")
+ ;; Skel: (find-eewrap-links \"F\" \"find-fline\" \"fname\")
+ ;; Test: (find-eewraptest-links \"find-fline\" \"/tmp/foo\")
- (eek \"2*<down> M-J <down> ;;; Test eewrap-eejump\")
- Source: (find-eev \"eev-wrap.el\" \"eewrap-eejump\")
-42
+The `find-eewraptest-links' goes to a temporary buffer that
+contains a test like this one,
- (eek \"2*<down> M-M <down> ;;; Test eewrap-man\")
- Source: (find-eev \"eev-wrap.el\" \"eewrap-man\")
-1 tac
+ ;; (eek \"<down> <<eewrap-find-fline>>\")
+ /tmp/foo
- (eek \"2*<down> M-P <down> ;;; Test eewrap-pdflike\")
- Source: (find-eev \"eev-wrap.el\" \"eewrap-pdflike\")
-foopdf $S/http/foo.org/bar.pdf
+that demonstrates a typical use of that `eewrap-*' function.
+Here are all the tests copied to a single place:
- (eek \"2*<down> M-R <down> ;;; Test eewrap-rm/mkdir/cd\")
- Source: (find-eev \"eev-wrap.el\" \"eewrap-rm/mkdir/cd\")
-/tmp/foo/
+ ;; M-A: (find-efunction 'eewrap-anchor)
+ ;; Test: (find-eewraptest-links \"anchor\" \"# <foo>\")
+ ;; (eek \"<down> <<eewrap-anchor>>\")
+ # <foo>
- (eek \"2*<down> M-S <down> ;;; Test eewrap-sh\")
- Source: (find-eev \"eev-wrap.el\" \"eewrap-sh\")
-seq 1 20
+ ;; M-C: (find-efunction 'eewrap-code-c-d)
+ ;; Test: (find-eewraptest-links \"code-c-d\" \"CCC /DIR/\")
+ ;; (eek \"<down> <<eewrap-code-c-d>>\")
+ CCC /DIR/
- (eek \"2*<down> M-T <down> ;;; Test eewrap-eepitch\")
- Source: (find-eev \"eepitch.el\" \"eewrap-eepitch\")
-python
+ ;; M-D: (find-efunction 'eewrap-debian)
+ ;; Test: (find-eewraptest-links \"debian\" \"bash\")
+ ;; (eek \"<down> <<eewrap-debian>>\")
+ bash
+
+ ;; M-J: (find-efunction 'eewrap-eejump)
+ ;; Test 1: (find-eewraptest-links \"eejump\" \"42 (find-fline
\\\"~/TODO\\\")\")
+ ;; (eek \"<down> <<eewrap-eejump>>\")
+ 42 (find-fline \"~/TODO\")
+
+ ;; M-J: (find-efunction 'eewrap-eejump)
+ ;; Test 2: (find-eewraptest-links \"eejump\" \"todo (find-fline
\\\"~/TODO\\\")\")
+ ;; (eek \"<down> <<eewrap-eejump>>\")
+ todo (find-fline \"~/TODO\")
+
+ ;; M-F: (find-efunction 'eewrap-find-fline)
+ ;; Test: (find-eewraptest-links \"find-fline\" \"/tmp/foo\")
+ ;; (eek \"<down> <<eewrap-find-fline>>\")
+ /tmp/foo
+
+ ;; M-M: (find-efunction 'eewrap-man)
+ ;; Test: (find-eewraptest-links \"man\" \"1 tac\")
+ ;; (eek \"<down> <<eewrap-man>>\")
+ 1 tac
- (eek \"2*<down> M-V <down> ;;; Test eewrap-audiovideo\")
- Source: (find-eev \"eev-wrap.el\" \"eewrap-audiovideo\")
-slimetutorial /tmp/slime-tutorial.mp4
+ ;; M-P: (find-efunction 'eewrap-pdflike)
+ ;; Test: (find-eewraptest-links \"pdflike\" \"o /tmp/o.pdf\")
+ ;; (eek \"<down> <<eewrap-pdflike>>\")
+ o /tmp/o.pdf
- (eek \"2*<down> M-Z <down> ;;; Test eewrap-zsh\")
- Source: (find-eev \"eev-wrap.el\" \"eewrap-zsh\")
-echo $SHELL
+ ;; M-R: (find-efunction 'eewrap-rm/mkdir/cd)
+ ;; Test: (find-eewraptest-links \"rm/mkdir/cd\" \"/tmp/foo/\")
+ ;; (eek \"<down> <<eewrap-rm/mkdir/cd>>\")
+ /tmp/foo/
+
+ ;; M-S: (find-efunction 'eewrap-sh)
+ ;; Test: (find-eewraptest-links \"sh\" \"dict smop\")
+ ;; (eek \"<down> <<eewrap-sh>>\")
+ dict smop
+
+ ;; M-T: (find-efunction 'eewrap-eepitch)
+ ;; Test: (find-eewraptest-links \"eepitch\" \"shell\")
+ ;; (eek \"<down> <<eewrap-eepitch>>\")
+ shell
+
+ ;; M-V: (find-efunction 'eewrap-audiovideo)
+ ;; Test: (find-eewraptest-links \"audiovideo\" \"ovideo /tmp/o.mp4\")
+ ;; (eek \"<down> <<eewrap-audiovideo>>\")
+ ovideo /tmp/o.mp4
+
+ ;; M-Z: (find-efunction 'eewrap-zsh)
+ ;; Test: (find-eewraptest-links \"zsh\" \"echo $SHELL\")
+ ;; (eek \"<down> <<eewrap-zsh>>\")
+ echo $SHELL
+
+ ;; M-#: (find-efunction 'eewrap-two-eepitches)
+ ;; Test: (find-eewraptest-links \"two-eepitches\" \"shell python\")
+ ;; (eek \"<down> <<eewrap-two-eepitches>>\")
+ shell python
+
+The bindings for `M-Z' and `M-#' are not active by default. See:
+
+ (find-eev \"eev-mode.el\" \"eev-mode-map-set\" \"M-Z\" \"eewrap-zsh\")
+ (find-eev \"eev-mode.el\" \"eev-mode-map-set\" \"M-#\"
\"eewrap-two-eepitches\")
- (eek \"2*<down> <<eewrap-eewrap>> <down> ;;; Test eewrap-eewrap\")
- Source: (find-eev \"eev-wrap.el\" \"eewrap-eewrap\")
-U user-defined a b c
@@ -15435,6 +15478,11 @@ It is meant as both a tutorial and a sandbox.
(find-1stclassvideolsubs \"eev2022kla\")
(find-eev2022klavideo \"0:00\")
+Update:
+ Read this first:
+ (find-kl-here-intro)
+
+
1. Introduction
@@ -17299,10 +17347,16 @@ This buffer is _temporary_ and _editable_.
It is meant as both a tutorial and a sandbox.
-This is a work in progress that
-is in a very early stage!
+This intro is a work in progress -
+that is in a very early stage!!!
+At this moment it only covers the material
+that is in this video:
+ Page: http://anggtwu.net/find-luaso-links.html
+ Play: (find-2024luasovideo \"00:00\")
+ LSubs: (find-2024luasolsubs \"00:00\")
+ Info: (find-1stclassvideodef \"2024luaso\")
-This intro
+Note that this intro
(find-show2-intro)
@@ -17312,6 +17366,8 @@ who would like to learn Lua can learn the basics...
+
+
1. Installation
===============
Run the instructions in this section:
@@ -17443,7 +17499,7 @@ all strings from templates. Here's how to test it:
wget http://anggtwu.net/LUA/Dang1.lua
wget http://anggtwu.net/LUA/CLua1.lua
- Make `find-clua' and LUA_{<}INIT,PATH{>} point to /tmp/CLua1/:
+ Make `find-clua' and LUA_{INIT,PATH} point to /tmp/CLua1/:
(code-c-d \"clua\" \"/tmp/CLua1/\" :anchor)
(setenv \"LUA_INIT\" \"@/tmp/CLua1/lua50init.lua\")
(setenv \"LUA_PATH\" \"/tmp/CLua1/?.lua;;\")
@@ -17510,6 +17566,125 @@ I need to clean it up and explain how to use it...
+;;;
+;;; ___ _ __ ___ __ _ ___ ___
+;;; / _ \ '_ ` _ \ / _` |/ __/ __|
+;;; _ | __/ | | | | | (_| | (__\__ \
+;;; (_) \___|_| |_| |_|\__,_|\___|___/
+;;;
+;; «find-dot-emacs-intro» (to ".find-dot-emacs-intro")
+;; Skel: (find-intro-links "dot-emacs")
+;; Test: (find-dot-emacs-intro)
+
+(defun find-dot-emacs-intro (&rest pos-spec-list) (interactive)
+ (let ((ee-buffer-name "*(find-dot-emacs-intro)*"))
+ (apply 'find-eintro "\
+\(Re)generate: (find-dot-emacs-intro)
+Source code: (find-efunction 'find-dot-emacs-intro)
+More intros: (find-eev-quick-intro)
+ (find-eev-intro)
+ (find-eepitch-intro)
+This buffer is _temporary_ and _editable_.
+It is meant as both a tutorial and a sandbox.
+
+
+
+Note:
+THIS IS A VERY EARLY DRAFT!
+THIS IS A MESS!!!
+
+
+
+0. Pre-requisites
+=================
+This intro supposes that you know:
+ 1. how to do cut and paste in Emacs,
+ 2. how and why to put messy notes at the end of your ~/TODO,
+ 3. several ways to go to ~/TODO,
+ 4. a bit of elisp.
+
+Here you will learn how (and why) to put messy notes _in elisp_
+at the end of your ~/.emacs. Note that this is a style that many
+people
+
+
+1. Cutting and pasting
+======================
+Make sure that you understand the basics of cutting and pasting,
+from:
+ (find-eev-quick-intro \"5.2. Cutting and pasting\")
+ (find-emacs-keys-intro \"3. Cutting & pasting\")
+
+Emacs also has ways to put things in the kill ring directly. Try:
+
+ (kill-new \"foo\")
+
+and try to understand what this does, and how to use it to paste
+two lines to your ~/TODO:
+
+;;-- (ee-copy-rest '(0 \";;--snip--\") '(find-fline \"~/TODO\"))
+FOO
+BAR
+;;--snip--
+
+Hint:
+ (find-eev-quick-intro \"7.5. `find-latex-links'\")
+ (find-efunctiondescr 'ee-copy-rest)
+ (find-efunctiondescr 'ee-copy-rest0)
+
+
+
+2. Lisp with hyperlinks in comments
+===================================
+
+
+ (find-eev-quick-intro \"7.1. `eejump'\")
+ (find-eev-quick-intro \"7.1. `eejump'\" \"~/TODO\")
+ (find-enode \"Major Modes\")
+
+
+
+3. emacs-lisp-mode
+==================
+# (find-evardescr 'auto-mode-alist)
+# (find-evariable 'auto-mode-alist)
+# (find-eppp auto-mode-alist)
+# (find-hvariable 'auto-mode-alist)
+
+# (find-elnode \"Index\" \"* auto-mode-alist:\")
+
+
+second scratch, like ~/TODO
+M-15j
+stops at the first error
+add links in comments
+rewrite ee-copy-rest
+major mode: emacs-lisp
+
+
+;;-- (ee-copy-rest '(0 \";;--snip--\") '(find-fline \"~/.emacs\"))
+;; See: (find-eev \"eev-load.el\")
+;; (find-eev-install-intro \"_Activating_\")
+(require 'eev-load)
+(eev-mode 1)
+;;
+;; See: (find-kl-here-intro)
+;; (find-eev \"eev-kl-here.el\")
+(require 'eev-kl-here)
+;;--snip--
+
+auto-mode-alist
+
+
+
+" pos-spec-list)))
+
+;; (find-dot-emacs-intro)
+
+
+
+
+
;;; _ _ _ _
;;; | |_| |__ _ __ ___ ___ _ __ ___ __ _(_)_ __ | | _____ _ _ ___
@@ -18756,6 +18931,9 @@ And here are (elisp hyper)links to them with
descriptions:
+
+
+
(provide 'eev-intro)
diff --git a/eev-tlinks.el b/eev-tlinks.el
index 63a427e7f5..0113cdf3a0 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: 20240113
+;; Version: 20240117
;; Keywords: e-scripts
;;
;; Latest version: <http://anggtwu.net/eev-current/eev-tlinks.el>
@@ -268,15 +268,39 @@
(eval code)
msg))
+(defun ee-search-forward-before (str)
+ "An internal function used by `ee-copy-rest0'."
+ (save-excursion
+ (search-forward str)
+ (search-backward str)
+ (point)))
+
(defun ee-copy-rest0 (skip code)
"Copy the rest of this buffer to the kill ring and execute CODE.
The rest of this buffer is everything from the beginning of the next line -
-optionally moving down SKIP lines - to the end of the buffer."
- (ee-copy-rest00 skip '(point-max) code))
-
-(defun ee-copy-rest (skip code)
+optionally moving down SKIP lines - to the end of the buffer.
+
+If SKIP is a list like (2 \"--snip--snip--\") then use another
+notion of \"the rest of this buffer\": it will be everything from
+2 lines from here downwards to the first occurrence of the string
+\"--snip--snip--\" after the point."
+ (if (numberp skip)
+ (ee-copy-rest00 skip '(point-max) code)
+ (let* ((nlines (nth 0 skip))
+ (str (nth 1 skip))
+ (gotoend `(ee-search-forward-before ,str)))
+ (ee-copy-rest00 nlines gotoend code))))
+
+(defun ee-copy-rest (skip code)
"Copy the rest of this buffer to the kill ring and execute CODE.
-See: (find-eev \"eev-tlinks.el\" \"ee-copy-rest\")"
+The rest of this buffer is everything from the beginning of the next line -
+optionally moving down SKIP lines - to the end of the buffer.
+See: (find-eev \"eev-tlinks.el\" \"ee-copy-rest\")
+
+If SKIP is a list like (2 \"--snip--snip--\") then use another
+notion of \"the rest of this buffer\": it will be everything from
+2 lines from here downwards to the first occurrence of the string
+\"--snip--snip--\" after the point."
(ee-copy-rest0 skip `(find-2a nil ',code)))
@@ -4963,10 +4987,10 @@ dofile \"{dir0}lua50init.lua\"
;; «find-luaso-links» (to ".find-luaso-links")
-;; Skel: (find-find-links-links-new "luaso" "fname funname" "fname0 fname00
stem dir")
+;; Skel: (find-find-links-links-new "luaso" "fname funname" "fnameshort
fnameangg fnamebase dir edir")
;; Test: (find-luaso-links "/tmp/dummy2.c" "foo")
-;; See: (find-angg "CLUA/foo.c")
-;; (find-angg "LUA/CLua1.lua")
+;; See: (find-angg "LUA/CLua1.lua")
+;; (find-angg "CLUA/foo.c")
;; (find-es "lua5" "CLua1.lua")
;;
(defun find-luaso-links (&optional fname funname &rest pos-spec-list)
@@ -4974,10 +4998,11 @@ dofile \"{dir0}lua50init.lua\"
(interactive)
(setq fname (or fname "{fname}"))
(setq funname (or funname "{funname}"))
- (let* ((fname0 (ee-shorten-file-name fname))
- (fname00 (ee-replace-prefix "~/" "" fname0))
- (stem (file-name-base fname))
- (dir (file-name-directory fname)))
+ (let* ((fnameshort (ee-shorten-file-name fname))
+ (fnameangg (ee-replace-prefix "~/" "" fnameshort))
+ (fnamebase (file-name-base fname))
+ (dir (or (file-name-directory fname) ""))
+ (edir (ee-expand dir)))
(apply
'find-elinks
`((find-luaso-links ,fname ,funname ,@pos-spec-list)
@@ -4986,21 +5011,22 @@ dofile \"{dir0}lua50init.lua\"
""
,(ee-template0 "\
// (c-mode)
+// See: (find-lua-tutorial-intro \"3. The C API\")
// All lines with \"angg\" are angg-isms!
-// (kill-new \" {fname00}\")
+// (kill-new \" {fnameangg}\")
// (find-blogme3 \"anggmake.lua\" \"anggtranslate\")
// (find-blogme3 \"anggmake.lua\" \"anggtranslate\" \"LUA/\")
// (ee-copy-rest 2 '(find-fline \"{fname}\"))
// This file:
-// http://anggtwu.net/{fname00}.html
-// http://anggtwu.net/{fname00}
-// (find-angg \"{fname00}\")
+// http://anggtwu.net/{fnameangg}.html
+// http://anggtwu.net/{fnameangg}
+// (find-angg \"{fnameangg}\")
// Skel: (find-luaso-links \"{fname}\" \"{funname}\")
// Author: Eduardo Ochs <eduardoochs@gmail.com>
//
-// (defun e () (interactive) (find-angg \"{fname00}\"))
+// (defun e () (interactive) (find-angg \"{fnameangg}\"))
#include \"lauxlib.h\"
#include <stdio.h>
@@ -5011,14 +5037,14 @@ static int my_{funname}(lua_State* L) {<}
return 2;
{>}
-static const struct luaL_reg {stem}_lib[] = {<}
+static const struct luaL_reg {fnamebase}_lib[] = {<}
{<}\"{funname}\", my_{funname}{>},
{<}NULL, NULL{>}
{>};
-LUALIB_API int luaopen_{stem}(lua_State *L) {<}
+LUALIB_API int luaopen_{fnamebase}(lua_State *L) {<}
lua_pushvalue(L, LUA_GLOBALSINDEX);
- luaL_openlib(L, NULL, {stem}_lib, 0);
+ luaL_openlib(L, NULL, {fnamebase}_lib, 0);
return 0;
{>}
@@ -5034,15 +5060,14 @@ LUADIR=/opt/local/include/lua5.1
CFLAGS=\"-g -Wall -shared\"
LUADIR=/usr/include/lua5.1
-echo gcc $CFLAGS -I$LUADIR -o {stem}.so {stem}.c
- gcc $CFLAGS -I$LUADIR -o {stem}.so {stem}.c
-ls -lAF {stem}*
+echo gcc $CFLAGS -I$LUADIR -o {fnamebase}.so {fnamebase}.c
+ gcc $CFLAGS -I$LUADIR -o {fnamebase}.so {fnamebase}.c
+ls -lAF {fnamebase}*
(eepitch-lua51)
(eepitch-kill)
(eepitch-lua51)
-Path.prependtocpath \"{dir}?.so\"
-require \"{stem}\"
+package.loadlib(\"{edir}{fnamebase}.so\", \"luaopen_{fnamebase}\")()
print({funname}(42))
*/\
diff --git a/eev-videolinks.el b/eev-videolinks.el
index a99705bbbb..a089176fbf 100644
--- a/eev-videolinks.el
+++ b/eev-videolinks.el
@@ -19,7 +19,7 @@
;;
;; Author: Eduardo Ochs <eduardoochs@gmail.com>
;; Maintainer: Eduardo Ochs <eduardoochs@gmail.com>
-;; Version: 20240106
+;; Version: 20240116
;; Keywords: e-scripts
;;
;; Latest version: <http://anggtwu.net/eev-current/eev-videolinks.el>
@@ -74,6 +74,7 @@
;; «.find-eev2023replsvideo» (to "find-eev2023replsvideo")
;; «.find-eev2023replsbvideo» (to "find-eev2023replsbvideo")
;; «.find-2024gitvideo» (to "find-2024gitvideo")
+;; «.find-2024luasovideo» (to "find-2024luasovideo")
;; «.more-info» (to "more-info")
;; «.ee-1stclassvideos-info» (to "ee-1stclassvideos-info")
;; «.eev2019» (to "eev2019")
@@ -110,6 +111,7 @@
;; «.eev2023repls» (to "eev2023repls")
;; «.eev2023replsb» (to "eev2023replsb")
;; «.2024git» (to "2024git")
+;; «.2024luaso» (to "2024luaso")
;; «.ee-1stclassvideos-field» (to "ee-1stclassvideos-field")
;; «.second-class-videos» (to "second-class-videos")
;; «.code-eevvideo» (to "code-eevvideo")
@@ -700,6 +702,16 @@ For more info on this particular video, run:
(interactive)
(find-1stclassvideo-video "2024git" time))
+;; «find-2024luasovideo» (to ".find-2024luasovideo")
+;; Info: (find-1stclassvideo-links "2024luaso")
+;; Play: (find-2024luasovideo "0:00")
+(defun find-2024luasovideo (&optional time &rest rest)
+ "Play one of the first-class videos of eev starting at TIME.
+For more info on this particular video, run:
+ (find-1stclassvideo-links \"2024luaso\")"
+ (interactive)
+ (find-1stclassvideo-video "2024luaso" time))
+
@@ -1181,6 +1193,19 @@ For more info on this particular video, run:
:length "33:25"
:subs ".vtt"
:comment "A video about (find-git-intro). Very accessible.")
+ ;;
+ ;; «2024luaso» (to ".2024luaso")
+ ;; Play: (find-2024luasovideo "0:00")
+ ;; Index: (find-1stclassvideoindex "2024luaso")
+ ("2024luaso"
+ :title "Two ways of creating \".so\"s for Lua, one very fast, both using
Emacs and eev"
+ :mp4 "http://anggtwu.net/eev-videos/2024-find-luaso-links.mp4"
+ :yt "http://www.youtube.com/watch?v=zUW-6atPvUQ"
+ :page "http://anggtwu.net/find-luaso-links.html"
+ :date "2024jan16"
+ :length "14:16"
+ :subs ".vtt"
+ :comment "See: (find-lua-tutorial-intro)")
))
diff --git a/eev-wrap.el b/eev-wrap.el
index bbeda93257..240ba8d523 100644
--- a/eev-wrap.el
+++ b/eev-wrap.el
@@ -19,7 +19,7 @@
;;
;; Author: Eduardo Ochs <eduardoochs@gmail.com>
;; Maintainer: Eduardo Ochs <eduardoochs@gmail.com>
-;; Version: 20230127
+;; Version: 20240120
;; Keywords: e-scripts
;;
;; Latest version: <http://anggtwu.net/eev-current/eev-wrap.el>
@@ -40,7 +40,23 @@
;; «.ee-template0» (to "ee-template0")
;; «.ee-S» (to "ee-S")
;; «.ee-this-line-wrapn» (to "ee-this-line-wrapn")
+;; «.eewrap-anchor» (to "eewrap-anchor")
+;; «.eewrap-escript-block» (to "eewrap-escript-block")
+;; «.eewrap-code-c-d» (to "eewrap-code-c-d")
+;; «.eewrap-debian» (to "eewrap-debian")
+;; «.eewrap-find-fline» (to "eewrap-find-fline")
+;; «.eewrap-eejump» (to "eewrap-eejump")
+;; «.eewrap-man» (to "eewrap-man")
+;; «.eewrap-pdflike» (to "eewrap-pdflike")
+;; «.eewrap-rm/mkdir/cd» (to "eewrap-rm/mkdir/cd")
+;; «.eewrap-sh» (to "eewrap-sh")
+;; «.eepitch» (to "eepitch")
+;; «.eewrap-audiovideo» (to "eewrap-audiovideo")
+;; «.eewrap-zsh» (to "eewrap-zsh")
+;; «.eewrap-two-eepitches» (to "eewrap-two-eepitches")
+;; «.ee-wrap-eewrap» (to "ee-wrap-eewrap")
;; «.find-eewrap-links» (to "find-eewrap-links")
+;; «.find-eewraptest-links» (to "find-eewraptest-links")
(require 'eev-template0) ; (find-eev "eev-template0.el")
@@ -160,9 +176,11 @@ have to run an \"undo\"."
;;; | | | |_____/ ___ \ _ | (_| | | | | (__| | | | (_) | |
;;; |_| |_| /_/ \_(_) \__,_|_| |_|\___|_| |_|\___/|_|
;;;
-;; See: (find-eev-quick-intro "8.3. Creating index/section anchor pairs")
-;; (find-anchors-intro "Creating index/section anchor pairs")
-;; (define-key eev-mode-map "\M-A" 'eewrap-anchor)
+;; «eewrap-anchor» (to ".eewrap-anchor")
+;; See: (find-eev-quick-intro "8.3. Creating index/section anchor pairs")
+;; (find-anchors-intro "Creating index/section anchor pairs")
+;; Skel: (find-eewrap-links "A" "anchor" "prefix anchor")
+;; Test: (find-eewraptest-links "anchor" "# <foo>")
(defun eewrap-anchor () (interactive)
(ee-this-line-wrapn 1 'ee-wrap-anchor))
@@ -186,8 +204,12 @@ have to run an \"undo\"."
;;; | | | |_____| |_) | | __/\__ \ (__| | | | |_) | |_ | |_) | | <
;;; |_| |_| |_.__(_) \___||___/\___|_| |_| .__/ \__| |_.__/|_|_|\_\
;;; |_|
-;;
-;; See: (find-eev-quick-intro "8.4. Creating e-script blocks")
+;; «eewrap-escript-block» (to ".eewrap-escript-block")
+;; See: (find-eev-quick-intro "8.4. Creating e-script blocks")
+;; Skel: (find-eewrap-links "B" "escript-block" "anchor title")
+;; Tests: (find-eewraptest-links "escript-block" "ANCHOR")
+;; (find-eewraptest-links "escript-block" "ANCHOR Some title")
+
;; (define-key eev-mode-map "\M-B" 'eewrap-escript-block)
(defun eewrap-escript-block () (interactive)
@@ -217,8 +239,10 @@ have to run an \"undo\"."
;;; | | | |_____| |___ _ | (_| (_) | (_| | __/_____| (_|_____| (_| |
;;; |_| |_| \____(_) \___\___/ \__,_|\___| \___| \__,_|
;;;
-;; See: (find-code-c-d-intro)
-;; (define-key eev-mode-map "\M-C" 'eewrap-code-c-d)
+;; «eewrap-code-c-d» (to ".eewrap-code-c-d")
+;; See: (find-eev-quick-intro "`M-C'")
+;; Skel: (find-eewrap-links "C" "code-c-d" "c d")
+;; Test: (find-eewraptest-links "code-c-d" "CCC /DIR/")
(defun eewrap-code-c-d () (interactive)
(ee-this-line-wrapn 2 'ee-wrap-code-c-d))
@@ -235,7 +259,10 @@ have to run an \"undo\"."
;;; | | | |_____| |_| |_ | (_| | __/ |_) | | (_| | | | |
;;; |_| |_| |____/(_) \__,_|\___|_.__/|_|\__,_|_| |_|
;;;
-;; (define-key eev-mode-map "\M-D" 'eewrap-debian)
+;; «eewrap-debian» (to ".eewrap-debian")
+;; See: (find-wrap-intro "M-D")
+;; Skel: (find-eewrap-links "D" "debian" "stem")
+;; Test: (find-eewraptest-links "debian" "bash")
(defun eewrap-debian () (interactive)
(ee-this-line-wrapn 1 'ee-wrap-debian))
@@ -252,8 +279,10 @@ have to run an \"undo\"."
;;; | | | |_____| _| _ | _| | | __/
;;; |_| |_| |_| (_) |_| |_|_|\___|
;;;
+;; «eewrap-find-fline» (to ".eewrap-find-fline")
;; See: (find-wrap-intro "<M-F>")
-;; (define-key eev-mode-map "\M-F" 'eewrap-find-fline)
+;; Skel: (find-eewrap-links "F" "find-fline" "fname")
+;; Test: (find-eewraptest-links "find-fline" "/tmp/foo")
(defun eewrap-find-fline () (interactive)
(ee-this-line-wrapn 1 'ee-wrap-find-fline))
@@ -269,10 +298,13 @@ have to run an \"undo\"."
;;; |_| |_| \___/(_) \___|\___|/ |\__,_|_| |_| |_| .__/
;;; |__/ |_|
;;
+;; «eewrap-eejump» (to ".eewrap-eejump")
;; See: (find-eev-quick-intro "7.1. `eejump'")
;; (find-eev-quick-intro "7.1. `eejump'" "meta-uppercase-j")
;; Old: (find-eejump-intro "Producing `eejump-nnn's and `eejump-nnn*'s")
-;; (define-key eev-mode-map "\M-J" 'eewrap-eejump)
+;; Skel: (find-eewrap-links "J" "eejump" "n sexp")
+;; Tests: (find-eewraptest-links "eejump" "42 (find-fline \"~/TODO\")")
+;; (find-eewraptest-links "eejump" "todo (find-fline \"~/TODO\")")
(defun eewrap-eejump () (interactive)
(ee-this-line-wrapn 2 'ee-wrap-eejump))
@@ -283,13 +315,6 @@ have to run an \"undo\"."
(ee-template0 "(defun eejump-{n}* () (find-efunction 'eejump-{n}*))")
(ee-template0 "(defun eejump-{n} () {sexp})"))
(ee-template0 "(defun {n} () (interactive) {sexp})")))
-;;
-;; Old:
-;; (defun ee-wrap-eejump (n sexp)
-;; "An internal function used by `eewrap-eejump'."
-;; (if (equal sexp "")
-;; (ee-template0 "(defun eejump-{n}* () (find-efunction 'eejump-{n}*))")
-;; (ee-template0 "(defun eejump-{n} () {sexp})")))
@@ -299,8 +324,10 @@ have to run an \"undo\"."
;;; | | | |_____| | | |_ | | | | | | (_| | | | |
;;; |_| |_| |_| |_(_) |_| |_| |_|\__,_|_| |_|
;;;
-;; See: (find-wrap-intro "<M-M>")
-;; (define-key eev-mode-map "\M-M" 'eewrap-man)
+;; «eewrap-man» (to ".eewrap-man")
+;; See: (find-wrap-intro "<M-M>")
+;; Skel: (find-eewrap-links "M" "man" "str")
+;; Test: (find-eewraptest-links "man" "1 tac")
(defun eewrap-man () (interactive)
(ee-this-line-wrapn 1 'ee-wrap-man))
@@ -317,8 +344,11 @@ have to run an \"undo\"."
;;; |_| |_| |_| (_) | .__/ \__,_|_| |_|_|_|\_\___|
;;; |_|
;;
-;; See: (find-pdf-like-intro)
-;; (define-key eev-mode-map "\M-P" 'eewrap-pdflike)
+;; «eewrap-pdflike» (to ".eewrap-pdflike")
+;; See: (find-pdf-like-intro)
+;; (find-pdf-like-intro "`M-P'")
+;; Skel: (find-eewrap-links "P" "pdflike" "stem fname")
+;; Test: (find-eewraptest-links "pdflike" "o /tmp/o.pdf")
(defun eewrap-pdflike () (interactive)
(ee-this-line-wrapn 2 'ee-wrap-pdflike))
@@ -367,7 +397,10 @@ have to run an \"undo\"."
;;; | | | |_____| _ < _ | | | | | | | |/ /| | | | | | < (_| | | |
;;; |_| |_| |_| \_(_) |_| |_| |_| |_/_/ |_| |_| |_|_|\_\__,_|_|_|
;;;
-;; (define-key eev-mode-map "\M-R" 'eewrap-rm/mkdir/cd)
+;; «eewrap-rm/mkdir/cd» (to ".eewrap-rm/mkdir/cd")
+;; See: (find-escripts-intro "`M-R'")
+;; Skel: (find-eewrap-links "R" "rm/mkdir/cd" "dir")
+;; Test: (find-eewraptest-links "rm/mkdir/cd" "/tmp/foo/")
(defun eewrap-rm/mkdir/cd () (interactive)
(ee-this-line-wrapn 1 'ee-wrap-rm/mkdir/cd))
@@ -386,8 +419,10 @@ cd {dir}"))
;;; | | | |_____|__) | | _| | | | | (_| |_____\__ \ | | |
;;; |_| |_| |____(_) |_| |_|_| |_|\__,_| |___/_| |_|
;;;
+;; «eewrap-sh» (to ".eewrap-sh")
;; See: (find-wrap-intro "<M-S>")
-;; (define-key eev-mode-map "\M-S" 'eewrap-sh)
+;; Skel: (find-eewrap-links "R" "sh" "str")
+;; Test: (find-eewraptest-links "sh" "dict smop")
(defun eewrap-sh () (interactive)
(ee-this-line-wrapn 1 'ee-wrap-sh))
@@ -408,8 +443,9 @@ cd {dir}"))
;;; | | | |_____| | _ | __/ __/ |_) | | || (__| | | |
;;; |_| |_| |_|(_) \___|\___| .__/|_|\__\___|_| |_|
;;; |_|
-;; (define-key eev-mode-map "\M-T" 'eewrap-eepitch)
-;; (find-eev "eepitch.el" "eepitch-wrap")
+;;
+;; «eepitch» (to ".eepitch")
+;; Moved to: (find-eev "eepitch.el" "eewrap-eepitch")
@@ -419,8 +455,10 @@ cd {dir}"))
;;; | | | |_____\ V / _ | (_| | |_| | (_| | | (_) \ V /| | (_| | __/ (_) |
;;; |_| |_| \_/ (_) \__,_|\__,_|\__,_|_|\___/ \_/ |_|\__,_|\___|\___/
;;;
+;; «eewrap-audiovideo» (to ".eewrap-audiovideo")
;; See: (find-audiovideo-intro)
-;; (define-key eev-mode-map "\M-V" 'eewrap-audiovideo)
+;; Skel: (find-eewrap-links "V" "audiovideo" "stem fname")
+;; Test: (find-eewraptest-links "audiovideo" "ovideo /tmp/o.mp4")
(defun eewrap-audiovideo () (interactive)
(ee-this-line-wrapn 2 'ee-wrap-audiovideo))
@@ -430,12 +468,12 @@ cd {dir}"))
;; (find-fline {(ee-S (file-name-directory fname))})
;; (find-audio \"{fname}\")
;; (find-video \"{fname}\")
-\(code-audio \"{stem}\" \"{fname}\")
-\(code-video \"{stem}\" \"{fname}\")
-;; \(find-{stem})
-;; \(find-{stem} \"0:00\")
-;; \(find-{stem} t)
-;; \(eev-avadj-mode 1)
+(code-audio \"{stem}\" \"{fname}\")
+(code-video \"{stem}\" \"{fname}\")
+;; (find-{stem})
+;; (find-{stem} \"0:00\")
+;; (find-{stem} t)
+;; (eev-avadj-mode 1)
"))
@@ -446,7 +484,10 @@ cd {dir}"))
;;; | | | |_____/ /_ _ | _| | | | | (_| |_____/ /\__ \ | | |
;;; |_| |_| /____(_) |_| |_|_| |_|\__,_| /___|___/_| |_|
;;;
+;; «eewrap-zsh» (to ".eewrap-zsh")
;; (define-key eev-mode-map "\M-Z" 'eewrap-zsh)
+;; Skel: (find-eewrap-links "Z" "zsh" "str")
+;; Test: (find-eewraptest-links "zsh" "echo $SHELL")
(defun eewrap-zsh () (interactive)
(ee-this-line-wrapn 1 'ee-wrap-zsh))
@@ -462,10 +503,12 @@ cd {dir}"))
;;; | | | |_____|_ _|_ / __/ | __/ __/ |_) | | || (__| | | |
__/\__ \
;;; |_| |_| |_||_| (_) |_____| \___|\___| .__/|_|\__\___|_|
|_|\___||___/
;;; |_|
-;; See: (find-multiwindow-intro "Several eepitch targets")
-;; (find-eewrap-links "#" "two-eepitches" "b c")
-;; M-#: two-eepitches
-;; (define-key eev-mode-map "\M-#" 'eewrap-two-eepitches)
+;;
+;; «eewrap-two-eepitches» (to ".eewrap-two-eepitches")
+;; See: (find-multiwindow-intro "4. Several eepitch targets")
+;; (find-multiwindow-intro "7. Eepitch blocks for two targets")
+;; Skel: (find-eewrap-links "#" "two-eepitches" "b c")
+;; Test: (find-eewraptest-links "two-eepitches" "shell python")
(defun eewrap-two-eepitches () (interactive)
(ee-this-line-wrapn 2 'ee-wrap-two-eepitches))
@@ -490,22 +533,35 @@ cd {dir}"))
;;; \___|\___| \_/\_/ |_| \__,_| .__/ |_____|
;;; |_|
;;
-;; See: (find-eev "eev-tlinks.el" "find-find-links-links")
+;; «ee-wrap-eewrap» (to ".ee-wrap-eewrap")
+;; See: (find-eev "eev-tlinks.el" "find-find-links-links-new")
;; (find-wrap-intro "eewrap-eewrap")
;; This is somewhat similar to `find-find-links-links',
;; but it is MUCH more primitive - consider it a demo!
(defun eewrap-eewrap () (interactive)
+ "Obsolete! Superseded by `find-eewrap-links'!"
(ee-this-line-wrapn 3 'ee-wrap-eewrap))
+
(defun ee-wrap-eewrap (C stem args)
+ "An internal function used by `find-eewrap-links'."
(let ((n (length (ee-split args))))
(ee-template0 "
+;; (find-efunction 'eewrap-{stem})
+
;; M-{C}: {stem}
-\(define-key eev-mode-map \"\\M-{C}\" 'eewrap-{stem})
+;; (find-eev \"eev-mode.el\" \"eev-mode-map-set\")
+;; (find-eev \"eev-mode.el\" \"eev-mode-map-set\" \"M-{C}\")
+;; (find-eev \"eev-mode.el\" \"eev-mode-map-set\" \"M-{C}\" \"eewrap-{stem}\")
+;; (define-key eev-mode-map \"\\M-{C}\" 'eewrap-{stem})
+
+;; <eewrap-{stem}>
+;; Skel: (find-eewrap-links \"{C}\" \"{stem}\" \"{args}\")
+;; Test: (find-eewraptest-links \"{stem}\" \"{args}\")
-\(defun eewrap-{stem} () (interactive)
+(defun eewrap-{stem} () (interactive)
(ee-this-line-wrapn {n} 'ee-wrap-{stem}))
-\(defun ee-wrap-{stem} ({args})
+(defun ee-wrap-{stem} ({args})
\"An internal function used by `eewrap-{stem}'.\"
(ee-template0 \"\\
{<}(ee-HS `(find-{stem} ,{args})){>}\"))\n")))
@@ -513,15 +569,17 @@ cd {dir}"))
;; «find-eewrap-links» (to ".find-eewrap-links")
;; A more standard way to create `eewrap-*' functions.
-;; (find-find-links-links "<none>" "eewrap" "C stem args")
+;; Skel: (find-find-links-links-new "eewrap" "C stem args" "n")
+;; Test: (find-eewrap-links)
;;
(defun find-eewrap-links (&optional C stem args &rest pos-spec-list)
-"Visit a temporary buffer containing hyperlinks for foo."
+ "Visit a temporary buffer containing hyperlinks for eewrap."
(interactive)
(setq C (or C "{C}"))
(setq stem (or stem "{stem}"))
(setq args (or args "{args}"))
- (apply 'find-elinks-elisp
+ (apply
+ 'find-elinks-elisp
`((find-eewrap-links ,C ,stem ,args ,@pos-spec-list)
;; Convention: the first sexp always regenerates the buffer.
(find-efunction 'find-eewrap-links)
@@ -529,8 +587,30 @@ cd {dir}"))
)
pos-spec-list))
-;; Test: (find-eewrap-links)
+;; «find-eewraptest-links» (to ".find-eewraptest-links")
+;; Skel: (find-find-links-links-new "eewraptest" "stem line" "")
+;; Tests: (find-eewraptest-links "eejump" "42 (find-fline \"~/TODO\")")
+;; (find-eewraptest-links "eejump" "todo (find-fline \"~/TODO\")")
+;;
+(defun find-eewraptest-links (&optional stem line &rest pos-spec-list)
+"Visit a temporary buffer containing hyperlinks for eewraptest."
+ (interactive)
+ (setq stem (or stem "{stem}"))
+ (setq line (or line "{line}"))
+ (apply
+ 'find-elinks-elisp
+ `((find-eewraptest-links ,stem ,line ,@pos-spec-list)
+ ;; Convention: the first sexp always regenerates the buffer.
+ (find-efunction 'find-eewraptest-links)
+ ""
+ ,(ee-template0 "\
+;; (eek \"2*<down> <<eewrap-{stem}>>\")
+;; (find-efunction 'eewrap-{stem})
+{line}
+")
+ )
+ pos-spec-list))
| [Prev in Thread] |
Current Thread |
[Next in Thread] |
- [elpa] externals/eev 3253d24ab1: Added (find-2024luasovideo) and (find-eewraptest-links).,
ELPA Syncer <=