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

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

[elpa] externals/eev 09d7329 2/4: Added `(find-git-intro)' and `(find-te


From: Stefan Monnier
Subject: [elpa] externals/eev 09d7329 2/4: Added `(find-git-intro)' and `(find-texlive-links)'.
Date: Tue, 13 Oct 2020 23:39:55 -0400 (EDT)

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

    Added `(find-git-intro)' and `(find-texlive-links)'.
---
 ChangeLog         |  17 ++++
 VERSION           |   4 +-
 eev-brxxx.el      | 112 ++++++++++++++++--------
 eev-elinks.el     | 146 ++++++++++++++++++-------------
 eev-hlinks.el     |   2 +-
 eev-intro.el      | 256 +++++++++++++++++++++++++++++++++++++++++++++++++-----
 eev-testblocks.el |   2 +-
 eev-tlinks.el     | 227 ++++++++++++++++++++++++-----------------------
 eev.el            |   2 +-
 9 files changed, 529 insertions(+), 239 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 7ab38bf..7d8ee38 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,20 @@
+2020-10-13  Eduardo Ochs  <eduardoochs@gmail.com>
+
+       * eev-intro.el (find-git-intro): new function.
+
+       * eev-tlinks.el (find-texlive-links): new function.
+       (find-pdflikedef-links): deleted.
+       (find-find-links-links): marked (informally) as obsolete.
+       (find-find-links-links-old): new alias.
+       (find-psne-links): use "wget -nc" by default.
+
+       * eev-brxxx.el: rewrote the comments in the beginning of the file.
+
+2020-10-12  Eduardo Ochs  <eduardoochs@gmail.com>
+
+       * eev-elinks.el (find-pdflike-page-links): rewrote using
+       `find-find-links-links-new'.
+
 2020-10-10  Eduardo Ochs  <eduardoochs@gmail.com>
 
        * eev-testblocks.el (ee-insert-test-tuareg-mode): new function.
diff --git a/VERSION b/VERSION
index 2d27046..7a09630 100644
--- a/VERSION
+++ b/VERSION
@@ -1,2 +1,2 @@
-Sat Oct 10 07:04:21 GMT 2020
-Sat Oct 10 04:04:21 -03 2020
+Tue Oct 13 08:14:43 GMT 2020
+Tue Oct 13 05:14:43 -03 2020
diff --git a/eev-brxxx.el b/eev-brxxx.el
index b091731..7d72d6a 100644
--- a/eev-brxxx.el
+++ b/eev-brxxx.el
@@ -19,7 +19,7 @@
 ;;
 ;; Author:     Eduardo Ochs <eduardoochs@gmail.com>
 ;; Maintainer: Eduardo Ochs <eduardoochs@gmail.com>
-;; Version:    2019oct27
+;; Version:    2020oct12
 ;; Keywords:   e-scripts
 ;;
 ;; Latest version: <http://angg.twu.net/eev-current/eev-brxxx.el>
@@ -34,47 +34,90 @@
 
 ;;; Commentary:
 
-;; See: (find-eev-quick-intro "3.1. Non-elisp hyperlinks")
-;;      (find-psne-intro "Local copies")
-;;      (find-brxxx-intro)
+;; The section
+;;
+;;   (find-eev-quick-intro "3.1. Non-elisp hyperlinks")
+;;
+;; of the main tutorial mentions the functions `brff' and `brg', that
+;; are eev-ish variants of `browse-url'. They are explained in more
+;; details here:
+;;
+;;   (find-brxxx-intro)
+;;
+;; These `brxxx's are "mass-produced" by the functions `code-brurl'
+;; and `code-brfile', that work similarly to `code-c-d'. Try these
+;; tests to see the code that they generate:
+;;
+;;   (find-code-brfile 'find-FOO                :local 'brFOOL :dired 'brFOOD)
+;;   (find-code-brurl  'find-QUX :remote 'brQUX :local 'brQUXL :dired 'brQUXD)
+;;
+;; The first argument of `code-brurl' and `find-code-brurl' is the
+;; name of a function that expects a URL; the first argument of
+;; `code-brfile' and `find-code-brfile' is the name of a function that
+;; expects a filename. The other arguments are pairs made of a keyword
+;; and a name of a function to define.
 ;;
-;; The main functions here are `code-brurl' and `code-brfile', that
-;; lets us mass-define "brxxx functions" based on a given function
-;; that expects urls - in the case of `code-brurl' - or on a function
-;; that expects file names - in the case of `code-brfile'.
+;; Here is a simple test. Let's define `find-FOO' as function that
+;; expects a filename and displays it in the right window, and
+;; `find-QUX' as a function that expects a URL and displays it in the
+;; right window:
 ;;
-;; Try these tests to see the kind of code that is generated:
+;;   (defun find-FOO (url)   (find-2a nil '(find-estring url)))
+;;   (defun find-QUX (fname) (find-2a nil '(find-estring fname)))
+;;   (find-FOO "/tmp/a-filename")
+;;   (find-QUX "http://some/url";)
 ;;
-;;   (find-code-brurl  'find-foo :remote 'brfoo :local 'brfool :dired 'brfood)
-;;   (find-code-brfile 'find-bar                :local 'brbarl :dired 'brbard)
+;; Now let's define the `brFOO*' and `brQUX*' functions:
 ;;
-;; The functions `brfoo', `brfool' and `brbarl' operate on the
-;; url-at-point, and the functions `brfood' and `brbard' operate on
-;; the file at the current line and only work in dired mode. The
-;; functions `brfool' and `brbarl' call `find-foo' and `find-bar' on
-;; the _local copy_ of the url that they receive, like this:
+;;   (find-code-brfile 'find-FOO                :local 'brFOOL :dired 'brFOOD)
+;;        (code-brfile 'find-FOO                :local 'brFOOL :dired 'brFOOD)
+;;   (find-code-brurl  'find-QUX :remote 'brQUX :local 'brQUXL :dired 'brQUXD)
+;;        (code-brurl  'find-QUX :remote 'brQUX :local 'brQUXL :dired 'brQUXD)
 ;;
-;;   (brfool "http://some/url";)
-;;     --> (find-foo (ee-url-to-local-url "http://some/url";))
-;;     --> (find-foo (concat "file://" (ee-expand "$S/http/some/url")))
+;; The function `brQUX', that was defined with `:remote', acts like
+;; `browse-url', but using `find-QUX' as its "browser": it calls
+;; `find-QUX' on a "remote" URL.
 ;;
-;;   (brbarl "http://some/url";)
-;;     --> (find-bar (ee-url-to-fname "http://some/url";))
-;;     --> (find-bar (ee-expand "$S/http/some/url"))
+;; The functions `brFOOL' and `brQUXL', that were defined with
+;; `:local', act on a "local copy" of the URL, in the sense of:
 ;;
-;; Try the sexps above with:
+;;   (find-psne-intro "1. Local copies of files from the internet")
 ;;
-;;   (defun find-foo (url)   (find-2a nil '(find-estring url)))
-;;   (defun find-bar (fname) (find-2a nil '(find-estring fname)))
-;;   (code-brurl  'find-foo :remote 'brfoo :local 'brfool :dired 'brfood)
-;;   (code-brfile 'find-bar                :local 'brbarl :dired 'brbard)
+;; You can try them either by typing `M-x brFOOL' and `M-x brQUXL' on
+;; the URLs below or by running the sexps with `M-e'. Their action is
+;; to show on the right window the argument that was passed to
+;; `find-FOO' and `find-QUX':
 ;;
-;; The idea of local copies is explained here:
+;;   (brFOOL "http://some/url";)
+;;   (brQUXL "http://some/url";)
+;; 
+;; that are that URL converted to a local file name in the first case,
+;; and that URL converted to a "file:///" URL corresponding that local
+;; file name in the second case. More precisely, what happens is:
 ;;
-;;   (find-psne-intro "Local copies")
+;;   (brFOOL "http://some/url";)
+;;   --> (find-FOO (ee-url-to-fname "http://some/url";))
+;;   --> (find-FOO (ee-expand      "$S/http/some/url"))
 ;;
+;;   (brQUXL "http://some/url";)
+;;   --> (find-QUX (ee-url-to-local-url          "http://some/url";))
+;;   --> (find-QUX (concat "file://" (ee-expand "$S/http/some/url")))
 ;;
+;; The functions `brFOOD' and `brQUXD' are intended to be called
+;; interactively from dired mode. If you call them on a dired buffer
+;; showing "/tmp/" and with the point on the line that shows a file
+;; called "a-filename" their actions would be the same as the sexps
+;; below:
 ;;
+;;   (brFOOL "/tmp/a-filename")
+;;    --> (find-FOO "/tmp/a-filename")
+;;
+;;   (brQUXL "/tmp/a-filename")
+;;   --> (find-QUX (ee-fname-to-url  "/tmp/a-filename"))
+;;   --> (find-QUX (concat "file://" "/tmp/a-filename"))
+;;
+
+
 ;; This file, i.e.: (find-eev "eev-brxxx.el")
 ;; supersedes:      (find-eev "eev-browse-url.el")
 ;; but eev-browse-url.el still has some nice comments that I would
@@ -180,7 +223,7 @@ This should be made smarter - file:// urls should be 
returned unchanged."
 ;;; | (_| (_) | (_| |  __/_____| |_) | |  | |_| | |  | |
 ;;;  \___\___/ \__,_|\___|     |_.__/|_|   \__,_|_|  |_|
 ;;;                                                     
-;; (find-tail-call-links "brurl" "f")
+;; 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)
@@ -254,12 +297,11 @@ This should be made smarter - file:// urls should be 
returned unchanged."
 ;;; | (_| (_) | (_| |  __/_____| |_) | |  |  _| | |  __/
 ;;;  \___\___/ \__,_|\___|     |_.__/|_|  |_| |_|_|\___|
 ;;;                                                     
-;; (find-tail-call-links "brfile" "f")
-
 ;; «code-brfile» (to ".code-brfile")
-;; code-brfile: top-level functions
+;; `code-brfile': top-level functions.
 ;;
-;; Test: (find-code-brfile 'find-bar :local 'brbarl :dired 'brbard)
+;; Skel (broken): (find-tail-call-links "brfile" "f")
+;; Test: (find-code-brfile 'find-BAR :local 'brBARL :dired 'brBARD)
 ;;
 (defun      code-brfile (f &rest rest)
   "Define a family of brxxx functions from a function that operates on files"
@@ -273,7 +315,7 @@ This should be made smarter - file:// urls should be 
returned unchanged."
 ")  (ee-code-brfile-rest f rest)))
 
 ;; «ee-code-brfile-rest» (to ".ee-code-brfile-rest")
-;; Support for extra arguments
+;; `code-brfile': support for extra arguments.
 
 (defun ee-code-brfile-rest (f rest)
   (cond ((null rest) "")
diff --git a/eev-elinks.el b/eev-elinks.el
index e8e4c78..0f6dc06 100644
--- a/eev-elinks.el
+++ b/eev-elinks.el
@@ -19,7 +19,7 @@
 ;;
 ;; Author:     Eduardo Ochs <eduardoochs@gmail.com>
 ;; Maintainer: Eduardo Ochs <eduardoochs@gmail.com>
-;; Version:    2020jul22
+;; Version:    2020oct11
 ;; Keywords:   e-scripts
 ;;
 ;; Latest version: <http://angg.twu.net/eev-current/eev-elinks.el>
@@ -894,39 +894,36 @@ when this is true remove the prefix D from FNAME, and put 
the sexp
 ;;; | |_) | (_| |  _| | |   <  __/_____| |_) | (_| | (_| |  __/
 ;;; | .__/ \__,_|_| |_|_|_|\_\___|     | .__/ \__,_|\__, |\___|
 ;;; |_|                                |_|          |___/      
-
+;;
 ;; «find-pdflike-page-links» (to ".find-pdflike-page-links")
-;; (find-efunction 'count-lines)
+;; The function `find-pdflike-page-links' is called from
+;; `find-pdf-links' (`M-h M-p') when you call it in a buffer that is
+;; not in dired mode. See:
+;;   (to "find-pdf-links")
+;;   (find-pdf-like-intro "10. Generating a pair with the page number")
+;;   (find-pdf-like-intro "11. How `M-h M-p' guesses everything")
 ;;
-(defun ee-count-formfeeds (start end)
-  (save-excursion
-    (save-restriction
-      (narrow-to-region start end)
-      (goto-char (point-min))
-      (save-match-data
-       (let ((done 0))
-         (while (re-search-forward "[\f]" nil t 1)
-           (setq done (+ 1 done)))
-         done)))))
-
-(defun ee-current-page ()
-  (+ 1 (ee-count-formfeeds (point-min) (point))))
-
-(defun ee-last-kill ()
-  (if (stringp (car kill-ring))
-    (ee-no-properties (car kill-ring))))
-
-(defun ee-region ()
-  (if (region-active-p)
-      (buffer-substring-no-properties (point) (mark))))
-
-(defun ee-region-or-last-kill ()
-  (or (ee-region) (ee-last-kill)))
-
-;; Skel: (find-find-links-links-old "\\M-p" "pdflike-page" "page bufname 
offset")
-
-;; Moved to eev-mode.el:
-;; (define-key eev-mode-map "\M-h\M-p" 'find-pdflike-page-links)
+;; Skel: (find-find-links-links-new "pdflike-page" "page bufname offset" "")
+;;
+(defun find-pdflike-page-links (&optional page bufname offset &rest 
pos-spec-list)
+"Visit a temporary buffer containing hyperlinks to a pdf-like document.
+See: (find-pdf-like-intro)
+     (find-pdf-like-intro \"refining hyperlinks to pages\")"
+  (interactive)
+  (setq page    (or page (ee-current-page)))
+  (setq bufname (or bufname (buffer-name)))
+  (setq offset  (or offset ee-page-offset))
+  (apply
+   'find-elinks
+   `((find-pdflike-page-links ,page ,bufname ,offset ,@pos-spec-list)
+     ;; Convention: the first sexp always regenerates the buffer.
+     (find-pdf-like-intro "10. Generating a pair with the page number")
+     (find-pdf-like-intro "11. How `M-h M-p' guesses everything")
+     ;; (find-efunction 'find-pdflike-page-links)
+     ""
+     ,@(ee-pdflike-page-links page bufname offset)
+     )
+   pos-spec-list))
 
 (defun ee-pdflike-page-links (&optional page bufname offset)
   (setq page    (or page (ee-current-page)))
@@ -954,33 +951,37 @@ when this is true remove the prefix D from FNAME, and put 
the sexp
       ,(ee-HS bufname)
       )))
 
-(defun find-pdflike-page-links (&optional page bufname offset &rest rest)
-"Visit a temporary buffer containing hyperlinks to a pdf-like document.
-See: (find-pdf-like-intro)
-     (find-pdf-like-intro \"refining hyperlinks to pages\")"
-  (interactive)
-  (setq page    (or page (ee-current-page)))
-  (setq bufname (or bufname (buffer-name)))
-  (setq offset  (or offset ee-page-offset))
-  (apply 'find-elinks `(
-    (find-pdflike-page-links ,page ,bufname ,offset ,@rest)
-    ;; (find-efunction 'find-pdflike-page-links)
-    ;; (find-eev-quick-intro "10.4. Generating short hyperlinks to PDFs")
-    ;; (find-eev-quick-intro "11.1. `find-pdf-links'")
-    (find-pdf-like-intro "10. Generating a pair with the page number")
-    (find-pdf-like-intro "11. How `M-h M-p' guesses everything")
-    ""
-    ,@(ee-pdflike-page-links page bufname offset)
-    ) rest))
+;; These are internal functions used by `find-pdflike-page-links' and
+;; `ee-pdflike-page-links'.
+
+;; Based on: (find-efunction 'count-lines)
+;;
+(defun ee-count-formfeeds (start end)
+  (save-excursion
+    (save-restriction
+      (narrow-to-region start end)
+      (goto-char (point-min))
+      (save-match-data
+       (let ((done 0))
+         (while (re-search-forward "[\f]" nil t 1)
+           (setq done (+ 1 done)))
+         done)))))
+
+(defun ee-current-page ()
+  (+ 1 (ee-count-formfeeds (point-min) (point))))
+
+(defun ee-last-kill ()
+  (if (stringp (car kill-ring))
+    (ee-no-properties (car kill-ring))))
+
+(defun ee-region ()
+  (if (region-active-p)
+      (buffer-substring-no-properties (point) (mark))))
+
+(defun ee-region-or-last-kill ()
+  (or (ee-region) (ee-last-kill)))
+
 
-;; (find-pdflike-page-links)
-;; (find-angg ".emacs.papers" "kopkadaly")
-;; (code-pdftotext "kopkadaly4" 
"~/books/__comp/kopka_daly__a_guide_to_latex_4th_ed.pdf" 12)
-;; (find-code-pdftotext "kopkadaly4" 
"~/books/__comp/kopka_daly__a_guide_to_latex_4th_ed.pdf" 12)
-;; (ee-page-parameters "kopkadaly4" 12)
-;; (find-kopkadaly4page (+ 12 287) "13.1   The picture environment")
-;; (find-kopkadaly4text            "13.1   The picture environment")
-;; (find-kopkadaly4text)
 
 
 
@@ -1252,10 +1253,8 @@ Convert PKG - a symbol - to a package-desc structure (or 
to nil)."
 ;;; |_| |_|_| |_|\__,_|      \___\___/ \__,_|\___| \/       |_|_|_| 
|_|_|\_\___/
 ;;;                                                                            
 
 ;; «find-code-pdf-links»  (to ".find-code-pdf-links")
-;; Tests:
-;; (find-fline          "/usr/local/texlive/2018/texmf-dist/doc/latex/base/")
-;; (find-code-pdf-links 
"/usr/local/texlive/2018/texmf-dist/doc/latex/base/source2e.pdf")
-;; (find-code-pdf-links 
"/usr/local/texlive/2018/texmf-dist/doc/latex/base/source2e.pdf" "foo")
+;; See: (to "find-pdf-links")
+;;      (find-pdf-like-intro "9. Generating three pairs" "find-code-pdf-links")
 
 ;; See: (find-efunction 'ee-if-prefixp)
 (defun ee-shorten-file-name (fname)
@@ -1297,7 +1296,30 @@ Convert PKG - a symbol - to a package-desc structure (or 
to nil)."
        )
      pos-spec-list)))
 
+
+
 ;; «find-pdf-links»  (to ".find-pdf-links")
+;; This function - usually bound to `M-h M-p' - behaves in one way
+;; when invoked from dired buffers and in a totally different way when
+;; invoked from other buffers. In a dired buffer it supposes that the
+;; current line contains the name of a PDF, and it generates a buffer
+;; whose main part is a pair `code-pdf-page'/`code-pdf-text' that lets
+;; you define short hyperlinks to that PDF. See:
+;;
+;;   (find-pdf-like-intro "7. Shorter hyperlinks to PDF files")
+;;   (find-pdf-like-intro "9. Generating three pairs" "`M-h M-p' in Dired 
mode")
+;;
+;; When the current buffer is not in dired mode this function supposes
+;; that the buffer contains the "text" of a PDF, as explained here:
+;;
+;;   (find-pdf-like-intro "3. Hyperlinks to PDF files" "find-pdf-text")
+;;
+;; and it tries to generate short hyperlinks to the current page of
+;; it, making lots of guesses, and often guessing everything wrong.
+;; See:
+;;
+;;   (find-pdf-like-intro "10. Generating a pair with the page number")
+;;   (find-pdf-like-intro "11. How `M-h M-p' guesses everything")
 ;;
 (defun find-pdf-links ()
 "Run either `find-code-pdf-links' or `find-pdflike-page-links'."
diff --git a/eev-hlinks.el b/eev-hlinks.el
index 30abc4a..cbe303a 100644
--- a/eev-hlinks.el
+++ b/eev-hlinks.el
@@ -275,7 +275,7 @@
 (defun  ee-epackage-bufferp () (ee-buffer-help ee-epackage-re 1))
 (defun  ee-find-epackage-links ()
   (let ((p (ee-epackage-bufferp)))
-    (list (ee-find-epackage-links0 p))))
+    (list (ee-find-epackage-links0 p "{c}" "{d}"))))
 
 ;; By buffer name (when the mode is man)
 (defvar ee-man-re "^\\*Man \\(.*\\)\\*$")
diff --git a/eev-intro.el b/eev-intro.el
index 4aaf50f..08225fe 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:    2020oct04
+;; Version:    2020oct13
 ;; Keywords:   e-scripts
 ;;
 ;; Latest version: <http://angg.twu.net/eev-current/eev-intro.el>
@@ -91,6 +91,7 @@
 ;; «.find-emacs-intro»         (to "find-emacs-intro")
 ;; «.find-org-intro»           (to "find-org-intro")
 ;; «.find-escripts-intro»      (to "find-escripts-intro")
+;; «.find-git-intro»           (to "find-git-intro")
 
 ;; «.find-windows-beginner-intro»      (to "find-windows-beginner-intro")
 
@@ -2149,9 +2150,9 @@ These are the current ways to download and install eev:
      links like these ones,
 
        http://elpa.gnu.org/packages/eev.html
-       http://elpa.gnu.org/packages/eev-20191003.tar
+       http://elpa.gnu.org/packages/eev-20201013.tar
        http://angg.twu.net/eev-current/
-       http://angg.twu.net/eev-current/eev-20191003.tar
+       http://angg.twu.net/eev-current/eev-20201013.tar
 
      and then running `M-x package-install-file';
 
@@ -2461,31 +2462,31 @@ recommended reading order. These are the basic ones:
    5. (find-pdf-like-intro)
    6. (find-eepitch-intro)
    7. (find-audiovideo-intro)
-   8. (find-rcirc-intro)
-   9. (find-elisp-intro)
-  10. (find-eev-install-intro)
+   8. (find-psne-intro)
+   9. (find-rcirc-intro)
+  10. (find-elisp-intro)
+  11. (find-eev-install-intro)
 
 This is a very basic tutorial intended mainly for M$ Windows
 users:
 
-  11. (find-windows-beginner-intro)
+  12. (find-windows-beginner-intro)
 
 These ones explain ideas, conventions, and usage patterns:
 
-  12. (find-escripts-intro)
-  13. (find-links-conv-intro)
+  13. (find-escripts-intro)
+  14. (find-links-conv-intro)
 
 These are older and more technical versions of sections of the
 eev-quick-intro:
 
-  14. (find-eval-intro)
-  15. (find-links-intro)
-  16. (find-brxxx-intro)
-  17. (find-wrap-intro)
-  18. (find-eejump-intro)
-  19. (find-anchors-intro)
-  20. (find-code-c-d-intro)
-  21. (find-psne-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)
 
 These are etcs:
 
@@ -2493,21 +2494,22 @@ These are etcs:
   23. (find-templates-intro)
   24. (find-org-intro)
   25. (find-videos-intro)
+  26. (find-git-intro)
 
 These ones explain advanced features that require extra setup:
 
-  26. (find-prepared-intro)
-  27. (find-bounded-intro)
-  28. (find-channels-intro)
+  27. (find-prepared-intro)
+  28. (find-bounded-intro)
+  29. (find-channels-intro)
 
 This one is used in a video:
 
-  29. (find-three-main-keys-intro)
+  30. (find-three-main-keys-intro)
 
 These ones are obsolete:
 
-  30. (find-emacs-intro)
-  31. (find-defun-intro)
+  31. (find-emacs-intro)
+  32. (find-defun-intro)
 
 Item 25 is an index of old video tutorials, with scripts for
 downloading local copies of them and links to important positions
@@ -6408,6 +6410,15 @@ short `find-pdf'-pair. To see what it produces, try:
   (find-code-pdf-links \"~/Coetzee99.pdf\")
   (find-code-pdf-links \"~/Coetzee99.pdf\" \"livesofanimals\")
 
+The second link above produces a temporary buffer containing this:
+
+  ;; (find-pdf-page \"~/Coetzee99.pdf\")
+  ;; (find-pdf-text \"~/Coetzee99.pdf\")
+  (code-pdf-page \"livesofanimals\" \"~/Coetzee99.pdf\")
+  (code-pdf-text \"livesofanimals\" \"~/Coetzee99.pdf\")
+  ;; (find-livesofanimalspage)
+  ;; (find-livesofanimalstext)
+
 `find-code-pdf-links' is somewhat similar to `find-latex-links',
 in this aspect:
 
@@ -6556,6 +6567,11 @@ and combines it with the idea of \"local copies\" from:
   (find-psne-intro \"1. Local copies of files from the internet\")
   (find-psne-intro \"5. `browse-url' and friends\")
 
+At this moment the best explanation of these ideas in here:
+  (find-eev \"eev-brxxx.el\" \";;; Commentary:\")
+in the source code. I need to rewrite this intro!
+
+
 
 
 
@@ -9543,6 +9559,12 @@ This buffer is _temporary_ and _editable_.
 It is meant as both a tutorial and a sandbox.
 
 
+This intro is being rewritten.
+Prerequisites:
+  (find-psne-intro)
+  (find-audiovideo-intro)
+
+
 
 1. What we have now
 ===================
@@ -11108,6 +11130,194 @@ This can also be used to generate links to info nodes.
 
 
 
+;;;   ____ _ _   
+;;;  / ___(_) |_ 
+;;; | |  _| | __|
+;;; | |_| | | |_ 
+;;;  \____|_|\__|
+;;;              
+;; «find-git-intro»  (to ".find-git-intro")
+;; Skel: (find-intro-links "git")
+
+(defun find-git-intro (&rest pos-spec-list) (interactive)
+  (let ((ee-buffer-name "*(find-git-intro)*"))
+    (apply 'find-eintro "\
+\(Re)generate: (find-git-intro)
+Source code:  (find-efunction 'find-git-intro)
+More intros:  (find-eev-quick-intro)
+              (find-eev-intro)
+              (find-eepitch-intro)
+This buffer is _temporary_ and _editable_.
+It is meant as both a tutorial and a sandbox.
+
+
+
+At this moment this is a call for help -
+not an intro.
+
+
+
+
+0. Introduction
+===============
+Git is extremely popular, and I've heard that the two packages
+that attract most new users to Emacs are Org and Magit:
+
+  https://github.com/magit/magit
+  https://melpa.org/#/magit
+  (find-epackage 'magit)
+
+At this moment eev offers only a trivial hack to help people
+download git repositories. If you put the point on the github url
+above and type `M-h g' or `M-x find-git-links' you will get the
+same effect as running the sexp below:
+
+  (find-git-links \"https://github.com/magit/magit\"; \"magit\")
+
+You will get a temporary buffer with an e-script for downloading
+(\"cloning\") that git repository and inspecting it in a handful
+of ways.
+
+I found git VERY hard to learn. To test most concepts you need a
+repository with tags and branches and a second repository that
+\"pulls\" from it, and no books or tutorials that I know of come
+with a sequence of commands that set that up in a way that makes
+the tests easy to reproduce. To make things worse, when I was
+trying to set up a git repository for eev on github for the first
+time I did some things wrong on the github side of the repository
+that I did not know how to undo... after spending some days
+trying to fix that I gave up, deleted that repository, created a
+new one, and decided that I would always do LOTS of local tests
+before messing up my public repository again.
+
+This intro is about doing these local tests - but it is in a VERY
+early draft.
+
+
+
+
+1. Preparation
+==============
+Download the second URL below with `M-x brep',
+
+  http://peepcode.com/products/git-internals-pdf
+  
https://github.com/pluralsight/git-internals-pdf/releases/download/v2.0/peepcode-git.pdf
+
+and run this eepitch block,
+
+ (eepitch-shell)
+ (eepitch-kill)
+ (eepitch-shell)
+  rm -Rfv /tmp/git-test/
+  mkdir   /tmp/git-test/
+  cd      /tmp/git-test/
+  #    http://angg.twu.net/bin/git-defs.html
+  wget http://angg.twu.net/bin/git-defs
+  cp -v 
$S/https/github.com/pluralsight/git-internals-pdf/releases/download/v2.0/peepcode-git.pdf
 .
+
+and this prog1:
+
+  (prog1
+    (code-pdf-page \"gitinternals\" \"/tmp/git-test/peepcode-git.pdf\")
+    (code-pdf-text \"gitinternals\" \"/tmp/git-test/peepcode-git.pdf\")
+    (code-c-d \"gitdoc\" \"/usr/share/doc/git-doc/\")
+    )
+
+
+
+
+2. A first repository
+=====================
+The manpage of git-revisions
+
+  (find-man \"7 git-revisions\")
+  (find-man \"7 git-revisions\" \"Here is an illustration\")
+  (find-gitdocfile \"revisions.txt\" \"illustration, by Jon Loeliger\")
+
+has this example, in which the commits have this structure:
+
+  G   H   I   J
+   \\ /     \\ /
+    D   E   F
+     \\  |  / \\
+      \\ | /   |
+       \\|/    |
+        B     C
+         \\   /
+          \\ /
+           A
+
+Here is an e-script that creates it:
+
+ (eepitch-shell)
+ (eepitch-kill)
+ (eepitch-shell)
+  rm -Rfv /tmp/git-test/repo1/
+  mkdir   /tmp/git-test/repo1/
+  cd      /tmp/git-test/repo1/
+  .       /tmp/git-test/git-defs
+  # (find-fline \"/tmp/git-test/git-defs\")
+
+  git init
+  Modify file1; Modify file2; git add file1 file2
+                Commit A; git branch brAC
+  Modify file1; Commit B; git branch brBDG
+  git checkout brAC
+  Modify file1; Commit C
+  git checkout brBDG
+  Modify file1; Commit D
+  git checkout HEAD^ -b brE
+  Modify file1; Commit E
+  git checkout HEAD^
+  git merge -s ours brAC -m F
+  git branch brFI
+  git checkout brBDG
+  Modify file1; Commit G
+  git checkout HEAD^ -b brH
+  Modify file1; Commit H
+  git checkout brFI
+  Modify file1; Commit I
+  git checkout HEAD^ -b brJ
+  Modify file1; Commit J
+  Diagram
+
+  # (find-gitk \"/tmp/git-test/repo1/\")
+
+Actually it creates the structure below - where, for example, the
+node \"G,brBDG\" is a commit with message \"G\" and a branch
+called \"brBDG\" pointing to it; I call that branch \"brBDG\"
+because when it was created it pointed to the commit with message
+\"B\", then it moved to the commit \"D\", then to \"G\".
+
+                 I,brFI  J,brJ
+                    |   /
+  G,brBDG   H,brH   |  /
+         \\ /        | /
+          D  E,brE  F
+           \\   |   / \\
+            \\  |  /   |
+             \\ | /    |
+               B    C,brAC
+                \\    /
+                 \\  /
+                  A
+
+  (find-man \"git-merge\")
+
+
+
+
+
+
+
+" pos-spec-list)))
+
+;; (find-git-intro)
+
+
+
+
+
 
 ;;; __        ___        _                _                       
 ;;; \ \      / / |      | |__   ___  __ _(_)_ __  _ __   ___ _ __ 
diff --git a/eev-testblocks.el b/eev-testblocks.el
index 892e6bc..cff3d9c 100644
--- a/eev-testblocks.el
+++ b/eev-testblocks.el
@@ -19,7 +19,7 @@
 ;;
 ;; Author:     Eduardo Ochs <eduardoochs@gmail.com>
 ;; Maintainer: Eduardo Ochs <eduardoochs@gmail.com>
-;; Version:    2020aug05
+;; Version:    2020oct10
 ;; Keywords:   e-scripts
 ;;
 ;; Latest version: <http://angg.twu.net/eev-current/eev-testblocks.el>
diff --git a/eev-tlinks.el b/eev-tlinks.el
index 7ce02d2..71fc0f0 100644
--- a/eev-tlinks.el
+++ b/eev-tlinks.el
@@ -19,7 +19,7 @@
 ;;
 ;; Author:     Eduardo Ochs <eduardoochs@gmail.com>
 ;; Maintainer: Eduardo Ochs <eduardoochs@gmail.com>
-;; Version:    2020oct06
+;; Version:    2020oct13
 ;; Keywords:   e-scripts
 ;;
 ;; Latest version: <http://angg.twu.net/eev-current/eev-tlinks.el>
@@ -58,11 +58,10 @@
 ;; «.ee-copy-rest»                     (to "ee-copy-rest")
 ;;
 ;; «.find-find-links-links»            (to "find-find-links-links")
-;; «.ee-ffll-functions»                        (to "ee-ffll-functions")
 ;; «.find-find-links-links-new»                (to "find-find-links-links-new")
+;; «.ee-ffll-functions»                        (to "ee-ffll-functions")
 ;;
 ;; «.find-intro-links»                 (to "find-intro-links")
-;; «.find-pdflikedef-links»            (to "find-pdflikedef-links")
 ;; «.find-eev-header-links»            (to "find-eev-header-links")
 ;;
 ;; «.find-debpkg-links»                        (to "find-debpkg-links")
@@ -82,6 +81,7 @@
 ;; «.find-extra-file-links»            (to "find-extra-file-links")
 ;; «.find-emacs-tangents-links»                (to "find-emacs-tangents-links")
 ;; «.find-eeit-links»                  (to "find-eeit-links")
+;; «.find-texlive-links»               (to "find-texlive-links")
 
 
 (require 'eev-env)
@@ -214,8 +214,9 @@ See: (find-eev \"eev-tlinks.el\" \"ee-copy-rest\")"
 ;;;                                                     
 ;;
 ;; «find-find-links-links» (to ".find-find-links-links")
-;; See:  (find-templates-intro "horrible" "kludge")
 ;; Test: (find-find-links-links "u" "find-links" "k stem args")
+;; THIS IS OBSOLETE - DON'T USE THIS!
+;; Use `find-find-links-links-new' instead.
 
 (defun ee-prepend-commas (str)
   (save-match-data
@@ -225,6 +226,8 @@ See: (find-eev \"eev-tlinks.el\" \"ee-copy-rest\")"
 (defun ee-if-nil-setqs (vars sep)
   (mapconcat 'ee-if-nil-setq (save-match-data (ee-split vars)) sep))
 
+(defalias 'find-find-links-links-old 'find-find-links-links)
+
 (defun find-find-links-links (&optional k stem args &rest pos-spec-list)
 "Visit a temporary buffer containing hyperlinks for foo."
   (interactive)
@@ -275,6 +278,40 @@ This is an internal function used by `find-{stem}-links'.\"
 
 
 
+
+;;;   __ _           _       _ _       _       /\ ____                         
  
+;;;  / _(_)_ __   __| |     | (_)_ __ | | ____|/\|___ \      _ __   _____      
__
+;;; | |_| | '_ \ / _` |_____| | | '_ \| |/ / __|   __) |____| '_ \ / _ \ \ /\ 
/ /
+;;; |  _| | | | | (_| |_____| | | | | |   <\__ \  / __/_____| | | |  __/\ V  V 
/ 
+;;; |_| |_|_| |_|\__,_|     |_|_|_| |_|_|\_\___/ |_____|    |_| |_|\___| 
\_/\_/  
+;;;                                                                            
  
+;; «find-find-links-links-new»  (to ".find-find-links-links-new")
+;; Test: (find-find-links-links-new)
+;; 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")
+;;
+(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."
+  (interactive)
+  (setq stem (or stem "{stem}"))
+  (setq args (or args "{args}"))
+  (setq vars (or vars "{vars}"))
+  (apply 'find-elinks-elisp
+   `((find-find-links-links-new ,stem ,args ,vars ,@pos-spec-list)
+     (find-find-links-links-new "mytask" "foo bar" "" ,@pos-spec-list)
+     (find-find-links-links-new "mytask" "foo bar" "plic bletch" 
,@pos-spec-list)
+     ;; Convention: the first sexp always regenerates the buffer.
+     (find-efunction 'find-find-links-links-new)
+     ""
+     ,(ee-template0 ";; <find-{stem}-links>")
+     ,(concat ";; Skel: " (ee-S `(find-find-links-links-new ,stem ,args 
,vars)))
+     ";;"
+     ,(ee-ffll-defun stem args vars)
+     )
+   pos-spec-list))
+
+
 ;;;                   __  __ _ _ _            
 ;;;   ___  ___       / _|/ _| | | |     __/\__
 ;;;  / _ \/ _ \_____| |_| |_| | | |_____\    /
@@ -284,15 +321,6 @@ This is an internal function used by `find-{stem}-links'.\"
 ;; «ee-ffll-functions»  (to ".ee-ffll-functions")
 ;; Low-level functions used by find-find-links-links-new.
 ;;
-;; The original `find-find-links-links' whas a horrible kludge.
-;; See: (find-templates-intro "horrible" "kludge")
-;; This is an attempt to rewrite it.
-;; It was inspired by discussions with Marc Simpson.
-;; Version (of the ee-ffll-functions and find-find-links-links-new):
-;; 2020jan07.
-;; Status: `find-find-links-links-new' doesn't exist yet, but the
-;; tests below work.
-
 ;; Tests:
 ;; (ee-ffll-optional "")
 ;; (ee-ffll-optional "foo bar")
@@ -378,29 +406,6 @@ This is an internal function used by `find-{stem}-links'.\"
      (ee-ffll-defun-without-lets stem args)))
 
 
-;; «find-find-links-links-new»  (to ".find-find-links-links-new")
-;; Test: (find-find-links-links-new)
-;;
-(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."
-  (interactive)
-  (setq stem (or stem "{stem}"))
-  (setq args (or args "{args}"))
-  (setq vars (or vars "{vars}"))
-  (apply 'find-elinks-elisp
-   `((find-find-links-links-new ,stem ,args ,vars ,@pos-spec-list)
-     (find-find-links-links-new "mytask" "foo bar" "" ,@pos-spec-list)
-     (find-find-links-links-new "mytask" "foo bar" "plic bletch" 
,@pos-spec-list)
-     ;; Convention: the first sexp always regenerates the buffer.
-     (find-efunction 'find-find-links-links-new)
-     ""
-     ,(ee-template0 ";; <find-{stem}-links>")
-     ,(concat ";; Skel: " (ee-S `(find-find-links-links-new ,stem ,args 
,vars)))
-     ";;"
-     ,(ee-ffll-defun stem args vars)
-     )
-   pos-spec-list))
-
 
 
 
@@ -466,82 +471,6 @@ Hello
 
 
 
-;;;            _  __ _ _ _            _       __ 
-;;;  _ __   __| |/ _| (_) | _____  __| | ___ / _|
-;;; | '_ \ / _` | |_| | | |/ / _ \/ _` |/ _ \ |_ 
-;;; | |_) | (_| |  _| | |   <  __/ (_| |  __/  _|
-;;; | .__/ \__,_|_| |_|_|_|\_\___|\__,_|\___|_|  
-;;; |_|                                          
-;;
-;; «find-pdflikedef-links» (to ".find-pdflikedef-links")
-;; Obsolete! Was used in: (find-eev "eev-pdflike-old.el")
-;;   e.g. (find-eev "eev-pdflike-old.el" "defalias 'find-xdvipage")
-;; (find-find-links-links "pdflikedef" "stem firstargs")
-;;
-(defun find-pdflikedef-links (&optional stem firstargs &rest rest)
-  "Visit a temporary buffer containing hyperlinks for pdflikedef."
-  (interactive)
-  (setq stem (or stem "{stem}"))
-  (setq firstargs (or firstargs "{firstargs}"))
-  (apply 'find-elinks-elisp `(
-    ;; Convention: the first sexp always regenerates the buffer.
-    (find-pdflikedef-links ,stem ,firstargs ,@rest)
-    (find-efunction 'find-pdflikedef-links)
-    (emacs-lisp-mode)
-    ;; Body:
-    ""
-    ,(ee-template0 "\
-;; (find-efunction 'code-{stem})
-
-;; find-{stem}page
-;; find-{stem}-page
-;; code-{stem}
-;;
-\(defalias 'find-{stem}page
-          'find-{stem}-page)
-\(defun     find-{stem}-page (fname &optional page &rest rest)
-  (find-bgprocess (ee-find-{stem}-page fname page)))
-\(defvar ee-find-{stem}-page-options '())
-\(defun  ee-find-{stem}-page (fname &optional page)
-  `(\"{stem}\"
-    ,@ee-find-{stem}-page-options
-    ,@(if page `(,(format \"--page=%d\" page)))
-    ,fname))
-
-\(defun      code-{stem} ({firstargs} &rest rest)
-  (eval (ee-read      (apply 'ee-code-{stem} {firstargs} rest))))
-\(defun find-code-{stem} ({firstargs} &rest rest)
-  (find-estring-elisp (apply 'ee-code-{stem} {firstargs} rest)))
-\(defun   ee-code-{stem} ({firstargs} &rest rest)
-  (concat (ee-template0 \"\\
-\\(defun find-{<}c{>}page (&optional page &rest rest)
-  (find-{stem}-page {<}(ee-pp0 fname){>} page))
-{<}(ee-code-pdftext-rest rest){>}
-\")  (ee-code-pdftext-rest rest)))
-
-\(code-brfile 'find-xpdf-page :local 'brxpdfl :dired 'brxpdfl)
-
-
-;; Tests:
-;; (find-epp (ee-find-{stem}-page \"/tmp/foo.pdf\"))
-;; (find-epp (ee-find-{stem}-page \"/tmp/foo.pdf\" 2))
-;;           (find-{stem}-page    \"/tmp/foo.pdf\")
-;;           (find-{stem}-page    \"/tmp/foo.pdf\" 2)
-;;
-;;      (find-code-{stem} \"foo\"   \"/tmp/foo.pdf\")
-;;           (code-{stem} \"foo\"   \"/tmp/foo.pdf\")
-;;                 (find-foopage)
-;;                 (find-foopage 2)
-;;      (code-pdftotext \"foo\"   \"/tmp/foo.pdf\")
-")
-    ) rest))
-
-;; (find-pdflikedef-links "djvu" "c fname")
-;; (find-efunctionpp 'find-pdflikedef-links)
-
-
-
-
 ;;;                       _                    _           
 ;;;   ___  _____   __    | |__   ___  __ _  __| | ___ _ __ 
 ;;;  / _ \/ _ \ \ / /____| '_ \ / _ \/ _` |/ _` |/ _ \ '__|
@@ -1147,10 +1076,11 @@ cd {dir}
 "See: (find-psne-intro)"
   (interactive)
   (setq url (or url "{url}"))
-  (setq wget-options (or wget-options ""))
+  (setq wget-options (or wget-options "-nc"))
   (apply 'find-elinks
    `((find-psne-links ,url ,wget-options ,@pos-spec-list)
      (find-psne-links ,url "-c" ,@pos-spec-list)
+     (find-psne-links ,url "" ,@pos-spec-list)
      ;; Convention: the first sexp always regenerates the buffer.
      (find-efunction 'find-psne-links)
      ""
@@ -1458,7 +1388,7 @@ Warning: the last one is in Portuguese..."
  (eepitch-shell2)
 mkdir -p $S/http/angg.twu.net/eev-videos/
 cd       $S/http/angg.twu.net/eev-videos/
-wget  -c 'http://angg.twu.net/eev-videos/{anggstem}.mp4'
+wget -nc 'http://angg.twu.net/eev-videos/{anggstem}.mp4'
 echo     'http://angg.twu.net/eev-videos/{anggstem}.mp4' >> ~/.psne.log
 
 # Test:
@@ -1945,6 +1875,75 @@ dofile \\\"%s\\\"
 
 
 
+;;;  _____   __  ___     _           
+;;; |_   _|__\ \/ / |   (_)_   _____ 
+;;;   | |/ _ \\  /| |   | \ \ / / _ \
+;;;   | |  __//  \| |___| |\ V /  __/
+;;;   |_|\___/_/\_\_____|_| \_/ \___|
+;;;                                  
+;; «find-texlive-links»  (to ".find-texlive-links")
+
+(defun find-texlive-links (&optional date &rest pos-spec-list)
+"Visit a temporary buffer containing an e-script for installing texlive from 
upstream."
+  (interactive)
+  (setq date (or date "{date}"))
+  (apply 'find-elinks
+   `((find-texlive-links ,date ,@pos-spec-list)
+     ;; Convention: the first sexp always regenerates the buffer.
+     (find-texlive-links "20190809")
+     (find-efunction 'find-texlive-links)
+     ""
+     ,(ee-template0 "\
+# https://www.tug.org/texlive/
+# https://www.tug.org/texlive/acquire-netinstall.html
+# https://www.tug.org/texlive/quickinstall.html
+# http://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz
+#   (find-fline \"$S/http/mirror.ctan.org/systems/texlive/tlnet/\")
+#   (find-fline 
\"$S/http/mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz\")
+# https://www.tug.org/texlive/doc/install-tl.html
+# (find-fline \"~/usrc/\" \"install-tl-\")
+# (find-fline \"~/.texlive2018/\")
+# (find-fline \"~/.texlive2019/\")
+# (find-fline \"/usr/local/texlive/2018/\")
+# (find-fline \"/usr/local/texlive/2019/\")
+# (find-fline \"/usr/local/texlive/2019/\" \"install-tl.log\")
+# (find-fline \"/usr/local/texlive/2019/release-texlive.txt\")
+
+ (eepitch-shell2)
+ (eepitch-kill)
+ (eepitch-shell2)
+# rm -rfv ~/.texlive2018/
+# sudo rm -rfv /usr/local/texlive/2018/
+
+mkdir -p $S/http/mirror.ctan.org/systems/texlive/tlnet/
+cd       $S/http/mirror.ctan.org/systems/texlive/tlnet/
+rm -fv   $S/http/mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz
+wget      http://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz
+echo      http://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz 
>> ~/.psne.log
+# (find-fline 
\"$S/http/mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz\")
+# ^ Check the date here and adjust the {<}date{>} parameter of the template
+
+rm -Rfv ~/usrc/install-tl-{date}/
+mkdir   ~/usrc/
+tar  -C ~/usrc/ -xvzf \
+  $S/http/mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz
+cd      ~/usrc/install-tl-{date}/
+# sudo ./install-tl
+sudo ./install-tl -select-repository
+
+# (code-c-d \"tlinstall\" \"~/usrc/install-tl-{date}/\")
+# (find-tlinstallfile \"\")
+# (find-tlinstallfile \"install-tl.log\")
+# (find-tlinstallfile \"install-tl\")
+# https://www.tug.org/texlive/doc/install-tl.html
+
+")
+     )
+   pos-spec-list))
+
+;; Test: (find-texlive-links)
+
+
 
 
 
diff --git a/eev.el b/eev.el
index e1c3314..38f9902 100644
--- a/eev.el
+++ b/eev.el
@@ -6,7 +6,7 @@
 ;; Package-Requires: ((emacs "24.1"))
 ;; Keywords: lisp e-scripts
 ;; URL: http://angg.twu.net/#eev
-;; Version: 20200928
+;; Version: 20201013
 
 ;; 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



reply via email to

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