branch: externals/eev commit e1b54fd4c354970f568f9f00c1d7482c2ee1ea1b Author: Eduardo Ochs <eduardoo...@gmail.com> Commit: Eduardo Ochs <eduardoo...@gmail.com>
Fixed a bug in `ee-insert' and `find-einsert'. --- ChangeLog | 10 ++++++++++ VERSION | 4 ++-- eev-blinks.el | 31 +++++++++++++++++++++++++------ eev-intro.el | 25 ++++++++++++++++++++++--- eev-tlinks.el | 31 ++++++++++++++++++++++++++++++- 5 files changed, 89 insertions(+), 12 deletions(-) diff --git a/ChangeLog b/ChangeLog index 25fda08..c5c698c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2021-05-16 Eduardo Ochs <eduardoo...@gmail.com> + + * eev-blinks.el (ee-insert): use `characterp' instead of + `char-valid-p'. + +2021-05-13 Eduardo Ochs <eduardoo...@gmail.com> + + * eev-blinks.el (ee-goto-position, ee-goto-rest): added a comment + about curved single quotes. + 2021-05-12 Eduardo Ochs <eduardoo...@gmail.com> * eev-audiovideo.el (find-eevvlinksvideo): new function. diff --git a/VERSION b/VERSION index 5c4443e..b05a4ac 100644 --- a/VERSION +++ b/VERSION @@ -1,2 +1,2 @@ -Wed May 12 15:58:21 GMT 2021 -Wed May 12 12:58:21 -03 2021 +Sun May 16 07:50:08 GMT 2021 +Sun May 16 04:50:08 -03 2021 diff --git a/eev-blinks.el b/eev-blinks.el index 6340edc..c1d870e 100644 --- a/eev-blinks.el +++ b/eev-blinks.el @@ -2,7 +2,7 @@ ;; The basic hyperlinks are the ones that do not depend on templates, ;; and that are not created by `code-c-d' and friends. -;; Copyright (C) 1999-2020 Free Software Foundation, Inc. +;; Copyright (C) 1999-2021 Free Software Foundation, Inc. ;; ;; This file is part of GNU eev. ;; @@ -21,7 +21,7 @@ ;; ;; Author: Eduardo Ochs <eduardoo...@gmail.com> ;; Maintainer: Eduardo Ochs <eduardoo...@gmail.com> -;; Version: 20201229 +;; Version: 20210516 ;; Keywords: e-scripts ;; ;; Latest version: <http://angg.twu.net/eev-current/eev-blinks.el> @@ -44,6 +44,7 @@ ;; «.eek» (to "eek") ;; «.ee-goto-position» (to "ee-goto-position") ;; «.ee-goto-rest» (to "ee-goto-rest") +;; «.curved-single-quotes» (to "curved-single-quotes") ;; «.find-fline» (to "find-fline") ;; «.find-wottb» (to "find-wottb") ;; «.find-efaces» (to "find-efaces") @@ -120,8 +121,8 @@ An example: (eek \"C-x 4 C-h\")" ;;; ;; «ee-goto-position» (to ".ee-goto-position") ;; Support for pos-spec-lists in hyperlinks. -;; See: (find-eval-intro "6. Refining hyperlinks") -;; (find-refining-intro "1. Pos-spec-lists") +;; See: (find-refining-intro "1. Pos-spec-lists") +;; (find-refining-intro "2. Refining hyperlinks") (defun ee-goto-position (&optional pos-spec &rest rest) "Process the \"absolute pos-spec-lists\" arguments in hyperlink functions. @@ -156,7 +157,7 @@ they skip the first \"absolute\" pos-spec." (if rest (ee-goto-rest rest)))) ;; «ee-goto-rest» (to ".ee-goto-rest") -;; See: (find-eval-intro "7. Pos-spec-lists") +;; See: (find-refining-intro "1. Pos-spec-lists") ;; (defun ee-goto-rest (list) "Process \"relative pos-spec-lists\". @@ -183,6 +184,24 @@ the standard definition." (t (error "Not a valid pos-spec item: %S" (car list))))) +;; «curved-single-quotes» (to ".curved-single-quotes") +;; In some situations Emacs converts "`foo'"s to "‘foo’"s, or +;; vice-versa, in info pages and docstrings; see: +;; +;; (find-elnode "Keys in Documentation" "User Option: text-quoting-style") +;; (find-elnode "Text Quoting Style" "User Option: text-quoting-style") +;; (find-elnode "Text Quoting Style" "curved single quotes") +;; (find-elnode "Text Quoting Style" "grave accent and apostrophe") +;; (find-efunction 'eejump "find-eejumps") +;; (find-efunctiondescr 'eejump "find-eejumps") +;; +;; Eev doesn't have a way to convert strings in pos-spec-lists between +;; these styles yet; at this moment `ee-goto-position' and +;; `ee-goto-rest' do the simplest thing possible - they search for +;; their string arguments literally with `search-forward'. + + + ;;; __ _ _ __ _ _ @@ -995,7 +1014,7 @@ Example: (ee-insert '(?a ?z) 10 \"Foo!\")" (while rest (let ((o (car rest))) (cond ((stringp o) (insert o)) - ((numberp o) (if (char-valid-p o) (insert o))) + ((numberp o) (if (characterp o) (insert o))) ((consp o) (mapc 'ee-insert (apply 'number-sequence o))) (t (error "Not string/int/pair: %S" o)))) (setq rest (cdr rest)))) diff --git a/eev-intro.el b/eev-intro.el index 0e364eb..3f0db7c 100644 --- a/eev-intro.el +++ b/eev-intro.el @@ -2810,6 +2810,11 @@ what you do, in a format that is reasonably readable and that is easy to \"play back\" later, step by step and in any order. We call these executable logs, or executable notes, \"e-scripts\". +[Video links:] + (find-eev2019video \"5:41\" \"e-scripts\") + (find-eev2019video \"12:54\" \"A demo\") + + @@ -2921,6 +2926,12 @@ back\" from that buffer with `M-k' of `M-K': (find-eval-intro \"5. Going back\") +[Video links:] + (find-eev2020video \"2:25\" \"variants that were better behaved\") + (find-eev2020video \"2:36\" \"in the same window as before\") + + + 3. `find-here-links' @@ -2976,6 +2987,7 @@ and puts the cursor at the elinks buffer. + 5. `find-here-links-1' ====================== After creating the three windows described above we will usually @@ -3007,6 +3019,7 @@ Note that `M-h M-1' undoes what `M-h M-3' did. In a figure: [Video links:] + (find-eevfherelvideo \"4:40\" \"2. The beginner's way\") (find-eevfherelvideo \"4:40\" \"2.1. The 3-window setting - and going back from it\") (find-eevfherelvideo \"6:47\" \"`M-h M-3': three windows; `M-h M-1' goes back\") (find-eevfherelvideo \"7:29\" \"the original configuration can be anything\") @@ -6633,7 +6646,7 @@ the page whose page number is 3 is the page whose page label is (find-livesofanimalspage 3) are equivalent, but the first one is more human-friendly: the 113 -is a page label, and the -110 is adjustment (we call it the +is a page label, and the -110 is an adjustment (we call it the \"offset\") to convert the 113 that humans prefer to see into the 3 that xpdf needs to receive. @@ -9796,10 +9809,16 @@ and then: Here is the demo. Run it with <F8>s: - (find-3EE '(eepitch-shell) '(eepitch-shell2)) + (find-3ee '(eepitch-shell) '(eepitch-shell2)) + (eepitch-shell) +# Optional clean-up: +ls -lAF $EEVTMPDIR/eeg.A.* +rm -fv $EEVTMPDIR/eeg.A.* + (eepitch-shell2) -$EEVDIR/eegchannel A python +# Start a python interpreter \"listening on channel A\": +$EEVDIR/eegchannel A python3 (eepitch-shell) # Check that eeg.A.pid exists and is very recent: diff --git a/eev-tlinks.el b/eev-tlinks.el index 2e00497..e55b7e8 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: 20210509 +;; Version: 20210516 ;; Keywords: e-scripts ;; ;; Latest version: <http://angg.twu.net/eev-current/eev-tlinks.el> @@ -298,6 +298,16 @@ This is an internal function used by `find-{stem}-links'.\" ;; Many of the templated functions of eev were written using this. ;; They all have a line saying ";; Skel:" that generates their "skeleton". ;; See: (find-eevgrep "grep --color -nH --null -e Skel: *.el") +;; (find-eevtemplvideo "0:18" "1. `find-find-links-links-new'") +;; (find-eevtemplvideo "1:15" "if I execute (find-emacs-tangents-links)") +;; (find-eevtemplvideo "1:29" "generated again with these values") +;; (find-eevtemplvideo "1:50" "the implementation is very simple") +;; (find-eevtemplvideo "2:00" "in five minutes because") +;; (find-eevtemplvideo "2:15" ";; Skel:") +;; (find-eevtemplvideo "2:32" "optional arguments, then this field") +;; (find-eevtemplvideo "2:40" "temporary variables set by a let*") +;; (find-eevtemplvideo "3:25" "to write `find-emacs-tangents-links'") +;; (find-eevtemplvideo "3:40" "backslashes in the right places") ;; (defun find-find-links-links-new (&optional stem args vars &rest pos-spec-list) "Visit a temporary buffer containing a skeleton of a find-*-links function." @@ -912,6 +922,25 @@ 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-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") +;; (find-eevtemplvideo "20:05" "The documentation is in this tutorial:") +;; (find-eevtemplvideo "21:36" "its code is here") +;; (find-eevtemplvideo "21:55" "Let me show a demo") +;; (find-eevtemplvideo "22:15" "I never type these rm -Rv/mkdir/cd by hand") +;; (find-eevtemplvideo "22:48" "let me show how to download ... the hash is here") +;; (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 "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") +;; (find-eevtemplvideo "26:28" "I get a buffer that shows the code for") +;; (find-eevtemplvideo "26:50" "if I execute this I play the video") +;; (find-eevtemplvideo "27:15" "a copy of that points to the right position") +;; (find-eevtemplvideo "27:53" "summary: this is how I download videos from youtube") ;; (defun find-youtubedl-links (&optional dir title hash ext- stem &rest pos-spec-list) "Visit a temporary buffer containing hyperlinks for youtube-dl."