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

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

[elpa] externals/eev 3c15e4b 4/4: Merge remote-tracking branch 'eev/UTF-


From: Stefan Monnier
Subject: [elpa] externals/eev 3c15e4b 4/4: Merge remote-tracking branch 'eev/UTF-8' into externals/eev
Date: Mon, 10 Jun 2019 19:15:05 -0400 (EDT)

branch: externals/eev
commit 3c15e4bf58014a8bf5edffefde2e1858793d30f6
Merge: bd72cc1 e9996db
Author: Stefan Monnier <address@hidden>
Commit: Stefan Monnier <address@hidden>

    Merge remote-tracking branch 'eev/UTF-8' into externals/eev
---
 ChangeLog     | 17 +++++++++++
 VERSION       |  4 +--
 eev-elinks.el | 63 ++++++++++++++++++++++++++++++++++++---
 eev-intro.el  | 96 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-----
 eev-mode.el   |  4 +--
 eev.el        |  2 +-
 6 files changed, 170 insertions(+), 16 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index b4302a9..21581bc 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,20 @@
+2019-06-10  Eduardo Ochs  <address@hidden>
+
+       * eev-elinks.el (find-code-pdf-links): new function.
+       (find-pdf-links): new function.
+       (ee-pdflike-page-links): use `code-pdf-page' instead of
+       `code-pdf'.
+
+       * eev-mode.el (eev-mode-map-set): now `M-h M-p' is bound to
+       `find-pdf-links'.
+
+       * .dir-locals.el: new file.
+
+2019-05-24  Eduardo Ochs  <address@hidden>
+
+       * eev-elinks.el (find-efunction-links): added an `eek' link.
+       (find-evariable-links): added an ``eek' link.
+
 2019-05-17  Eduardo Ochs  <address@hidden>
 
        * eev-elinks.el (find-here-links-3): new function.
diff --git a/VERSION b/VERSION
index 1ea0fe5..d4bd991 100644
--- a/VERSION
+++ b/VERSION
@@ -1,2 +1,2 @@
-Fri May 17 07:17:49 GMT 2019
-Fri May 17 04:17:49 -03 2019
+Mon Jun 10 05:57:06 GMT 2019
+Mon Jun 10 02:57:06 -03 2019
diff --git a/eev-elinks.el b/eev-elinks.el
index e330221..0c399be 100644
--- a/eev-elinks.el
+++ b/eev-elinks.el
@@ -19,7 +19,7 @@
 ;;
 ;; Author:     Eduardo Ochs <address@hidden>
 ;; Maintainer: Eduardo Ochs <address@hidden>
-;; Version:    2019may17
+;; Version:    2019jun10
 ;; Keywords:   e-scripts
 ;;
 ;; Latest version: <http://angg.twu.net/eev-current/eev-elinks.el>
@@ -76,6 +76,9 @@
 
 ;; «.find-here-links»          (to "find-here-links")
 
+;; «.find-code-c-d-links»      (to "find-code-c-d-links")
+;; «.find-code-pdf-links»      (to "find-code-pdf-links")
+;; «.find-pdf-links»           (to "find-pdf-links")
 
 
 
@@ -229,6 +232,7 @@ The buffer is put in Emacs Lisp mode."
   (interactive (find-function-read))
   (apply 'find-elinks
    `((find-efunction-links ',f ,@pos-spec-list)
+     (eek ,(format "M-h M-f  %s" f))
      ,@(ee-find-efunction-links f)
      )
    pos-spec-list))
