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

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

[elpa] externals/eev 7c396d0 26/64: Many changes in the intros; added ee


From: Stefan Monnier
Subject: [elpa] externals/eev 7c396d0 26/64: Many changes in the intros; added eev-load.el
Date: Sun, 7 Apr 2019 16:59:06 -0400 (EDT)

branch: externals/eev
commit 7c396d0010422a55943115e8c03a9460956ce4d2
Author: Eduardo Ochs <address@hidden>
Commit: Eduardo Ochs <address@hidden>

    Many changes in the intros; added eev-load.el
---
 ChangeLog          |  23 +++++--
 eev-elinks.el      |  13 ++--
 eev-eval.el        | 113 ++++++++++++++++++++++---------
 eev-intro.el       | 190 +++++++++++++++++++++++++++++------------------------
 eev-load.el        | 125 +++++++++++++++++++++++++++++++++++
 eev-mode.el        |   4 +-
 eev-multiwindow.el |  61 ++++++++++-------
 7 files changed, 378 insertions(+), 151 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index b91408e..ab3c686 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,16 +1,27 @@
 2019-01-23  Eduardo Ochs  <address@hidden>
 
-       * eejump.el: moved the binding for `M-j' to eev-intro.el.
-
-       * eev-mode.el (eev-mode-map-set): rewrote some comments.
-       (eev-mode-map-set): removed the binding for `find-git-links-1'.
-       (eev-mode-map-set): added the binding for `M-j' (`eejump').
-
        * eev-intro.el (find-eev-quick-intro): added sections "3.1.
        Non-elisp hyperlinks", "7.2. The list of eejump targets", "7.3.
        Defining eejump targets"; small changes in other sections.
+       (find-multiwindow-intro): small changes.
+       (find-anchors-intro): small changes.
+       (find-eval-intro): small changes.
+       (find-brxxx-intro): small changes.
+       (find-emacs-keys-intro): small changes.
+       (find-links-intro): small changes.
 
        * eev-eval.el: added comments.
+       (ee-eval-last-sexp): rewrote to make it use
+       `ee-eval-last-sexp-0', `ee-eval-last-sexp-1', etc.
+
+       * eejump.el: moved the binding for `M-j' to eev-mode.el.
+
+       * eev-elinks.el: moved the binding for `M-h M-h' to eev-mode.el.
+
+       * eev-mode.el (eev-mode-map-set): rewrote some comments.
+       (eev-mode-map-set): removed the binding for `find-git-links-1'.
+       (eev-mode-map-set): added the binding for `M-j' (`eejump').
+       (eev-mode-map-set): added the binding for `M-h M-h' (`find-here-links').
 
 2019-01-05  Eduardo Ochs  <address@hidden>
 
diff --git a/eev-elinks.el b/eev-elinks.el
index 0210fa1..13dfb0e 100644
--- a/eev-elinks.el
+++ b/eev-elinks.el
@@ -1,6 +1,6 @@
 ;;; eev-elinks.el --- `find-efunction-links' and other `find-e*-links'
 
-;; 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:    2013nov18
+;; Version:    2019jan23
 ;; Keywords:   e-scripts
 ;;
 ;; Latest version: <http://angg.twu.net/eev-current/eev-elinks.el>
@@ -858,7 +858,7 @@ This needs a temporary directory; see: 
(find-prepared-intro)"
 ;;; |_| |_|_| |_|\__,_|     |_| |_|\___|_|  \___|     |_|_|_| |_|_|\_\___/
 ;;;                                                                       
 ;; �find-here-links� (to ".find-here-links")
