[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/eev fc52991 32/64: Fontify the `find-xxx-intro' buffers
From: |
Stefan Monnier |
Subject: |
[elpa] externals/eev fc52991 32/64: Fontify the `find-xxx-intro' buffers. |
Date: |
Sun, 7 Apr 2019 16:59:07 -0400 (EDT) |
branch: externals/eev
commit fc529911c11918d8ecb9d74b564e8fc9e6bcb06e
Author: Eduardo Ochs <address@hidden>
Commit: Eduardo Ochs <address@hidden>
Fontify the `find-xxx-intro' buffers.
---
ChangeLog | 16 ++++
VERSION | 4 +-
eejump.el | 14 ++--
eev-blinks.el | 244 +++++++++++++++++++++++++++++++++++-----------------------
eev-elinks.el | 5 +-
eev-intro.el | 123 +++++++++++++++++++++--------
6 files changed, 269 insertions(+), 137 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 2a34af4..7c97757 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,19 @@
+2019-02-03 Eduardo Ochs <address@hidden>
+
+ * eev-intro.el: changed all intros to make them use `find-eintro'
+ instead of `find-estring'.
+ (find-eintro): new function.
+ (ee-intro-face): new function.
+ (ee-intro-fontify): new function.
+ (ee-intro-fontify-maybe): new function.
+ (find-wrap-intro): use `ee-tolatin1'.
+ (find-anchors-intro): use `ee-tolatin1'.
+
+ * eejump.el: changes in the comments.
+
+ * eev-blinks.el: changes in the comments.
+ (find-eface): new function.
+
2019-02-01 Eduardo Ochs <address@hidden>
* eev-intro.el (find-intro-dual): new function - a new hack that
diff --git a/VERSION b/VERSION
index 826e509..c33564e 100644
--- a/VERSION
+++ b/VERSION
@@ -1,2 +1,2 @@
-Fri Feb 1 14:17:49 GMT 2019
-Fri Feb 1 12:17:49 -02 2019
+Sun Feb 3 23:33:29 GMT 2019
+Sun Feb 3 21:33:29 -02 2019
diff --git a/eejump.el b/eejump.el
index a8ada8c..efcb734 100644
--- a/eejump.el
+++ b/eejump.el
@@ -19,7 +19,7 @@
;;
;; Author: Eduardo Ochs <address@hidden>
;; Maintainer: Eduardo Ochs <address@hidden>
-;; Version: 2019jan23
+;; Version: 2019feb03
;; Keywords: e-scripts
;;
;; Latest version: <http://angg.twu.net/eev-current/eejump.el>
@@ -36,15 +36,13 @@
;; See: (find-eev-quick-intro "7.1. eejump")
;; (find-eev-quick-intro "7.1. eejump" "meta-uppercase-j")
+;; (find-eev-quick-intro "7.2. The list of eejump targets")
+;; (find-eevfile "eev-mode.el" "M-j" "eejump")
+;; (find-eevfile "eev-mode.el" "M-J" "eewrap-eejump")
;; (find-eejump-intro)
-;; (find-eev "eev-wrap.el" "eewrap-eejump")
+;; Some features are defined elsewhere:
;; (find-eev "eev-blinks.el" "find-eejumps")
-
-
-
-
-;; See: (find-eevfile "eev-mode.el" "M-j")
-;; (define-key eev-mode-map "\M-j" 'eejump)
+;; (find-eev "eev-wrap.el" "eewrap-eejump")
(defun eejump (arg)
diff --git a/eev-blinks.el b/eev-blinks.el
index cd1ed4f..a75610c 100644
--- a/eev-blinks.el
+++ b/eev-blinks.el
@@ -3,7 +3,8 @@
;;; and that are not created by `code-c-d' and friends.
;; Copyright (C) 1999,2000,2001,2002,2003,2004,2005,2006,2007,2008,
-;; 2009,2010,2011,2012,2013,2014,2016,2018 Free Software Foundation, Inc.
+;; 2009,2010,2011,2012,2013,2014,2016,2018,2019 Free Software
+;; Foundation, Inc.
;;
;; This file is (not yet) part of GNU eev.
;;
@@ -22,7 +23,7 @@
;;
;; Author: Eduardo Ochs <address@hidden>
;; Maintainer: Eduardo Ochs <address@hidden>
-;; Version: 2019jan04
+;; Version: 2019feb03
;; Keywords: e-scripts
;;
;; Latest version: <http://angg.twu.net/eev-current/eev-blinks.el>
@@ -33,6 +34,9 @@
;;; Commentary:
+;; See: (find-eev-quick-intro "3. Elisp hyperlinks")
+;; (find-links-intro "6. Basic and non-basic hyperlinks")
+
@@ -41,6 +45,7 @@
;; �.ee-goto-rest� (to "ee-goto-rest")
;; �.find-fline� (to "find-fline")
;; �.find-wottb� (to "find-wottb")
+;; �.find-efaces� (to "find-efaces")
;; �.find-ebufferandpos� (to "find-ebufferandpos")
;; �.find-ebuffer� (to "find-ebuffer")
;; �.find-eoutput� (to "find-eoutput")
@@ -88,6 +93,7 @@
;;; \___|\___|_|\_\
;;;
;; �eek� (to ".eek")
+;; See: (find-eev-quick-intro "3. Elisp hyperlinks" "eek")
(defun eek (str) (interactive "sKeys: ")
"Execute STR as a keyboard macro. See `edmacro-mode' for the exact format.\n
@@ -105,8 +111,8 @@ An example: (eek \"C-x 4 C-h\")"
;;; |_| |_|
;;;
;; �ee-goto-position� (to ".ee-goto-position")
-;; support for pos-spec-lists in hyperlinks
-;; See: (find-eval-intro "Refining hyperlinks")
+;; Support for pos-spec-lists in hyperlinks.
+;; See: (find-eval-intro "6. Refining hyperlinks")
(defun ee-goto-position (&optional pos-spec &rest rest)
"Process the \"absolute pos-spec-lists\" arguments in hyperlink functions.
@@ -139,7 +145,8 @@ they skip the first \"absolute\" pos-spec."
(if rest (ee-goto-rest rest))))
;; �ee-goto-rest� (to ".ee-goto-rest")
-
+;; See: (find-eval-intro "7. Pos-spec-lists")
+;;
(defun ee-goto-rest (list)
"Process \"relative pos-spec-lists\".
For each element in LIST, if it is:
@@ -179,10 +186,9 @@ the standard definition."
;;; |_| |_|_| |_|\__,_| |_| |_|\___/ \__,_|\___|
;;;
;; �find-fline� (to ".find-fline")
-;;; Basic links: find-fline and find-node
-;; Tests:
-;; (find-fline "~/")
-;; (find-node "(emacs)Top")
+;; Basic links: `find-fline' and `find-node'.
+;; See: (find-eev-quick-intro "3. Elisp hyperlinks")
+;; (find-eev-quick-intro "9.2. Extra arguments to `code-c-d'" ":gz")
(defun find-fline (fname &rest pos-spec-list)
"Hyperlink to a file (or a directory).
@@ -225,17 +231,7 @@ Examples:\n
;;; |_| |_|_| |_|\__,_| \_/\_/ \___/ \__|\__|_.__/
;;;
;; �find-wottb� (to ".find-wottb")
-;;; hyperlinks to the output of Emacs's help-like functions
-
-;; Tests:
-;; (find-efunctiondescr 'next-line "line-move-visual")
-;; (find-ekeydescr [down] "line-move-visual")
-;; (find-evariabledescr 'line-move-visual "visual lines")
-;; (find-efunctiond 'next-line "next-line-add-newlines")
-;; (find-eapropos "^find-.*-links" "find-intro-links")
-;; (find-ecolors " white")
-;; (find-efacedescr 'default "Foreground:")
-;; (find-efaces "default")
+;; Hyperlinks to the output of Emacs's help-like functions.
(defun find-wottb-call (sexp bufname &rest pos-spec-list)
"Hyperlink to functions that call `with-output-to-temp-buffer'.
@@ -249,16 +245,26 @@ then go to the position specified by POS-SPEC-LIST.\n
(set-buffer bufname) ; why is this needed?
(apply 'ee-goto-position pos-spec-list))
+
+;; Tests: (find-eapropos "regexp")
+;; (find-eapropos "^find-.*-links" "find-intro-links")
+;;
(defun find-eapropos (regexp &rest pos-spec-list)
"Hyperlink to the result of running `apropos' on REGEXP."
(interactive "sApropos symbol (regexp): ")
(apply 'find-wottb-call '(apropos regexp) "*Apropos*" pos-spec-list))
+;; Tests: (find-efunctiondescr 'find-file)
+;; (find-efunctiondescr 'next-line "line-move-visual")
+;;
(defun find-efunctiondescr (symbol &rest pos-spec-list)
"Hyperlink to the result of running `describe-function' on SYMBOL."
(interactive (find-function-read))
(apply 'find-wottb-call '(describe-function symbol) "*Help*" pos-spec-list))
+;; Tests: (find-evardescr 'default-directory)
+;; (find-evariabledescr 'line-move-visual "visual lines")
+;;
(defun find-evariabledescr (symbol &rest pos-spec-list)
"Hyperlink to the result of running `describe-variable' on SYMBOL."
(interactive (find-function-read 'variable))
@@ -266,17 +272,95 @@ then go to the position specified by POS-SPEC-LIST.\n
(defalias 'find-evardescr 'find-evariabledescr)
+;; Tests: (find-ekeydescr "\M-h\M-h")
+;; (find-ekeydescr [down] "line-move-visual")
+;;
(defun find-ekeydescr (key &rest pos-spec-list)
"Hyperlink to the result of running `describe-key' on KEY."
(interactive "kFind function on key: ")
(apply 'find-wottb-call '(describe-key key) "*Help*" pos-spec-list))
+;; Tests: (find-efunctiond 'find-file)
+;; (find-efunctiond 'next-line "next-line-add-newlines")
+;;
+(defun find-efunctiond (function &rest pos-spec-list)
+ "Hyperlink to the result of running `disassemble' on FUNCTION."
+ (interactive (find-function-read))
+ (apply 'find-wottb-call '(disassemble function) "*Disassemble*"
+ pos-spec-list))
+
+;; Test: (find-customizegroup 'processes)
+;;
+(defun find-customizegroup (group &rest pos-spec-list)
+ "Hyperlink to the result of running `customize-group' on GROUP."
+ (interactive (list (customize-read-group)))
+ (when (stringp group)
+ (if (string-equal "" group)
+ (setq group 'emacs)
+ (setq group (intern group))))
+ (apply 'find-wottb-call '(customize-group group)
+ (format "*Customize Group: %s*" (custom-unlispify-tag-name group))
+ pos-spec-list))
+
+;; Tests: (find-epackages nil "\n bdo ")
+;; (find-epackages t "\n bdo ")
+;;
+(defun find-epackages (&optional no-fetch &rest pos-spec-list)
+ "Hyperlink to the output of `list-packages'."
+ (interactive "P")
+ (apply 'find-wottb-call '(list-packages no-fetch)
+ "*Packages*" pos-spec-list))
+
+;; Test: (find-epackage 'bdo)
+;;
+(defun find-epackage (&optional pkg-desc &rest pos-spec-list)
+ "Hyperlink to the output of `describe-package'."
+ (interactive "P")
+ (apply 'find-wottb-call '(describe-package pkg-desc)
+ "*Help*" pos-spec-list))
+
+
+
+
+
+
+
+;;; __
+;;; / _| __ _ ___ ___ ___
+;;; | |_ / _` |/ __/ _ \/ __|
+;;; | _| (_| | (_| __/\__ \
+;;; |_| \__,_|\___\___||___/
+;;;
+;; �find-efaces� (to ".find-efaces")
+;; Inspect faces, colors and characters.
+;; Most of these use `find-wottb-call'.
+;; Tests:
+;; (find-ecolors " white")
+;; (find-efaces "default")
+;; (find-efacedescr 'default "Foreground:")
+
+(defun find-efaces (&rest pos-spec-list)
+ "Hyperlink to the result of running `list-faces-display'."
+ (interactive)
+ (apply 'find-wottb-call '(list-faces-display) "*Faces*" pos-spec-list))
+
+(defun find-ecolors (&rest pos-spec-list)
+ "Hyperlink to the result of running `list-colors-display'."
+ (interactive)
+ (apply 'find-wottb-call '(list-colors-display) "*Colors*" pos-spec-list))
+
(defun find-echardescr (&optional pos &rest pos-spec-list)
"Hyperlink to the result of running `describe-char' at POS."
(interactive)
(setq pos (or pos (point)))
(apply 'find-wottb-call '(describe-char pos) "*Help*" pos-spec-list))
+(defun find-efacedescr (&optional face &rest pos-spec-list)
+ "Hyperlink to the result of running `describe-face' on FACE."
+ ;; (interactive (list (read-face-name "Describe face")))
+ (interactive (list (face-at-point)))
+ (apply 'find-wottb-call '(describe-face face) "*Help*" pos-spec-list))
+
(defun find-etpat (&optional pos &rest pos-spec-list)
"Hyperlink to the result of running `describe-text-properties' at point.
See `find-etpat0' and `find-etpat00' for lower-level tools for
@@ -286,59 +370,21 @@ inspecting text proprties."
(apply 'find-wottb-call '(describe-text-properties pos)
"*Help*" pos-spec-list))
-(defun find-efacedescr (&optional face &rest pos-spec-list)
- "Hyperlink to the result of running `describe-face' on FACE."
- ;; (interactive (list (read-face-name "Describe face")))
- (interactive (list (face-at-point)))
- (apply 'find-wottb-call '(describe-face face) "*Help*" pos-spec-list))
-
-(defun find-efaces (&rest pos-spec-list)
- "Hyperlink to the result of running `list-faces-display'."
- (interactive)
- (apply 'find-wottb-call '(list-faces-display) "*Faces*" pos-spec-list))
-
-(defun find-ecolors (&rest pos-spec-list)
- "Hyperlink to the result of running `list-colors-display'."
+(defun find-etpat0 (&rest pos-spec-list)
+"Hyperlink to a pretty version of the result of (text-properties-at (point))."
(interactive)
- (apply 'find-wottb-call '(list-colors-display) "*Colors*" pos-spec-list))
-
-(defun find-efunctiond (function &rest pos-spec-list)
- "Hyperlink to the result of running `disassemble' on FUNCTION."
- (interactive (find-function-read))
- (apply 'find-wottb-call '(disassemble function) "*Disassemble*"
- pos-spec-list))
+ (let* ((ee-buffer-name
+ (or ee-buffer-name "*(text-properties-at (point))*")))
+ (apply 'find-epp (text-properties-at (point)) pos-spec-list)))
-;; New, 2013sep21
-;;
-(defun find-etp (&rest pos-spec-list)
- "Hyperlink to the output of `describe-text-properties'.
-This is a high-level alternative to `find-etpat'."
+(defun find-etpat00 ()
+ "Show the result of (text-properties-at (point)) in the echo area."
(interactive)
- (apply 'find-wottb-call '(describe-text-properties (point))
- "*Help*" pos-spec-list))
+ (find-epp0 (text-properties-at (point))))
-(defun find-epackages (&optional no-fetch &rest pos-spec-list)
- "Hyperlink to the output of `list-packages'."
- (interactive "P")
- (apply 'find-wottb-call '(list-packages no-fetch)
- "*Packages*" pos-spec-list))
+(defalias 'find-etp 'find-etpat)
-(defun find-epackage (&optional pkg-desc &rest pos-spec-list)
- "Hyperlink to the output of `describe-package'."
- (interactive "P")
- (apply 'find-wottb-call '(describe-package pkg-desc)
- "*Help*" pos-spec-list))
-(defun find-customizegroup (group &rest pos-spec-list)
- "Hyperlink to the result of running `customize-group' on GROUP."
- (interactive (list (customize-read-group)))
- (when (stringp group)
- (if (string-equal "" group)
- (setq group 'emacs)
- (setq group (intern group))))
- (apply 'find-wottb-call '(customize-group group)
- (format "*Customize Group: %s*" (custom-unlispify-tag-name group))
- pos-spec-list))
@@ -349,8 +395,7 @@ This is a high-level alternative to `find-etpat'."
;;; |_| |_|_| |_|\__,_| \___|_| \__,_|_| |_|\___|\__|_|\___/|_| |_|
;;;
;; �find-ebufferandpos� (to ".find-ebufferandpos")
-;;; hyperlinks to the source code of Emacs functions and variables
-
+;; Hyperlinks to the source code of Emacs functions and variables.
;; Tests:
;; (find-efunction 'next-line)
;; (find-evariable 'line-move-visual)
@@ -388,6 +433,16 @@ support a POS-SPEC-LIST like this function does."
(interactive (find-function-read 'variable))
(apply 'find-ebufferandpos (find-variable-noselect symbol) pos-spec-list))
+(defun find-eface (face &rest pos-spec-list)
+ "Hyperlink to the result of running `find-face-definition' on FACE.
+The `find-face-definition' function of Emacs can be used as a hyperlink
+- it finds the Elisp source code of SYMBOL -, but it doesn't
+support a POS-SPEC-LIST like this function does."
+ (interactive (find-function-read 'defface))
+ (apply 'find-ebufferandpos (find-definition-noselect face 'defface)
+ pos-spec-list))
+
+
@@ -470,8 +525,13 @@ runs `emacs-lisp-mode' in the buffer."
(apply 'find-eoutput-rerun (or ee-buffer-name "*string*")
`(progn (insert ,string) (emacs-lisp-mode)) pos-spec-list))
-;; For (find-anchors-intro)
-;; Hacky.
+
+
+;; TODO: Delete this.
+;; This is an ugly hack.
+;; It was created for: (find-efunction 'find-anchors-intro)
+;; It was made obsolete by: (find-eev "eev-codings.el")
+
(defun ee-raw-text-unix ()
"Set the current buffer to unibyte (for certain glyphs).
See: (find-anchors-intro \"WARNING: some glyphs need raw-text-unix\")"
@@ -503,9 +563,9 @@ The \"Local variables:\" section in the buffer is
processed."
;;; | _| | | | | (_| |_____\__ \ | | |
;;; |_| |_|_| |_|\__,_| |___/_| |_|
;;;
-;;; hyperlinks to the output of shell commands
-;;;
;; �find-sh� (to ".find-sh")
+;; Hyperlinks to the output of shell commands.
+;; See: (find-eev-quick-intro "3. Elisp hyperlinks" "find-sh0")
;; Tests:
;; (find-sh "seq 2095 2100")
;; (find-sh0 "seq 2095 2100")
@@ -553,7 +613,7 @@ This is like `find-sh' but sets the buffer's
default-directory to DIR."
;;; |_| |_|_| |_|\__,_| |_| |_| |_|\__,_|_| |_|
;;;
;; �find-man� (to ".find-man")
-;; hyperlinks to manpages
+;; Hyperlinks to manpages.
;; Tests:
;; (find-man "1 cat")
@@ -574,7 +634,10 @@ This is like `find-sh' but sets the buffer's
default-directory to DIR."
ee-find-man-pos-spec-list pos-spec-list)
(man manpage))
-;; Missing: find-woman. (find-node "(woman)Top")
+;; Missing: find-woman.
+;; (find-node "(woman)Top")
+;; (woman "cat")
+;; (woman "1 cat")
@@ -586,9 +649,10 @@ This is like `find-sh' but sets the buffer's
default-directory to DIR."
;;; |_| |_|_| |_|\__,_| \_/\_/ |____/|_| |_| |_|
;;;
;; �find-w3m� (to ".find-w3m")
-;; Hyperlinks to webpages and files in HTML
-;; Tests:
-;; (find-w3m "http://www.emacswiki.org/")
+;; Hyperlinks to webpages and files in HTML.
+;; Needs this: (find-epackage 'w3m)
+;; Tests: (find-w3m "http://www.emacswiki.org/")
+;; (find-w3m "http://www.emacswiki.org/" "EmacsNewbie")
(defun find-w3m (url &rest pos-spec-list)
"Hyperlink to a page in HTML.
@@ -671,7 +735,7 @@ This is Debian-specific. See `find-Package'."
;; Pretty-priting sexps.
;; "pp0" -> "pretty-print a Lisp object in a very compact way".
;; Tests:
-;; (find-epp '(apply (lambda (a) (* a a)) 5))
+;; (find-epp '(mapcar (lambda (a) (* a a)) '(2 3 4 5)))
;; (find-functionpp 'find-efunction)
(defun find-epp0 (object)
@@ -711,12 +775,11 @@ explicitly. Try this: (progn (message \"foo\") \"bar\")"
;; �find-einternals� (to ".find-einternals")
;; Hyperlinks to other things internal to Emacs
;; Tests:
-;; (find-ekeymapdescr isearch-mode-map "toggle-regexp")
-;; (find-eminorkeymapdescr 'eev-mode)
;; (find-einsert '((32 255) 10 (8592 9167)))
;; (find-etpat)
;; (find-etpat0)
+;; Test: (find-ekeymapdescr isearch-mode-map "toggle-regexp")
(defun find-ekeymapdescr (keymap &rest pos-spec-list)
"Hyperlink to the list of bindings in KEYMAP.
Example: (find-ekeymapdescr isearch-mode-map \"toggle-regexp\")"
@@ -724,6 +787,7 @@ Example: (find-ekeymapdescr isearch-mode-map
\"toggle-regexp\")"
(apply 'find-estring (substitute-command-keys "\\<keymap>\\{keymap}")
pos-spec-list))
+;; Test: (find-eminorkeymapdescr 'eev-mode)
(defun find-eminorkeymapdescr (mode-symbol &rest pos-spec-list)
"Hyperlink to the list of bindings in the minor mode MODE-SYMBOL.
Example: (find-eminorkeymapdescr 'eev-mode)"
@@ -737,6 +801,7 @@ Example: (find-eminorkeymapdescr 'eev-mode)"
Example: (find-ekeymapdescr (ee-minor-mode-keymap 'eev-mode))"
(cdr (assq mode-symbol minor-mode-map-alist)))
+;; Test: (ee-insert "\n;; " '(?a ?z) 32 "Foo")
(defun ee-insert (&rest rest)
"Insert characters, strings, or ranges of characters.
Example: (ee-insert '(?a ?z) 10 \"Foo!\")"
@@ -748,24 +813,13 @@ Example: (ee-insert '(?a ?z) 10 \"Foo!\")"
(t (error "Not string/int/pair: %S" o))))
(setq rest (cdr rest))))
+;; Test: (find-einsert '((32 1000) 10 (8000 12000)))
(defun find-einsert (what &rest rest)
"See `ee-insert'.
Example of use: (find-einsert '((32 1000) 10 (8000 12000)))"
(apply 'find-eoutput-reuse "*einsert*"
`(apply 'ee-insert ',what) rest))
-(defun find-etpat0 (&rest pos-spec-list)
-"Hyperlink to a pretty version of the result of (text-properties-at (point))."
- (interactive)
- (let* ((ee-buffer-name
- (or ee-buffer-name "*(text-properties-at (point))*")))
- (apply 'find-epp (text-properties-at (point)) pos-spec-list)))
-
-(defun find-etpat00 ()
- "Show the result of (text-properties-at (point)) in the echo area."
- (interactive)
- (find-epp0 (text-properties-at (point))))
-
;; Broken? See: (find-efile "international/ccl.el")
(defun find-eccldump (ccl-code &rest pos-spec-list)
"Hyperlink to the result of running `ccl-dump' on CCL-CODE.
@@ -801,9 +855,9 @@ Examples: (find-echarsetchars 'mule-unicode-0100-24ff
\"733x\")
;;
;; �find-eejumps� (to ".find-eejumps")
;; Display all the current eejump targets.
+;; See: (find-eev-quick-intro "7.2. The list of eejump targets")
+;; Try: (find-eejumps)
;; Related to: (find-eev "eejump.el")
-;; Try: (find-eejumps)
-;; See: (find-eev-quick-intro "find-eejumps")
(defun ee-defun-sexp-for (symbol)
`(defun ,symbol ,@(cdr (symbol-function symbol))))
diff --git a/eev-elinks.el b/eev-elinks.el
index 13dfb0e..effabd5 100644
--- a/eev-elinks.el
+++ b/eev-elinks.el
@@ -19,7 +19,7 @@
;;
;; Author: Eduardo Ochs <address@hidden>
;; Maintainer: Eduardo Ochs <address@hidden>
-;; Version: 2019jan23
+;; Version: 2019feb03
;; Keywords: e-scripts
;;
;; Latest version: <http://angg.twu.net/eev-current/eev-elinks.el>
@@ -35,7 +35,7 @@
;; See this for a (rough) classification of eev's hyperlink functions
;; into several classes:
;;
-;; (find-links-intro "Basic and non-basic hyperlinks")
+;; (find-links-intro "6. Basic and non-basic hyperlinks")
;;
;; In this file we define `find-elinks' and several functions based on
;; it which generate relatively simple elisp hyperlinks buffers -
@@ -785,6 +785,7 @@ See the comments in the source code."
(find-efunction 'find-eface-links)
""
(find-efacedescr ',face-symbol)
+ (find-efaces ,(format "\n%S " face-symbol))
(find-eface ',face-symbol)
(customize-face ',face-symbol)
(set-face-foreground ',face-symbol ,(face-foreground face-symbol))
diff --git a/eev-intro.el b/eev-intro.el
index b14573d..0f9ffb4 100644
--- a/eev-intro.el
+++ b/eev-intro.el
@@ -57,6 +57,7 @@
;; Quick index:
;; �.find-intro-dual� (to "find-intro-dual")
+;; �.find-eintro� (to "find-eintro")
;;
;; �.find-eev-quick-intro� (to "find-eev-quick-intro")
;; �.find-emacs-keys-intro� (to "find-emacs-keys-intro")
@@ -176,6 +177,68 @@ Actually go to: (find-eev \"eev-intro.el\"
\"find-foo-intro\" (ee-last-kill))."
+;;; __ _ _ __
+;;; / _| ___ _ __ | |_(_)/ _|_ _
+;;; | |_ / _ \| '_ \| __| | |_| | | |
+;;; | _| (_) | | | | |_| | _| |_| |
+;;; |_| \___/|_| |_|\__|_|_| \__, |
+;;; |___/
+;;
+;; �find-eintro� (to ".find-eintro")
+;; 2019feb03: experimental. This is like `find-estring' but it runs
+;; `ee-intro-fontify-maybe' to optionally fontify the titles;
+;; `ee-intro-fontify-maybe' is similar to `Info-fontify-node'.
+;; Compare:
+;; (find-fline "/usr/share/info/emacs-24/elisp.info.gz" "****")
+;; (find-elnode "Top" "Emacs Lisp\n**********")
+
+;; This is practically a copy of:
+;; (find-efile "info.el" "defun Info-fontify-node" ";; Fontify titles")
+(defun ee-intro-fontify ()
+ (interactive)
+ (save-excursion
+ (goto-char (point-min))
+ (while (and (re-search-forward
+ "\n\\([^ \t\n].+\\)\n\\(\\*\\*+\\|==+\\|--+\\|\\.\\.+\\)$"
+ nil t)
+ ;; Only consider it as an underlined title if the ASCII
+ ;; underline has the same size as the text. A typical
+ ;; counter example is when a continuation "..." is alone
+ ;; on a line.
+ (= (string-width (match-string 1))
+ (string-width (match-string 2))))
+ (let* ((c (preceding-char))
+ (face (ee-intro-face c)))
+ (put-text-property (match-beginning 1) (match-end 1)
+ 'face face))
+ ;; This is a serious problem for trying to handle multiple
+ ;; frame types at once. We want this text to be invisible
+ ;; on frames that can display the font above.
+ (when (memq (framep (selected-frame)) '(x pc w32 ns))
+ (add-text-properties
+ (1- (match-beginning 2)) (match-end 2)
+ '(invisible t front-sticky nil rear-nonsticky t))))))
+
+;; (find-elnode "Overlay Properties" "list of faces")
+;; (find-efaces "info-title-1")
+;; (find-efaces "underline")
+(defun ee-intro-face (c)
+ (cond ((= c ?*) '(info-title-1 underline))
+ ((= c ?=) '(info-title-2 underline))
+ ((= c ?-) '(info-title-3 underline))
+ (t 'info-title-3)))
+
+(defun ee-intro-fontify-maybe ())
+(defun ee-intro-fontify-maybe () (ee-intro-fontify))
+
+(defun find-eintro (bigstr &rest pos-spec-list)
+ "Like `find-estring', but runs `ee-intro-fontify-maybe'."
+ (find-estring bigstr)
+ (ee-intro-fontify-maybe)
+ (apply 'ee-goto-position pos-spec-list))
+
+
+
;;; _ _ _ _
@@ -190,13 +253,13 @@ Actually go to: (find-eev \"eev-intro.el\"
\"find-foo-intro\" (ee-last-kill))."
(defun find-eev-quick-intro (&rest pos-spec-list) (interactive)
(let ((ee-buffer-name "*(find-eev-quick-intro)*"))
- (apply 'find-estring (ee-tolatin1 "\
+ (apply 'find-eintro (ee-tolatin1 "\
\(Re)generate: (find-eev-quick-intro)
Source code: (find-efunction 'find-eev-quick-intro)
More intros: (find-emacs-keys-intro)
- (find-escripts-intro)
(find-eev-intro)
(find-eval-intro)
+ (find-links-intro)
(find-eepitch-intro)
This buffer is _temporary_ and _editable_.
Is is meant as both a tutorial and a sandbox.
@@ -1325,7 +1388,7 @@ then these hyperlinks should work:
(defun find-emacs-keys-intro (&rest pos-spec-list) (interactive)
(let ((ee-buffer-name "*(find-emacs-keys-intro)*"))
- (apply 'find-estring "\
+ (apply 'find-eintro "\
\(Re)generate: (find-emacs-keys-intro)
Source code: (find-efunction 'find-emacs-keys-intro)
More intros: (find-eev-quick-intro)
@@ -1494,7 +1557,7 @@ M-B -- eewrap-escript-block
(find-eev-quick-intro \"`M-B'\")
(defun find-eev-install-intro (&rest pos-spec-list) (interactive)
(let ((ee-buffer-name "*(find-eev-install-intro)*"))
- (apply 'find-estring "\
+ (apply 'find-eintro "\
\(Re)generate: (find-eev-install-intro)
Source code: (find-efunction 'find-eev-install-intro)
More intros: (find-eev-quick-intro)
@@ -1631,7 +1694,7 @@ Help would be greatly appreciated!
(defun find-eev-intro (&rest rest) (interactive)
(let ((ee-buffer-name "*(find-eev-intro)*"))
- (apply 'find-estring "\
+ (apply 'find-eintro "\
\(Re)generate: (find-eev-intro)
Source code: (find-eev \"eev-intro.el\" \"find-eev-intro\")
Main intros: (find-eev-quick-intro)
@@ -1738,7 +1801,7 @@ For the full lists of keybindings, see:
(defun find-eval-intro (&rest rest) (interactive)
(let ((ee-buffer-name "*(find-eval-intro)*"))
- (apply 'find-estring "\
+ (apply 'find-eintro "\
\(Re)generate: (find-eval-intro)
Source code: (find-eev \"eev-intro.el\" \"find-eval-intro\")
More intros: (find-eev-quick-intro)
@@ -1949,7 +2012,7 @@ are numbers or strings. Try:
7. Pos-spec-lists
-===---===========
+=================
The optional arguments that refine a hyperlink form what we call
a \"pos-spec-list\". For example, the pos-spec-list here has two
elements,
@@ -2123,7 +2186,7 @@ hyperlinks in scripts]
(defun find-links-intro (&rest rest) (interactive)
(let ((ee-buffer-name "*(find-links-intro)*"))
- (apply 'find-estring "\
+ (apply 'find-eintro "\
\(Re)generate: (find-links-intro)
Source code: (find-eev \"eev-intro.el\" \"find-links-intro\")
More intros: (find-eev-quick-intro)
@@ -2683,7 +2746,7 @@ scripts etc\]
(defun find-eepitch-intro (&rest rest) (interactive)
(let ((ee-buffer-name "*(find-eepitch-intro)*"))
- (apply 'find-estring "\
+ (apply 'find-eintro "\
\(Re)generate: (find-eepitch-intro)
Source code: (find-eev \"eev-intro.el\" \"find-eepitch-intro\")
More intros: (find-eev-quick-intro)
@@ -2919,7 +2982,7 @@ What functions can generate target buffers:
(defun find-wrap-intro (&rest rest) (interactive)
(let ((ee-buffer-name "*(find-wrap-intro)*"))
- (apply 'find-estring-lv "\
+ (apply 'find-eintro (ee-tolatin1 "\
\(Re)generate: (find-wrap-intro)
Source code: (find-eev \"eev-intro.el\" \"find-wrap-intro\")
More intros: (find-eev-quick-intro)
@@ -3129,7 +3192,7 @@ The \"some\" in beginning of the long version of the
slogan, above, is
because a few of the wrapping commands, for example, <M-T> and <M-R>,
are used to produce things that are not hyperlinks - usually other
kinds of scripts.
-" rest)))
+" rest))))
;; (find-wrap-intro)
@@ -3152,7 +3215,7 @@ kinds of scripts.
(defun find-eejump-intro (&rest rest) (interactive)
(let ((ee-buffer-name "*(find-eejump-intro)*"))
- (apply 'find-estring "\
+ (apply 'find-eintro "\
\(Re)generate: (find-eejump-intro)
Source code: (find-eev \"eev-intro.el\" \"find-eejump-intro\")
More intros: (find-eev-quick-intro)
@@ -3442,7 +3505,7 @@ then you'll be attributing just a \"temporary\" meaning to
(defun find-anchors-intro (&rest rest) (interactive)
(let ((ee-buffer-name "*(find-anchors-intro)*"))
- (apply 'find-estring-lv "\
+ (apply 'find-eintro (ee-tolatin1 "\
\(Re)generate: (find-anchors-intro)
Source code: (find-eev \"eev-intro.el\" \"find-anchors-intro\")
More intros: (find-eev-quick-intro)
@@ -3571,7 +3634,7 @@ find-anchor
code-c-d and :anchor
====================
\(find-eev \"eev-code.el\" \"ee-code-c-d-:anchor\")
-" rest)))
+" rest))))
;; (find-anchors-intro)
@@ -3588,7 +3651,7 @@ code-c-d and :anchor
(defun find-code-c-d-intro (&rest rest) (interactive)
(let ((ee-buffer-name "*(find-code-c-d-intro)*"))
- (apply 'find-estring "\
+ (apply 'find-eintro "\
\(Re)generate: (find-code-c-d-intro)
Source code: (find-eev \"eev-intro.el\" \"find-code-c-d-intro\")
More intros: (find-eev-quick-intro)
@@ -3758,7 +3821,7 @@ Try: (find-code-pdf \"CODE\" \"FILE.pdf\")
(defun find-pdf-like-intro (&rest rest) (interactive)
(let ((ee-buffer-name "*(find-pdf-like-intro)*"))
- (apply 'find-estring "\
+ (apply 'find-eintro "\
\(Re)generate: (find-pdf-like-intro)
Source code: (find-eev \"eev-intro.el\" \"find-pdf-like-intro\")
More intros: (find-eev-quick-intro)
@@ -4112,7 +4175,7 @@ macros are VERY useful; if you don't use them yet, see:
(defun find-brxxx-intro (&rest rest) (interactive)
(let ((ee-buffer-name "*(find-brxxx-intro)*"))
- (apply 'find-estring "\
+ (apply 'find-eintro "\
\(Re)generate: (find-brxxx-intro)
Source code: (find-eev \"eev-intro.el\" \"find-brxxx-intro\")
More intros: (find-eev-quick-intro)
@@ -4336,7 +4399,7 @@ In dired mode each line corresponds to a file
(defun find-psne-intro (&rest rest) (interactive)
(let ((ee-buffer-name "*(find-psne-intro)*"))
- (apply 'find-estring "\
+ (apply 'find-eintro "\
\(Re)generate: (find-psne-intro)
Source code: (find-eev \"eev-intro.el\" \"find-psne-intro\")
More intros: (find-eev-quick-intro)
@@ -4531,7 +4594,7 @@ The details on how to create these \"brxxx functions\"
are here:
(defun find-audiovideo-intro (&rest pos-spec-list) (interactive)
(let ((ee-buffer-name "*(find-audiovideo-intro)*"))
- (apply 'find-estring "\
+ (apply 'find-eintro "\
\(Re)generate: (find-audiovideo-intro)
Source code: (find-eev \"eev-intro.el\" \"find-audiovideo-intro\")
More intros: (find-eev-quick-intro)
@@ -4960,7 +5023,7 @@ Create short links
(defun find-multiwindow-intro (&rest pos-spec-list) (interactive)
(let ((ee-buffer-name "*(find-multiwindow-intro)*"))
- (apply 'find-estring "\
+ (apply 'find-eintro "\
\(Re)generate: (find-multiwindow-intro)
Source code: (find-efunction 'find-multiwindow-intro)
More intros: (find-eev-quick-intro)
@@ -5394,7 +5457,7 @@ Here:
(defun find-rcirc-intro (&rest pos-spec-list) (interactive)
(let ((ee-buffer-name "*(find-rcirc-intro)*"))
- (apply 'find-estring "\
+ (apply 'find-eintro "\
\(Re)generate: (find-rcirc-intro)
Source code: (find-efunction 'find-rcirc-intro)
More intros: (find-eev-quick-intro)
@@ -5541,7 +5604,7 @@ For more information see:
(defun find-templates-intro (&rest rest) (interactive)
(let ((ee-buffer-name "*(find-templates-intro)*"))
- (apply 'find-estring "\
+ (apply 'find-eintro "\
\(Re)generate: (find-templates-intro)
Source code: (find-eev \"eev-intro.el\" \"find-templates-intro\")
More intros: (find-eev-quick-intro)
@@ -5671,7 +5734,7 @@ Experiments
(defun find-prepared-intro (&rest rest) (interactive)
(let ((ee-buffer-name "*(find-prepared-intro)*"))
- (apply 'find-estring "\
+ (apply 'find-eintro "\
\(Re)generate: (find-prepared-intro)
Source code: (find-eev \"eev-intro.el\" \"find-prepared-intro\")
More intros: (find-eev-quick-intro)
@@ -5899,7 +5962,7 @@ But try these:
;; (find-intro-links "bounded")
(defun find-bounded-intro (&rest pos-spec-list) (interactive)
(let ((ee-buffer-name "*(find-bounded-intro)*"))
- (apply 'find-estring "\
+ (apply 'find-eintro "\
\(Re)generate: (find-bounded-intro)
Source code: (find-eev \"eev-intro.el\" \"find-bounded-intro\")
More intros: (find-eev-quick-intro)
@@ -5993,7 +6056,7 @@ so you should do something like this, but for your
favourite key:
(defun find-channels-intro (&rest pos-spec-list) (interactive)
(let ((ee-buffer-name "*(find-channels-intro)*"))
- (apply 'find-estring "\
+ (apply 'find-eintro "\
\(Re)generate: (find-channels-intro)
Source code: (find-eev \"eev-intro.el\" \"find-channels-intro\")
More intros: (find-eev-quick-intro)
@@ -6391,7 +6454,7 @@ How to set it up
(defun find-videos-intro (&rest pos-spec-list) (interactive)
(let ((ee-buffer-name "*(find-videos-intro)*"))
- (apply 'find-estring "\
+ (apply 'find-eintro "\
\(Re)generate: (find-videos-intro)
Source code: (find-efunction 'find-videos-intro)
More intros: (find-eev-quick-intro)
@@ -6691,7 +6754,7 @@ use this sexp to help you:
(defun find-defun-intro (&rest rest) (interactive)
(let ((ee-buffer-name "*(find-defun-intro)*"))
- (apply 'find-estring "\
+ (apply 'find-eintro "\
\(Re)generate: (find-defun-intro)
Source code: (find-eev \"eev-intro.el\" \"find-defun-intro\")
More intros: (find-eev-quick-intro)
@@ -6915,7 +6978,7 @@ returns nil. But just as
(defun find-emacs-intro (&rest rest) (interactive)
(let ((ee-buffer-name "*(find-emacs-intro)*"))
- (apply 'find-estring "\
+ (apply 'find-eintro "\
\(Re)generate: (find-emacs-intro)
Source code: (find-eev \"eev-intro.el\" \"find-emacs-intro\")
More intros: (find-eev-quick-intro)
@@ -7109,7 +7172,7 @@ C-x e -- call-last-kbd-macro (find-enode
\"Keyboard Macros\")
(defun find-org-intro (&rest pos-spec-list) (interactive)
(let ((ee-buffer-name "*(find-org-intro)*"))
- (apply 'find-estring "\
+ (apply 'find-eintro "\
\(Re)generate: (find-org-intro)
Source code: (find-efunction 'find-org-intro)
More intros: (find-eev-quick-intro)
@@ -7182,7 +7245,7 @@ http://www.youtube.com/watch?v=oJTwQvgfgMM Emacs Org-mode
- a system for note-ta
(defun find-escripts-intro (&rest pos-spec-list) (interactive)
(let ((ee-buffer-name "*(find-escripts-intro)*"))
- (apply 'find-estring "\
+ (apply 'find-eintro "\
\(Re)generate: (find-escripts-intro)
Source code: (find-efunction 'find-escripts-intro)
More intros: (find-eev-quick-intro)
- [elpa] externals/eev bfd11b4 47/64: Added some sections to `find-escripts-intro', (continued)
- [elpa] externals/eev bfd11b4 47/64: Added some sections to `find-escripts-intro', Stefan Monnier, 2019/04/07
- [elpa] externals/eev 082a9f4 42/64: Changes in parts of `find-eev-intro' and `find-escripts-intro'., Stefan Monnier, 2019/04/07
- [elpa] externals/eev e4d30ff 39/64: Rewrote parts of `find-escripts-intro' and `find-links-intro'., Stefan Monnier, 2019/04/07
- [elpa] externals/eev f974ef7 37/64: Added lots of comments to eev-plinks.el., Stefan Monnier, 2019/04/07
- [elpa] externals/eev 41323e0 58/64: Moved the function `ee-template0' to the file eev-template0.el., Stefan Monnier, 2019/04/07
- [elpa] externals/eev 3325b83 41/64: Some clean-ups in the code for `find-eintro-links' and `find-einfo-links'., Stefan Monnier, 2019/04/07
- [elpa] externals/eev 8afeb43 45/64: Cleaned up eev-mode.el and other files., Stefan Monnier, 2019/04/07
- [elpa] externals/eev 8179ff8 19/64: Make `find-eev-quick-intro\' and `find-emacs-keys-intro\' more important, Stefan Monnier, 2019/04/07
- [elpa] externals/eev 4e07159 57/64: Added some comments to eepitch.el., Stefan Monnier, 2019/04/07
- [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 <=
- [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, 2019/04/07
- [elpa] externals/eev 7162184 51/64: Added `find-texworkspdf-page'., Stefan Monnier, 2019/04/07