emacs-elpa-diffs
[Top][All Lists]
Advanced

[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 `{'



reply via email to

[Prev in Thread] Current Thread [Next in Thread]