-;; TO DO: DOCUMENT THIS!
+;; See: (find-eev-quick-intro "`M-h M-h'")
 
 ;; (find-efunction 'find-grep-links)
 ;; (find-efunction 'find-einfo-links)
@@ -866,10 +866,11 @@ This needs a temporary directory; see: 
(find-prepared-intro)"
 ;; (find-find-links-links "\\M-h" "here" "")
 ;; (find-efunction 'find-ecolors)
 
-(define-key eev-mode-map "\M-h\M-h" 'find-here-links)
+;; Moved the key binding to:
+;;   (find-eevfile "eev-mode.el" "\\M-h\\M-h")
+;; (define-key eev-mode-map "\M-h\M-h" 'find-here-links)
 
-;; Tools
-;; (defun ee-buffer-re (re)  (string-match re (buffer-name)))
+;; Some tools for detecting which kind of buffer we're in.
 (defun ee-buffer-re (re)
   (if (string-match re (buffer-name))
       (match-string 1 (buffer-name))))
diff --git a/eev-eval.el b/eev-eval.el
index 669a3ae..7eb7743 100644
--- a/eev-eval.el
+++ b/eev-eval.el
@@ -1,6 +1,6 @@
-;;; eev.el -- variants of eval-last-sexp.
+;;; eev-eval.el -- variants of eval-last-sexp.
 
-;; Copyright (C) 2012 Free Software Foundation, Inc.
+;; Copyright (C) 2012,2019 Free Software Foundation, Inc.
 ;;
 ;; This file is (not yet?) part of GNU eev.
 ;;
@@ -32,8 +32,20 @@
 
 ;;; Commentary:
 
+;; This file implements:
+;;   `M-E' (`ee-eval-last-sexp'), that is a better     `C-x C-e', and
+;;   `M-e' (`ee-eval-sexp-eol'),  that is a better `C-e C-x C-e',
+;; as described here:
+;;   (find-eev-quick-intro "2. Evaluating Lisp")
+;;   (find-eev-quick-intro "2. Evaluating Lisp" "When you type `M-e'")
+;;   (find-eev-quick-intro "2. Evaluating Lisp" "numeric prefixes")
+;;   (find-eev-quick-intro "2. Evaluating Lisp" "`M-0 M-e'")
+;; Note that `M-2 M-e' and `M-2 M-e' only make sense when the sexp is
+;; a hyperlink.
+
 
 (require 'eev-flash)           ; (find-eev "eev-flash.el")
+(require 'eev-multiwindow)     ; (find-eev "eev-multiwindow.el")
 
 
 
@@ -44,15 +56,9 @@
 ;;;  \___| \_/ \__,_|_|     |___/\___/_/\_\ .__/       \___|\___/|_|
 ;;;                                       |_|                       
 ;;;
-;;; evaluating sexps (alternatives to eval-last-sexp)
-;;; See: (find-eev-quick-intro "2. Evaluating Lisp")
-;;;      (find-eev-quick-intro "2. Evaluating Lisp" "When you type `M-e'")
-;;;      (find-eev-quick-intro "2. Evaluating Lisp" "numeric prefixes")
+;;; Evaluating sexps (alternatives to eval-last-sexp)
 ;;;
 
-;; ee-eval-sexp-eol may be obsolete
-;; ee-arg is still used in eev-insert.el (ack!)
-
 ;; See (find-efunction 'eval-last-sexp-1)
 (defun ee-backward-sexp ()
   "An internal function used by `ee-eval-last-sexp'."
@@ -81,7 +87,11 @@
 (defmacro ee-no-debug (&rest body)
   `(let ((debug-on-error nil)) ,@body))
 
-;; (defun ee-eval (sexp) (ee-no-debug (eval sexp)))
+;; `ee-eval' is also defined elsewhere:
+;;   (find-eevfile "eepitch.el" "defun ee-eval")
+;;   (defun ee-eval (sexp) (let ((debug-on-error nil)) (eval sexp)))
+
+(defun ee-eval (sexp) (ee-no-debug (eval sexp)))
 
 (defun ee-eval-last-sexp-0 ()
   "Highlight the sexp before point."
@@ -89,6 +99,10 @@
     (eeflash+ (ee-backward-sexp) (ee-forward-sexp)
              ee-highlight-spec)))
 
+(defun ee-eval-last-sexp-1 ()
+  "Show the sexp before point as a string in the echo area."
+  (prin1 (ee-last-sexp)))
+
 (defun ee-eval-last-sexp-2 ()
   "Show the target of the sexp before point in another window."
   (find-wset "1so_o" '(ee-eval-last-sexp)))
@@ -109,11 +123,25 @@
        (debug-on-error t))
     (eval sexp)))
 
+(defun ee-eval-last-sexp-8 ()
+  "Evaluate the sexp before point and pretty-print its result in other buffer."
+  (find-epp (ee-eval (read (ee-last-sexp)))))
+
+(defun ee-eval-last-sexp-9 ()
+  "A hack for testing `call-interactively'"
+  (let ((interactive-clause (read (ee-last-sexp))))
+    (let ((debug-on-error nil))
+      (call-interactively
+       `(lambda (&rest args) ,interactive-clause
+         (message "%S" args))))))
+
 
 (defun ee-eval-last-sexp (&optional arg)
   "By default, evaluate sexp before point, and print value in minibuffer.
 This is eev's variant of `eval-last-sexp', and it can behave in
 several different ways depending on the prefix argument ARG.
+See: (find-eev-quick-intro \"`M-0 M-e'\")
+
 If ARG is:
   nil:  evaluate the sexp with `debug-on-error' turned off
     0:  highlight the sexp temporarily
@@ -123,30 +151,55 @@ If ARG is:
     4:  evaluate the sexp in debug mode
     5:  run the sexp with `debug-on-error' turned on
     8:  eval then pretty-print the result in another buffer
-    9:  a hack for testing `call-interactively'"
+    9:  a hack for testing `call-interactively'
+other: set EE-ARG to ARG and eval (ee-last-sexp)."
   (interactive "P")
-  (cond ((eq arg 0)
-        (save-excursion
-          (eeflash+ (ee-backward-sexp) (ee-forward-sexp)
-                    ee-highlight-spec)))
-       ((eq arg 1) (prin1 (ee-last-sexp)))
-       ;; ((eq arg 2) (prin1 (read (ee-last-sexp))))
-       ;; ((eq arg 3) (ee-eval (read (ee-last-sexp))))
-       ((eq arg 2) (find-wset "1so_o" ' (ee-eval-last-sexp)))
-       ((eq arg 3) (find-wset "1so_"  ' (ee-eval-last-sexp)))
-       ((eq arg 4) (let ((sexp (read (ee-last-sexp)))) (debug) (eval sexp)))
-       ((eq arg 5) (let ((sexp (read (ee-last-sexp)))
-                         (debug-on-error t))
-                     (eval sexp)))
-       ((eq arg 8) (find-epp (ee-eval (read (ee-last-sexp)))))
-       ((eq arg 9) (let ((interactive-clause (read (ee-last-sexp))))
-                     (let ((debug-on-error nil))
-                       (call-interactively
-                        `(lambda (&rest args) ,interactive-clause
-                           (message "%S" args))))))
+  (cond ((eq arg 0) (ee-eval-last-sexp-0))
+       ((eq arg 1) (ee-eval-last-sexp-1))
+       ((eq arg 2) (ee-eval-last-sexp-2))
+       ((eq arg 3) (ee-eval-last-sexp-3))
+       ((eq arg 4) (ee-eval-last-sexp-4))
+       ((eq arg 5) (ee-eval-last-sexp-5))
+       ((eq arg 8) (ee-eval-last-sexp-8))
+       ((eq arg 9) (ee-eval-last-sexp-9))
        (t (prin1 (let ((ee-arg arg))
                    (ee-eval (read (ee-last-sexp))))))))
 
+;; (defun ee-eval-last-sexp (&optional arg)
+;;   "By default, evaluate sexp before point, and print value in minibuffer.
+;; This is eev's variant of `eval-last-sexp', and it can behave in
+;; several different ways depending on the prefix argument ARG.
+;; If ARG is:
+;;   nil:  evaluate the sexp with `debug-on-error' turned off
+;;     0:  highlight the sexp temporarily
+;;     1:  show the sexp as a string
+;;     2:  show the target of the sexp in another window
+;;     3:  same, but also switch to the new window
+;;     4:  evaluate the sexp in debug mode
+;;     5:  run the sexp with `debug-on-error' turned on
+;;     8:  eval then pretty-print the result in another buffer
+;;     9:  a hack for testing `call-interactively'"
+;;   (interactive "P")
+;;   (cond ((eq arg 0)
+;;          (save-excursion
+;;            (eeflash+ (ee-backward-sexp) (ee-forward-sexp)
+;;                      ee-highlight-spec)))
+;;         ((eq arg 1) (prin1 (ee-last-sexp)))
+;;         ((eq arg 2) (find-wset "1so_o" ' (ee-eval-last-sexp)))
+;;         ((eq arg 3) (find-wset "1so_"  ' (ee-eval-last-sexp)))
+;;         ((eq arg 4) (let ((sexp (read (ee-last-sexp)))) (debug) (eval 
sexp)))
+;;         ((eq arg 5) (let ((sexp (read (ee-last-sexp)))
+;;                           (debug-on-error t))
+;;                       (eval sexp)))
+;;         ((eq arg 8) (find-epp (ee-eval (read (ee-last-sexp)))))
+;;         ((eq arg 9) (let ((interactive-clause (read (ee-last-sexp))))
+;;                       (let ((debug-on-error nil))
+;;                         (call-interactively
+;;                          `(lambda (&rest args) ,interactive-clause
+;;                             (message "%S" args))))))
+;;         (t (prin1 (let ((ee-arg arg))
+;;                     (ee-eval (read (ee-last-sexp))))))))
+
 (defun ee-eval-sexp-eol (&optional arg)
 "Go to the end of line, then run `ee-eval-last-sexp'.
 See: (find-eval-intro)"
diff --git a/eev-intro.el b/eev-intro.el
index 2605e94..372bfbb 100644
--- a/eev-intro.el
+++ b/eev-intro.el
@@ -73,12 +73,13 @@
 
 ;; See: (find-anchors-intro)
 
+
 ;; Ignore this - this is an obsolete hack that I used to use to make
 ;; the htmlization in <http://angg.twu.net/eev-intros/> work better...
 ;; (find-angg "eev-intros/")
 ;; (find-angg "eev-intros/README")
-' (fooi-re "Source code:  (find-efunction '\\([!-~]*\\))"
-           "Source code:  (find-eev \\\\\"eev-intro.el\\\\\" \\\\\"\\1\\\\\")")
+;;' (fooi-re "Source code:  (find-efunction '\\([!-~]*\\))"
+;;           "Source code:  (find-eev \\\\\"eev-intro.el\\\\\" 
\\\\\"\\1\\\\\")")
 
 
 ;; �find-intro-here� (to ".find-intro-here")
@@ -355,8 +356,8 @@ For an introduction to the ideas here, see:
 
 
 
-The standard way to evaluate Lisp: `C-x C-e'
-============================================
+1. The standard way to evaluate Lisp: `C-x C-e'
+===============================================
 The most important idea in Emacs is that Lisp code can appear
 anywhere, and you can evaluate a Lisp expression (a \"sexp\") by
 placing the cursor (the \"point\") just after it and typing `C-x
@@ -371,8 +372,8 @@ positions - you should get different results.
 
 
 
-The end of line and `M-e'
-=========================
+2. The end of line and `M-e'
+============================
 A common operation is to move the point to the end of the current
 line, then run `C-x C-e'. That can be done with `C-e C-x C-e',
 but eev-mode implements a shorthand for it: `M-e'. Try it here:
@@ -397,8 +398,9 @@ hightlight the subsexps `(* 2 3)', `(* 4 5)', and `4'.
 
 
 
-What to execute, and in what order
-==================================
+
+3. What to execute, and in what order
+=====================================
 Note that the order of evaluation may be important:
 
   (setq a 5)
@@ -413,6 +415,17 @@ An exercise: edit the three sexps above to introduce a
 `(setq a 22)', then use that sexp and the `(* a a)' to calculate
 the square of 22.
 
+Another exercise: just as `setq' sets variables and can override
+their previous values, `defun' defines, and redefines, functions.
+Execute the sexps below in different orders to obtain the results
+25, 36, 50, and 60.
+
+  (setq a 5)
+  (setq a 6)
+  (defun f (x) (* x x))
+  (defun f (x) (* x 10))
+  (f a)
+
 MORAL: Elisp code can appear anywhere in any Emacs buffer, but it
 is _passive by default_. It only gets executed if we move the
 point to the right positions and type `C-x C-e', `M-e', or
@@ -422,8 +435,8 @@ order, and can be edited and modified.
 
 
 
-Elisp hyperlinks
-================
+4. Elisp hyperlinks
+===================
 Some Emacs functions can be used as hyperlinks. When sexps like
 
   (find-file \"/tmp/\")
@@ -476,8 +489,8 @@ eev versions of the links above:
 
 
 
-Going back
-==========
+5. Going back
+=============
 Web browsers let you follow a hyperlink and then \"go back\".
 There are different ways of going back - if you opened the new
 page on a new window or tab, then going back means deleting the
@@ -512,8 +525,8 @@ quicker than recreating it anew.
 
 
 
-Refining hyperlinks
-===================
+6. Refining hyperlinks
+======================
 Most hyperlinks functions defined by eev can be \"refined\" by
 the addition of extra arguments. These extra arguments are called
 a \"pos-spec\" (or a \"pos-spec-list\") and they specify a
@@ -535,8 +548,8 @@ are numbers or strings. Try:
 
 
 
-Pos-spec-lists
-==============
+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,
@@ -571,8 +584,8 @@ replace `ee-goto-rest' with your own extended version.
 
 
 
-Anchors and pages
-=================
+8. Anchors and pages
+====================
 \[See:\] (find-anchors-intro)
 
 Some hyperlink functions, like `find-efunction' and
@@ -607,8 +620,8 @@ more on \"pages\", see:
 
 
 
-Producing and refining hyperlinks
-=================================
+9. Producing and refining hyperlinks
+====================================
 If you are on an Info page, typing `M-h M-i' will create a
 temporary buffer containing a header - which we will discuss
 later - and several (possibly equivalent) links to that info
@@ -1187,8 +1200,8 @@ Is is meant as both a tutorial and a sandbox.
 
 
 
-What is a hyperlink?
-====================
+1. What is a hyperlink?
+=======================
 In a previous tutorial - (find-eval-intro) - we saw that several
 kinds of sexps can be used as hyperlinks. For example, these:
 
@@ -1231,8 +1244,8 @@ kinds of hyperlinks.
 
 
 
-Elisp hyperlinks buffers
-========================
+2. Elisp hyperlinks buffers
+===========================
 Emacs has several help commands, whose bindings start with `C-h',
 that display their information in (temporary) \"help buffers\" -
 and in many cases these generated help buffers have hyperlinks,
@@ -1286,8 +1299,8 @@ What is that?...
 
 
 
-Elisp hyperlinks buffers conventions
-====================================
+3. Elisp hyperlinks buffers conventions
+=======================================
 Let's refer to Emacs's help buffers as \"C-h buffers\" and to
 eev's elisp hyperlink buffers as \"M-h buffers\". Here is a quick
 list of the main differences and conventions; some of them will
@@ -1345,8 +1358,8 @@ be expanded later:
 
 
 
-`find-here-links'
-=================
+4. `find-here-links'
+====================
 The most important of the commands that generates buffers with elisp
 hyperlinks - \"M-h commands\", in the terminology explained above - is
 `find-here-links', which integrates most of the functionalities of
@@ -1434,8 +1447,8 @@ can compare the different cases using just <up>, <down>, 
and M-e.
 
 
 
-`find-here-links': usage patterns
-=================================
+5. `find-here-links': usage patterns
+====================================
 Typically what happens is this. We are putting our notes - eepitch
 blocks, hyperlinks, etc - in a certain file; let's refer to it as the
 \"e-script\". Then we start to navigate for information, and we find
@@ -1487,8 +1500,8 @@ and step (3) sometimes gives several sexps for us to 
choose from]
 
 
 
-Basic and non-basic hyperlinks
-==============================
+6. Basic and non-basic hyperlinks
+=================================
 How can we learn to recognize what each hyperlink sexp does? And
 which ones are safe(r), and which ones are not? How do we
 classify all hyperlink sexps?
@@ -1557,8 +1570,8 @@ that they generate.
 
 
 
-ee-hyperlink-prefix
-===================
+7. ee-hyperlink-prefix
+======================
 `ee-hyperlink-prefix' is both a variable and a function that
 helps us set that variable; it started to an experiment on how to
 create an alternative to `M-x customize' and ended up becoming
@@ -1596,8 +1609,8 @@ Try this, with `M-2 M-e' on each line:
 
 
 
-The first line regenerates the buffer
-=====================================
+8. The first line regenerates the buffer
+========================================
 \[To do: explain this convention with examples; explain the
 conventions for the \"variants of the first line\"\]
 
@@ -1610,8 +1623,8 @@ conventions for the \"variants of the first line\"\]
 
 
 
-Pointing to where we are now
-============================
+9. Pointing to where we are now
+===============================
 Several of the `M-h' commands are mainly meant to help us
 generate hyperlinks to \"where we are now\": to the current file,
 to the current Info page, to the current `find-*-intro', to an
@@ -1653,8 +1666,8 @@ buffer, and so on. They don't try to be very smart -
 
 
 
-The rest of the buffer
-======================
+10. The rest of the buffer
+==========================
 
 Several elisp hyperlinks buffers are composed of two parts: a
 series of links at the top, and then a template-generated text
@@ -1738,6 +1751,11 @@ Is is meant as both a tutorial and a sandbox.
 
 
 
+This intro has been mostly superseded by:
+(find-eev-quick-intro \"9.1. `code-c-d'\")
+
+
+
 Avoiding full path names
 ========================
 Suppose that you have downloaded (\"psne\"-ed) this URL,
@@ -2090,8 +2108,8 @@ Is is meant as both a tutorial and a sandbox.
 
 
 
-Introduction
-============
+1. Introduction
+===============
 We saw in
 
   (find-psne-intro)
@@ -2119,8 +2137,8 @@ brxxx-functions from base functions.
 
 
 
-A first example
-===============
+2. A first example
+==================
 Let's define two trivial base functions, one that expects a URL,
 and another one that expects a file name:
 
@@ -2177,8 +2195,8 @@ to that URL.
 
 
 
-The conversions
-===============
+3. The conversions
+==================
 One underlying idea behind all this is that we have two
 conversion functions, one from URLs to file names, and another
 from (absolute) file names to URLs starting with \"file:///\".
@@ -2205,8 +2223,8 @@ execute:
 
 
 
-Naming conventions for brxxx-functions
-======================================
+4. Naming conventions for brxxx-functions
+=========================================
 By convention, each name for a brxxx-function is composed of a
 prefix, a stem, and a suffix. The prefix is always \"br\", the
 stem is a mnemonic for the base function, and the suffix is
@@ -2245,8 +2263,8 @@ In our example with `foo-url' and `foo-file' we had:
 
 
 
-Calling `code-brurl' and `code-brfile'
-======================================
+5. Calling `code-brurl' and `code-brfile'
+=========================================
 
   (code-brurl '<U-function>
                    :remote 'br<stem>   :local 'br<stem>l   :dired 'br<stem>d)
@@ -2269,8 +2287,8 @@ curious about the inspirations behind it, here they are:
 
 
 
-The dired variation
-===================
+6. The dired variation
+======================
 
 In dired mode each line corresponds to a file
 
@@ -3379,8 +3397,8 @@ Is is meant as both a tutorial and a sandbox.
 
 
 
-Introduction
-============
+1. Introduction
+===============
 In many situations - for example, when we want to script a
 debugger, or to test programs that have to talk to one another,
 or to control several external machines simultaneously - the
@@ -3415,8 +3433,8 @@ practical experimentation.
 
 
 
-`find-wset'
-===========
+2. `find-wset'
+==============
 Suppose that we are in a buffer A, and we want to create a window
 configuration with A at the left, and with the buffers B and C
 stacked on one another at the right. That is:
@@ -3486,8 +3504,8 @@ how to extend it - see the source:
 
 
 
-High-level words
-================
+3. High-level words
+===================
 Very often we want to create window setups like
 
    _______________            _______________ 
@@ -3528,8 +3546,8 @@ window \"C\".
 
 
 
-Several eepitch targets
-=======================
+4. Several eepitch targets
+==========================
 If we try to build a window setup like this one, with two eepitch
 targets, with just `find-wset', we will run into problems -
 
@@ -3577,8 +3595,8 @@ word, so this is equivalent to:
 
 
 
-Restarting eepitch targets
-==========================
+5. Restarting eepitch targets
+=============================
 Sometimes we want to do the same as above, but restarting both
 eepitch targets, i.e., something like this:
 
@@ -3622,8 +3640,8 @@ print(open(\"/tmp/o\").read())
 
 
 
-Non-trivial examples
-====================
+6. Non-trivial examples
+========================
 See:
 
   (find-prepared-intro \"An `ee' for Python\")
@@ -3631,8 +3649,8 @@ See:
 
 
 
-Eepitch blocks for two targets
-==============================
+7. Eepitch blocks for two targets
+=================================
 An eepitch script with two targets uses several different kinds
 of red star lines - `(eepitch-target1)', `(eepitch-target2)',
 `(find-3EE ...)', `(find-3ee ...)', etc. We don't want to have to
@@ -3660,8 +3678,8 @@ Note that we use to `find-3EE' to restart targets instead 
of
 
 
 
-Adding support for new characters in `find-wset'
-================================================
+8. Adding support for new characters in `find-wset'
+===================================================
 The standard characters supported by `find-wset' are these:
 
   char  action                       key
@@ -3698,16 +3716,18 @@ See: (find-prepared-intro)
 
 
 
-Executing key sequences at other windows
-========================================
+9. Executing key sequences at other windows
+===========================================
 It is possible to use multi-window settings, together with the
 trick that `<f8>' on a red star line executes it as Lisp and
 moves down, to create tutorials for Emacs modes. An example:
 
+  (...)
 
 
-A tutorial for Info mode
-========================
+
+10. A tutorial for Info mode
+============================
 Here's a mini-tutorial for Info mode, demonstrating how to
 navigate in Info using the usual movement keys, plus TAB,
 <backtab>, RET, l (last), u (up), n (next), p (prev), q (quit),
@@ -4078,6 +4098,11 @@ Is is meant as both a tutorial and a sandbox.
 
 
 
+NOTE: This has been mostly superseded by:
+(find-eev-quick-intro \"8. Anchors\")
+
+
+
 Introduction: `ee-anchor-format' and `to'
 =========================================
 A hyperlink like
@@ -5476,7 +5501,13 @@ The most basic keys of eev are:
               `M-j' takes you to the list of jump targets.
           `M-2 M-j' takes you to this help page.
           `M-5 M-j' takes you to: (find-eev-quick-intro)
+  <f8>  - See: (find-eev-quick-intro \"6. Controlling shell-like programs\")
+  M-T   - See: (find-eev-quick-intro \"6.3. Creating eepitch blocks: `M-T'\")
 
+The keys for creating \"hyperlinks to here\" and refining them are:
+  M-h M-h   - `find-here-links'. See: (find-eev-quick-intro \"`M-h M-h'\")
+  M-h M-2   - `ee-duplicate-this-line'. See: (find-eval-intro \"M-h M-2\")
+  M-h M-y   - `ee-yank-pos-spec'. See: (find-eval-intro \"M-h M-y\")
 
 
 2. Key sequences and how to abort them
@@ -5590,9 +5621,6 @@ C-x r j <char>       -- jump-to-register     (find-enode 
\"Position Registers\")
 
 11. Other keys (eev)
 ====================
-M-h M-h   -- find-here-links            (find-eev-quick-intro \"`M-h M-h'\")
-F8        -- eepitch-this-line          (find-eev-quick-intro \"what <F8> 
does\")
-M-T       -- eewrap-eepitch             (find-eev-quick-intro \"`M-T'\")
 M-F       -- eewrap-find-fline          (find-eev-quick-intro \"`M-F'\")
 M-M       -- eewrap-man                 (find-eev-quick-intro \"`M-M'\")
 M-S       -- eewrap-sh                  (find-eev-quick-intro \"`M-S'\")
@@ -6311,17 +6339,6 @@ cd /tmp/
 echo \"We changed to: $(pwd)\"
 
 
-Note (for ADVANCED USERS):
-if the above does not work as expected then the code below MAY fix it -
-try it and copy it to your .emacs if it works...
-
-;; See: (find-eevfile \"eepitch.el\" \"defun eepitch-window-show\")
-\(defun eepitch-window-show ()
-  \"An emergency hack for Emacs versions where `display-buffer' is buggy\"
-  (find-2a nil '(find-ebuffer eepitch-buffer-name)))
-
-
-
 
 
 6.2. Other targets
@@ -6776,6 +6793,7 @@ files.
 
 9. Shorter hyperlinks
 =====================
+See also: (find-code-c-d-intro)
 
 9.1. `code-c-d'
 ---------------
diff --git a/eev-load.el b/eev-load.el
new file mode 100644
index 0000000..68d418b
--- /dev/null
+++ b/eev-load.el
@@ -0,0 +1,125 @@
+;;; eev-load.el -- load all the main modules of eev.
+;;; This can also be used as an index to the main source files.
+
+;; Copyright (C) 2019 Free Software Foundation, Inc.
+;;
+;; This file is (not yet?) part of GNU eev.
+;;
+;; GNU eev is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+;;
+;; GNU eev is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;; GNU General Public License for more details.
+;;
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.
+;;
+;; Author:     Eduardo Ochs <address@hidden>
+;; Maintainer: Eduardo Ochs <address@hidden>
+;; Version:    2019jan23
+;; Keywords:   e-scripts
+;;
+;; Supersedes: (find-eev "eev-all.el")
+;;             (find-eev "eev2-all.el")
+;;             (find-eev "eev-readme.el")
+;;
+;; Latest version: <http://angg.twu.net/eev-current/eev-load.el>
+;;       htmlized: <http://angg.twu.net/eev-current/eev-load.el.html>
+;;                 <http://angg.twu.net/eev-intros/find-eev-quick-intro.html>
+;;                                                (find-eev-quick-intro)
+
+;;; Commentary:
+
+;; The "eev quick intro" itself, and many other intros:
+(require 'eev-intro)          ; (find-eev "eev-intro.el")
+;;
+;; Following elisp hyperlinks (`M-e') and going back (`M-k'):
+;;   (find-eev-quick-intro "2. Evaluating Lisp" "When you type `M-e'")
+;;   (find-eev-quick-intro "3. Elisp hyperlinks" "go back" "`M-k'")
+(require 'eev-flash)          ; (find-eev "eev-flash.el")
+(require 'eev-multiwindow)     ; (find-eev "eev-multiwindow.el")
+(require 'eev-eval)           ; (find-eev "eev-eval.el")
+(require 'eev-mode)           ; (find-eev "eev-mode.el")
+(require 'eev-anchors)        ; (find-eev "eev-anchors.el")
+;;
+;; Support for many kinds of hyperlink functions. See:
+;;   (find-eev-quick-intro "3. Elisp hyperlinks")
+(require 'eev-blinks)         ; (find-eev "eev-blinks.el")
+(require 'eev-plinks)         ; (find-eev "eev-plinks.el")
+(require 'eev-elinks)         ; (find-eev "eev-elinks.el")
+(require 'eev-tlinks)         ; (find-eev "eev-tlinks.el")
+;;
+;; The main "killer feature" of eev: a way to control interactive programs.
+;;   (find-eev-quick-intro "6. Controlling shell-like programs")
+;;   (find-eev-quick-intro "6.1. The main key: <F8>")
+;;   (find-eev-quick-intro "6.3. Creating eepitch blocks: `M-T'")
+;;   (find-eepitch-intro)
+;;   (find-wrap-intro)
+(require 'eepitch)             ; (find-eev "eepitch.el")
+(require 'eev-wrap)           ; (find-eev "eev-wrap.el")
+;;
+;; Eejump (`M-j'):
+;;   (find-eev-quick-intro "7. Quick access to one-liners")
+;;   (find-eev-quick-intro "7.1. eejump")
+(require 'eejump)              ; (find-eev "eejump.el")
+;;
+;; Anchors:
+;;   (find-eev-quick-intro "8. Anchors")
+;;   (find-eev-quick-intro "8.1. Introduction: `to'")
+(require 'eev-anchors)        ; (find-eev "eev-anchors.el")
+;;
+;; Shorter hyperlinks and how to mass-produce them:
+;;   (find-eev-quick-intro "9. Shorter hyperlinks")
+;;   (find-code-c-d-intro "\nShorter hyperlinks\n")
+(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")
+;;
+;; Advanced (and hard to use) features that may require creating a
+;; temporary directory, patching rcfiles, and installing Expect
+;; scripts. See:
+;;   (find-prepared-intro)
+;;   (find-bounded-intro)
+;;   (find-channels-intro)
+(require 'eev-audiovideo)      ; (find-eev "eev-audiovideo.el")
+(require 'eev-rcirc)           ; (find-eev "eev-rcirc.el")
+(require 'eev-prepared)                ; (find-eev "eev-prepared.el")
+(require 'eev-bounded)         ; (find-eev "eev-bounded.el")
+(require 'eev-channels)                ; (find-eev "eev-channels.el")
+
+
+
+(provide 'eev-load)
+
+
+
+;; Old comments taken from eev-readme.el.
+;; I need to revise this and see what is (not) trash.
+;;
+;; (require 'eev)                 ; (find-eev "eev.el")
+;; (require 'eev-glyphs)          ; (find-eev "eev-glyphs.el")
+;; (require 'eev-compose)         ; (find-eev "eev-compose.el")
+;;       ; (find-eev "eev-glyphs.el" "eev-set-default-glyphs")
+;;       ; (find-eev "eev.el"        "ee-setenv")
+;; (require 'eev-steps)           ; (find-eev "eev-steps.el")
+;; (require 'eev-langs)           ; (find-eev "eev-langs.el")
+;; (require 'eev-mini-steps)      ; (find-eev "eev-mini-steps.el")
+;; (require 'eechannel)           ; (find-eev "eechannel.el")
+
+
+
+
+
+;; Local Variables:
+;; coding:            raw-text-unix
+;; no-byte-compile:   t
+;; End:
diff --git a/eev-mode.el b/eev-mode.el
index cb54765..f7465bb 100644
--- a/eev-mode.el
+++ b/eev-mode.el
@@ -32,7 +32,8 @@
 
 (defun ee-kill-this-buffer ()
   "Kill the current buffer with fewer warnings than `kill-this-buffer'.
-See: (find-eval-intro \"`M-k'\")"
+See: (find-eev-quick-intro \"3. Elisp hyperlinks\" \"go back\" \"`M-k'\")
+and: (find-eval-intro \"`M-k'\")"
   (interactive)
   (let ((kill-buffer-query-functions nil))
     (kill-this-buffer)))
@@ -99,6 +100,7 @@ See: (find-eval-intro \"`M-k'\")"
   ;; Source: (find-eev "eev-elinks.el")
   (define-key eev-mode-map "\M-h\M-d" 'find-debpkg-links)    
   (define-key eev-mode-map "\M-h\M-f" 'find-efunction-links) 
+  (define-key eev-mode-map "\M-h\M-h" 'find-here-links)
   (define-key eev-mode-map "\M-h\M-i" 'find-einfo-links)     
   (define-key eev-mode-map "\M-h\M-k" 'find-ekey-links)      
   (define-key eev-mode-map "\M-h\M-p" 'find-pdflike-page-links)
diff --git a/eev-multiwindow.el b/eev-multiwindow.el
index abcf46c..dd0cff4 100644
--- a/eev-multiwindow.el
+++ b/eev-multiwindow.el
@@ -1,6 +1,6 @@
 ;; eev-multiwindow.el - functions to create multi-window setups
 
-;; 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:    2013aug24
+;; Version:    2019jan23
 ;; Keywords:   e-scripts
 ;;
 ;; Latest version: <http://angg.twu.net/eev-current/eev-multiwindow.el>
@@ -29,16 +29,31 @@
 ;;                                                (find-eev-intro)
 
 ;;; Commentary:
+;;
+;; For the main ideas, see: (find-multiwindow-intro)
+
 
 
+;;;   __ _           _                        _   
+;;;  / _(_)_ __   __| |    __      _____  ___| |_ 
+;;; | |_| | '_ \ / _` |____\ \ /\ / / __|/ _ \ __|
+;;; |  _| | | | | (_| |_____\ V  V /\__ \  __/ |_ 
+;;; |_| |_|_| |_|\__,_|      \_/\_/ |___/\___|\__|
+;;;                                               
+;; These functions are explained here:
+;; (find-multiwindow-intro "1. Introduction")
+;; (find-multiwindow-intro "2. `find-wset'")
+;; (find-multiwindow-intro "8. Adding support for new characters in 
`find-wset'")
+
 (defun find-wset-1 () (delete-other-windows))
 (defun find-wset-2 () (split-window-vertically))
 (defun find-wset-3 () (split-window-horizontally))
 (defun find-wset-s () (split-window-sensibly (selected-window)))
 (defun find-wset-o () (other-window 1))
+(defun find-wset-O () (other-window -1))
 (defun find-wset-+ () (balance-windows))
 (defun find-wset-_ () (eval (car sexps)) (setq sexps (cdr sexps)))
-(defun find-wset-\ ())                 ; allow whitespace
+(defun find-wset-\  ())                        ; allow whitespace
 
 (defun find-wset (chars &rest sexps)
   "Create a multi-window setting according to CHARS and SEXPS.
@@ -62,6 +77,18 @@ a function `find-wset-C'."
        (apply 'find-wset chars sexps))))
 
 
+;; High-level functions.
+;; See: (find-multiwindow-intro "3. High-level words")
+;;
+(defun find-2a (a b)   (find-wset "13_o_o" a b))
+(defun find-2b (a b)   (find-wset "13_o_"  a b))
+(defun find-3a (a b c) (find-wset "13_o2_o_o"  a b c))
+(defun find-3b (a b c) (find-wset "13_o2_o_oo" a b c))
+(defun find-3c (a b c) (find-wset "13_o2_o_"   a b c))
+
+
+
+
 
 
 
@@ -71,6 +98,10 @@ a function `find-wset-C'."
 ;;; |  __/  __/ |_) | | || (__| | | | | | | | (_| | (__|   <\__ \
 ;;;  \___|\___| .__/|_|\__\___|_| |_| |_| |_|\__,_|\___|_|\_\___/
 ;;;           |_|                                                
+;; See:
+;; (find-multiwindow-intro "4. Several eepitch targets")
+;; (find-multiwindow-intro "5. Restarting eepitch targets")
+;; (find-multiwindow-intro "7. Eepitch blocks for two targets")
 
 (defun ee-here (code)
   "Example: (ee-here '(eepitch-xxx)) opens the target of (eepitch-xxx) here.
@@ -97,29 +128,15 @@ that. This is mainly for `find-wset'."
        eepitch-buffer-name))
     result))
 
-(defun find-wset-= () (ee-here       (car sexps)) (setq sexps (cdr sexps)))
-(defun find-wset-! () (ee-here-reset (car sexps)) (setq sexps (cdr sexps)))
-(defun find-wset-O () (other-window -1))
 
-;; Mnemonic: "e" and "E" are both to prepare eepitch windows,
-;; and "E" is more aggressive than "e". See:
-;; (find-multiwindow-intro)
+;; Mnemonic: "e" and "E" are both for preparing eepitch windows,
+;; and "E" is more aggressive than "e" (it yells at you).
+;; Same for "=" and "!".
+(defun find-wset-= () (ee-here       (car sexps)) (setq sexps (cdr sexps)))
 (defun find-wset-e () (ee-here       (car sexps)) (setq sexps (cdr sexps)))
+(defun find-wset-! () (ee-here-reset (car sexps)) (setq sexps (cdr sexps)))
 (defun find-wset-E () (ee-here-reset (car sexps)) (setq sexps (cdr sexps)))
 
-
-
-;; Temporary hacks (?)
-;; See: (find-multiwindow-intro "High-level words")
-(defun find-2a (a b)   (find-wset "13_o_o" a b))
-(defun find-2b (a b)   (find-wset "13_o_"  a b))
-(defun find-3a (a b c) (find-wset "13_o2_o_o"  a b c))
-(defun find-3b (a b c) (find-wset "13_o2_o_oo" a b c))
-(defun find-3c (a b c) (find-wset "13_o2_o_"   a b c))
-
-;; See:
-;; (find-multiwindow-intro "Several eepitch targets")
-;; (find-multiwindow-intro "Restarting eepitch targets")
 (defun find-3ee (b c) (find-wset "13o2=o=o" b c))
 (defun find-3EE (b c) (find-wset "13o2!o!o" b c))
 



reply via email to

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