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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/eev f5f7d8c: Rewrote several sections of `(find-saving-


From: ELPA Syncer
Subject: [elpa] externals/eev f5f7d8c: Rewrote several sections of `(find-saving-links-intro)'.
Date: Mon, 6 Dec 2021 23:57:17 -0500 (EST)

branch: externals/eev
commit f5f7d8c9466bef89559fa35f3abbfe17368877a2
Author: Eduardo Ochs <eduardoochs@gmail.com>
Commit: Eduardo Ochs <eduardoochs@gmail.com>

    Rewrote several sections of `(find-saving-links-intro)'.
---
 ChangeLog    |   5 +
 README.org   |   5 +-
 VERSION      |   4 +-
 eev-intro.el | 408 +++++++++++++++++++++++++++++++++++++++++------------------
 4 files changed, 293 insertions(+), 129 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index b120d6f..056acc5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2021-12-07  Eduardo Ochs  <eduardoochs@gmail.com>
+
+       * eev-intro.el (find-saving-links-intro): rewrote several
+       sections.
+
 2021-12-05  Eduardo Ochs  <eduardoochs@gmail.com>
 
        * README: rewritten to explain an issue with autoloads.
diff --git a/README.org b/README.org
index dfb37fe..2810a98 100644
--- a/README.org
+++ b/README.org
@@ -52,7 +52,7 @@ The best introductions to eev are:
 - its homepage: [[http://angg.twu.net/#eev]] .
 
 The "[Video links:]" blocks in the sandboxed tutorials are explained
-[[http://angg.twu.net/eev-intros/find-videos-intro.html#2][here]]; that link 
also has a list of the videos. See also 
[[https://lists.gnu.org/archive/html/emacs-devel/2021-05/msg00527.html][this
+[[http://angg.twu.net/eev-intros/find-video-links-intro.html#2][here]]; that 
link also has a list of the videos. See also 
[[https://lists.gnu.org/archive/html/emacs-devel/2021-05/msg00527.html][this
 announcement]] on emacs-devel.
 
 # (find-eev-quick-intro "3. Elisp hyperlinks")
@@ -113,4 +113,7 @@ friendly as possible both to:
 # http://angg.twu.net/LATEX/2019emacsconf.pdf#page=8
 # http://angg.twu.net/LATEX/2019emacsconf.pdf#page=13
 
+# Local Variables:
+# modes: (org-mode fundamental-mode)
+# End:
 
diff --git a/VERSION b/VERSION
index 844b9e6..c04d7b1 100644
--- a/VERSION
+++ b/VERSION
@@ -1,2 +1,2 @@
-Mon Dec  6 05:04:45 GMT 2021
-Mon Dec  6 02:04:45 -03 2021
+Tue Dec  7 04:13:35 GMT 2021
+Tue Dec  7 01:13:35 -03 2021
diff --git a/eev-intro.el b/eev-intro.el
index 55fa08a..e35921f 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:    20211206
+;; Version:    20211207
 ;; Keywords:   e-scripts
 ;;
 ;; Latest version: <http://angg.twu.net/eev-current/eev-intro.el>
@@ -3820,134 +3820,242 @@ doesn't say where.
 
 2. The base cases
 =================
-Watch this video first:
+All the methods to create and save elisp hyperlinks that we will
+see can be regarded as variants of the base cases 1, 2, and 3.
+The base cases 1, 2, and 3 all follow this pattern:
 
-  [Video links:]
-    (find-2021workshop1video \"0:22\" \"The base case 1 is described here\")
-    (find-2021workshop1video \"0:52\"   \"The instructions are here\")
-    (find-2021workshop1video \"1:24\" \"The base case 2\")
-    (find-2021workshop1video \"1:39\"   \"What I need to do is slightly\")
-    (find-2021workshop1video \"1:55\"   \"This is not yet the link that I 
want\")
-
-
-2.1. The base case 1
---------------------
-We are going to start by something that we will refer to as the
-\"base case 1\", and we will treat the other cases as variations
-of the base case 1. Here it is:
-
-  You realize that this buffer is interesting and you want to
-  save a link to it to your notes. Let's refer to this buffer as
-  the \"target buffer\", as the link will point to it. You run
-  this,
-
-    (eek \"M-h M-3  ;; find-here-links-3\")
+   _______________        _____________________        ________________
+  |               |      |          |          |      |                |
+  |               |      |         ::> elinks  |      |                |
+  |               |      |          |  buffer  |      |                |
+  |    target     | M-h3 |  target  |____::____| M-h1 |     target     |
+  |    buffer     | ---> |  buffer  |    \\/    | ---> |     buffer     |
+  |               |      |          |  notes   |      |                |
+  |               |      |          |  buffer  |      |                |
+  |_______________|      |__________|__________|      |________________|
 
-  and you get a 3-window configuration like this one:
+They only use two key sequences that change the window
+configuration -
 
-   _______________           _____________________           ________________
-  |               |         |          |          |         |                |
-  |               |         |          |  elinks  |         |                |
-  |               |         |          |  buffer  |         |                |
-  |    target     | M-h M-3 |  target  |__________| M-h M-1 |     target     |
-  |    buffer     | ------> |  buffer  |          | ------> |     buffer     |
-  |               |         |          |  notes   |         |                |
-  |               |         |          |  buffer  |         |                |
-  |_______________|         |__________|__________|         |________________|
+  M-h3  -   find here links beginner
+  M-h1  -   go back (to the previous window configuration)
 
-  you select the line of the \"elinks buffer\" that contains an
-  elisp hyperlink that points to the \"target buffer\", you copy
-  that line your \"notes buffer\" - that contains the file ~/TODO
-  - and you run this
+and they differ in the steps for editing the link in the elinks
+buffer before copying it to the notes buffer.
 
-    (eek \"M-h M-1  ;; find-here-links-1\")
+  In the base case 1:    we do no editing, we just copy
+                         one link to the notes buffer,
 
-  to go back to the original window configuration in which only
-  the target buffer was being shown.
+  In the base case 2:    we duplicate and refine, and we copy
+                         two links to the notes buffer,
 
-What you did can be summarized as:
+  In the base case 3:    we duplicate, refine, and shrink, and we copy
+                         two links to the notes buffer.
 
-  create  (the elisp hyperlinks buffer)
-  select  (the correct elisp hyperlink)
-  copy    (it to the notes buffer)
-  go back (to the previous window configuration)
+The base cases 2 and 3 require us to copy to the kill ring a
+string that will be used for the refining. The operation \"copy a
+string from the target buffer to the kill ring\" consists of:
 
-or:
+  In the base case 1:    nothing
 
-  create / select / copy / go back
+  In the base case 2:    copy (with M-w)
 
-[Video links:]
-  (find-2021workshop1video \"0:22\" \"The base case 1 is described here\")
-  (find-2021workshop1video \"0:52\" \"The instructions are here\")
+  In the base case 3:    copy last tag (with M-1hw)
 
+Let's see each one of the three base cases in detail and do one
+exercise for each one.
 
 
 
 
-2.2. The base case 2
+2.1. The base case 1
 --------------------
-The \"base case 2\" is similar to the base case 1, but in the
-base case 2 we will create a link with a pos-spec-list containing
-the name of this section. Pos-spec-lists are explained here:
-
-  (find-eev2020video \"2:53\" \"pos-spec-lists\")
-
-The sequence of steps in the base case 2 will include two new
-steps:
-
-  save    (the name of this section to the kill ring)        <- new!
-  create  (the elisp hyperlinks buffer)
-  select  (the correct elisp hyperlink)
-  refine  (add the name of the section to the pos-spec-list) <- new!
-  copy    (it to the notes buffer)
-  go back (to the previous window configuration)
-
-so:
+The base case 1 is just this:
+
+   _____________        _____________________        _____________
+  |             |      |          |          |      |             |
+  |     [T]     |      |    [T]  ::>  [EH]   |      |     [T]     |
+  |             |      |          |   M-hw   |      |             |
+  |             | M-h3 |          |____::____| M-h1 |             |
+  |             | ---> |          |    \\/    | ---> |             |
+  |             |      |          |    [N]   |      |             |
+  |             |      |          |    C-y   |      |             |
+  |_____________|      |__________|__________|      |_____________|
+
+In this case the arrow \"::>\" means just \"switch to the buffer
+with elisp hyperlinks\". In the [EH] buffer we copy the line with
+the hyperlink that points to the target to the kill ring with
+`M-hw' (\"copy this line\"), and then we switch to the notes
+buffer and we paste the hyperlink with `C-y' (\"yank\").
+
+If we treat the steps `M-h3', `M-hw' (\"copy this line\"),
+`C-y' (\"yank\"), and `M-h1' as \"obvious\" we can omit them from
+the diagram, and we get this:
+
+   _____________        _____________________        _____________
+  |             |      |          |          |      |             |
+  |     [T]     |      |    [T]  ::>  [EH]   |      |     [T]     |
+  |             |      |          |          |      |             |
+  |             |      |          |____::____|      |             |
+  |             | ---> |          |    \\/    | ---> |             |
+  |             |      |          |    [N]   |      |             |
+  |             |      |          |          |      |             |
+  |_____________|      |__________|__________|      |_____________|
+
+One of my reasons for preferring this diagram with less
+information is that now the step that means \"copy the hyperlink
+to the kill ring\" does not say how to do that - and we can use
+either `M-hw' or a more standard way to copy a line to the kill
+ring, like `C-SPC <down> M-w'.
+
+Exercise 2.1a:
+
+  Treat this intro as the target buffer. Use the method above to
+  generate a link to this target and to copy it to your notes.
+
+Let me introduce another abbreviation that I will use. In the
+exercises 2.1b, 2.2b, and 2.2c below we will use a target buffer
+that is different from the buffer with the exercises, and instead
+of representing what happens in the exercise with five window
+configurations, as
+
+   ________      _______      ____________      _______      ________
+  |        |    |       |    |     |      |    |       |    |        |
+  |  [EX]  | -> |  [T]  | -> | [T]::>[EH] | -> |  [T]  | -> |  [EX]  |
+  |        |    |       |    |     |__::__|    |       |    |        |
+  |        |    |       |    |     |  \\/  |    |       |    |        |
+  |        |    |       |    |     |  [N] |    |       |    |        |
+  |________|    |_______|    |_____|______|    |_______|    |________|
+
+I will omit the second and the fourth window configurations and
+draw something equivalent to this:
+
+   ________                   ____________                   ________
+  |        |                 |     |      |                 |        |
+  |  [EX]  | --------------> | [T]::>[EH] | --------------> |  [EX]  |
+  |        |                 |     |__::__|                 |        |
+  |        |                 |     |  \\/  |                 |        |
+  |        |                 |     |  [N] |                 |        |
+  |________|                 |_____|______|                 |________|
+
+or, even worse, I will simply expect that people will be able to
+take the diagram of the previous exercise, i.e., of the
+exercises 2.1a, 2.2a, and 2.3a, that are like this,
+
+                 _______      ____________      _______                
+                |       |    |     |      |    |       |               
+                |  [T]  | -> | [T]::>[EH] | -> |  [T]  |              
+                |       |    |     |__::__|    |       |              
+                |       |    |     |  \\/  |    |       |              
+                |       |    |     |  [N] |    |       |                
+                |_______|    |_____|______|    |_______|              
+
+and convert it mentally to a diagram with \"[EX]\" in the
+extremities. So:
+
+Exercise 2.1b:
+
+  Follow this link:
+
+    (find-enode \"Setting Mark\")
+
+  it will open an info page. Treat that info page as the
+  \"target\" and use the method above to create a link to that
+  target and to copy it to your notes. After that come back to
+  this intro using `M-K*' - i.e., \"bury buffer\" as many times
+  as needed - or using any other method. Note that this exercise
+  starts and ends with a window configuraton in which only the
+  buffer \"[EX]\" is shown, so it uses implicitly the
+  abbreviation that I've just described.
 
-  save / create / select / refine / copy / go back
-
-instead of:
-
-         create / select /          copy / go back
-
-The diagram will be this one,
+  [Video links:]
+    (find-2021workshop1video \"0:22\" \"The base case 1 is described here\")
+    (find-2021workshop1video \"0:52\"   \"The instructions are here\")
 
-   _______________           _____________________           ________________
-  |               |         |          |          |         |                |
-  |               |         |  target  |  elinks  |         |                |
-  |               |         |  buffer  |  buffer  |         |                |
-  |               |         |    M-w   | M-hy ::  |         |                |
-  |    target     | M-h M-3 |          |______::__| M-h M-1 |     target     |
-  |    buffer     | ------> |          |      \\/  | ------> |     buffer     |
-  |               |         |          |          |         |     buffer     |
-  |               |         |          |  notes   |         |                |
-  |               |         |          |  buffer  |         |                |
-  |_______________|         |__________|__________|         |________________|
 
-The dotted arrow indicates a copy and paste from the elinks
-buffer to the notes buffer, and the `M-hy' at the left of the
-dotted arrow indicated the we will have to type `M-hy' - that is
-an abbreviation for `M-h M-y' at some point; the placement of the
-`M-hy' suggests that it is typed before the cut and paste.
 
-  (find-refining-intro \"2. Refining hyperlinks\")
-  (find-refining-intro \"2. Refining hyperlinks\" \"M-h M-y\")
 
-[Video links:]
-  (find-2021workshop1video \"1:24\" \"The base case 2\")
-  (find-2021workshop1video \"1:39\" \"What I need to do is slightly\")
-  (find-2021workshop1video \"1:55\" \"This is not yet the link that I want\")
+2.2. The base case 2
+--------------------
+The base case 2 is similar to the base case 1 but here we
+duplicate and refine the hyperlink. Its diagram is:
+
+   _____________        _____________________        _____________
+  |             |      |          |          |      |             |
+  |     [T]     |      |    [T]  ::>  [EH]   |      |     [T]     |
+  |             |      |          |   M-h2   |      |             |
+  |             |      |          |   M-hy   |      |             |
+  |             |      |          |____::____|      |             |
+  |             | ---> |          |    \\/    | ---> |             |
+  |             |      |          |    [N]   |      |             |
+  |             |      |          |          |      |             |
+  |_____________|      |__________|__________|      |_____________|
+
+Here many obvious (?!?!) steps were omitted. Here's how to read
+it aloud including the omitted steps:
+
+  find here links beginner
+  In the target buffer:
+    copy a string to the kill ring
+  In the elisp hyperlinks buffer:
+    find the hyperlink to the target
+    duplicate
+    refine
+    copy the original and the refined links to the kill ring
+  In the notes buffer:
+    paste
+  go back to the previous window configuration
+
+Exercise 2.2a:
+
+  Treat this intro as the target buffer and the \"(?!?!)\" as the
+  string that will be used in the refinement. Use the method
+  above to generate two links - one to this intro and one to the
+  first occurrence of \"(?!?!)\" in it - and copy these two links
+  to your notes.
+
+Exercise 2.2b:
+
+  Follow this link:
+
+    (find-enode \"Setting Mark\" \"C-x C-x\")
+
+  it will open an info page and search for the first occurence of
+  \"C-x C-x\" in it. Treat that info page as the \"target\" and
+  use the method above to create:
+
+    1. a link to that target
+    2. a refinement of that link that points to the \"C-x C-x\"
+
+  then copy this pair of links to your notes. After that come
+  back to this intro using `M-K*' - i.e., \"bury buffer\" as many
+  times as needed - or using any other method. Note that here the
+  initial and the final window configurations are just \"[EX]\",
+  so we are using implicitly the abbreviation that omits some
+  window configurations that was explained before the exercise
+  2.1b.
 
+  [Video links:]
+    (find-2021workshop1video \"1:24\" \"The base case 2\")
+    (find-2021workshop1video \"1:39\"   \"What I need to do is slightly\")
+    (find-2021workshop1video \"1:55\"   \"This is not yet the link that I 
want\")
 
 
 
 2.3. The base case 3
 --------------------
-The base case 3 will only make sense to people who understand
-anchors, short hyperlinks and anchors, using `M-1 M-h M-w' to
-copy the preceding tag to the kill ring, and using `M-h M--' to
-shrink a hyperlink to make it point to an anchor. You can learn
-these extra prerequisites here:
+In the base case 2 we edited the hyperlink by doing duplicate and
+refine; in the base case 3 we will will edit it by doing
+duplicate, refine, _and shrink_.
+
+Very few other sections of this intro depend on this one - so you
+may skip this.
+
+The base case 3 will only make sense to people who understand:
+anchors, short hyperlinks to anchors, using `M-1hw' to copy the
+preceding tag to the kill ring, and using `M--' to shrink a
+hyperlink to make it point to an anchor. You can learn these
+extra prerequisites here:
 
   (find-eev-quick-intro \"8. Anchors\")
   (find-eev-quick-intro \"8.1. Introduction: `to'\")
@@ -3960,30 +4068,86 @@ these extra prerequisites here:
   (find-anchors-intro \"2. Shrinking\")
   (find-anchors-intro \"3. The preceding tag\")
 
-   _______________           _____________________           ________________
-  |               |         |          |          |         |                |
-  |               |         |  target  |  elinks  |         |                |
-  |               |         |  buffer  |  buffer  |         |                |
-  |    target     |         |   M-1hw  | M-h2 ::  |         |     target     |
-  |    buffer     |         |          | M-hy ::  |         |     buffer     |
-  |               |         |          | M-h- ::  |         |                |
-  |               | M-h M-3 |          |______::__| M-h M-1 |                |
-  |               | ------> |          |      \\/  | ------> |                |
-  |               |         |          |          |         |                |
-  |               |         |          |  notes   |         |                |
-  |               |         |          |  buffer  |         |                |
-  |_______________|         |__________|__________|         |________________|
+Also, the base case 3 will only _look useful_ to people who can
+imagine using anchors in their own files. The main techniques for
+creating anchors are described in the two first links below, and
+the other three links point to an experimental feature of eev
+that I use to move the first half of an index/section pair to the
+index section of a file with few keystrokes.
+
+  (find-eev-quick-intro \"8.3. Creating index/section anchor pairs\")
+  (find-eev-quick-intro \"8.4. Creating e-script blocks\")
+  (find-refining-intro \"5. Pointing to anchors\")
+  (find-refining-intro \"5. Pointing to anchors\" \"but I don't touch-type\")
+  (find-eev \"eev-hydras.el\")
+
+The diagram for the base case 3 is this one. Note - ta-da! - that
+we are introducing another abbreviation: we are omitting the
+window settings in the extremities.
+
+         _____________________       
+        |          |          |      
+        |    [T]  ::>  [EH]   |      
+        |   M-1hw  |   M-h2   |      
+        |          |   M-hy   | 
+   ---> |          |   M-h-   | ---> 
+        |          |____::____|      
+        |          |    \\/    |
+        |          |    [N]   |      
+        |          |          |      
+        |__________|__________|      
+
+One way to pronounce that diagram is:
+
+  go to the target buffer
+  find here links beginner
+  in the target buffer:
+    copy last tag
+  in the elisp hyperlinks buffer:
+    duplicate
+    refine
+    shrink
+    copy the original and the refined links to the kill ring
+  In the notes buffer:
+    paste
+  go back to the original window configuration
 
-Exercise: watch this video and try to reproduce what happens in it:
+Exercise 2.3a:
 
-  (find-2021workshop7video \"0:00\")
+  Omitted. Try to understand why! =)
 
-Use this to go to the target that appears in the video:
+Exercise 2.3b:
 
-  (find-eev \"eev-videolinks.el\" \"ee-1stclassvideos-field\")
+  This hyperlink
 
+    (find-eev \"eev-videolinks.el\" \"ee-1stclassvideos-field\")
 
+  points to an anchor in one of the source files of eev. Use it
+  to go to that anchor, and pretend that you arrived there by
+  accident, found that anchor interesting, and decided that you
+  had to put a link to it in your notes. Use the method above to
+  create
 
+    1. a link to that file
+    2. a link to that anchor in that file
+
+  and then copy the two links to your notes.
+
+
+
+
+The rest will be rewritten
+
+
+
+[Video links:]
+  (find-2021workshop1video \"0:22\" \"The base case 1 is described here\")
+  (find-2021workshop1video \"0:52\" \"The instructions are here\")
+
+[Video links:]
+  (find-2021workshop1video \"1:24\" \"The base case 2\")
+  (find-2021workshop1video \"1:39\" \"What I need to do is slightly\")
+  (find-2021workshop1video \"1:55\" \"This is not yet the link that I want\")
 
 3. Copy from left to right
 ==========================
@@ -4096,14 +4260,6 @@ diagram below.
 
 
 
-
-
-[The rest is old]
-
-
-
-
-
 3.3. Copy from `find-ekey-links'
 --------------------------------
 



reply via email to

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