[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/eev c5930db 2/4: Cleaned up eev-brxxx.el a bit.
From: |
Stefan Monnier |
Subject: |
[elpa] externals/eev c5930db 2/4: Cleaned up eev-brxxx.el a bit. |
Date: |
Mon, 15 Mar 2021 22:19:41 -0400 (EDT) |
branch: externals/eev
commit c5930dbd4eae192ee81036e284312a2b20ba7f2b
Author: Eduardo Ochs <eduardoochs@gmail.com>
Commit: Eduardo Ochs <eduardoochs@gmail.com>
Cleaned up eev-brxxx.el a bit.
---
ChangeLog | 25 ++++++
VERSION | 4 +-
eev-audiovideo.el | 24 ++++--
eev-brxxx.el | 56 ++++++++-----
eev-intro.el | 238 +++++++++++++++++++++++++++++++-----------------------
eev-pdflike.el | 62 ++++++++------
eev-template0.el | 14 +++-
7 files changed, 269 insertions(+), 154 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index a831470..2f6892b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,28 @@
+2021-02-08 Eduardo Ochs <eduardoochs@gmail.com>
+
+ * eev-brxxx.el (ee-code-brurl-:remote, ee-code-brurl-:local)
+ (ee-code-brfile-:local): commented out the `(setq
+ browse-url-browser-function ...)'s in the generated code - they
+ are not needed in eev anymore and people who use `browse-url' find
+ them annoying.
+ (ee-code-brurl, ee-code-brfile): added help links to the generated
+ code.
+
+ * eev-intro.el (find-eev-intro): promoted `(find-videos-intro)' to
+ the list of basic intros.
+ (find-eev-quick-intro): fixed a typo in the section "1. Installing
+ eev": the "eev-" in `M-x eev-beginner' was missing.
+
+2021-02-03 Eduardo Ochs <eduardoochs@gmail.com>
+
+ * eev-template0.el (ee-template00-re): new variable.
+ (ee-template00): use `ee-template00-re'.
+
+2021-01-24 Eduardo Ochs <eduardoochs@gmail.com>
+
+ * eev-intro.el (find-refining-intro): rewrote the section "5.
+ Pointing to anchors".
+
2021-01-23 Eduardo Ochs <eduardoochs@gmail.com>
* eev-intro.el (find-eepitch-intro): new section: "3.2. Test
diff --git a/VERSION b/VERSION
index 3529abb..0705090 100644
--- a/VERSION
+++ b/VERSION
@@ -1,2 +1,2 @@
-Sun Jan 24 04:56:17 GMT 2021
-Sun Jan 24 01:56:17 -03 2021
+Mon Feb 8 23:38:56 GMT 2021
+Mon Feb 8 20:38:56 -03 2021
diff --git a/eev-audiovideo.el b/eev-audiovideo.el
index 8c10628..cda195f 100644
--- a/eev-audiovideo.el
+++ b/eev-audiovideo.el
@@ -1,6 +1,6 @@
;;; eev-audiovideo.el -- elisp hyperlinks to audio and video files.
-;; Copyright (C) 2013-2020 Free Software Foundation, Inc.
+;; Copyright (C) 2013-2021 Free Software Foundation, Inc.
;;
;; This file is part of GNU eev.
;;
@@ -19,7 +19,7 @@
;;
;; Author: Eduardo Ochs <eduardoochs@gmail.com>
;; Maintainer: Eduardo Ochs <eduardoochs@gmail.com>
-;; Version: 2020dec17
+;; Version: 2020dec21
;; Keywords: e-scripts
;;
;; Latest version: <http://angg.twu.net/eev-current/eev-audiovideo.el>
@@ -97,6 +97,7 @@
;; «.find-termplayer» (to "find-termplayer")
;; «.find-mpv-video» (to "find-mpv-video")
;; «.find-mpv-audio» (to "find-mpv-audio")
+;; «.code-brxxxs» (to "code-brxxxs")
;; «.aliases» (to "aliases")
@@ -520,6 +521,21 @@ See: (find-audiovideo-intro \"`eev-avadj-mode'\")"
+;;; _ _
+;;; ___ ___ __| | ___ | |__ _ ____ ____ ____ _____
+;;; / __/ _ \ / _` |/ _ \_____| '_ \| '__\ \/ /\ \/ /\ \/ / __|
+;;; | (_| (_) | (_| | __/_____| |_) | | > < > < > <\__ \
+;;; \___\___/ \__,_|\___| |_.__/|_| /_/\_\/_/\_\/_/\_\___/
+;;;
+;; «code-brxxxs» (to ".code-brxxxs")
+;; See: (find-brxxx-intro "6. `code-brfile'")
+
+;; (find-code-brfile 'find-audio :local 'braudiol :dired 'braudiod)
+ (code-brfile 'find-audio :local 'braudiol :dired 'braudiod)
+;; (find-code-brfile 'find-video :local 'brvideol :dired 'brvideod)
+ (code-brfile 'find-video :local 'brvideol :dired 'brvideod)
+
+
;;; _ _
;;; __ _| (_) __ _ ___ ___ ___
@@ -537,10 +553,6 @@ See: (find-audiovideo-intro \"`eev-avadj-mode'\")"
(defalias 'code-audio 'code-mpv-audio)
(defalias 'find-code-audio 'find-code-mpv-audio)
-;; (find-code-brfile 'find-audio :local 'braudiol :dired 'braudiod)
- (code-brfile 'find-audio :local 'braudiol :dired 'braudiod)
-;; (find-code-brfile 'find-video :local 'brvideol :dired 'brvideod)
- (code-brfile 'find-video :local 'brvideol :dired 'brvideod)
diff --git a/eev-brxxx.el b/eev-brxxx.el
index 7d72d6a..4f2ec9b 100644
--- a/eev-brxxx.el
+++ b/eev-brxxx.el
@@ -1,6 +1,6 @@
;;; eev-brxxx.el -- define families of browse-url-like functions.
-;; Copyright (C) 2012-2019 Free Software Foundation, Inc.
+;; Copyright (C) 2012-2021 Free Software Foundation, Inc.
;;
;; This file is part of GNU eev.
;;
@@ -19,7 +19,7 @@
;;
;; Author: Eduardo Ochs <eduardoochs@gmail.com>
;; Maintainer: Eduardo Ochs <eduardoochs@gmail.com>
-;; Version: 2020oct12
+;; Version: 2021feb08
;; Keywords: e-scripts
;;
;; Latest version: <http://angg.twu.net/eev-current/eev-brxxx.el>
@@ -223,10 +223,9 @@ This should be made smarter - file:// urls should be
returned unchanged."
;;; | (_| (_) | (_| | __/_____| |_) | | | |_| | | | |
;;; \___\___/ \__,_|\___| |_.__/|_| \__,_|_| |_|
;;;
-;; Skel (broken): (find-tail-call-links "brurl" "f")
-
;; «code-brurl» (to ".code-brurl")
-;; Test: (find-code-brurl 'find-foo :remote 'brfoo :local 'brfool :dired
'brfood)
+;; See: (find-brxxx-intro "6. `code-brfile'")
+;; Test: (find-code-brurl 'find-foo :remote 'brfoo :local 'brfool :dired
'brfood)
;;
(defun code-brurl (f &rest rest)
"Define a family of brxxx functions from a function that operates on URLs"
@@ -237,10 +236,12 @@ This should be made smarter - file:// urls should be
returned unchanged."
"Generate code for a family of functions from a function that operates on URLs"
(concat (ee-template0 "\
;; {(ee-S `(find-code-brurl ',f ,@(mapcar 'ee-add-quote rest)))}
+;; See: (find-brxxx-intro \"5. `code-brurl'\")
") (ee-code-brurl-rest f rest)))
;; «ee-code-brurl-rest» (to ".ee-code-brurl-rest")
-;; Support for extra arguments
+;; Support for extra arguments. Similar to:
+;; (find-eev-quick-intro "9.2. Extra arguments to `code-c-d'")
(defun ee-code-brurl-rest (f rest)
(cond ((null rest) "")
@@ -254,7 +255,7 @@ This should be made smarter - file:// urls should be
returned unchanged."
\(defun {brxxx} (url &rest ignore)
\"Apply `{f}' on URL.\"
(interactive (browse-url-interactive-arg \"URL: \"))
- (setq browse-url-browser-function '{brxxx})
+ ;; (setq browse-url-browser-function '{brxxx})
(message \"(%S %S) -> %S\" '{f} url
({f} url)))
") (ee-code-brurl-rest f rest)))
@@ -264,7 +265,7 @@ This should be made smarter - file:// urls should be
returned unchanged."
\(defun {brxxxl} (url &rest ignore)
\"Apply `{f}' on the local url associated to URL.\"
(interactive (browse-url-interactive-arg \"URL: \"))
- (setq browse-url-browser-function '{brxxxl})
+ ;; (setq browse-url-browser-function '{brxxxl})
(setq url (ee-url-to-local-url url))
(message \"(%S %S) -> %S\" '{f} url
({f} url)))
@@ -299,9 +300,8 @@ This should be made smarter - file:// urls should be
returned unchanged."
;;;
;; «code-brfile» (to ".code-brfile")
;; `code-brfile': top-level functions.
-;;
-;; Skel (broken): (find-tail-call-links "brfile" "f")
;; Test: (find-code-brfile 'find-BAR :local 'brBARL :dired 'brBARD)
+;; See: (find-brxxx-intro "6. `code-brfile'")
;;
(defun code-brfile (f &rest rest)
"Define a family of brxxx functions from a function that operates on files"
@@ -312,10 +312,14 @@ This should be made smarter - file:// urls should be
returned unchanged."
"Generate code for a family of functions from a function that operates on
files"
(concat (ee-template0 "\
;; {(ee-S `(find-code-brfile ',f ,@(mapcar 'ee-add-quote rest)))}
+;; See: (find-brxxx-intro \"6. `code-brfile'\")
") (ee-code-brfile-rest f rest)))
;; «ee-code-brfile-rest» (to ".ee-code-brfile-rest")
;; `code-brfile': support for extra arguments.
+;;
+;; Similar to:
+;; (find-eev-quick-intro "9.2. Extra arguments to `code-c-d'")
(defun ee-code-brfile-rest (f rest)
(cond ((null rest) "")
@@ -329,7 +333,7 @@ This should be made smarter - file:// urls should be
returned unchanged."
\(defun {brxxxl} (url &rest ignore)
\"Apply `{f}' on the local file name associated to URL.\"
(interactive (browse-url-interactive-arg \"URL: \"))
- (setq browse-url-browser-function '{brxxxl})
+ ;; (setq browse-url-browser-function '{brxxxl})
(let ((fname (ee-url-to-fname url)))
(message \"(%S %S) -> %S\" '{f} fname
({f} fname))))
@@ -357,25 +361,35 @@ This should be made smarter - file:// urls should be
returned unchanged."
;; «code-brxxxs» (to ".code-brxxxs")
;; See: (find-eev-quick-intro "3.1. Non-elisp hyperlinks")
;; (find-eev-quick-intro "3.1. Non-elisp hyperlinks" "brg")
-;; (find-eev "eev-pdflike.el" "code-brxxxs")
+;; (find-eev "eev-pdflike.el" "code-brxxxs")
+;; (find-eev "eev-audiovideo.el" "code-brxxxs")
;; (find-eev "eev-blinks.el" "find-w3m")
;; (find-efile "net/browse-url.el")
(defun find-googlechrome (url) (find-bgprocess `("google-chrome" ,url)))
(defun find-firefox (url) (find-bgprocess `("firefox" ,url)))
-(code-brurl 'find-psne-links :remote 'brep)
+;; (find-code-brurl 'find-psne-links :remote 'brep)
+ (code-brurl 'find-psne-links :remote 'brep)
-;; (code-brurl 'browse-url-firefox :remote 'brm :local 'brml :dired 'brmd)
-;; (code-brurl 'browse-url-firefox :remote 'brff :local 'brffl :dired 'brffd)
-(code-brurl 'find-firefox :remote 'brm :local 'brml :dired 'brmd)
-(code-brurl 'find-firefox :remote 'brff :local 'brffl :dired 'brffd)
-(code-brurl 'find-googlechrome :remote 'brg :local 'brgl :dired 'brgd)
-(code-brurl 'find-w3m :remote 'brw :local 'brwl :dired 'brwd)
+;; (find-code-brurl 'find-firefox :remote 'brm :local 'brml :dired
'brmd)
+ (code-brurl 'find-firefox :remote 'brm :local 'brml :dired
'brmd)
+;; (find-code-brurl 'find-firefox :remote 'brff :local 'brffl :dired
'brffd)
+ (code-brurl 'find-firefox :remote 'brff :local 'brffl :dired
'brffd)
+;; (find-code-brurl 'find-googlechrome :remote 'brg :local 'brgl :dired
'brgd)
+ (code-brurl 'find-googlechrome :remote 'brg :local 'brgl :dired
'brgd)
+;; (find-code-brurl 'find-w3m :remote 'brw :local 'brwl :dired
'brwd)
+ (code-brurl 'find-w3m :remote 'brw :local 'brwl :dired
'brwd)
+
+;; (find-code-brurl 'find-wget :remote 'brwget)
+ (code-brurl 'find-wget :remote 'brwget)
-(code-brurl 'find-wget :remote 'brwget)
+;; (find-code-brfile 'find-fline :local 'brfl)
+ (code-brfile 'find-fline :local 'brfl)
-(code-brfile 'find-fline :local 'brfl)
+;; Obsolete:
+;; (code-brurl 'browse-url-firefox :remote 'brm :local 'brml :dired 'brmd)
+;; (code-brurl 'browse-url-firefox :remote 'brff :local 'brffl :dired 'brffd)
diff --git a/eev-intro.el b/eev-intro.el
index fda81aa..4d344fd 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: 2021jan23
+;; Version: 2021feb08
;; Keywords: e-scripts
;;
;; Latest version: <http://angg.twu.net/eev-current/eev-intro.el>
@@ -301,7 +301,7 @@ explained in this video:
http://www.youtube.com/watch?v=kxBjiUo88_U
http://angg.twu.net/eev-videos/M-x-list-packages-eev-nav.mp4
-To activate eev-mode and open this tutorial, run `M-x beginner'.
+To activate eev-mode and open this tutorial, run `M-x eev-beginner'.
An alternative way, that only works on *NIX-based systems, is shown in
this video (from 2016!):
@@ -2463,38 +2463,38 @@ recommended reading order. These are the basic ones:
5. (find-pdf-like-intro)
6. (find-eepitch-intro)
7. (find-audiovideo-intro)
- 8. (find-psne-intro)
- 9. (find-rcirc-intro)
- 10. (find-elisp-intro)
- 11. (find-eev-install-intro)
+ 8. (find-videos-intro)
+ 9. (find-psne-intro)
+ 10. (find-rcirc-intro)
+ 11. (find-elisp-intro)
+ 12. (find-eev-install-intro)
This is a very basic tutorial intended mainly for M$ Windows
users:
- 12. (find-windows-beginner-intro)
+ 13. (find-windows-beginner-intro)
These ones explain ideas, conventions, and usage patterns:
- 13. (find-escripts-intro)
- 14. (find-links-conv-intro)
+ 14. (find-escripts-intro)
+ 15. (find-links-conv-intro)
These are older and more technical versions of sections of the
eev-quick-intro:
- 15. (find-eval-intro)
- 16. (find-links-intro)
- 17. (find-brxxx-intro)
- 18. (find-wrap-intro)
- 19. (find-eejump-intro)
- 20. (find-anchors-intro)
- 21. (find-code-c-d-intro)
+ 16. (find-eval-intro)
+ 17. (find-links-intro)
+ 18. (find-brxxx-intro)
+ 19. (find-wrap-intro)
+ 20. (find-eejump-intro)
+ 21. (find-anchors-intro)
+ 22. (find-code-c-d-intro)
These are etcs:
- 22. (find-multiwindow-intro)
- 23. (find-templates-intro)
- 24. (find-org-intro)
- 25. (find-videos-intro)
+ 23. (find-multiwindow-intro)
+ 24. (find-templates-intro)
+ 25. (find-org-intro)
26. (find-git-intro)
These ones explain advanced features that require extra setup:
@@ -3231,65 +3231,87 @@ The big figure below shows all the key sequences:
We saw in
(find-eev-quick-intro \"8. Anchors\")
+ (find-eev-quick-intro \"8.1. Introduction: `to'\")
+ (find-eev-quick-intro \"8.3. Creating index/section anchor pairs\")
+ (find-eev-quick-intro \"8.4. Creating e-script blocks\")
how to create anchors and how to point to anchors in the same
file with `to', and we saw briefly in
(find-eev-quick-intro \"9.2. Extra arguments to `code-c-d'\")
+ (find-eev-quick-intro \"9.2. Extra arguments to `code-c-d'\" \"to anchors\")
that the extra argument `:anchor' in
(code-c-d \"eev\" ee-eev-source-directory :anchor)
-let us abbreviate the links below, that point to anchors,
+let us abbreviate the link below, that points to an anchor,
- (find-eevfile \"eev-blinks.el\" \"«find-wottb»\")
- (find-anchor (ee-eevfile \"eev-blinks.el\") \"find-wottb\")
+ (find-eevfile \"eev-blinks.el\" \"«find-wottb»\")
-as just:
+to just this:
(find-eev \"eev-blinks.el\" \"find-wottb\")
-If you are in a file that has anchors there are two key sequences
-that you can use to create a link to that anchors in it very
-quickly. Remember that `M-h M-w' is a variant of `M-w' that
-copies the current line to the kill ring; as a bonus, `M-h M-w'
-highlights the current line for a brief while, and displays this
-message in the echo area:
+Let's now see how to put this all together. WARNING: this is an
+advanced topic!
- Copied the current line to the kill ring - use C-y to paste
-
-If you run `M-h M-w' with the prefix argument 1, i.e., with `M-1
-M-h M-w', it copies the previous anchor instead of the current
-line. Try it now - `M-1 M-h M-w' will flash the \"find-wottb\"
-above and will say:
-
- Copied \"find-wottb\" to the kill ring
-
-If you try `M-1 M-h M-w' at the target of this sexp, on in the
-lines after the target,
+If you are in a file that has anchors you can use the key
+sequence `M-1 M-h M-w' to copy the \"preceding tag\" to the kill
+ring, and you can you use an `M-h M--' after the `M-h M-y' in the
+hyperlinks buffer to shrink the first sexp below to the second
+one:
+ (find-eevfind \"eev-blinks.el\" \"find-wottb\")
(find-eev \"eev-blinks.el\" \"find-wottb\")
-the anchor \"find-wottb\" will be copied to the kill ring... if
-you then type `M-h M-h' or `M-h M-3', go to the line with
+The preceding tag and shrinking are explained here, with
+exercises:
+
+ (find-anchors-intro \"2. Shrinking\")
+ (find-anchors-intro \"2. Shrinking\" \"`M-h M--'\")
+ (find-anchors-intro \"3. The preceding tag\")
+ (find-anchors-intro \"3. The preceding tag\" \"`M-1 M-h M-w'\")
+
+Here is a diagram of key sequences:
+
+ _____________________________________________
+ | | |
+ | | |
+ | target buffer | elinks |
+ | with anchors | buffer |
+ | ::::::> |
+ | M-1 M-h M-w, | M-h M-2, |
+ | M-h M-3 or | || M-h M-y, |
+ | M-h M-h | || M-h M--, |
+ | | || M-h M-w or |
+ | | || M-w |
+ | | || |
+ | |----||----------------|
+ | | || |
+ | | \\/ notes |
+ | | buffer |
+ | | |
+ | | C-y |
+ | | |
+ | | |
+ |______________________|______________________|
+
+If you are intending to learn this, here is a suggestion: do it
+in two steps! Start by learning how to create hyperlinks to
+anchors in the directory that has the source files of eev, i.e.,
- (find-eevfile \"eev-blinks.el\")
-
-in it and type `M-h M-y' it will become this,
+ (find-eevfile \"\")
- (find-eevfile \"eev-blinks.el\" \"find-wottb\")
+and only then do things like
-that is ALMOST a link to the anchor \"find-wottb\" in the file
-\"eev-blinks.el\" - we need to delete the \"file\" in
-`find-eevfile' to make it become a link to an anchor. It turns
-out that eev has a key that does exactly that: `M-h M--'. See:
+ (code-c-d \"mnwa\" \"~/MYNOTESWITHANCHORS/\" :anchor)
- (eek \"M-h M-k M-h M-- ;; ee-shrink-hyperlink-at-eol\")
- (find-eev \"eev-edit.el\" \"ee-shrink-hyperlink-at-eol\")
+but with better names, of course, and learn how to create links
+to the anchors in the files in that directory.
-I use this so much that I got used to typing this sequence of
-keys VERY quickly:
+NOTE: I use this so much that I got used to typing this sequence
+of keys VERY quickly,
M-1 M-h M-w
M-h M-h
@@ -3299,10 +3321,19 @@ keys VERY quickly:
M-h M--
M-h M-w
-I don't touch-type, and for me it became natural do hold the meta
-key down with my left thumb while I type `M-1hwhh' and
-`M-h2hyh-hw'... I would be nice to have a way to do this same
-series of actions using keys that are good for touch typists.
+but I don't touch-type, and for me it became natural to hold the
+meta key down with my left thumb while I type `M-1hwhh' and
+`M-h2hyh-hw' _by moving my hands over the keyboard a lot_...
+
+It would be nice to have a way to do this same series of actions
+using keys that are good for touch typists. One possibilty is to
+use transient-mode:
+
+ https://magit.vc/manual/transient/
+ https://lists.gnu.org/archive/html/emacs-devel/2021-01/msg01120.html
+
+I can try to implement this myself _if I have touch-typists to
+discuss it with_ - so if you're interested, get in touch!
@@ -7312,7 +7343,7 @@ The shell function that I could call as
psne $S/http/www.gnu.org/software/emacs/emacs-paper.html
-and it would run the fours steps in
+and it would run the four steps in
mkdir -p http://www.gnu.org/software/emacs/
cd http://www.gnu.org/software/emacs/
@@ -9947,43 +9978,48 @@ Prerequisites:
1. Some videos
==============
-At this moment I have these five videos about eev (I am
+At this moment I have these seven videos about eev (I am
deliberately ignoring the ones that I consider obsolete!):
- \"How to record executable notes with eev - and how to play them back\":
- http://angg.twu.net/emacsconf2019.html
- http://angg.twu.net/emacsconf2019.html#code-video
- http://angg.twu.net/eev-videos/emacsconf2019.mp4
- http://www.youtube.com/watch?v=86yiRG8YJD0
-
- \"On why most of the best features in eev look like 5-minute hacks\":
- http://angg.twu.net/emacsconf2020.html
- http://angg.twu.net/emacsconf2020.html#code-video
- http://angg.twu.net/eev-videos/emacsconf2020.mp4
- http://www.youtube.com/watch?v=hOAqBc42Gg8
-
- \"How to install eev with M-x list-packages and how to navigate its
tutorials\":
- http://angg.twu.net/2020-list-packages-eev-nav.html
- http://angg.twu.net/2020-list-packages-eev-nav.html#code-video
- http://angg.twu.net/eev-videos/M-x-list-packages-eev-nav.mp4
- http://www.youtube.com/watch?v=kxBjiUo88_U
-
- \"Some template-based functions of eev that are not five-minute hacks\":
- http://angg.twu.net/2020-some-template-based.html
- http://angg.twu.net/2020-some-template-based.html#code-video
- http://angg.twu.net/eev-videos/2020_some_template-based_functions.mp4
- http://www.youtube.com/watch?v=91-9YfRPsuk
-
- \"How to create hyperlinks to \"here\" with `find-here-links'\":
- http://angg.twu.net/2020-find-here-links.html
- http://angg.twu.net/2020-find-here-links.html#code-video
- http://angg.twu.net/eev-videos/2020-find-here-links.mp4
- http://www.youtube.com/watch?v=8jtiBlaDor4
-
- \"Short videos about workflows - and how to upload them\":
- http://angg.twu.net/2021-ssr.html
- http://angg.twu.net/eev-videos/2020-short-find-ssr-links-2.mp4
- http://www.youtube.com/watch?v=_0_NLXTVhBk
+ 1. \"How to record executable notes with eev - and how to play them back\":
+ http://angg.twu.net/emacsconf2019.html
+ http://angg.twu.net/emacsconf2019.html#code-video
+ http://angg.twu.net/eev-videos/emacsconf2019.mp4
+ http://www.youtube.com/watch?v=86yiRG8YJD0
+
+ 2. \"On why most of the best features in eev look like 5-minute hacks\":
+ http://angg.twu.net/emacsconf2020.html
+ http://angg.twu.net/emacsconf2020.html#code-video
+ http://angg.twu.net/eev-videos/emacsconf2020.mp4
+ http://www.youtube.com/watch?v=hOAqBc42Gg8
+
+ 3. \"How to install eev with M-x list-packages and how to navigate its
tutorials\":
+ http://angg.twu.net/2020-list-packages-eev-nav.html
+ http://angg.twu.net/2020-list-packages-eev-nav.html#code-video
+ http://angg.twu.net/eev-videos/M-x-list-packages-eev-nav.mp4
+ http://www.youtube.com/watch?v=kxBjiUo88_U
+
+ 4. \"Some template-based functions of eev that are not five-minute hacks\":
+ http://angg.twu.net/2020-some-template-based.html
+ http://angg.twu.net/2020-some-template-based.html#code-video
+ http://angg.twu.net/eev-videos/2020_some_template-based_functions.mp4
+ http://www.youtube.com/watch?v=91-9YfRPsuk
+
+ 5. \"How to create hyperlinks to \"here\" with `find-here-links'\":
+ http://angg.twu.net/2020-find-here-links.html
+ http://angg.twu.net/2020-find-here-links.html#code-video
+ http://angg.twu.net/eev-videos/2020-find-here-links.mp4
+ http://www.youtube.com/watch?v=8jtiBlaDor4
+
+ 6. \"Short videos about workflows - and how to upload them\":
+ http://angg.twu.net/2021-ssr.html
+ http://angg.twu.net/eev-videos/2020-short-find-ssr-links-2.mp4
+ http://www.youtube.com/watch?v=_0_NLXTVhBk
+
+ 7. \"Using test blocks in eev\":
+ http://angg.twu.net/2021-test-blocks.html
+ http://angg.twu.net/eev-videos/2020-test-blocks-1.mp4
+ http://www.youtube.com/watch?v=fpsF_M55W4o
The ones that I prepared for the two EmacsConfs are very
well-rehearsed, the other ones are not.
@@ -10009,11 +10045,13 @@ to jump to positions in them.
Another way to download these videos, and to get links that play
them from the beginning, is by using these sexps:
- (find-eevvideo-links \"eev2019\" \"emacsconf2019\" \"86yiRG8YJD0\")
- (find-eevvideo-links \"eev2020\" \"emacsconf2020\" \"hOAqBc42Gg8\")
- (find-eevvideo-links \"eevnav\" \"2020-list-packages-eev-nav\"
\"kxBjiUo88_U\")
- (find-eevvideo-links \"2020sometbf\" \"2020-some-template-based\"
\"91-9YfRPsuk\")
- (find-eevvideo-links \"2020findherelinks\" \"2020-find-here-links\"
\"8jtiBlaDor4\")
+ 1. (find-eevvideo-links \"eev2019\" \"emacsconf2019\" \"86yiRG8YJD0\")
+ 2. (find-eevvideo-links \"eev2020\" \"emacsconf2020\" \"hOAqBc42Gg8\")
+ 3. (find-eevvideo-links \"eevnav\" \"2020-list-packages-eev-nav\"
\"kxBjiUo88_U\")
+ 4. (find-eevvideo-links \"2020sometbf\" \"2020-some-template-based\"
\"91-9YfRPsuk\")
+ 5. (find-eevvideo-links \"2020findherelinks\" \"2020-find-here-links\"
\"8jtiBlaDor4\")
+ 6. (find-eevvideo-links \"2020ssr\" \"2020-short-find-ssr-links-2\"
\"_0_NLXTVhBk\")
+ 7. (find-eevvideo-links \"testbls\" \"2020-test-blocks-1\" \"fpsF_M55W4o\")
The function `find-eevvideo-links' is explained here:
diff --git a/eev-pdflike.el b/eev-pdflike.el
index 0e4d94e..d9fb1e8 100644
--- a/eev-pdflike.el
+++ b/eev-pdflike.el
@@ -19,7 +19,7 @@
;;
;; Author: Eduardo Ochs <eduardoochs@gmail.com>
;; Maintainer: Eduardo Ochs <eduardoochs@gmail.com>
-;; Version: 2020dec03
+;; Version: 2021feb08
;; Keywords: e-scripts
;;
;; Latest version: <http://angg.twu.net/eev-current/eev-pdflike.el>
@@ -857,6 +857,32 @@ If the argument PAGE is non-nil append a \"#page=nnn\" to
the result."
+;;; _ _
+;;; ___ ___ __| | ___ | |__ _ ____ ____ ____ _____
+;;; / __/ _ \ / _` |/ _ \_____| '_ \| '__\ \/ /\ \/ /\ \/ / __|
+;;; | (_| (_) | (_| | __/_____| |_) | | > < > < > <\__ \
+;;; \___\___/ \__,_|\___| |_.__/|_| /_/\_\/_/\_\/_/\_\___/
+;;;
+;; «code-brxxxs» (to ".code-brxxxs")
+;; See: (find-brxxx-intro "6. `code-brfile'")
+;;
+;; (find-code-brfile 'find-pdf-page :local 'brpdfl :dired 'brpdfd)
+ (code-brfile 'find-pdf-page :local 'brpdfl :dired 'brpdfd)
+;; (find-code-brfile 'find-pdf-text :local 'brpdftextl :dired 'brpdftextd)
+ (code-brfile 'find-pdf-text :local 'brpdftextl :dired 'brpdftextd)
+
+;; (find-code-brfile 'find-djvu-page :local 'brdjvul :dired 'brdjvud)
+ (code-brfile 'find-djvu-page :local 'brdjvul :dired 'brdjvud)
+;; (find-code-brfile 'find-djvu-text :local 'brdjvutextl :dired 'brdjvutextd)
+ (code-brfile 'find-djvu-text :local 'brdjvutextl :dired 'brdjvutextd)
+;; (find-code-brfile 'find-evince-page :local 'brevincel :dired 'brevinced)
+ (code-brfile 'find-evince-page :local 'brevincel :dired 'brevinced)
+;; (find-code-brfile 'find-xdvi-page :local 'brxdvil :dired 'brxdvid)
+ (code-brfile 'find-xdvi-page :local 'brxdvil :dired 'brxdvid)
+;; (find-code-brfile 'find-xpdf-page :local 'brxpdfl :dired 'brxpdfd)
+ (code-brfile 'find-xpdf-page :local 'brxpdfl :dired 'brxpdfd)
+
+
;;; _ _ _
;;; / \ | (_) __ _ ___ ___ ___
@@ -871,45 +897,35 @@ If the argument PAGE is non-nil append a \"#page=nnn\" to
the result."
;;
;; (find-eevfile "eev-pdflike.el" "4. A CONVENTION ON HYPHENS")
+;; (find-code-pdfbackendalias "djvu" "djview-page")
(code-pdfbackendalias "djvu" "djview-page")
+;; (find-code-pdfbackendalias "djvu-text" "djvutxt-text")
(code-pdfbackendalias "djvu-text" "djvutxt-text")
+;; (find-code-pdfbackendalias "djvupage" "djview-page")
(code-pdfbackendalias "djvupage" "djview-page")
+;; (find-code-pdfbackendalias "dvi" "xdvi-page")
(code-pdfbackendalias "dvi" "xdvi-page")
+;; (find-code-pdfbackendalias "evince" "evince-page")
(code-pdfbackendalias "evince" "evince-page")
+;; (find-code-pdfbackendalias "evincepage" "evince-page")
(code-pdfbackendalias "evincepage" "evince-page")
+;; (find-code-pdfbackendalias "pdf" "xpdf-page")
(code-pdfbackendalias "pdf" "xpdf-page")
+;; (find-code-pdfbackendalias "pspage" "gv-page")
(code-pdfbackendalias "pspage" "gv-page")
+;; (find-code-pdfbackendalias "xdvi" "xdvi-page")
(code-pdfbackendalias "xdvi" "xdvi-page")
+;; (find-code-pdfbackendalias "xdvipage" "xdvi-page")
(code-pdfbackendalias "xdvipage" "xdvi-page")
+;; (find-code-pdfbackendalias "xpdf" "xpdf-page")
(code-pdfbackendalias "xpdf" "xpdf-page")
+;; (find-code-pdfbackendalias "xpdfpage" "xpdf-page")
(code-pdfbackendalias "xpdfpage" "xpdf-page")
-;; (find-code-pdfbackendalias "djvu" "djview-page")
-;; (find-code-pdfbackendalias "djvu-text" "djvutxt-text")
-;; (find-code-pdfbackendalias "djvupage" "djview-page")
-;; (find-code-pdfbackendalias "dvi" "xdvi-page")
-;; (find-code-pdfbackendalias "evince" "evince-page")
-;; (find-code-pdfbackendalias "evincepage" "evince-page")
-;; (find-code-pdfbackendalias "pdf" "xpdf-page")
-;; (find-code-pdfbackendalias "pspage" "gv-page")
-;; (find-code-pdfbackendalias "xdvi" "xdvi-page")
-;; (find-code-pdfbackendalias "xdvipage" "xdvi-page")
-;; (find-code-pdfbackendalias "xpdf" "xpdf-page")
-;; (find-code-pdfbackendalias "xpdfpage" "xpdf-page")
-;; «code-brxxxs» (to ".code-brxxxs")
-;; See: (find-brxxx-intro "6. `code-brfile'")
-;;
-(code-brfile 'find-pdf-page :local 'brpdfl :dired 'brpdfd)
-(code-brfile 'find-pdf-text :local 'brpdftextl :dired 'brpdftextd)
-(code-brfile 'find-djvu-page :local 'brdjvul :dired 'brdjvud)
-(code-brfile 'find-djvu-text :local 'brdjvutextl :dired 'brdjvutextd)
-(code-brfile 'find-evince-page :local 'brevincel :dired 'brevinced)
-(code-brfile 'find-xdvi-page :local 'brxdvil :dired 'brxdvid)
-(code-brfile 'find-xpdf-page :local 'brxpdfl :dired 'brxpdfd)
diff --git a/eev-template0.el b/eev-template0.el
index 65ca663..2efccb7 100644
--- a/eev-template0.el
+++ b/eev-template0.el
@@ -19,7 +19,7 @@
;;
;; Author: Eduardo Ochs <eduardoochs@gmail.com>
;; Maintainer: Eduardo Ochs <eduardoochs@gmail.com>
-;; Version: 2019mar29
+;; Version: 2021feb03
;; Keywords: e-scripts
;;
;; Latest version: <http://angg.twu.net/eev-current/eev-template0.el>
@@ -89,9 +89,16 @@
;; (find-eev-quick-intro "9.3. Hyperlinks to PDF files")
+(defvar ee-template00-re "{\\([^{}]+\\)}"
+ "To make `ee-template0' use other delimiters instead of `{}'s
+set this variable temporarily in a `let'.")
+;; Tests:
+;; (ee-template00 "a{(+ 2 3)}b")
+;; (let ((hi "Here: ") (a 22) (b 33)) (ee-template00 "{hi}{a}+{b}={(+ a b)}"))
+;;
(defun ee-template00 (str)
"Replace substrings enclosed by `{}'s in STR by the result of evaluating them.
Examples:\n
@@ -101,10 +108,13 @@ Examples:\n
(ee-template00 \"{hi} {a} + {b} = {(+ a b)}\"))
--> \"22 + 33 = 55\""
(replace-regexp-in-string
- "{\\([^{}]+\\)}"
+ ee-template00-re
(lambda (_code_) (format "%s" (eval (read (substring _code_ 1 -1)))))
str 'fixedcase 'literal))
+;; Test:
+;; (ee-template0 "{<} a{(+ 2 3)} {>}")
+;;
(defun ee-template0 (str)
"Replace substrings enclosed by `{}'s in STR by the result of evaluating them.
Substrings of the form `{<}' and `{>}' in STR are replaced by `{'