@@ -267,7 +271,7 @@ This is an internal function used by `find-efunction-links' 
and
 ;; «find-evariable-links» (to ".find-evariable-links")
 ;; (find-find-links-links "\\M-v" "evariable" "var")
 ;; A test: (find-evariable-links 'line-move-visual)
-;;                  (eek "M-h M-v line-move-visual")
+;;                 (eek "M-h M-v  line-move-visual")
 
 ;; Moved to eev-mode.el:
 ;; (define-key eev-mode-map "\M-h\M-v" 'find-evariable-links)
@@ -278,6 +282,7 @@ This is an internal function used by `find-efunction-links' 
and
   (interactive (find-function-read 'variable))
   (apply 'find-elinks
    `((find-evariable-links ',var ,@pos-spec-list)
+     (eek ,(format "M-h M-v  %s" var))
      ;; Convention: the first sexp always regenerates the buffer.
      ,var
      (describe-variable ',var)
@@ -919,7 +924,7 @@ when this is true remove the prefix D from FNAME, and put 
the sexp
       (,find-cpage (+ ,offset ,page-) ,kill)
       (,find-ctext (+ ,offset ,page-) ,kill)
       ""
-      (code-pdf ,c ,fname)
+      (code-pdf-page ,c ,fname)
       (code-pdf-text ,c ,fname ,offset)
       ,(ee-HS bufname)
       )))
@@ -954,7 +959,7 @@ See: (find-pdf-like-intro)
       (,find-cpage (+ ,offset ,page-) ,kill)
       (,find-ctext (+ ,offset ,page-) ,kill)
       ""
-      (code-pdf ,c ,fname)
+      (code-pdf-page ,c ,fname)
       (code-pdf-text ,c ,fname ,offset)
       ,(ee-HS bufname)
     ) rest)
@@ -962,6 +967,8 @@ See: (find-pdf-like-intro)
     (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'")
       ""
       ,@(ee-pdflike-page-links page bufname offset)
       ) rest)
@@ -1291,6 +1298,54 @@ This needs a temporary directory; see: 
(find-prepared-intro)"
 
 
 
+;;;   __ _           _                     _                 _ _       _       
 
+;;;  / _(_)_ __   __| |       ___ ___   __| | _____/\__     | (_)_ __ | | 
_____ 
+;;; | |_| | '_ \ / _` |_____ / __/ _ \ / _` |/ _ \    /_____| | | '_ \| |/ / 
__|
+;;; |  _| | | | | (_| |_____| (_| (_) | (_| |  __/_  _\_____| | | | | |   <\__ 
\
+;;; |_| |_|_| |_|\__,_|      \___\___/ \__,_|\___| \/       |_|_|_| 
|_|_|\_\___/
+;;;                                                                            
 
+;; «find-code-c-d-links»  (to ".find-code-c-d-links")
+
+;; «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")
+
+(defun find-code-pdf-links (&optional fname c &rest pos-spec-list)
+"Visit a temporary buffer containing hyperlinks and `code-pdf-*'s to a PDF 
file."
+  (interactive (list (and (eq major-mode 'dired-mode) (ee-dired-to-fname))))
+  (setq fname (or fname "{fname}"))
+  (setq c (or c "{c}"))
+  (let ((dir (file-name-directory fname)))
+    (apply 'find-elinks-elisp
+     `((find-code-pdf-links ,fname ,c ,@pos-spec-list)
+       ;; Convention: the first sexp always regenerates the buffer.
+       ;; (find-efunction 'find-code-pdf-links)
+       ,(ee-template0 "\
+;; See: (find-eev-quick-intro \"9.3. Hyperlinks to PDF files\")
+;;      (find-eev-quick-intro \"9.4. Shorter hyperlinks to PDF files\")
+
+;; (find-fline {(ee-S (file-name-directory fname))})
+;; (find-pdf-page \"{fname}\")
+;; (find-pdf-text \"{fname}\")
+\(code-pdf-page \"{c}\" \"{fname}\")
+\(code-pdf-text \"{c}\" \"{fname}\")
+;; \(find-{c}page)
+;; \(find-{c}text)
+")
+       )
+     pos-spec-list)))
+
+;; «find-pdf-links»  (to ".find-pdf-links")
+;;
+(defun find-pdf-links ()
+"Run either `find-code-pdf-links' or `find-pdflike-page-links'."
+  (interactive)
+  (if (eq major-mode 'dired-mode)
+      (find-code-pdf-links (ee-dired-to-fname))
+    (find-pdflike-page-links)))
+
 
 
 
diff --git a/eev-intro.el b/eev-intro.el
index 34ffd52..6ed227e 100644
--- a/eev-intro.el
+++ b/eev-intro.el
@@ -19,7 +19,7 @@
 ;;
 ;; Author:     Eduardo Ochs <address@hidden>
 ;; Maintainer: Eduardo Ochs <address@hidden>
-;; Version:    2019may17
+;; Version:    2019jun10
 ;; Keywords:   e-scripts
 ;;
 ;; Latest version: <http://angg.twu.net/eev-current/eev-intro.el>
@@ -1456,7 +1456,7 @@ what is important in that page); the second sexp goes to 
the page
 3 of the PDF converted to text, searches for the string \"LECTURE
 I.\" and places the cursor right after the end of it.
 
-In section 10.3 we will see how to generate with just a few
+In section 10.4 we will see how to generate with just a few
 keystrokes a short hyperlink to a page of a PDF and a short
 hyperlink to a string in a page of a PDF.
 
@@ -1572,11 +1572,10 @@ trick uses the second link. Run this,
 
 mark a piece of text in it - for example, the \"no punishment\"
 in the end of the first paragraph - and copy it to the kill ring
-with `M-w'. Then type `M-h M-p' (`find-pdflike-page-links'); note
-that `M-h M-h' won't work here because `find-here-links' is not
-smart enough to detect that we are on a PDF converted to text.
-You will get an \"*Elisp hyperlinks*\" buffer that contains these
-links:
+with `M-w'. Then type `M-h M-p' (`find-pdf-links'); note that
+`M-h M-h' won't work here because `find-here-links' is not smart
+enough to detect that we are on a PDF converted to text. You will
+get an \"*Elisp hyperlinks*\" buffer that contains these links:
 
   # (find-livesofanimalspage 24)
   # (find-livesofanimalstext 24)
@@ -1596,6 +1595,8 @@ Remember that we called `code-pdf-page' and 
`code-pdf-text' as:
 The extra argument \"-110\" to `code-pdf-text' tells `M-h M-p' to
 used \"-110\" as the offset.
 
+See the section 11.1 for more on `M-h M-p'.
+
 
 
 
@@ -1606,6 +1607,77 @@ used \"-110\" as the offset.
 
 
 
+
+11. Generating `code-c-d's and friends
+======================================
+There are two main ways to generate lines like these
+
+  (code-c-d      \"asy\" \"/usr/local/texlive/2019/texmf-dist/doc/asymptote/\")
+  (code-pdf-page \"asy\" 
\"/usr/local/texlive/2019/texmf-dist/doc/asymptote/asymptote.pdf\")
+  (code-pdf-text \"asy\" 
\"/usr/local/texlive/2019/texmf-dist/doc/asymptote/asymptote.pdf\")
+
+without having to type much. One way, that is somewhat confusing,
+is with `M-C' (`eewrap-code-c-d') and `M-P' (`eewrap-pdflike');
+you can test it by running the `eek' sexps below:
+
+  (eek \"<down> M-C\")
+  asy /usr/local/texlive/2019/texmf-dist/doc/asymptote/
+
+  (eek \"<down> M-P\")
+  asy /usr/local/texlive/2019/texmf-dist/doc/asymptote/asymptote.pdf
+
+We will only discuss here the other way.
+
+
+
+11.1. `find-pdf-links'
+----------------------
+Let's call a pair of lines like this,
+
+  (code-pdf-page \"asy\" 
\"/usr/local/texlive/2019/texmf-dist/doc/asymptote/asymptote.pdf\")
+  (code-pdf-text \"asy\" 
\"/usr/local/texlive/2019/texmf-dist/doc/asymptote/asymptote.pdf\")
+
+in which we have a call to `code-pdf-page' and a call to
+`code-pdf-text', both pointing to the same PDF file, a \"code-pdf
+pair\". One quick way to generate a code-pdf pair is to visit the
+directory where your PDF file is, put the point on the line of
+the PDF, and type `M-h M-p' (`find-pdf-links'). Try it here:
+
+  (find-fline \"$S/https/tannerlectures.utah.edu/_documents/a-to-z/c/\")
+
+The exact action of `M-h M-p' depends on the major mode. If
+you're in dired mode then it supposes that you want links to the
+PDF on the current line, including a code-pdf pair, and it runs
+`find-code-pdf-links'. The first line of the buffer will be
+something like:
+
+  ;; (find-code-pdf-links 
\"$S/https/tannerlectures.utah.edu/_documents/a-to-z/c/Coetzee99.pdf\" \"{c}\")
+
+where the \"{c}\" is something that you have to adjust by hand
+and then execute the first line again to regenerate the buffer -
+like in `find-latex-links', that was described in section 7.5.
+
+If you're not it dired mode then `find-pdf-links' supposes that
+you're in a buffer generated by a short hyperlink to the text of
+a PDF file, and it runs the function `find-pdflike-page-links'.
+Try `M-h M-p' in the buffer generated by the sexp below:
+
+  (find-livesofanimalstext (+ -110 134))
+
+`find-pdflike-page-links' is not very smart. It has to guess the
+stem (\"livesofanimals\"), the offset (-110), the current page,
+and the string that you want to use in the pos-spec. It takes the
+stem and the offset from the global variables `ee-page-c' and
+`ee-page-offset', that probably were set by the last call to a
+function of the form `find-___text', and it guesses the current
+page by counting formfeeds, and guesses that the pos-spec string
+is in the top of the kill ring.
+
+
+
+
+
+
 \(To be continued...)
 " pos-spec-list)))
 
@@ -3092,6 +3164,16 @@ documentation and examples in the comments of the source 
files.)
 
 
 
+10.4. Quote and backquote
+-------------------------
+Eev uses backquote a lot and avoids macros.
+
+  (find-elnode \"Backquote\")
+  (find-elnode \"Macros\")
+
+
+
+
 
 
 11. What else?
diff --git a/eev-mode.el b/eev-mode.el
index a7dc1a5..62cbb4f 100644
--- a/eev-mode.el
+++ b/eev-mode.el
@@ -19,7 +19,7 @@
 ;;
 ;; Author:     Eduardo Ochs <address@hidden>
 ;; Maintainer: Eduardo Ochs <address@hidden>
-;; Version:    2019apr24
+;; Version:    2019jun10
 ;; Keywords:   e-scripts
 ;;
 ;; Latest version: <http://angg.twu.net/eev-current/eev-mode.el>
@@ -123,7 +123,7 @@ and: (find-eval-intro \"`M-k'\")"
   (define-key eev-mode-map "\M-h\M-i" 'find-eintro-or-einfo-links)
   (define-key eev-mode-map "\M-h\M-k" 'find-ekey-links)
   (define-key eev-mode-map "\M-h\M-n" 'find-eunicodeucs)
-  (define-key eev-mode-map "\M-h\M-p" 'find-pdflike-page-links)
+  (define-key eev-mode-map "\M-h\M-p" 'find-pdf-links)
   (define-key eev-mode-map "\M-h\M-v" 'find-evariable-links)
   (define-key eev-mode-map "\M-hf"    'find-file-links)
   (define-key eev-mode-map "\M-hM"    'find-ekbmacro-links)
diff --git a/eev.el b/eev.el
index 73a24dd..d169412 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: 20190425
+;; Version: 20190517
 
 ;; 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]