branch: externals/eev commit 05234e5979661ec288fbdf4c291f4cdd98210443 Author: Eduardo Ochs <eduardoo...@gmail.com> Commit: Eduardo Ochs <eduardoo...@gmail.com>
Simplified the way to use red bullets instead of red stars. --- ChangeLog | 14 +++++++++ VERSION | 4 +-- eepitch.el | 42 ++++++++++++++++----------- eev-anchors.el | 19 +++++++++--- eev-audiovideo.el | 68 +++++++++++++++++++++++++++++-------------- eev-intro.el | 5 ++-- eev-tlinks.el | 86 ++++++++++++++++++++++++++++++++++++------------------- 7 files changed, 163 insertions(+), 75 deletions(-) diff --git a/ChangeLog b/ChangeLog index 608b236..54bb016 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,17 @@ +2021-10-16 Eduardo Ochs <eduardoo...@gmail.com> + + * eev-tlinks.el (find-eepitch-bullet-links): redefine + `ee-adjust-red-stars' instead of `eewrap-eepitch'. + (find-psne-links): use `ee-adjust-red-stars'. + + * eepitch.el (ee-adjust-red-stars): new function. + (eewrap-eepitch): use `ee-adjust-red-stars'. + +2021-10-12 Eduardo Ochs <eduardoo...@gmail.com> + + * eev-audiovideo.el: added links to the indexes of all videos in + the section video-tutorials. + 2021-10-11 Eduardo Ochs <eduardoo...@gmail.com> * eev-intro.el (find-escripts-intro): rewrote the section "7. diff --git a/VERSION b/VERSION index f624715..00971df 100644 --- a/VERSION +++ b/VERSION @@ -1,2 +1,2 @@ -Tue Oct 12 04:02:20 GMT 2021 -Tue Oct 12 01:02:20 -03 2021 +Sat Oct 16 22:33:21 GMT 2021 +Sat Oct 16 19:33:21 -03 2021 diff --git a/eepitch.el b/eepitch.el index 3c9d113..66b616b 100644 --- a/eepitch.el +++ b/eepitch.el @@ -19,7 +19,7 @@ ;; ;; Author: Eduardo Ochs <eduardoo...@gmail.com> ;; Maintainer: Eduardo Ochs <eduardoo...@gmail.com> -;; Version: 20211005 +;; Version: 20211016 ;; Keywords: e-scripts ;; ;; Latest version: <http://angg.twu.net/eev-current/eepitch.el> @@ -40,6 +40,7 @@ ;; «.find-comintprocess» (to "find-comintprocess") ;; ;; «.eewrap-eepitch» (to "eewrap-eepitch") +;; «.ee-adjust-red-stars» (to "ee-adjust-red-stars") ;; «.glyphs» (to "glyphs") ;; «.set-glyphs» (to "set-glyphs") ;; «.set-keys» (to "set-keys") @@ -577,29 +578,40 @@ See: (find-eepitch-intro)" ;;; \_/\_/ |_| \__,_| .__/ ;;; |_| ;; -;; «eewrap-eepitch» (to ".eewrap-eepitch") +;; «eewrap-eepitch» (to ".eewrap-eepitch") +;; «ee-adjust-red-stars» (to ".ee-adjust-red-stars") ;; See: (find-eev-quick-intro "6.3. Creating eepitch blocks: `M-T'") ;; (find-eev-quick-intro "wrap") ;; (find-wrap-intro) +;; (find-eev "eev-mode.el" "eev-mode-map-set" "M-T" "eewrap-eepitch") +;; (find-eepitch-bullet-links) + +(defun eewrap-eepitch () (interactive) + "Convert the current into an eepitch block (three lines long)." + (let* ((fmt " (eepitch-%s)\n (eepitch-kill)\n (eepitch-%s)") + (li (ee-this-line-extract)) + (newli (format fmt li li))) + (insert (ee-adjust-red-stars newli))) + (ee-next-line 1)) + +(defun ee-adjust-red-stars (str) + "Replace all the red stars in STR by another character if needed. +By default this function returns STR unchanged. For a way to make +it replace the red stars by bullets, see: + (find-eepitch-bullet-links)" + str) + +(defun ee-this-line-extract () + "Delete the contents of the current line and return it as a string." + (delete-and-extract-region (ee-bol) (ee-eol))) (defun ee-no-properties (str) (setq str (copy-sequence str)) (set-text-properties 0 (length str) nil str) str) -;; (defun eepitch-delete-and-extract-line () -;; (delete-and-extract-region (ee-bol) (ee-eol))) -(defun ee-this-line-extract () - "Delete the contents of the current line and return it as a string." - (delete-and-extract-region (ee-bol) (ee-eol))) -(defun eewrap-eepitch () (interactive) - (let* ((fmt " (eepitch-%s)\n (eepitch-kill)\n (eepitch-%s)") - (li (ee-this-line-extract)) - (newli (format fmt li li))) - (insert newli)) - (ee-next-line 1)) @@ -612,9 +624,7 @@ See: (find-eepitch-intro)" ;;; ;; «glyphs» (to ".glyphs") ;; See: (find-eev-quick-intro "6.4. Red stars") -;; More glyphs: -;; (find-eev "eev-anchors.el") -;; (find-anchors-intro) +;; (find-eev "eev-anchors.el" "glyphs") ;; More on glyphs: ;; http://angg.twu.net/glyphs.html ;; The `(<= 128 pos)' below is explained at: diff --git a/eev-anchors.el b/eev-anchors.el index f39bcff..dc913d3 100644 --- a/eev-anchors.el +++ b/eev-anchors.el @@ -35,6 +35,11 @@ ;; See the tutorial on anchors here: ;; (find-eev-quick-intro "8. Anchors") +;; «.glyphs» (to "glyphs") +;; «.ee-goto-anchor» (to "ee-goto-anchor") +;; «.find-anchor» (to "find-anchor") +;; «.to» (to "to") + @@ -50,6 +55,9 @@ ;;; | (_| | | |_| | |_) | | | \__ \ ;;; \__, |_|\__, | .__/|_| |_|___/ ;;; |___/ |___/|_| +;; +;; «glyphs» (to ".glyphs") +;; See: (find-eev "eepitch.el" "glyphs") (defface eev-glyph-face-green '((((class color) (background dark)) @@ -97,6 +105,8 @@ ;;; | _| | | | | (_| |_____| (_| | | | | (__| | | | (_) | | ;;; |_| |_|_| |_|\__,_| \__,_|_| |_|\___|_| |_|\___/|_| ;;; +;; «ee-goto-anchor» (to ".ee-goto-anchor") +;; «find-anchor» (to ".find-anchor") ;; See: (find-eev-quick-intro "8. Anchors") ;; (find-eval-intro "Anchors and pages") @@ -122,8 +132,8 @@ the local variables section of the file; see: a hint: one way of forcing reloading the local variables by hand is by running `\\[normal-mode]'. -The glyphs defined in (find-eev \"eev-glyphs.el\") can be used to -make anchors using characters that stand out." +The glyphs defined in (find-eev \"eev-anchors.el\" \"glyphs\") +can be used to make anchors using characters that stand out." (if tag (goto-char (save-excursion (goto-char (point-min)) @@ -145,8 +155,9 @@ See `ee-goto-anchor'." ;;; | || (_) | ;;; \__\___/ ;;; -;; Warning: this function does not start with any of the -;; reserved prefixes!!! =( +;; «to» (to ".to") +;; See: (find-eev-quick-intro "8.1. Introduction: `to'") +;; (find-eev-intro "1. `eev-mode'" "prefixes" "to") ;; (defun to (tag &rest pos-spec-list) "Like `find-anchor', but does not switch to another buffer or file." diff --git a/eev-audiovideo.el b/eev-audiovideo.el index d42e3df..3a226ac 100644 --- a/eev-audiovideo.el +++ b/eev-audiovideo.el @@ -19,7 +19,7 @@ ;; ;; Author: Eduardo Ochs <eduardoo...@gmail.com> ;; Maintainer: Eduardo Ochs <eduardoo...@gmail.com> -;; Version: 20211008 +;; Version: 20211016 ;; Keywords: e-scripts ;; ;; Latest version: <http://angg.twu.net/eev-current/eev-audiovideo.el> @@ -52,10 +52,13 @@ ;; (find-audiovideo-intro "4.4. The default audio/video file") ;; (find-audiovideo-intro "4.4. The default audio/video file" "`M-p'") ;; -;; NOTE: I am not aware of other packages - for emacs or not - that -;; implement links that play audio or video files at given time -;; offsets... but in 2020jan03 a guy called stardiviner sent this -;; proposal to the Org mailing list: +;; NOTE: there are other packages for Emacs that implement ways to +;; play audio or video files at given time offsets - for example, +;; subed: +;; +;; https://github.com/rndusr/subed +;; +;; and this proposal (I don't know its current state): ;; ;; https://lists.gnu.org/archive/html/emacs-orgmode/2020-01/msg00007.html @@ -577,10 +580,13 @@ See: (find-audiovideo-intro \"`eev-avadj-mode'\")" ;; See: (find-videos-intro "2. Short links to eev video tutorials") ;; Skel: (find-eevshortvideo-links "eev2019" "emacsconf2019" "86yiRG8YJD0") -;; Test: (find-eev2019video "0:00") +;; See: (find-videos-intro "1. Some videos" "emacsconf2019") +;; Index: http://angg.twu.net/.emacs.videos.html#eev2019 +;; Test: (find-eev2019video "0:00") (defun find-eev2019video (&optional time &rest rest) "Play one of the video tutorials of eev starting at TIME. -See: http://angg.twu.net/emacsconf2019.html +See: (find-videos-intro \"1. Some videos\" \"emacsconf2019\") + http://angg.twu.net/emacsconf2019.html for more info on this particular video, and: (find-videos-intro \"2. Short links to eev video tutorials\") or: http://angg.twu.net/eev-intros/find-videos-intro.html#2 @@ -589,10 +595,13 @@ and: (find-videos-intro \"2. Short links to eev video tutorials\") (find-eevvideo-links "eev2019" "emacsconf2019" "86yiRG8YJD0" time)) ;; Skel: (find-eevshortvideo-links "eev2020" "emacsconf2020" "hOAqBc42Gg8") -;; Test: (find-eev2020video "0:00") +;; See: (find-videos-intro "1. Some videos" "emacsconf2020") +;; Index: http://angg.twu.net/.emacs.videos.html#eev2020 +;; Test: (find-eev2020video "0:00") (defun find-eev2020video (&optional time &rest rest) "Play one of the video tutorials of eev starting at TIME. -See: http://angg.twu.net/emacsconf2020.html +See: (find-videos-intro \"1. Some videos\" \"emacsconf2020\") + http://angg.twu.net/emacsconf2020.html for more info on this particular video, and: (find-videos-intro \"2. Short links to eev video tutorials\") or: http://angg.twu.net/eev-intros/find-videos-intro.html#2 @@ -600,11 +609,14 @@ and: (find-videos-intro \"2. Short links to eev video tutorials\") (interactive) (find-eevvideo-links "eev2020" "emacsconf2020" "hOAqBc42Gg8" time)) -;; Skel: (find-eevshortvideo-links "eevnav" "2020-list-packages-eev-nav" "kxBjiUo88_U") -;; Test: (find-eevnavvideo "0:00") +;; Skel: (find-eevshortvideo-links "eevnav" "2020-list-packages-eev-nav" "kxBjiUo88_U") +;; See: (find-videos-intro "1. Some videos" "2020-list-packages-eev-nav") +;; Index: http://angg.twu.net/.emacs.videos.html#eevnav +;; Test: (find-eevnavvideo "0:00") (defun find-eevnavvideo (&optional time &rest rest) "Play one of the video tutorials of eev starting at TIME. -See: http://angg.twu.net/2020-list-packages-eev-nav.html +See: (find-videos-intro \"1. Some videos\" \"2020-list-packages-eev-nav\") + http://angg.twu.net/2020-list-packages-eev-nav.html for more info on this particular video, and: (find-videos-intro \"2. Short links to eev video tutorials\") or: http://angg.twu.net/eev-intros/find-videos-intro.html#2 @@ -613,10 +625,13 @@ and: (find-videos-intro \"2. Short links to eev video tutorials\") (find-eevvideo-links "eevnav" "2020-list-packages-eev-nav" "kxBjiUo88_U" time)) ;; Skel: (find-eevshortvideo-links "eevtempl" "2020-some-template-based" "91-9YfRPsuk") -;; Test: (find-eevtemplvideo "0:00") +;; See: (find-videos-intro "1. Some videos" "2020-some-template-based") +;; Index: http://angg.twu.net/.emacs.videos.html#eevtempl +;; Test: (find-eevtemplvideo "0:00") (defun find-eevtemplvideo (&optional time &rest rest) "Play one of the video tutorials of eev starting at TIME. -See: http://angg.twu.net/2020-some-template-based.html +See: (find-videos-intro \"1. Some videos\" \"2020-some-template-based\") + http://angg.twu.net/2020-some-template-based.html for more info on this particular video, and: (find-videos-intro \"2. Short links to eev video tutorials\") or: http://angg.twu.net/eev-intros/find-videos-intro.html#2 @@ -625,21 +640,28 @@ and: (find-videos-intro \"2. Short links to eev video tutorials\") (find-eevvideo-links "eevtempl" "2020-some-template-based" "91-9YfRPsuk" time)) ;; Skel: (find-eevshortvideo-links "eevfherel" "2020-find-here-links" "8jtiBlaDor4") -;; Test: (find-eevfherelvideo "0:00") +;; See: (find-videos-intro "1. Some videos" "2020-find-here-links") +;; Index: http://angg.twu.net/.emacs.videos.html#eevfherel +;; Test: (find-eevfherelvideo "0:00") (defun find-eevfherelvideo (&optional time &rest rest) "Play one of the video tutorials of eev starting at TIME. -See: http://angg.twu.net/2020-find-here-links.html +See: (find-videos-intro \"1. Some videos\" \"2020-find-here-links\") + http://angg.twu.net/2020-find-here-links.html for more info on this particular video, and: (find-videos-intro \"2. Short links to eev video tutorials\") or: http://angg.twu.net/eev-intros/find-videos-intro.html#2 for more info on these video tutorials." + (interactive) (find-eevvideo-links "eevfherel" "2020-find-here-links" "8jtiBlaDor4" time)) ;; Skel: (find-eevshortvideo-links "eevtestbls" "2021-test-blocks" "fpsF_M55W4o") -;; Test: (find-eevtestblsvideo "0:00") +;; See: (find-videos-intro "1. Some videos" "2021-test-blocks") +;; Index: http://angg.twu.net/.emacs.videos.html#eevtestbls +;; Test: (find-eevtestblsvideo "0:00") (defun find-eevtestblsvideo (&optional time &rest rest) "Play one of the video tutorials of eev starting at TIME. -See: http://angg.twu.net/2021-test-blocks.html +See: (find-videos-intro \"1. Some videos\" \"2021-test-blocks\") + http://angg.twu.net/2021-test-blocks.html for more info on this particular video, and: (find-videos-intro \"2. Short links to eev video tutorials\") or: http://angg.twu.net/eev-intros/find-videos-intro.html#2 @@ -647,11 +669,14 @@ and: (find-videos-intro \"2. Short links to eev video tutorials\") (interactive) (find-eevvideo-links "eevtestbls" "2021-test-blocks" "fpsF_M55W4o" time)) -;; Skel: (find-eevshortvideo-links "eevvlinks" "2021-video-links") -;; Test: (find-eevvlinksvideo "0:00") +;; Skel: (find-eevshortvideo-links "eevvlinks" "2021-video-links" "xQqWufQgzVY") +;; See: (find-videos-intro "1. Some videos" "2021-video-links") +;; Index: http://angg.twu.net/.emacs.videos.html#eevvlinks +;; Test: (find-eevvlinksvideo "0:00") (defun find-eevvlinksvideo (&optional time &rest rest) "Play one of the video tutorials of eev starting at TIME. -See: http://angg.twu.net/2021-video-links.html +See: (find-videos-intro \"1. Some videos\" \"2021-video-links\") + http://angg.twu.net/2021-video-links.html for more info on this particular video, and: (find-videos-intro \"2. Short links to eev video tutorials\") or: http://angg.twu.net/eev-intros/find-videos-intro.html#2 @@ -662,6 +687,7 @@ and: (find-videos-intro \"2. Short links to eev video tutorials\") + (provide 'eev-audiovideo) diff --git a/eev-intro.el b/eev-intro.el index 4988312..3e15657 100644 --- a/eev-intro.el +++ b/eev-intro.el @@ -1046,6 +1046,7 @@ The pattern is: (find-elnode \"Defining Functions\" \"(defun foo () 5)\") (find-eval-intro \"10. More on functions\") + (find-elisp-intro \"6. Defining functions\") As a special case, a plain `M-j' without a prefix argument runs a special function, `find-eejumps', that shows a help text followed @@ -12113,8 +12114,8 @@ Let me compare two styles: 1. textual, 2. executable notes. 1. The section 2 of the tutorial `find-eev-quick-intro' mentions that `M-e' accepts several different numerical prefixes, but it only explains one case: `M-0 M-e'. One way - to discover what the other numerical prefixes is to use `M-h - M-k', that is explained in the section 4.2 of + to discover what the other numerical prefixes do is to use + `M-h M-k', that is explained in the section 4.2 of `find-eev-quick-intro', on `M-e', and then follow the link in the temporary buffer that starts with `find-efunction'. The key `M-e' is bound to `ee-eval-sexp-eol', and one of diff --git a/eev-tlinks.el b/eev-tlinks.el index 53dc932..8d0d1c9 100644 --- a/eev-tlinks.el +++ b/eev-tlinks.el @@ -19,7 +19,7 @@ ;; ;; Author: Eduardo Ochs <eduardoo...@gmail.com> ;; Maintainer: Eduardo Ochs <eduardoo...@gmail.com> -;; Version: 20211002 +;; Version: 20211016 ;; Keywords: e-scripts ;; ;; Latest version: <http://angg.twu.net/eev-current/eev-tlinks.el> @@ -77,6 +77,7 @@ ;; «.code-eevvideo» (to "code-eevvideo") ;; «.hardcoded-paths» (to "hardcoded-paths") ;; «.find-eev-video-links» (to "find-eev-video-links") +;; «.find-eevshortvideo-links» (to "find-eevshortvideo-links") ;; ;; «.find-latex-links» (to "find-latex-links") ;; «.find-lua-links» (to "find-lua-links") @@ -89,6 +90,7 @@ ;; «.find-newbrowser-links» (to "find-newbrowser-links") ;; «.ee-0x0-upload-region» (to "ee-0x0-upload-region") ;; «.find-0x0-links» (to "find-0x0-links") +;; «.find-red-star-links» (to "find-red-star-links") ;; «.find-eepitch-bullet-links» (to "find-eepitch-bullet-links") ;; «.find-angg-es-links» (to "find-angg-es-links") @@ -1159,7 +1161,7 @@ Files that look like subtitle files are ignored." ;; Convention: the first sexp always regenerates the buffer. (find-efunction 'find-psne-links) "" - " (eepitch-shell2)" + ,(ee-adjust-red-stars " (eepitch-shell2)") ,(ee-find-psne-core url wget-options) ) pos-spec-list)) @@ -1741,6 +1743,43 @@ echo 'http://angg.twu.net/eev-videos/{anggstem}.mp4' >> ~/.psne.log +;; «find-eevshortvideo-links» (to ".find-eevshortvideo-links") +;; Skel: (find-find-links-links-new "eevshortvideo" "c stem youtubeid" "") +;; Used in: (find-eev "eev-audiovideo.el" "video-tutorials") +;; +(defun find-eevshortvideo-links (&optional c stem youtubeid &rest pos-spec-list) +"Visit a temporary buffer containing hyperlinks for eevshortvideo." + (interactive) + (setq c (or c "{c}")) + (setq stem (or stem "{stem}")) + (setq youtubeid (or youtubeid "{youtubeid}")) + (apply + 'find-elinks-elisp + `((find-eevshortvideo-links ,c ,stem ,youtubeid ,@pos-spec-list) + ;; Convention: the first sexp always regenerates the buffer. + (find-efunction 'find-eevshortvideo-links) + "" + ,(ee-template0 "\ +;; Skel: (find-eevshortvideo-links \"{c}\" \"{stem}\" \"{youtubeid}\") +;; See: (find-videos-intro \"1. Some videos\" \"{stem}\") +;; Index: http://angg.twu.net/.emacs.videos.html#{c} +;; Test: (find-{c}video \"0:00\") +(defun find-{c}video (&optional time &rest rest) + \"Play one of the video tutorials of eev starting at TIME. +See: (find-videos-intro \\\"1. Some videos\\\" \\\"{stem}\\\") + http://angg.twu.net/{stem}.html + for more info on this particular video, +and: (find-videos-intro \\\"2. Short links to eev video tutorials\\\") + or: http://angg.twu.net/eev-intros/find-videos-intro.html#2 + for more info on these video tutorials.\" + (interactive) + (find-eevvideo-links \"{c}\" \"{stem}\" \"{youtubeid}\" time)) +") + ) + pos-spec-list)) + + + @@ -2401,10 +2440,12 @@ This function is used by `ee-0x0-upload-region'." +;; «find-red-star-links» (to ".find-red-star-links") ;; «find-eepitch-bullet-links» (to ".find-eepitch-bullet-links") ;; Skel: (find-find-links-links-new "eepitch-bullet" "" "") ;; Test: (find-eepitch-bullet-links) ;; +(defalias 'find-red-star-links 'find-eepitch-bullet-links) (defun find-eepitch-bullet-links (&rest pos-spec-list) "Show code that makes eepitch use red bullets instead of red stars." (interactive) @@ -2420,7 +2461,8 @@ This function is used by `ee-0x0-upload-region'." ;; https://lists.gnu.org/archive/html/help-gnu-emacs/2021-05/msg01079.html ;; Note that the default regexes for eepitch accept both the red ;; stars and the bullets - chars 15 and 8226 respectively... -;; See: (find-eev \"eepitch.el\" \"eepitch\" \"eepitch-regexp\") +;; See: (find-eev \"eepitch.el\" \"glyphs\") +;; (find-eev \"eepitch.el\" \"eepitch\" \"eepitch-regexp\") ;; (find-eev-quick-intro \"6.3. Creating eepitch blocks: `M-T'\") ;; And try: (insert \"\\n;; \" 15 8226) @@ -2436,28 +2478,17 @@ This function is used by `ee-0x0-upload-region'." ;; One way to do that is with `C-l' (`recenter-top-bottom'). - -;; This is the standard definition of `eewrap-eepitch'. See: -;; (find-eev \"eepitch.el\" \"eewrap-eepitch\" \"defun eewrap-eepitch\") -;; (find-eev-quick-intro \"6.4. Red stars\") -;; -\(defun eewrap-eepitch () (interactive) - (let* ((fmt \" (eepitch-%s)\\n (eepitch-kill)\\n (eepitch-%s)\") - (li (ee-this-line-extract)) - (newli (format fmt li li))) - (insert newli)) - (ee-next-line 1)) - -;; This is an alternative definition of `eewrap-eepitch' that uses -;; bullets instead of red stars. Run the defun below to override the -;; standard definition. +;; Most of the functions in eev that generate text with red stars +;; use the function `ee-adjust-red-stars' to replace the red +;; stars in the generated text by some non-default character if +;; needed. Use the first defun below to use red stars, and use +;; the second one to use bullets. +;; See: (find-eev \"eepitch.el\" \"ee-adjust-red-stars\") +;; (find-eval-intro \"3. What to execute, and in what order\") +;; Test: (ee-adjust-red-stars \"foobar\") ;; -\(defun eewrap-eepitch () (interactive) - (let* ((fmt \"• (eepitch-%s)\\n• (eepitch-kill)\\n• (eepitch-%s)\") - (li (ee-this-line-extract)) - (newli (format fmt li li))) - (insert newli)) - (ee-next-line 1)) +\(defun ee-adjust-red-stars (str) str) +\(defun ee-adjust-red-stars (str) (replace-regexp-in-string \"\" \"•\" str)) @@ -2468,12 +2499,7 @@ This function is used by `ee-0x0-upload-region'." ;; See: (find-eepitch-bullet-links) ;; \(eepitch-set-glyph0 ?• ?• 'eepitch-star-face) -\(defun eewrap-eepitch () (interactive) - (let* ((fmt \"• (eepitch-%s)\\n• (eepitch-kill)\\n• (eepitch-%s)\") - (li (ee-this-line-extract)) - (newli (format fmt li li))) - (insert newli)) - (ee-next-line 1)) +\(defun ee-adjust-red-stars (str) (replace-regexp-in-string \"\" \"•\" str)) ") ) pos-spec-list))