branch: externals/eev commit 9fe0b582af7d791e0c9ee11f62af28c82f86823c Author: Eduardo Ochs <eduardoo...@gmail.com> Commit: Eduardo Ochs <eduardoo...@gmail.com>
Added a way to use test blocks in languages without multiline comments. --- ChangeLog | 21 +++++++++ README | 4 +- VERSION | 4 +- eepitch.el | 11 +++-- eev-compose-hash.el | 125 +++++++++++++++++++++++++++++++++++++--------------- eev-hlinks.el | 6 ++- eev-intro.el | 110 ++++++++++++++++++++++++++++++++++++++------- eev-tlinks.el | 3 +- eev-videolinks.el | 109 +++++++++++++++++++++++++++------------------ eev.el | 2 +- 10 files changed, 292 insertions(+), 103 deletions(-) diff --git a/ChangeLog b/ChangeLog index 022fecf..2392bd1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,26 @@ +2021-12-16 Eduardo Ochs <eduardoo...@gmail.com> + + * eev-hlinks.el (ee-find-w3m-links): new function. + (ee-eww-bufferp): new function. + (ee-find-eww-links): new function. + (ee-fhl-main-program): added an entry for eww-mode. + +2021-12-15 Eduardo Ochs <eduardoo...@gmail.com> + + * eepitch.el (eepitch-preprocess-line): new function. + (eepitch-this-line): use `eepitch-preprocess-line'. + + * eev-intro.el (find-eepitch-intro): added a new section that + explains `eepitch-preprocess-line'. + +2021-12-11 Eduardo Ochs <eduardoo...@gmail.com> + + * eev-videolinks.el (find-2021orgfornonusersvideo): new function. + 2021-12-08 Eduardo Ochs <eduardoo...@gmail.com> + * eepitch.el (eepitch-sml): new function. + * eev-testblocks.el (ee-insert-test-sml-mode): new function. 2021-12-07 Eduardo Ochs <eduardoo...@gmail.com> diff --git a/README b/README index 188d8d4..4fd9ef1 100644 --- a/README +++ b/README @@ -28,12 +28,14 @@ The home page of eev is: Autoloads ========= -Eev handles autoloads in a very atypical way, explained in these two +Eev handles autoloads in a very atypical way, explained in these three places: http://angg.twu.net/eev-current/eev-load.el.html#autoloads + http://angg.twu.net/eev-intros/find-eev-install-intro.html#7.3 http://angg.twu.net/eev-intros/find-eev-intro.html#4 (find-eev "eev-load.el" "autoloads") + (find-eev-install-intro "7.3. Autoloads") (find-eev-intro "4. The prefix `find-'") If you load eev in one of these three ways diff --git a/VERSION b/VERSION index f47ec38..c3056e0 100644 --- a/VERSION +++ b/VERSION @@ -1,2 +1,2 @@ -Wed Dec 8 16:05:07 GMT 2021 -Wed Dec 8 13:05:07 -03 2021 +Fri Dec 17 01:42:59 GMT 2021 +Thu Dec 16 22:42:59 -03 2021 diff --git a/eepitch.el b/eepitch.el index e09c6f2..de927b4 100644 --- a/eepitch.el +++ b/eepitch.el @@ -19,7 +19,7 @@ ;; ;; Author: Eduardo Ochs <eduardoo...@gmail.com> ;; Maintainer: Eduardo Ochs <eduardoo...@gmail.com> -;; Version: 20211124 +;; Version: 20211215 ;; Keywords: e-scripts ;; ;; Latest version: <http://angg.twu.net/eev-current/eepitch.el> @@ -407,6 +407,7 @@ See: (find-eepitch-intro) and: `eepitch', `eepitch-regexp', `eepitch-comment-regexp'." (interactive) (let ((line (buffer-substring (ee-bol) (ee-eol)))) ; get line contents + (setq line (eepitch-preprocess-line line)) ; and preprocess it (cond ((string-match eepitch-comment-regexp line) ; comment lines (message "Comment: %s" line)) ; are message'd, ((string-match eepitch-regexp line) ; red star lines @@ -416,6 +417,9 @@ and: `eepitch', `eepitch-regexp', `eepitch-comment-regexp'." (eepitch-line line)))) ; are sent (ee-next-line 1)) +;; See: +;; (find-eepitch-intro "3.3. `eepitch-preprocess-line'") +(defun eepitch-preprocess-line (line) line) @@ -956,12 +960,13 @@ The arguments are explained here: ;; Haskell, ML, Erlang, Coq: +(defun eepitch-ghci () (interactive) (eepitch-comint "ghci" "ghci")) (defun eepitch-hugs () (interactive) (eepitch-comint "hugs" "hugs")) (defun eepitch-hugs98 () (interactive) (eepitch-comint "hugs" "hugs -98")) -(defun eepitch-ghci () (interactive) (eepitch-comint "ghci" "ghci")) (defun eepitch-ocaml () (interactive) (eepitch-comint "ocaml" "ocaml")) -(defun eepitch-labltk () (interactive) (eepitch-comint "labltk" "labltk")) (defun eepitch-polyml () (interactive) (eepitch-comint "polyml" "poly")) +(defun eepitch-sml () (interactive) (eepitch-comint "sml" "sml")) +(defun eepitch-labltk () (interactive) (eepitch-comint "labltk" "labltk")) (defun eepitch-erl () (interactive) (eepitch-comint "erl" "erl")) (defun eepitch-coqtop () (interactive) (eepitch-comint "coqtop" "coqtop")) diff --git a/eev-compose-hash.el b/eev-compose-hash.el index 567e5f4..7d5071a 100644 --- a/eev-compose-hash.el +++ b/eev-compose-hash.el @@ -19,7 +19,7 @@ ;; ;; Author: Eduardo Ochs <eduardoo...@gmail.com> ;; Maintainer: Eduardo Ochs <eduardoo...@gmail.com> -;; Version: 20210607 +;; Version: 20211216 ;; Keywords: e-scripts ;; ;; Latest version: <http://angg.twu.net/eev-current/eev-compose-hash.el> @@ -30,17 +30,69 @@ ;; (find-eev-intro) ;; (find-here-links-intro) -;; «.ee-composes-do» (to "ee-composes-do") -;; «.to-strings» (to "to-strings") -;; «.compose» (to "compose") -;; «.faces» (to "faces") -;; «.bigstr-specs» (to "bigstr-specs") - ;;; Commentary: -;; This is a new, experimental feature that is not loaded by default. -;; I use LaTeX a lot, and Emacs has several ways to insert non-ascii -;; characters - like these ones: +;; This is a new, experimental feature of eev that is not loaded by +;; default and that has been tested by very few people. I mentioned +;; it on help-gnu-emacs in this thread: +;; +;; https://lists.gnu.org/archive/html/help-gnu-emacs/2021-12/msg00173.html +;; https://lists.gnu.org/archive/html/help-gnu-emacs/2021-12/threads.html#00173 +;; +;; Its advantages over the official input methods are: +;; +;; 1. People can learn to use this very quickly and learn input +;; methods later - see the msg00173 above. +;; +;; 2. Each unicode character can be associated to a face and a +;; color, like the red stars and green "«»"s used by eev: +;; +;; (find-eev-intro "1. `eev-mode'") +;; (find-eev-intro "1. `eev-mode'" "colored glyphs") +;; http://angg.twu.net/eev-intros/find-eev-intro.html#1 +;; (find-eev-quick-intro "6.4. Red stars") +;; http://angg.twu.net/eev-intros/find-eev-quick-intro.html#6.4 +;; +;; 3. These faces can be turned on and off. I usually keep them on +;; almost all the time, and turn them off only for editing Agda +;; code. +;; +;; 4. New characters are easy to add. +;; +;; 5. Each unicode character can be associated to LaTeX code. I use +;; lualatex most of the time but when I have to prepare a file to +;; be uploaded to Arxiv I have to make it compilable with both +;; lualatex and pdflatex; this file includes hacks that generates +;; "definitions in lualatex" and "definitions in pdflatex" for +;; all the unicode characters that have LaTeX code associated to +;; them. See: +;; +;; (find-LATEX "edrx21chars.tex") +;; (find-LATEX "edrx21chars-d.tex") +;; (find-LATEX "2021composes-hash.tex") +;; http://angg.twu.net/LATEX/edrx21chars.tex.html +;; http://angg.twu.net/LATEX/edrx21chars-d.tex.html +;; http://angg.twu.net/LATEX/2021composes-hash.tex.html +;; +;; If you just want to test this, see: +;; +;; (find-LATEX "2021composes-hash.tex" "test") +;; http://angg.twu.net/LATEX/2021composes-hash.tex.html#test +;; +;; The disadvantages are obvious: this is non-standard, some parts of +;; the code are ugly and need to be rewritten, some names of functions +;; and variables will change, etc, etc. + + + +;; «.ee-composes-do» (to "ee-composes-do") +;; «.to-strings» (to "to-strings") +;; «.compose» (to "compose") +;; «.faces» (to "faces") +;; «.unicode-characters» (to "unicode-characters") +;; «.bigstr-specs» (to "bigstr-specs") + +;; Older docs: ;; ;; Greek letters: (find-einsert '((900 1000))) ;; Some mathematical characters: (find-einsert '((8592 9000))) @@ -319,6 +371,7 @@ instead of inserting." ;;; |_.__/|_|\__, |___/\__|_| |___/ .__/ \___|\___|___/ ;;; |___/ |_| ;; +;; «unicode-characters» (to ".unicode-characters") ;; «bigstr-specs» (to ".bigstr-specs") ;; These are the default bigstr specs. ;; I uses setq instead of defvar because this is a hack!... @@ -539,32 +592,32 @@ instead of inserting." ;; Categories face: ee-composes-face-category - 𝐀 cA \\catA - 𝐁 cB \\catB - 𝐂 cC \\catC - 𝐃 cD \\catD - 𝐄 cE \\catE - 𝐅 cF \\catF - 𝐆 cG \\catG - 𝐇 cH \\catH - 𝐈 cI \\catI - 𝐉 cJ \\catJ - 𝐊 cK \\catK - 𝐋 cL \\catL - 𝐌 cM \\catM - 𝐍 cN \\catN - 𝐎 cO \\catO - 𝐏 cP \\catP - 𝐐 cQ \\catQ - 𝐑 cR \\catR - 𝐒 cS \\catS - 𝐓 cT \\catT - 𝐔 cU \\catU - 𝐕 cV \\catV - 𝐖 cW \\catW - 𝐗 cX \\catX - 𝐘 cY \\catY - 𝐙 cZ \\catZ + 𝐀 cA \\mathbf{A} + 𝐁 cB \\mathbf{B} + 𝐂 cC \\mathbf{C} + 𝐃 cD \\mathbf{D} + 𝐄 cE \\mathbf{E} + 𝐅 cF \\mathbf{F} + 𝐆 cG \\mathbf{G} + 𝐇 cH \\mathbf{H} + 𝐈 cI \\mathbf{I} + 𝐉 cJ \\mathbf{J} + 𝐊 cK \\mathbf{K} + 𝐋 cL \\mathbf{L} + 𝐌 cM \\mathbf{M} + 𝐍 cN \\mathbf{N} + 𝐎 cO \\mathbf{O} + 𝐏 cP \\mathbf{P} + 𝐐 cQ \\mathbf{Q} + 𝐑 cR \\mathbf{R} + 𝐒 cS \\mathbf{S} + 𝐓 cT \\mathbf{T} + 𝐔 cU \\mathbf{U} + 𝐕 cV \\mathbf{V} + 𝐖 cW \\mathbf{W} + 𝐗 cX \\mathbf{X} + 𝐘 cY \\mathbf{Y} + 𝐙 cZ \\mathbf{Z} ") diff --git a/eev-hlinks.el b/eev-hlinks.el index 9d79231..caef768 100644 --- a/eev-hlinks.el +++ b/eev-hlinks.el @@ -19,7 +19,7 @@ ;; ;; Author: Eduardo Ochs <eduardoo...@gmail.com> ;; Maintainer: Eduardo Ochs <eduardoo...@gmail.com> -;; Version: 20211031 +;; Version: 20211216 ;; Keywords: e-scripts ;; ;; Latest version: <http://angg.twu.net/eev-current/eev-hlinks.el> @@ -108,6 +108,7 @@ (:if (ee-info-bufferp) (ee-find-info-links)) (:if (ee-man-bufferp) (ee-find-man-links)) (:if (ee-grep-bufferp) (ee-find-grep-links)) + (:if (ee-eww-bufferp) (ee-find-eww-links)) (:if (ee-w3m-bufferp) (ee-find-w3m-links)) (:if (ee-dired-bufferp) (ee-find-file-links)) (:if (ee-wdired-bufferp) (ee-find-file-links)) @@ -330,6 +331,7 @@ See: (find-here-links-intro)" (defun ee-info-bufferp () (eq major-mode 'Info-mode)) (defun ee-dired-bufferp () (eq major-mode 'dired-mode)) (defun ee-wdired-bufferp () (eq major-mode 'wdired-mode)) +(defun ee-eww-bufferp () (eq major-mode 'eww-mode)) (defun ee-w3m-bufferp () (eq major-mode 'w3m-mode)) (defun ee-custom-bufferp () (eq major-mode 'Custom-mode)) (defun ee-epackages-bufferp () (eq major-mode 'package-menu-mode)) @@ -399,6 +401,8 @@ See: (find-here-links-intro)" (defun ee-find-ecolors-links () `((find-ecolors))) (defun ee-find-epackages-links () `((find-epackages))) (defun ee-find-pdftext-links () (ee-pdflike-page-links)) +(defun ee-find-eww-links () `((find-eww ,(plist-get eww-data :url)))) +(defun ee-find-w3m-links () `((find-w3m ,w3m-current-url))) ;; For debugging. diff --git a/eev-intro.el b/eev-intro.el index 34bc70e..907919e 100644 --- a/eev-intro.el +++ b/eev-intro.el @@ -19,7 +19,7 @@ ;; ;; Author: Eduardo Ochs <eduardoo...@gmail.com> ;; Maintainer: Eduardo Ochs <eduardoo...@gmail.com> -;; Version: 20211207 +;; Version: 20211215 ;; Keywords: e-scripts ;; ;; Latest version: <http://angg.twu.net/eev-current/eev-intro.el> @@ -2581,7 +2581,7 @@ Here is an excerpt of one of my e-mails to Stefan: different from, say, the one that a Python user feels today because he has huge libraries at his fingertips.\" - (From: http://angg.twu.net/miniforth-article.html) + (From: <http://angg.twu.net/miniforth-article.html>) @@ -4236,10 +4236,24 @@ one: (insert \"\\n\" \"2.3. Invisible text\") (insert \"\\n\" \"2.3. Invisible text\\n-------------------\") -That's becase when you type `C-e' on the title of a section of an -\"intro\" the `C-e' takes you to the right of the line _after_ -the invisible text. If you type `<left> <right>' there this moves -the point to a position before the invisible text. +That's because the title line contains some invisible text, and +the `M-hy' clears all the properties of the text that it inserts, +including the invisibility property. Invisible text is explained +here: + + (find-elnode \"Invisible Text\") + +When you type `C-e' on the title of a section of an \"intro\" the +`C-e' takes you to the right of the line _after_ the invisible +text. If you type `<left> <right>' there this moves the point to +a position before the invisible text. So, if you want to copy the +title of a section of an intro to use in a refinement, use + + C-a C-SPC C-e <left> <right> M-w + +instead of: + + C-a C-SPC C-e M-w Exercise: create a pair of elisp hyperlinks, the first one pointing to this intro and the second pointing to this section, @@ -6130,6 +6144,15 @@ for examples: (find-eev \"eev-testblocks.el\" \"examples\") +My presentation at the EmacsConf2021 was about test blocks. +Links: + + Pages: http://angg.twu.net/emacsconf2021.html + https://emacsconf.org/2021/talks/test/ + Slides: http://angg.twu.net/LATEX/2021emacsconf.pdf + Video: https://emacsconf.org/2021/talks/test/ + (find-eev2021video \"0:00\") + @@ -6199,37 +6222,94 @@ are hyperlinks, and the ones in \"\"-lines are not. +3.3. `eepitch-preprocess-line' +------------------------------ +The key <f8> is bound to `eepitch-this-line'. You can see the +source code of that function by following this hyperlink: + (find-efunction 'eepitch-this-line) +The source of `eepitch-this-line' contains this mysterious setq: + (let ((line (buffer-substring (ee-bol) (ee-eol)))) + (setq line (eepitch-preprocess-line line)) + ... + ) +By default `eepitch-preprocess-line' is a no-op that simply +returns this argument unchanged. Its definition is just this: + ;; See: + ;; (find-eepitch-intro \"3.3. `eepitch-preprocess-line'\") + (defun eepitch-preprocess-line (line) line) +Remember that the behavior of <f8> is usually described in +human-friendly terms as: + \"lines starting with two red stars are treated as comments, + lines starting with a red star are executed as lisp, + and other lines are sent to the target buffer.\" +The function `eepitch-preprocess-line' is a stub that lets us +change in arbitrary ways what is the \"line\" that is processed +in the sense above. Let's see a simple example. Try: + (replace-regexp-in-string \"^abc\" \"\" \"foo\") + (replace-regexp-in-string \"^abc\" \"\" \"abcfoo\") + (replace-regexp-in-string \"^abc\" \"\" \"abcfooabc\") + (replace-regexp-in-string \"^abc\" \"\" \"fooabc\") +A `(replace-regexp-in-string \"^abc\" \"\" ...)' deletes an +initial \"abc\" from a string if that string starts with \"abc\", +but returns other strings unchanged. So, if we redefine +`eepitch-preprocess-line' in this way, + (setq eepitch-preprocess-regexp \"^#: \") + (defun eepitch-preprocess-line (line) + (replace-regexp-in-string eepitch-preprocess-regexp \"\" line)) +then the + (let ((line (buffer-substring (ee-bol) (ee-eol)))) + (setq line (eepitch-preprocess-line line)) + ... + ) +in the source of `eepitch-this-line' will first set `line' to the +string in the current line between the beginning-of-line and the +end-of-line, and then if `line' starts with \"#: \" that prefix +is deleted from it; and it this \"line after removing the +prefix\" that is processed according the the rules of two red +stars/one red star/no red stars. +Now let's see a practical example. Gnuplot does not support +multiline comments, and using exactly the hack above I can make +<f8> ignore the prefix \"#: \". Then a block like this in a +Gnuplot file +#: (eepitch-shell) +#: (eepitch-kill) +#: (eepitch-shell) +#: gnuplot +#: load \"foo.plt\" +#: plot sin(x) +works as a test block. Running + (setq eepitch-preprocess-regexp \"\") +or + (defun eepitch-preprocess-line (line) line) +disables the hack. - - - - - - - - - +Some languages have syntaxes for comments that are much more +eepitch-unfriendly and test-blocks-unfriendly than this. An +extreme example is SmallTalk, in which comments are delimited by +double quotes and can't contain double quotes. It should be +possible to use `eepitch-preprocess-line' to add support for test +blocks in SmallTalk source files - but I haven't tried that yet. diff --git a/eev-tlinks.el b/eev-tlinks.el index c8facb6..9999c51 100644 --- a/eev-tlinks.el +++ b/eev-tlinks.el @@ -940,6 +940,7 @@ emacs -fg bisque -bg black eev-readme.el ;; Skel: (find-find-links-links-new "youtubedl" "dir title hash ext- stem" "") ;; Test: (find-youtubedl-links nil nil "K6LmZ0A1s9U") ;; See: (find-audiovideo-intro "6. Youtube-dl") +;; (find-audiovideo-intro "6.1. Downloading a local copy") ;; (find-eevtemplvideo "19:23" "5. `find-youtubedl-links'") ;; (find-eevtemplvideo "19:43" "if we twist the notion of user enough") ;; (find-eevtemplvideo "20:02" "user-friendly to me") @@ -951,7 +952,7 @@ emacs -fg bisque -bg black eev-readme.el ;; (find-eevtemplvideo "23:25" "they regenerate this buffer in slightly different ways") ;; (find-eevtemplvideo "24:03" "a video with this hash. If I visit the directory") ;; (find-eevtemplvideo "24:32" "my magic functions have to") -;; (find-eevtemplvideo "24:50" "if I run this sexp here with nil") +;; (find-eevtemplvideo "24:50" "if I run this sexp here with nil in the title") ;; (find-eevtemplvideo "25:00" "it tries to guess the title") ;; (find-eevtemplvideo "25:28" "and if I change this {stem} here I get short links") ;; (find-eevtemplvideo "26:14" "has very long lines, but if I type super-w") diff --git a/eev-videolinks.el b/eev-videolinks.el index ff51aac..8ce4435 100644 --- a/eev-videolinks.el +++ b/eev-videolinks.el @@ -19,7 +19,7 @@ ;; ;; Author: Eduardo Ochs <eduardoo...@gmail.com> ;; Maintainer: Eduardo Ochs <eduardoo...@gmail.com> -;; Version: 20211203 +;; Version: 20211211 ;; Keywords: e-scripts ;; ;; Latest version: <http://angg.twu.net/eev-current/eev-videolinks.el> @@ -32,48 +32,50 @@ ;; (load "eev-videolinks.el") -;; «.find-eev-video» (to "find-eev-video") -;; «.find-eevlocal-links» (to "find-eevlocal-links") -;; «.select» (to "select") -;; «.ee-use-youtube-videos» (to "ee-use-youtube-videos") -;; «.ee-use-local-videos» (to "ee-use-local-videos") -;; «.first-class-videos» (to "first-class-videos") -;; «.video-tutorials» (to "video-tutorials") -;; «.find-eev2019video» (to "find-eev2019video") -;; «.find-eev2020video» (to "find-eev2020video") -;; «.find-eev2021video» (to "find-eev2021video") -;; «.find-eevnavvideo» (to "find-eevnavvideo") -;; «.find-eevtemplvideo» (to "find-eevtemplvideo") -;; «.find-eevfherelvideo» (to "find-eevfherelvideo") -;; «.find-eevtestblsvideo» (to "find-eevtestblsvideo") -;; «.find-eevvlinksvideo» (to "find-eevvlinksvideo") -;; «.find-2021workshop1video» (to "find-2021workshop1video") -;; «.find-2021workshop2video» (to "find-2021workshop2video") -;; «.find-2021workshop3video» (to "find-2021workshop3video") -;; «.find-2021workshop4video» (to "find-2021workshop4video") -;; «.find-2021workshop5video» (to "find-2021workshop5video") -;; «.find-2021workshop6video» (to "find-2021workshop6video") -;; «.more-info» (to "more-info") -;; «.ee-1stclassvideos-info» (to "ee-1stclassvideos-info") -;; «.eev2019» (to "eev2019") -;; «.eev2020» (to "eev2020") -;; «.eev2021» (to "eev2021") -;; «.eevnav» (to "eevnav") -;; «.eevtempl» (to "eevtempl") -;; «.eevfherel» (to "eevfherel") -;; «.eevtestbls» (to "eevtestbls") -;; «.eevvlinks» (to "eevvlinks") -;; «.oficina2021a» (to "oficina2021a") -;; «.oficina2021b» (to "oficina2021b") -;; «.2021workshop1» (to "2021workshop1") -;; «.2021workshop2» (to "2021workshop2") -;; «.2021workshop3» (to "2021workshop3") -;; «.2021workshop4» (to "2021workshop4") -;; «.2021workshop5» (to "2021workshop5") -;; «.2021workshop6» (to "2021workshop6") -;; «.ee-1stclassvideos-field» (to "ee-1stclassvideos-field") -;; «.second-class-videos» (to "second-class-videos") -;; «.code-eevvideo» (to "code-eevvideo") +;; «.find-eev-video» (to "find-eev-video") +;; «.find-eevlocal-links» (to "find-eevlocal-links") +;; «.select» (to "select") +;; «.ee-use-youtube-videos» (to "ee-use-youtube-videos") +;; «.ee-use-local-videos» (to "ee-use-local-videos") +;; «.first-class-videos» (to "first-class-videos") +;; «.video-tutorials» (to "video-tutorials") +;; «.find-eev2019video» (to "find-eev2019video") +;; «.find-eev2020video» (to "find-eev2020video") +;; «.find-eev2021video» (to "find-eev2021video") +;; «.find-eevnavvideo» (to "find-eevnavvideo") +;; «.find-eevtemplvideo» (to "find-eevtemplvideo") +;; «.find-eevfherelvideo» (to "find-eevfherelvideo") +;; «.find-eevtestblsvideo» (to "find-eevtestblsvideo") +;; «.find-eevvlinksvideo» (to "find-eevvlinksvideo") +;; «.find-2021workshop1video» (to "find-2021workshop1video") +;; «.find-2021workshop2video» (to "find-2021workshop2video") +;; «.find-2021workshop3video» (to "find-2021workshop3video") +;; «.find-2021workshop4video» (to "find-2021workshop4video") +;; «.find-2021workshop5video» (to "find-2021workshop5video") +;; «.find-2021workshop6video» (to "find-2021workshop6video") +;; «.find-2021orgfornonusersvideo» (to "find-2021orgfornonusersvideo") +;; «.more-info» (to "more-info") +;; «.ee-1stclassvideos-info» (to "ee-1stclassvideos-info") +;; «.eev2019» (to "eev2019") +;; «.eev2020» (to "eev2020") +;; «.eev2021» (to "eev2021") +;; «.eevnav» (to "eevnav") +;; «.eevtempl» (to "eevtempl") +;; «.eevfherel» (to "eevfherel") +;; «.eevtestbls» (to "eevtestbls") +;; «.eevvlinks» (to "eevvlinks") +;; «.oficina2021a» (to "oficina2021a") +;; «.oficina2021b» (to "oficina2021b") +;; «.2021workshop1» (to "2021workshop1") +;; «.2021workshop2» (to "2021workshop2") +;; «.2021workshop3» (to "2021workshop3") +;; «.2021workshop4» (to "2021workshop4") +;; «.2021workshop5» (to "2021workshop5") +;; «.2021workshop6» (to "2021workshop6") +;; «.2021orgfornonusers» (to "2021orgfornonusers") +;; «.ee-1stclassvideos-field» (to "ee-1stclassvideos-field") +;; «.second-class-videos» (to "second-class-videos") +;; «.code-eevvideo» (to "code-eevvideo") ;;; Commentary: @@ -507,6 +509,20 @@ and: (find-video-links-intro \"7. \" \"find-eev-video\") (interactive) (find-eev-video "2021-workshop-6" "-gi15-liGaU" time)) +;; «find-2021orgfornonusersvideo» (to ".find-2021orgfornonusersvideo") +;; Skel: (find-1stclassvideo-links "2021orgfornonusers") +;; Tests: (find-2021orgfornonusersvideo "0:00") +;; (find-efunctiondescr 'find-2021orgfornonusersvideo) +(defun find-2021orgfornonusersvideo (&optional time &rest rest) + "Play one of the video tutorials of eev starting at TIME. +See: (find-eev \"eev-videolinks.el\" \"2021orgfornonusers\") + http://angg.twu.net/eev-current/eev-videolinks.el.html#eev2020 + for more info on this particular video, +and: (find-video-links-intro \"7. \" \"find-eev-video\") + or: http://angg.twu.net/eev-intros/find-video-links-intro.html#7 + for more info on these video tutorials." + (interactive) + (find-eev-video "2021-org-for-non-users" "Eh5Wz9Vh_XM" time)) @@ -651,6 +667,13 @@ and: (find-video-links-intro \"7. \" \"find-eev-video\") :yt "http://www.youtube.com/watch?v=-gi15-liGaU" :page "http://angg.twu.net/emacsconf2021.html") ;; + ;; «2021orgfornonusers» (to ".2021orgfornonusers") + ("2021orgfornonusers" + :title "Org for Non-Users (2021)" + :mp4 "http://angg.twu.net/eev-videos/2021-org-for-non-users.mp4" + :yt "http://www.youtube.com/watch?v=Eh5Wz9Vh_XM" + :page "http://angg.twu.net/2021-org-for-non-users.html") + ;; )) diff --git a/eev.el b/eev.el index 359cafa..4800d29 100644 --- a/eev.el +++ b/eev.el @@ -6,7 +6,7 @@ ;; Package-Requires: ((emacs "24.4")) ;; Keywords: lisp e-scripts ;; URL: http://angg.twu.net/#eev -;; Version: 20211205 +;; Version: 20211216 ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by