[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/eev c77ca3b 27/64: Rewrote eev-pdflike.el, added sectio
From: |
Stefan Monnier |
Subject: |
[elpa] externals/eev c77ca3b 27/64: Rewrote eev-pdflike.el, added sections about it to (find-eev-quick-intro). |
Date: |
Sun, 7 Apr 2019 16:59:06 -0400 (EDT) |
branch: externals/eev
commit c77ca3b65de5c21dc504558018b170877e67c8c5
Author: Eduardo Ochs <address@hidden>
Commit: Eduardo Ochs <address@hidden>
Rewrote eev-pdflike.el, added sections about it to (find-eev-quick-intro).
---
ChangeLog | 31 ++
eev-intro.el | 98 ++++-
eev-load.el | 10 +-
eev-mode.el | 4 +-
eev-pdflike.el => eev-pdflike-old.el | 0
eev-pdflike.el | 687 +++++++++++++++++++----------------
eev-plinks.el | 6 +-
eev-rcirc.el | 71 +++-
8 files changed, 557 insertions(+), 350 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index ab3c686..7918d1d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,34 @@
+2019-01-29 Eduardo Ochs <address@hidden>
+
+ * eev-load.el: new file.
+
+ * eev-intro.el (find-eev-quick-intro): Added two new sections:
+ "9.3. Hyperlinks to PDF files" and "9.4. Shorter hyperlinks to PDF
+ files".
+
+ * eev-pdflike.el: TOTAL REWRITE. The old version was renamed to
+ eev-pdflike-old.el and will be deleted at some point in the
+ future.
+ (code-xxxpdf-family): new function.
+ (code-xxxpdftext-family): new function.
+ (code-xxxpdf-alias): new function.
+
+ * eev-pdflike-old.el: new file.
+
+ * eev-rcirc.el (find-freenode-2a): new function.
+ (find-freenode-links): rewrote completely.
+
+2019-01-28 Eduardo Ochs <address@hidden>
+
+ * eev-rcirc.el (ee-buffer-freenode-channel-name): new function.
+
+2019-01-24 Eduardo Ochs <address@hidden>
+
+ * eev-pdflike.el (ee-find-pdf-text): new function - an alias to
+ `ee-find-pdftotext-text'.
+ (ee-find-pdf-page): new function - an alias to
+ `ee-find-xpdf-page'.
+
2019-01-23 Eduardo Ochs <address@hidden>
* eev-intro.el (find-eev-quick-intro): added sections "3.1.
diff --git a/eev-intro.el b/eev-intro.el
index 372bfbb..f6c5dc0 100644
--- a/eev-intro.el
+++ b/eev-intro.el
@@ -20,7 +20,7 @@
;;
;; Author: Eduardo Ochs <address@hidden>
;; Maintainer: Eduardo Ochs <address@hidden>
-;; Version: 2019jan23
+;; Version: 2019jan29
;; Keywords: e-scripts
;;
;; Latest version: <http://angg.twu.net/eev-current/eev-intro.el>
@@ -6896,12 +6896,108 @@ and that code
run: (find-eevfile \"eev-blinks.el\" \"�find-wottb�\")
or actually: (find-anchor (ee-eevfile \"eev-blinks.el\") \"find-wottb\")
+Calls to `find-eev' are \"short hyperlinks to anchors\":
+
+ (find-eev \"eev-blinks.el\" \"find-wottb\")
+ (find-eev \"eev-blinks.el\" \"find-wottb\" \"defun find-wottb-call\")
+
For the technical details of the implementation, see here:
(find-code-c-d-intro \"Extra arguments to `code-c-d'\")
+9.3. Hyperlinks to PDF files
+----------------------------
+If you run this e-script
+
+ (eepitch-shell)
+ (eepitch-kill)
+ (eepitch-shell)
+# https://tannerlectures.utah.edu/_documents/a-to-z/c/Coetzee99.pdf
+mkdir -p $S/https/tannerlectures.utah.edu/_documents/a-to-z/c/
+cd $S/https/tannerlectures.utah.edu/_documents/a-to-z/c/
+wget -nc https://tannerlectures.utah.edu/_documents/a-to-z/c/Coetzee99.pdf
+
+you will download a local copy of J.M. Coetzee's \"The Lives of
+Animals\" into this directory:
+
+ (find-fline \"$S/https/tannerlectures.utah.edu/_documents/a-to-z/c/\")
+ (find-fline \"~/snarf/https/tannerlectures.utah.edu/_documents/a-to-z/c/\")
+
+The full idea behind these \"local copies\" is explained here:
+
+ (find-psne-intro)
+
+If you have xpdf installed then the second sexp here,
+
+ (setq l-o-a
\"$S/https/tannerlectures.utah.edu/_documents/a-to-z/c/Coetzee99.pdf\")
+ (find-pdf-page l-o-a)
+
+should work as a \"hyperlink to the PDF\": it calls xpdf as
+external program to open that PDF file. The main keys of xpdf
+are:
+
+ q quit xpdf
+ alt-f toggle full-screen; use twice to fit document to page
+ PageDown scroll down/go to next page
+ PageUp scroll up/go to previous page
+ 0 set zoom to 125%
+ + zoom in one step
+ - zoom out out step
+ arrows scroll within the current page
+
+Also, if you have the program pdftotext installed (hint: apt-get
+install poppler-utils!) then this
+
+ (find-pdf-text l-o-a)
+
+should work as a \"hyperlink to the text of the PDF\".
+
+You can use these two sexps
+
+ (ee-find-pdf-text l-o-a)
+ (ee-find-pdf-page l-o-a)
+
+to see exactly how the `find-pdf-page' and the `find-pdf-text'
+sexps above invoke xpdf and pdftotext; note that `find-pdf-page'
+uses `find-bgprocess' and `find-pdf-text' uses `find-sh'.
+
+The functions above accept extra arguments, that are interpreted
+as a page number and as strings to look for, but it's easier to
+discuss them using shorter hyperlinks.
+
+
+
+
+9.4. Shorter hyperlinks to PDF files
+------------------------------------
+If you run these sexps
+
+ (code-pdf-page \"livesofanimals\" l-o-a)
+ (code-pdf-text \"livesofanimals\" l-o-a -110)
+
+then these hyperlinks should work:
+
+ (find-livesofanimalspage (+ -110 127) \"wrong thoughts\")
+ (find-livesofanimalstext (+ -110 127) \"wrong thoughts\")
+ (find-livesofanimalspage (+ -110 132) \"into the place of their victims\")
+ (find-livesofanimalstext (+ -110 132) \"into the place of their victims\")
+ (find-livesofanimalspage (+ -110 134) \"woke up haggard in the mornings\")
+ (find-livesofanimalstext (+ -110 134) \"woke up haggard in the mornings\")
+ (find-livesofanimalspage (+ -110 143) \"Babies have no self-consciousness\")
+ (find-livesofanimalstext (+ -110 143) \"Babies have no self-consciousness\")
+ (find-livesofanimalspage (+ -110 145) \"squirrel doing its thinking\")
+ (find-livesofanimalstext (+ -110 145) \"squirrel doing its thinking\")
+ (find-livesofanimalspage (+ -110 147) \"Rilke's panther\")
+ (find-livesofanimalstext (+ -110 147) \"Rilke's panther\")
+ (find-livesofanimalspage (+ -110 162) \"a grasp of the meaning\")
+ (find-livesofanimalstext (+ -110 162) \"a grasp of the meaning\")
+ (find-livesofanimalspage (+ -110 164) \"last common ground\")
+ (find-livesofanimalstext (+ -110 164) \"last common ground\")
+
+[To do: explain them]
+
diff --git a/eev-load.el b/eev-load.el
index 68d418b..85357f6 100644
--- a/eev-load.el
+++ b/eev-load.el
@@ -20,7 +20,7 @@
;;
;; Author: Eduardo Ochs <address@hidden>
;; Maintainer: Eduardo Ochs <address@hidden>
-;; Version: 2019jan23
+;; Version: 2019jan29
;; Keywords: e-scripts
;;
;; Supersedes: (find-eev "eev-all.el")
@@ -34,6 +34,11 @@
;;; Commentary:
+;; This file loads all the main modules of eev, and people who want to
+;; read the source can use this as an index to them. The modules are
+;; loaded more or less in the order that they are mentioned here:
+;; (find-eev-quick-intro)
+
;; The "eev quick intro" itself, and many other intros:
(require 'eev-intro) ; (find-eev "eev-intro.el")
;;
@@ -75,14 +80,15 @@
;; Shorter hyperlinks and how to mass-produce them:
;; (find-eev-quick-intro "9. Shorter hyperlinks")
;; (find-code-c-d-intro "\nShorter hyperlinks\n")
+;; (find-eev-quick-intro "9.3. Hyperlinks to PDF files")
(require 'eev-code) ; (find-eev "eev-code.el")
-(require 'eev-brxxx) ; (find-eev "eev-brxxx.el")
(require 'eev-pdflike) ; (find-eev "eev-pdflike.el")
;;
;; (I need to write comments for these)
(require 'eev-codings) ; (find-eev "eev-codings.el")
(require 'eev-env) ; (find-eev "eev-env.el")
(require 'eev-edit) ; (find-eev "eev-edit.el")
+(require 'eev-brxxx) ; (find-eev "eev-brxxx.el")
;;
;; Advanced (and hard to use) features that may require creating a
;; temporary directory, patching rcfiles, and installing Expect
diff --git a/eev-mode.el b/eev-mode.el
index f7465bb..05dfa07 100644
--- a/eev-mode.el
+++ b/eev-mode.el
@@ -164,8 +164,8 @@ Commands to return from hyperlinks:
\\[bury-buffer] -- put this buffer at the end of the list of all buffers
See: (find-eval-intro \"\\nGoing back\\n\")
Other very very important commands:
- \\[eejump] -- jump to where the main eejump targets are defined
- M-5 \\[eejump] -- jump to the index of all sandbox tutorials for eev
+ \\[eejump] -- jump to the list of eejump targets
+ M-5 \\[eejump] -- jump to the tutorial at (find-eev-quick-intro)
See: (find-eejump-intro)
\\[eepitch-this-line] -- pitch this line to another Emacs buffer,
or execute it as lisp if it starts with `'
diff --git a/eev-pdflike.el b/eev-pdflike-old.el
similarity index 100%
copy from eev-pdflike.el
copy to eev-pdflike-old.el
diff --git a/eev-pdflike.el b/eev-pdflike.el
index 7df0197..516aeb3 100644
--- a/eev-pdflike.el
+++ b/eev-pdflike.el
@@ -1,6 +1,6 @@
;;; eev-pdflike.el -- hyperlinks to documents made of pages.
-;; Copyright (C) 2012,2013 Free Software Foundation, Inc.
+;; Copyright (C) 2012,2013,2019 Free Software Foundation, Inc.
;;
;; This file is (not yet?) part of GNU eev.
;;
@@ -19,7 +19,7 @@
;;
;; Author: Eduardo Ochs <address@hidden>
;; Maintainer: Eduardo Ochs <address@hidden>
-;; Version: 2014mar05
+;; Version: 2019jan29
;; Keywords: e-scripts
;;
;; Latest version: <http://angg.twu.net/eev-current/eev-pdflike.el>
@@ -32,275 +32,132 @@
;;; Commentary:
-
-
-
-;; (code-brfile 'find-fline :local 'brfl)
-;; (code-brfile 'find-xpdfpage :local 'brxpdf :dired 'brxpdfd)
-;; (code-brurl 'find-firefox :remote 'brm :local 'brml :dired 'brmd)
-
-
-(require 'eev-brxxx)
-
-;;; _ _ _
-;;; __ ____ _ _ __(_) __ _| |__ | | ___ ___
-;;; \ \ / / _` | '__| |/ _` | '_ \| |/ _ \/ __|
-;;; \ V / (_| | | | | (_| | |_) | | __/\__ \
-;;; \_/ \__,_|_| |_|\__,_|_.__/|_|\___||___/
+;; 2019jan25: I rewrote most of this file. The comments below are new.
+;; There may be bugs. The old version of this file has renamed to
+;; "eev-pdflike-old.el". See:
;;
-(defvar ee-page-c "{?}")
-(defvar ee-page-fname "{?}")
-(defvar ee-page-offset 0)
-
-
-
-
-
-;;; ____ ____ _____ _ _ _
-;;; | _ \| _ \| ___| | (_) | _____
-;;; | |_) | | | | |_ _____| | | |/ / _ \
-;;; | __/| |_| | _|_____| | | < __/
-;;; |_| |____/|_| |_|_|_|\_\___|
-;;;
-;; See: (find-pdf-like-intro)
-
-
-(defun ee-code-pdftext-rest (rest)
- (ee-template0 "
-;; {(ee-S `(ee-code-pdftext-rest ,@rest))}
-"))
-
-
-;;; _ __
-;;; __ ___ __ __| |/ _|
-;;; \ \/ / '_ \ / _` | |_
-;;; > <| |_) | (_| | _|
-;;; /_/\_\ .__/ \__,_|_|
-;;; |_|
+;; (find-eev "eev-pdflike-old.el")
;;
-;; (find-pdflikedef-links "xpdf" "c fname")
+;; The main ideas are explained here:
;;
-;; find-xpdfpage
-;; find-xpdf-page
-;; code-xpdf
+;; (find-eev-quick-intro "9.3. Hyperlinks to PDF files")
;;
-(defalias 'find-xpdfpage
- 'find-xpdf-page)
-(defun find-xpdf-page (fname &optional page &rest rest)
- (find-bgprocess (ee-find-xpdf-page fname page)))
-(defvar ee-find-xpdf-page-options '())
-(defun ee-find-xpdf-page (fname &optional page)
- `("xpdf"
- ,@ee-find-xpdf-page-options
- ,fname
- ,@(if page `(,(format "%d" page)))
- ))
-
-(defun code-xpdf (c fname &rest rest)
- (eval (ee-read (apply 'ee-code-xpdf c fname rest))))
-(defun find-code-xpdf (c fname &rest rest)
- (find-estring-elisp (apply 'ee-code-xpdf c fname rest)))
-(defun ee-code-xpdf (c fname &rest rest)
- (concat (ee-template0 "\
-;; {(ee-S `(find-code-xpdf ,c ,fname ,@rest))}
+;; The functions whose names end with a <suffix> like "xpdf-page" call
+;; one another according to this diagram:
;;
-\(setq ee-pdflike-last 'find-{c}page)
-\(defun find-{c}page (&optional page &rest rest)
- (setq ee-pdflike-last 'find-{c}page)
- (find-xpdf-page {(ee-pp0 fname)} page))
-") (ee-code-pdftext-rest rest)))
-
-(code-brfile 'find-xpdf-page :local 'brxpdfl :dired 'brxpdfd)
-
-
-
-;;; _ __
-;;; _ __ __| |/ _|
-;;; | '_ \ / _` | |_
-;;; | |_) | (_| | _|
-;;; | .__/ \__,_|_|
-;;; |_|
+;; find-<suffix> --> ee-find-<suffix>
+;; ^
+;; :
+;; code-<suffix> --> ee-code-<suffix>
+;; ^
+;; |
+;; find-code-<suffix>
;;
-(defalias 'find-pdfpage 'find-xpdfpage)
-(defalias 'find-pdf-page 'find-xpdf-page)
-(defalias 'code-pdf 'code-xpdf)
-(defalias 'find-code-pdf 'find-code-xpdf)
-
-
-
-;;; _
-;;; _____ _(_)_ __ ___ ___
-;;; / _ \ \ / / | '_ \ / __/ _ \
-;;; | __/\ V /| | | | | (_| __/
-;;; \___| \_/ |_|_| |_|\___\___|
-;;;
+;; note that "->" means "calls", and "..>" means "produces elisp code
+;; that calls". The main <suffix>es are:
;;
-;; (find-pdflikedef-links "evince" "c fname")
-;; (find-man "1 evince")
+;; xpdf-page
+;; pdf-page
+;; pdf-text
;;
-;; find-evincepage
-;; find-evince-page
-;; code-evince
+;; there are also these suffixes, for programs that I use much less:
;;
-(defalias 'find-evincepage
- 'find-evince-page)
-(defun find-evince-page (fname &optional page &rest rest)
- (find-bgprocess (ee-find-evince-page fname page)))
-(defvar ee-find-evince-page-options '())
-(defun ee-find-evince-page (fname &optional page)
- `("evince"
- ,@ee-find-evince-page-options
- ;; ,@(if page `(,(format "--page-label=%d" page)))
- ,@(if page `(,(format "--page-index=%d" page)))
- ,fname))
-
-(defun code-evince (c fname &rest rest)
- (eval (ee-read (apply 'ee-code-evince c fname rest))))
-(defun find-code-evince (c fname &rest rest)
- (find-estring-elisp (apply 'ee-code-evince c fname rest)))
-(defun ee-code-evince (c fname &rest rest)
- (concat (ee-template0 "\
-\(defun find-{c}page (&optional page &rest rest)
- (find-evince-page {(ee-pp0 fname)} page))
-{(ee-code-pdftext-rest rest)}
-") (ee-code-pdftext-rest rest)))
-
-(code-brfile 'find-evince-page :local 'brevincel :dired 'brevinced)
-
-
-
-;;; _ _
-;;; __ ____| |_ _(_)
-;;; \ \/ / _` \ \ / / |
-;;; > < (_| |\ V /| |
-;;; /_/\_\__,_| \_/ |_|
-;;;
+;; xdvi-page
+;; djvu-page
+;; ps-page
+;; evince-page
;;
-;; (find-pdflikedef-links "xdvi" "c fname")
+;; FAMILIES. We call the five functions ending in "xpdf-page" the
+;; "xpdf-page family" - and the same for the other suffixes. The code
+;; for the xpdf-page family is very similar to the code for the
+;; pdf-text family. We use the templates in the "meta-tools" section
+;; below to generate the block of code for each family - except for
+;; the function `ee-find-<suffix>'. For example:
;;
-;; find-xdvipage
-;; find-xdvi-page
-;; code-xdvi
+;; (find-code-xxxpdf-family "xpdf-page")
;;
-(defalias 'find-xdvipage
- 'find-xdvi-page)
-(defun find-xdvi-page (fname &optional page &rest rest)
- (find-bgprocess (ee-find-xdvi-page fname page)))
-(defvar ee-find-xdvi-page-options '())
-(defun ee-find-xdvi-page (fname &optional page)
- `("xdvi"
- ,@ee-find-xdvi-page-options
- ,@(if page `(,(format "+%d" page)))
- ,fname))
-
-(defun code-xdvi (c fname &rest rest)
- (eval (ee-read (apply 'ee-code-xdvi c fname rest))))
-(defun find-code-xdvi (c fname &rest rest)
- (find-estring-elisp (apply 'ee-code-xdvi c fname rest)))
-(defun ee-code-xdvi (c fname &rest rest)
- (concat (ee-template0 "\
-\(defun find-{c}page (&optional page &rest rest)
- (find-xdvi-page {(ee-pp0 fname)} page))
-{(ee-code-pdftext-rest rest)}
-") (ee-code-pdftext-rest rest)))
-
-(code-brfile 'find-xdvi-page :local 'brxdvil :dired 'brxdvid)
-
-(defalias 'code-dvi 'code-xdvi)
-(defalias 'find-code-dvi 'find-code-xdvi)
-
-
-
-;;; _ _
-;;; __| |(_)_ ___ _
-;;; / _` || \ \ / / | | |
-;;; | (_| || |\ V /| |_| |
-;;; \__,_|/ | \_/ \__,_|
-;;; |__/
+;; CONVENTION ON HYPHENS. Note that if we run
;;
-;; (find-pdflikedef-links "djvu" "c fname")
+;; (code-pdf-page "livesofanimals" "/tmp/Coetzee99.pdf")
+;; (code-pdf-text "livesofanimals" "/tmp/Coetzee99.pdf")
+;; ;; (find-code-pdf-page "livesofanimals" "/tmp/Coetzee99.pdf")
+;; ;; (find-code-pdf-text "livesofanimals" "/tmp/Coetzee99.pdf")
;;
-;; find-djvupage
-;; find-djvu-page
-;; code-djvu
+;; this defines the functions `find-livesofanimalspage' and
+;; `find-livesofanimalstext'. I am trying to follow a convention in
+;; which function with two hyphens in their names, like
+;; `find-xpdf-page', are basic hyperlink functions like the ones
+;; defined in this file, and functions with only one hyphen in their
+;; names, like `find-livesofanimalspage', are short hyperlinks, as in:
;;
-(defalias 'find-djvupage
- 'find-djvu-page)
-(defun find-djvu-page (fname &optional page &rest rest)
- (ee-find-djvu-cleanup fname)
- (find-bgprocess (ee-find-djvu-page fname page)))
-(defvar ee-find-djvu-page-options '())
-(defun ee-find-djvu-page (fname &optional page)
- `("djview"
- ,@ee-find-djvu-page-options
- ,@(if page `(,(format "--page=%d" page)))
- ,fname))
-
-(defun code-djvu (c fname &rest rest)
- (eval (ee-read (apply 'ee-code-djvu c fname rest))))
-(defun find-code-djvu (c fname &rest rest)
- (find-estring-elisp (apply 'ee-code-djvu c fname rest)))
-(defun ee-code-djvu (c fname &rest rest)
- (concat (ee-template0 "\
-\(defun find-{c}page (&optional page &rest rest)
- (find-djvu-page {(ee-pp0 fname)} page))
-") (ee-code-pdftext-rest rest)))
-
-(defun ee-find-djvu-cleanup (&optional fname)
- "A hack: clean up djview's 'recentFiles=' line in the config file if
needed.")
-
-(code-brfile 'find-djvu-page :local 'brdjvul :dired 'brdjvud)
-
-
-
-
-;;;
-;;; _ __ ___
-;;; | '_ \/ __|
-;;; | |_) \__ \
-;;; | .__/|___/
-;;; |_|
+;; (find-eev-quick-intro "9.4. Shorter hyperlinks to PDF files")
;;
-;; (find-pdflikedef-links "ps" "c fname")
+;; ALIASES. This convention on hyphens only occurred to me a few years
+;; ago. To keep compatibility with the previous version there are some
+;; calls to `code-xxxpdf-alias' at the end of this file that define
+;; functions that I used in old versions of eev that do not follow the
+;; convention.
;;
-;; find-pspage
-;; find-ps-page
-;; code-ps
+;; SOME TESTS:
;;
-(defalias 'find-pspage
- 'find-ps-page)
-(defun find-ps-page (fname &optional page &rest rest)
- (find-bgprocess (ee-find-ps-page fname page)))
-(defvar ee-find-ps-page-options '())
-(defun ee-find-ps-page (fname &optional page)
- `("gv"
- ,@ee-find-ps-page-options
- ,@(if page `(,(format "--page=%d" page)))
- ,fname))
-
-(defun code-ps (c fname &rest rest)
- (eval (ee-read (apply 'ee-code-ps c fname rest))))
-(defun find-code-ps (c fname &rest rest)
- (find-estring-elisp (apply 'ee-code-ps c fname rest)))
-(defun ee-code-ps (c fname &rest rest)
- (concat (ee-template0 "\
-\(defun find-{c}page (&optional page &rest rest)
- (find-ps-page {(ee-pp0 fname)} page))
-") (ee-code-pdftext-rest rest)))
+;; (find-code-xxxpdftext-family "pdf-text")
+;; (code-xxxpdftext-family "pdf-text")
+;; (find-code-pdf-text "loa" "/tmp/Coetzee99.pdf")
+;; (find-code-pdf-text "loa" "/tmp/Coetzee99.pdf" -110)
+;; (code-pdf-text "loa" "/tmp/Coetzee99.pdf" -110)
+;; (find-loatext)
+;; (find-loatext (+ -110 145))
+;; (find-loatext (+ -110 145) "squirrel doing its thinking")
+;; (find-loatext "squirrel doing its thinking")
+
+
+
+;; �.ee-goto-position-page� (to "ee-goto-position-page")
+;; �.find-sh-page� (to "find-sh-page")
+;; �.code-xxxpdf-family� (to "code-xxxpdf-family")
+;; �.code-xxxpdftext-family� (to "code-xxxpdftext-family")
+;; �.code-xxxpdf-alias� (to "code-xxxpdf-alias")
+;;
+;; �.find-xpdf-page� (to "find-xpdf-page")
+;; �.find-pdf-page� (to "find-pdf-page")
+;; �.find-pdf-text� (to "find-pdf-text")
+;;
+;; �.find-xdvi-page� (to "find-xdvi-page")
+;; �.find-djview-page� (to "find-djview-page")
+;; �.find-evince-page� (to "find-evince-page")
+;; �.find-gv-page� (to "find-gv-page")
+;; �.find-djvutxt-text� (to "find-djvutxt-text")
+;;
+;; �.aliases� (to "aliases")
+;; �.code-brxxxs� (to "code-brxxxs")
+(require 'eev-brxxx) ; (find-eev "eev-brxxx.el")
+;;; _ _ _
+;;; __ ____ _ _ __(_) __ _| |__ | | ___ ___
+;;; \ \ / / _` | '__| |/ _` | '_ \| |/ _ \/ __|
+;;; \ V / (_| | | | | (_| | |_) | | __/\__ \
+;;; \_/ \__,_|_| |_|\__,_|_.__/|_|\___||___/
+;;
+;; Used by `M-h M-p'. See:
+;; (find-efunction 'find-pdflike-page-links)
+(defvar ee-page-c "{?}" "Internal, used by `find-pdflike-page-links'.")
+(defvar ee-page-fname "{?}" "Internal, used by `find-pdflike-page-links'.")
+(defvar ee-page-offset 0 "Internal, used by `find-pdflike-page-links'.")
-;;; __ _ _ _ _
-;;; / _(_)_ __ __| | __ ____ ____ __ | |_ _____ _| |_
-;;; | |_| | '_ \ / _` |____\ \/ /\ \/ /\ \/ /____| __/ _ \ \/ / __|
-;;; | _| | | | | (_| |_____> < > < > <_____| || __/> <| |_
-;;; |_| |_|_| |_|\__,_| /_/\_\/_/\_\/_/\_\ \__\___/_/\_\\__|
-;;;
+;;; __ _ _ _
+;;; / _(_)_ __ __| | ___| |__ _ __ __ _ __ _ ___
+;;; | |_| | '_ \ / _` |_____/ __| '_ \ _____| '_ \ / _` |/ _` |/ _ \
+;;; | _| | | | | (_| |_____\__ \ | | |_____| |_) | (_| | (_| | __/
+;;; |_| |_|_| |_|\__,_| |___/_| |_| | .__/ \__,_|\__, |\___|
+;;; |_| |___/
+;;
+;; �ee-goto-position-page� (to ".ee-goto-position-page")
(defun ee-goto-position-page (&optional pos-spec &rest rest)
"Like `ee-goto-position', but interpreting a number as a page number.
\(Note that POS-SPEC is only interpreted as a page if it is a number.)"
@@ -316,6 +173,7 @@
(t (error "This is not a valid pos-spec: %S" pos-spec)))
(if rest (ee-goto-rest rest))))
+;; �find-sh-page� (to ".find-sh-page")
(defun find-sh-page (command &rest pos-spec-list)
"Like `find-sh', but interpreting the car of POS-SPEC-LIST as a page."
(interactive "sShell command: ")
@@ -324,106 +182,293 @@
`(insert (shell-command-to-string ,command)))
(apply 'ee-goto-position-page pos-spec-list))
-;; find-pdf-text
+
+
+
+;;; _ _ _
+;;; _ __ ___ ___| |_ __ _ | |_ ___ ___ | |___
+;;; | '_ ` _ \ / _ \ __/ _` |_____| __/ _ \ / _ \| / __|
+;;; | | | | | | __/ || (_| |_____| || (_) | (_) | \__ \
+;;; |_| |_| |_|\___|\__\__,_| \__\___/ \___/|_|___/
+;;;
+;; �code-xxxpdf-family� (to ".code-xxxpdf-family")
+;; Test: (find-code-xxxpdf-family "XPDFPAGE")
+;;
+(defun code-xxxpdf-family (xxxpdf)
+ (eval (ee-read (ee-code-xxxpdf-family xxxpdf))))
+(defun find-code-xxxpdf-family (xxxpdf)
+ (find-estring-elisp (ee-code-xxxpdf-family xxxpdf)))
+(defun ee-code-xxxpdf-family (xxxpdf)
+ (ee-template0 "\
+;; (find-code-xxxpdf-family {(ee-pp0 xxxpdf)})
+;; (code-xxxpdf-family {(ee-pp0 xxxpdf)})
+;; (find-code-{xxxpdf} \"C\" \"FNAME\")
+
+\(defun find-{xxxpdf} (fname &optional page &rest rest)
+ (find-bgprocess (ee-find-{xxxpdf} fname page)))
+
+\(defun code-{xxxpdf} (c fname &rest rest)
+ (eval (ee-read (apply 'ee-code-{xxxpdf} c fname rest))))
+\(defun find-code-{xxxpdf} (c fname &rest rest)
+ (find-estring-elisp (apply 'ee-code-{xxxpdf} c fname rest)))
+\(defun ee-code-{xxxpdf} (c fname &rest rest)
+ (ee-template0 \"\\
+\(setq ee-pdflike-last 'find-{<}c{>}page)
+\(defun find-{<}c{>}page (&optional page &rest rest)
+ (setq ee-pdflike-last 'find-{<}c{>}page)
+ (find-{xxxpdf} {<}(ee-pp0 fname){>} page))
+\"))
+"))
+
+;; �code-xxxpdftext-family� (to ".code-xxxpdftext-family")
+;; Tests: (find-code-xxxpdftext-family "XPDFTEXT")
+;;
+(defun code-xxxpdftext-family (xxxpdf)
+ (eval (ee-read (ee-code-xxxpdftext-family xxxpdf))))
+(defun find-code-xxxpdftext-family (xxxpdf)
+ (find-estring-elisp (ee-code-xxxpdftext-family xxxpdf)))
+(defun ee-code-xxxpdftext-family (xxxpdf)
+ (ee-template0 "\
+;; (find-code-xxxpdftext-family {(ee-pp0 xxxpdf)})
+;; (code-xxxpdftext-family {(ee-pp0 xxxpdf)})
+;; (find-code-{xxxpdf} \"C\" \"FNAME\")
+;; (ee-find-{xxxpdf} \"FNAME\")
+
+\(defun find-{xxxpdf} (fname &optional page &rest rest)
+ (apply 'find-sh-page (ee-find-{xxxpdf} fname) page rest))
+
+\(defun code-{xxxpdf} (c fname &rest rest)
+ (eval (ee-read (apply 'ee-code-{xxxpdf} c fname rest))))
+\(defun find-code-{xxxpdf} (c fname &rest rest)
+ (find-estring-elisp (apply 'ee-code-{xxxpdf} c fname rest)))
+\(defun ee-code-{xxxpdf} (c fname &optional offset)
+ (setq offset (or offset 0))
+ (ee-template0 \"\\
+\(setq ee-page-c {<}(ee-pp0 c){>})
+\(setq ee-page-fname {<}(ee-pp0 fname){>})
+\(setq ee-page-offset {<}(ee-pp0 offset){>})
+\(defun find-{<}c{>}text (&optional page &rest rest)
+ (setq ee-page-c {<}(ee-pp0 c){>})
+ (setq ee-page-fname {<}(ee-pp0 fname){>})
+ (setq ee-page-offset {<}(ee-pp0 offset){>})
+ (apply 'find-{xxxpdf} {<}(ee-pp0 fname){>} page rest))
+\"))
+"))
+
+;; �code-xxxpdf-alias� (to ".code-xxxpdf-alias")
+;; Test: (find-code-xxxpdf-alias "pdfpage" "xpdf-page")
+;;
+(defun code-xxxpdf-alias (xxxpdfnew xxxpdfold)
+ (eval (ee-read (ee-code-xxxpdf-alias xxxpdfnew xxxpdfold))))
+(defun find-code-xxxpdf-alias (xxxpdfnew xxxpdfold)
+ (find-estring-elisp (ee-code-xxxpdf-alias xxxpdfnew xxxpdfold)))
+(defun ee-code-xxxpdf-alias (xxxpdfnew xxxpdfold)
+ (ee-template0 "\
+;; (find-code-xxxpdf-alias \"xxxpdfnew\" \"xxxpdfold\")
+;; (find-code-xxxpdf-alias \"pdf-page\" \"xpdf-page\")
+;; (find-code-xxxpdf-alias \"pdfpage\" \"xpdf-page\")
+;;
+\(defalias 'ee-find-{xxxpdfnew} 'ee-find-{xxxpdfold})
+\(defalias 'find-{xxxpdfnew} 'find-{xxxpdfold})
+\(defalias 'ee-code-{xxxpdfnew} 'ee-code-{xxxpdfold})
+\(defalias 'code-{xxxpdfnew} 'code-{xxxpdfold})
+\(defalias 'find-code-{xxxpdfnew} 'find-code-{xxxpdfold})
+"))
+
+
+
+
+;;; __ _ _ _ __
+;;; / _(_)_ __ __| | __ ___ __ __| |/ _| _ __ __ _ __ _ ___
+;;; | |_| | '_ \ / _` |____\ \/ / '_ \ / _` | |_ _____| '_ \ / _` |/ _` |/ _ \
+;;; | _| | | | | (_| |_____> <| |_) | (_| | _|_____| |_) | (_| | (_| | __/
+;;; |_| |_|_| |_|\__,_| /_/\_\ .__/ \__,_|_| | .__/ \__,_|\__, |\___|
+;;; |_| |_| |___/
+;;
+;; �find-xpdf-page� (to ".find-xpdf-page")
+;; (find-pdflikedef-links "xpdf" "c fname")
+;; (find-code-xxxpdf-family "xpdf-page")
+ (code-xxxpdf-family "xpdf-page")
+
+(defvar ee-find-xpdf-page-options '("-fullscreen"))
+(defun ee-find-xpdf-page (fname &optional page)
+ `("xpdf"
+ ,@ee-find-xpdf-page-options
+ ,fname
+ ,@(if page `(,(format "%d" page)))
+ ))
+
+
+
+;;; __ _ _ _ __
+;;; / _(_)_ __ __| | _ __ __| |/ _| _ __ __ _ __ _ ___
+;;; | |_| | '_ \ / _` |_____| '_ \ / _` | |_ _____| '_ \ / _` |/ _` |/ _ \
+;;; | _| | | | | (_| |_____| |_) | (_| | _|_____| |_) | (_| | (_| | __/
+;;; |_| |_|_| |_|\__,_| | .__/ \__,_|_| | .__/ \__,_|\__, |\___|
+;;; |_| |_| |___/
;;
-(defalias 'find-pdf-text
- 'find-pdftotext-text)
-(defun find-pdftotext-text (fname &rest rest)
- (apply 'find-sh-page (ee-find-pdftotext-text fname) rest))
+;; �find-pdf-page� (to ".find-pdf-page")
+;; (find-code-xxxpdf-alias "pdf-page" "xpdf-page")
+ (code-xxxpdf-alias "pdf-page" "xpdf-page")
+
+
+;;; __ _ _ _ __ _ _
+;;; / _(_)_ __ __| | _ __ __| |/ _| | |_ _____ _| |_
+;;; | |_| | '_ \ / _` |_____| '_ \ / _` | |_ _____| __/ _ \ \/ / __|
+;;; | _| | | | | (_| |_____| |_) | (_| | _|_____| || __/> <| |_
+;;; |_| |_|_| |_|\__,_| | .__/ \__,_|_| \__\___/_/\_\\__|
+;;; |_|
+;;
+;; �find-pdf-text� (to ".find-pdf-text")
+;; (find-code-xxxpdftext-family "pdf-text")
+ (code-xxxpdftext-family "pdf-text")
+
+(defun ee-find-pdf-text (fname)
+ (format "pdftotext -layout -enc Latin1 '%s' -" (ee-expand fname)))
+
(defun ee-find-pdftotext-text (fname)
(format "pdftotext -layout -enc Latin1 '%s' -" (ee-expand fname)))
-(code-brfile 'find-pdf-text
- :local 'brpdftextl
- :dired 'brpdftextd)
-;; find-djvu-text
-;;
-(defalias 'find-djvu-text
- 'find-djvutxt-text)
-(defun find-djvutxt-text (fname &rest rest)
- (apply 'find-sh-page (ee-find-djvutxt-text fname) rest))
-(defun ee-find-djvutxt-text (fname)
- (format "djvutxt '%s'" fname))
-(code-brfile 'find-djvu-text
- :local 'brdjvutextl
- :dired 'brdjvutextd)
-;; (find-pdflikedef-links "pdf" "c fname")
-(defun code-pdf-text (c fname &optional offset &rest rest)
- (eval (ee-read (apply 'ee-code-pdf-text c fname offset rest))))
-(defun find-code-pdf-text (c fname &optional offset &rest rest)
- (find-estring-elisp (apply 'ee-code-pdf-text c fname offset rest)))
-(defun ee-code-pdf-text (c fname &optional offset &rest rest)
- (setq offset (or offset 0))
- (concat (ee-template0 "\
-;; {(ee-S `(find-code-pdf-text ,c ,fname ,offset ,@rest))}
-\(defun find-{c}text (&optional page &rest rest)
- (setq ee-page-c {(ee-pp0 c)})
- (setq ee-page-fname {(ee-pp0 fname)})
- (setq ee-page-offset {(ee-pp0 offset)})
- (apply 'find-pdf-text {(ee-pp0 fname)} page rest))
-
-;; Set the defaults now
-;; See: (find-pdf-like-intro \"find-code-pdf-text\")
-\(setq ee-page-c {(ee-pp0 c)})
-\(setq ee-page-fname {(ee-pp0 fname)})
-\(setq ee-page-offset {(ee-pp0 offset)})
-")))
-
-
-(defun code-djvu-text (c fname &optional offset &rest rest)
- (eval (ee-read (apply 'ee-code-djvu-text c fname offset rest))))
-(defun find-code-djvu-text (c fname &optional offset &rest rest)
- (find-estring-elisp (apply 'ee-code-djvu-text c fname offset rest)))
-(defun ee-code-djvu-text (c fname &optional offset &rest rest)
- (setq offset (or offset 0))
- (concat (ee-template0 "\
-\(defun find-{c}text (&optional page &rest rest)
- (setq ee-page-c {(ee-pp0 c)})
- (setq ee-page-fname {(ee-pp0 fname)})
- (setq ee-page-offset {(ee-pp0 offset)})
- (find-djvu-text {(ee-pp0 fname)} page))
-;; Set the defaults now - see (find-pdf-like-intro \"find-code-pdf-text\")
-\(setq ee-page-c {(ee-pp0 c)})
-\(setq ee-page-fname {(ee-pp0 fname)})
-\(setq ee-page-offset {(ee-pp0 offset)})
-")))
+;;; ___ _ _
+;;; / _ \| |_| |__ ___ _ __ _ __ _ __ ___ __ _ ___
+;;; | | | | __| '_ \ / _ \ '__| | '_ \| '__/ _ \ / _` / __|
+;;; | |_| | |_| | | | __/ | | |_) | | | (_) | (_| \__ \
+;;; \___/ \__|_| |_|\___|_| | .__/|_| \___/ \__, |___/
+;;; |_| |___/
+;;
+;; �find-xdvi-page� (to ".find-xdvi-page")
+;; (find-code-xxxpdf-family "xdvi-page")
+ (code-xxxpdf-family "xdvi-page")
+
+(defvar ee-find-xdvi-page-options '())
+(defun ee-find-xdvi-page (fname &optional page)
+ `("xdvi"
+ ,@ee-find-xdvi-page-options
+ ,@(if page `(,(format "+%d" page)))
+ ,fname))
+
+;; �find-djview-page� (to ".find-djview-page")
+;; (find-code-xxxpdf-family "djview-page")
+ (code-xxxpdf-family "djview-page")
+(defun find-djview-page (fname &optional page &rest rest)
+ (ee-find-djview-cleanup fname)
+ (find-bgprocess (ee-find-djview-page fname page)))
+(defvar ee-find-djview-page-options '())
+(defun ee-find-djview-page (fname &optional page)
+ `("djview"
+ ,@ee-find-djview-page-options
+ ,@(if page `(,(format "--page=%d" page)))
+ ,fname))
-;; Tests:
-;; (find-code-pdf-text "foo" "/tmp/foo.pdf" 3)
-;; (code-pdf-text "foo" "/tmp/foo.pdf" 3)
-;; (find-footext)
-;; (find-footext 2)
+(defun ee-find-djview-cleanup (&optional fname)
+ "A hack: clean up djview's 'recentFiles=' line in the config file if needed.
+When we visit a file \"/path/foo.djvu\" with djview, go to the
+page 234 and close djview, djview stores the filename
+\"/path/foo.djvu\" and the page number 234 in the file
+\"~/.config/DjVuLibre/DjView.conf\", in a line starting with
+\"recentFiles=\" - and the next time we ask djview to open that
+file it will go to the page 234 OVERRIDING THE ARGUMENT
+\"--page=%d\"! This function is currently just a stub, but you
+may want to put here code that cleans up that page information.")
-;; (find-efunction 'find-page-links)
+;; �find-evince-page� (to ".find-evince-page")
+;; (find-code-xxxpdf-family "evince-page")
+ (code-xxxpdf-family "evince-page")
+(defun find-evince-page (fname &optional page &rest rest)
+ (find-bgprocess (ee-find-evince-page fname page)))
+(defvar ee-find-evince-page-options '())
+(defun ee-find-evince-page (fname &optional page)
+ `("evince"
+ ,@ee-find-evince-page-options
+ ;; ,@(if page `(,(format "--page-label=%d" page)))
+ ,@(if page `(,(format "--page-index=%d" page)))
+ ,fname))
+;; �find-gv-page� (to ".find-gv-page")
+;; (find-code-xxxpdf-family "gv-page")
+ (code-xxxpdf-family "gv-page")
+
+(defvar ee-find-gv-page-options '())
+(defun ee-find-gv-page (fname &optional page)
+ `("gv"
+ ,@ee-find-gv-page-options
+ ,@(if page `(,(format "--page=%d" page)))
+ ,fname))
-;; Test:
-;; (find-code-xpdf "{c}" "{fname}" :key "{foo}" :key "{bar}")
-;; (find-xpdfpage "~/tmp/discussao_proifesgroups.pdf")
+;; �find-djvutxt-text� (to ".find-djvutxt-text")
+;; (find-code-xxxpdftext-family "djvutxt-text")
+ (code-xxxpdftext-family "djvutxt-text")
-;; Garbage?
-;; (defun ee-pspage (fname &optional page gvargs)
-;; `("gv" ,@gvargs ,@(if page (list (format "--page=%d" page))) ,fname))
-;; (defun ee-xpdfpage (fname &optional page xpdfargs)
-;; `("xpdf" ,@xpdfargs ,fname ,(format "%s" (or page 1))))
-;; (defun ee-djvupage (fname &optional page)
-;; `("djview" ,@(if page (list (format "--page=%d" page))) ,fname))
+(defun ee-find-djvutxt-text (fname)
+ (format "djvutxt '%s'" fname))
+;;; _ _ _
+;;; / \ | (_) __ _ ___ ___ ___
+;;; / _ \ | | |/ _` / __|/ _ \/ __|
+;;; / ___ \| | | (_| \__ \ __/\__ \
+;;; /_/ \_\_|_|\__,_|___/\___||___/
+;;;
+;; �aliases� (to ".aliases")
+;; For compatibility the with previous versions - that were a mess.
+;; At some point these aliases will all be commented out, and if you
+;; depend on them what you I suggest you to do is:
+;; 1) copy them (uncommented) to your .emacs
+;; 2) rename your calls to aliases functions to standard functions
+;; 3) comment one of your calls to `code-xxxpdf-alias'; start emacs
+;; again to check if your .emacs really didn't depend on these
+;; functions; comment another call to `code-xxxpdf-alias'; etc,
+;; etc; wash, rinse, repeat.
+
+ (code-xxxpdf-alias "djvupage" "djview-page")
+ (code-xxxpdf-alias "djvu-text" "djvutxt-text")
+ (code-xxxpdf-alias "evincepage" "evince-page")
+ (code-xxxpdf-alias "pspage" "gv-page")
+ (code-xxxpdf-alias "xdvipage" "xdvi-page")
+ (code-xxxpdf-alias "xpdfpage" "xpdf-page")
+ (code-xxxpdf-alias "xpdf" "xpdf-page")
+ (code-xxxpdf-alias "xdvi" "xdvi-page")
+ (code-xxxpdf-alias "dvi" "xdvi-page")
+ (code-xxxpdf-alias "djvu" "djview-page")
+ (code-xxxpdf-alias "pdf" "xpdf-page")
+ (code-xxxpdf-alias "evince" "evince-page")
+
+;; (find-code-xxxpdf-alias "djvu-text" "djvutxt-text")
+;; (find-code-xxxpdf-alias "djvupage" "djview-page")
+;; (find-code-xxxpdf-alias "evincepage" "evince-page")
+;; (find-code-xxxpdf-alias "pspage" "gv-page")
+;; (find-code-xxxpdf-alias "xdvipage" "xdvi-page")
+;; (find-code-xxxpdf-alias "xpdfpage" "xpdf-page")
+;; (find-code-xxxpdf-alias "xpdf" "xpdf-page")
+;; (find-code-xxxpdf-alias "xdvi" "xdvi-page")
+;; (find-code-xxxpdf-alias "dvi" "xdvi-page")
+;; (find-code-xxxpdf-alias "djvu" "djview-page")
+;; (find-code-xxxpdf-alias "pdf" "xpdf-page")
+;; (find-code-xxxpdf-alias "evince" "evince-page")
+
+
+;; �code-brxxxs� (to ".code-brxxxs")
+
+(code-brfile 'find-pdf-text :local 'brpdftextl :dired 'brpdftextd)
+(code-brfile 'find-djvu-text :local 'brdjvutextl :dired 'brdjvutextd)
+(code-brfile 'find-xpdf-page :local 'brxpdfl :dired 'brxpdfd)
+(code-brfile 'find-evince-page :local 'brevincel :dired 'brevinced)
+(code-brfile 'find-xdvi-page :local 'brxdvil :dired 'brxdvid)
+(code-brfile 'find-djvu-page :local 'brdjvul :dired 'brdjvud)
@@ -435,7 +480,5 @@
;; Local Variables:
;; coding: raw-text-unix
-;; ee-anchor-format: "�%s�"
-;; ee-anchor-format: "defun %s "
;; no-byte-compile: t
;; End:
diff --git a/eev-plinks.el b/eev-plinks.el
index 29bac62..c037eb1 100644
--- a/eev-plinks.el
+++ b/eev-plinks.el
@@ -19,7 +19,7 @@
;;
;; Author: Eduardo Ochs <address@hidden>
;; Maintainer: Eduardo Ochs <address@hidden>
-;; Version: 2018jun05
+;; Version: 2019jan25
;; Keywords: e-scripts
;;
;; Latest version: <http://angg.twu.net/eev-current/eev-plinks.el>
@@ -61,8 +61,8 @@
;; unchanged, (3) they're short and clean.
;; Sorry, no docstrings yet... some tests:
-;; (find-callprocess0 '("lua51" "-e" "print(1+2)"))
-;; (find-callprocess00 '("lua51" "-e" "print(1+2)"))
+;; (find-callprocess0 '("lua5.1" "-e" "print(1+2)"))
+;; (find-callprocess00 '("lua5.1" "-e" "print(1+2)"))
;; Suffixes:
;; "-ne" means "(do) not ee-expand"
diff --git a/eev-rcirc.el b/eev-rcirc.el
index 5010064..e0d31a3 100644
--- a/eev-rcirc.el
+++ b/eev-rcirc.el
@@ -19,7 +19,7 @@
;;
;; Author: Eduardo Ochs <address@hidden>
;; Maintainer: Eduardo Ochs <address@hidden>
-;; Version: 2018may28
+;; Version: 2019jan29
;; Keywords: e-scripts
;;
;; Latest version: <http://angg.twu.net/eev-current/eev-rcirc.el>
@@ -188,6 +188,11 @@ the right - \"#foo\" means channel \"#foo\", \"nick\"
means query
(defun ee-irc-channel-around-point ()
(ee-stuff-around-point "#A-Za-z0-9_"))
+(defun ee-buffer-freenode-channel-name ()
+ (replace-regexp-in-string
+ "^\\(.*\\).irc\\.freenode\\.net" "\\1"
+ (buffer-name)))
+
;; High-level
;;
(defvar ee-freenode-server "irc.freenode.net")
@@ -200,37 +205,63 @@ the right - \"#foo\" means channel \"#foo\", \"nick\"
means query
ee-freenode-ichannels
ee-freenode-achannels channel pos-spec-list))
+(defun find-freenode-2a (channel)
+ (find-2a nil '(find-freenode channel)))
+
(defun find-freenode-3a (channel)
(find-3a nil '(find-freenode) '(find-freenode channel)))
-(defun ee-find-freenode-links (&optional channel)
- (setq channel (or channel (replace-regexp-in-string
- "^\\(.*\\).irc\\.freenode\\.net" "\\1"
- (buffer-name))))
- `((setq ee-freenode-ichannels ,ee-freenode-ichannels)
- (setq ee-freenode-achannels ,ee-freenode-achannels)
- ""
- (find-freenode ,channel)
- (find-freenode-3a ,channel)
- (defun eejump-9 () (find-freenode ,channel))
- (defun eejump-99 () (find-freenode-3a ,channel))
- ))
-
-(defun find-freenode-links (&optional channel &rest pos-spec-list)
-"Visit a temporary buffer containing hyperlinks for connecting to freenode."
- (interactive (list (ee-irc-channel-around-point)))
+;; (defun ee-find-freenode-links (&optional c channel)
+;; (setq c (or c "{c}"))
+;; (setq channel (or channel (ee-buffer-freenode-channel-name))
+;; `((setq ee-freenode-ichannels ,ee-freenode-ichannels)
+;; (setq ee-freenode-achannels ,ee-freenode-achannels)
+;; ""
+;; (find-freenode ,channel)
+;; (find-freenode-3a ,channel)
+;; (defun eejump-9 () (find-freenode ,channel))
+;; (defun eejump-99 () (find-freenode-3a ,channel))
+;; ))
+;;
+;; (defun find-freenode-links (&optional channel &rest pos-spec-list)
+;; "Visit a temporary buffer containing hyperlinks for connecting to freenode."
+;; (interactive (list (ee-irc-channel-around-point)))
+;; (setq channel (or channel "{channel}"))
+;; (apply 'find-elinks
+;; `((find-freenode-links ,channel)
+;; ;; Convention: the first sexp always regenerates the buffer.
+;; (find-efunction 'find-freenode-links)
+;; ""
+;; ,@(ee-find-freenode-links channel)
+;; )
+;; pos-spec-list))
+
+;; New, 2019jan28
+(defun find-freenode-links (&optional c channel &rest pos-spec-list)
+"Visit a temporary buffer containing code for connecting to a freenode
channel."
+ (interactive)
+ (setq c (or c "{c}"))
(setq channel (or channel "{channel}"))
(apply 'find-elinks
- `((find-freenode-links ,channel)
+ `((find-freenode-links ,c ,channel)
+ (find-freenode-links "{e}" "{#eev}")
+ (find-freenode-links "e" "#eev")
;; Convention: the first sexp always regenerates the buffer.
(find-efunction 'find-freenode-links)
+ (find-efunction 'find-freenode-2a)
""
- ,@(ee-find-freenode-links channel)
+ ,(ee-template0 "\
+(setq ee-freenode-ichannels {(ee-pp0 ee-freenode-ichannels)})
+(setq ee-freenode-achannels {(ee-pp0 ee-freenode-achannels)})
+(setq ee-freenode-achannels nil)
+(defun {c}2 () (interactive) (find-freenode-2a \"{channel}\"))
+(defun {c}3 () (interactive) (find-freenode-3a \"{channel}\"))
+")
)
pos-spec-list))
;; Tests: (find-freenode-links)
-;; (find-freenode-links "#eev")
+;; (find-freenode-links "e" "#eev")
(provide 'eev-rcirc)
- [elpa] externals/eev f6fd28a 62/64: Cleaned up the comments about `ee-code-c-d-filter-2'., (continued)
- [elpa] externals/eev f6fd28a 62/64: Cleaned up the comments about `ee-code-c-d-filter-2'., Stefan Monnier, 2019/04/07
- [elpa] externals/eev fc52991 32/64: Fontify the `find-xxx-intro' buffers., Stefan Monnier, 2019/04/07
- [elpa] externals/eev ca3dd97 53/64: Added sections to `find-channels-intro'., Stefan Monnier, 2019/04/07
- [elpa] externals/eev 92702c7 49/64: Made `find-pdf-text' ignore spurious formfeeds., Stefan Monnier, 2019/04/07
- [elpa] externals/eev 7c396d0 26/64: Many changes in the intros; added eev-load.el, Stefan Monnier, 2019/04/07
- [elpa] externals/eev 8a09aa4 59/64: Made the files eev-code.el and eev-brxxx.el more compatible with lexical binding., Stefan Monnier, 2019/04/07
- [elpa] externals/eev fb9f4c6 64/64: Added an explanation of why eev is not in ELPA yet., Stefan Monnier, 2019/04/07
- [elpa] externals/eev b0f124e 48/64: Added material to `find-escripts-intro' and `find-eev-quick-intro'., Stefan Monnier, 2019/04/07
- [elpa] externals/eev 9d39df9 36/64: Several clean-ups in eev-elinks.el and eev-tlinks.el., Stefan Monnier, 2019/04/07
- [elpa] externals/eev 39a2cea 60/64: New file: eev-template0.el., Stefan Monnier, 2019/04/07
- [elpa] externals/eev c77ca3b 27/64: Rewrote eev-pdflike.el, added sections about it to (find-eev-quick-intro).,
Stefan Monnier <=
- [elpa] externals/eev 7162184 51/64: Added `find-texworkspdf-page'., Stefan Monnier, 2019/04/07
- [elpa] externals/eev b9baae6 17/64: First commit after an HD crash; lots of changes, Stefan Monnier, 2019/04/07
- [elpa] externals/eev 2518e75 50/64: Use "eev-beginner.el" instead of "eev-readme.el"., Stefan Monnier, 2019/04/07
- [elpa] externals/eev 51e636a 63/64: Deleted eev-pdflike-old.el., Stefan Monnier, 2019/04/07
- [elpa] externals/eev b56266f 54/64: Added `eev-beginner' (our first autoload)., Stefan Monnier, 2019/04/07
- [elpa] externals/eev 5dbba21 40/64: Added `find-eunicodeucs'; added lots of documentation., Stefan Monnier, 2019/04/07
- [elpa] externals/eev 14d1125 46/64: Converted several elisp files to utf-8., Stefan Monnier, 2019/04/07
- [elpa] externals/eev 22702eb 31/64: Made all secondary intros point to sections of find-eev-quick-intro., Stefan Monnier, 2019/04/07
- [elpa] externals/eev a5f9343 30/64: Small changes in `find-eev-install-links' and in eev-intro.el., Stefan Monnier, 2019/04/07
- [elpa] externals/eev af88c9b 01/64: Initial commit for eev2, Stefan Monnier, 2019/04/07