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

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

[elpa] externals/eev eb2b752 01/10: Rewrote `(find-eepitch-intro)'.


From: Stefan Monnier
Subject: [elpa] externals/eev eb2b752 01/10: Rewrote `(find-eepitch-intro)'.
Date: Thu, 7 Nov 2019 23:21:47 -0500 (EST)

branch: externals/eev
commit eb2b7526218a7642ec964f5410c432088cf68c83
Author: Eduardo Ochs <edrx@circe.birdland>
Commit: Eduardo Ochs <edrx@circe.birdland>

    Rewrote `(find-eepitch-intro)'.
---
 ChangeLog     |  22 ++++
 VERSION       |   4 +-
 eepitch.el    | 224 +++++++++++++++++++++-------------
 eev-blinks.el |   4 +-
 eev-intro.el  | 382 +++++++++++++++++++++++++++++++++++++++++++++++++++++++---
 eev-tlinks.el |   4 +-
 eev.el        |   2 +-
 7 files changed, 532 insertions(+), 110 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 5e2a329..800f1b2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,25 @@
+2019-09-26  Eduardo Ochs  <address@hidden>
+
+       * eev-intro.el (find-eev-quick-intro): small changes.
+
+       * eepitch.el: rewrote lots of comments.
+
+2019-09-25  Eduardo Ochs  <address@hidden>
+
+       * eev-intro.el (find-emacs-keys-intro): added links about the mode
+       line.
+
+2019-09-24  Eduardo Ochs  <address@hidden>
+
+       * eev-blinks.el (ee-find-eejumps-header): small changes in the
+       header.
+
+       * eev-intro.el (find-eepitch-intro): rewrote most of the text.
+
+2019-09-23  Eduardo Ochs  <address@hidden>
+
+       * eev-tlinks.el (find-debpkg-links): added links to Sid.
+
 2019-08-29  Eduardo Ochs  <address@hidden>
 
        * eev-edit.el (ee-copy-this-line-to-kill-ring): use
diff --git a/VERSION b/VERSION
index 46e3e96..2937e33 100644
--- a/VERSION
+++ b/VERSION
@@ -1,2 +1,2 @@
-Sun Sep  1 15:53:05 GMT 2019
-Sun Sep  1 16:53:05 BST 2019
+Thu Sep 26 05:57:22 GMT 2019
+Thu Sep 26 02:57:22 -03 2019
diff --git a/eepitch.el b/eepitch.el
index 54e801c..126b87f 100644
--- a/eepitch.el
+++ b/eepitch.el
@@ -1,6 +1,6 @@
 ;; eepitch.el - record interactions with shells as readable notes, redo tasks.
 
-;; Copyright (C) 2012,2015,2018 Free Software Foundation, Inc.
+;; Copyright (C) 2012,2015,2018,2019 Free Software Foundation, Inc.
 ;;
 ;; This file is part of GNU eev.
 ;;
@@ -19,7 +19,7 @@
 ;;
 ;; Author:     Eduardo Ochs <address@hidden>
 ;; Maintainer: Eduardo Ochs <address@hidden>
-;; Version:    2019aug11
+;; Version:    2019sep26
 ;; Keywords:   e-scripts
 ;;
 ;; Latest version: <http://angg.twu.net/eev-current/eepitch.el>
@@ -30,6 +30,21 @@
 ;;                                                (find-eev-quick-intro)
 ;;                                                (find-eepitch-intro)
 
+
+;; «.eepitch»                  (to "eepitch")
+;; «.eepitch-this-line»                (to "eepitch-this-line")
+;; «.eepitch-shell»            (to "eepitch-shell")
+;; «.eepitch-kill»             (to "eepitch-kill")
+;; «.ee-expand»                        (to "ee-expand")
+;; «.find-comintprocess»       (to "find-comintprocess")
+;;
+;; «.eewrap-eepitch»           (to "eewrap-eepitch")
+;; «.glyphs»                   (to "glyphs")
+;; «.set-glyphs»               (to "set-glyphs")
+;; «.set-keys»                 (to "set-keys")
+;;
+;; «.eepitch-langs»            (to "eepitch-langs")
+
 ;;; Commentary:
 
 ;; Eev's central idea is that you can keep "executable logs" of what
@@ -40,11 +55,13 @@
 ;;   1) elisp hyperlinks, and
 ;;   2) lines sent to shell-like programs.
 ;;
-;; Eepitch is the module that implements support for (2). For a
-;; tutorial, see:
+;; Eepitch is the module that implements support for (2). For
+;; tutorials, see:
 ;;
 ;;   (find-eev-quick-intro "6. Controlling shell-like programs")
+;;   (find-eepitch-intro)
 ;;   http://angg.twu.net/eev-intros/find-eev-quick-intro.html#6
+;;   http://angg.twu.net/eev-intros/find-eepitch-intro.html
 ;;
 ;; For videos, see:
 ;;
@@ -212,12 +229,15 @@ This function is used by `eepitch-this-line'."
 
 
 
-;;;                     
-;;;   ___ ___  _ __ ___ 
-;;;  / __/ _ \| '__/ _ \
-;;; | (_| (_) | | |  __/
-;;;  \___\___/|_|  \___|
-;;;                     
+;;;                  _ _       _     
+;;;   ___  ___ _ __ (_) |_ ___| |__  
+;;;  / _ \/ _ \ '_ \| | __/ __| '_ \ 
+;;; |  __/  __/ |_) | | || (__| | | |
+;;;  \___|\___| .__/|_|\__\___|_| |_|
+;;;           |_|                    
+;;
+;; «eepitch»  (to ".eepitch")
+;; See: (find-eepitch-intro "2.3. `(eepitch)'")
 
 (defvar eepitch-regexp "^\\(.*\\)"
 "The regexp used by `eepitch-this-line' to determine what is a red-star line.
@@ -330,6 +350,18 @@ which does all the hard work."
   (eepitch-prepare)
   (list 'Target: eepitch-buffer-name)) ; feedback (for <f8> and `M-e')
 
+
+
+
+;;;                  _ _       _           _   _     _           _ _           
 
+;;;   ___  ___ _ __ (_) |_ ___| |__       | |_| |__ (_)___      | (_)_ __   
___ 
+;;;  / _ \/ _ \ '_ \| | __/ __| '_ \ _____| __| '_ \| / __|_____| | | '_ \ / _ 
\
+;;; |  __/  __/ |_) | | || (__| | | |_____| |_| | | | \__ \_____| | | | | |  
__/
+;;;  \___|\___| .__/|_|\__\___|_| |_|      \__|_| |_|_|___/     |_|_|_| 
|_|\___|
+;;;           |_|                                                              
 
+;;
+;; «eepitch-this-line»  (to ".eepitch-this-line")
+
 (defun eepitch-eval-at-target-window (code)
   "Run CODE at the eepitch-target-window."
   (eepitch-prepare)
@@ -370,6 +402,9 @@ and: `eepitch', `eepitch-regexp', `eepitch-comment-regexp'."
 ;;; |  __/  __/ |_) | | || (__| | | |_____|   <| | | |
 ;;;  \___|\___| .__/|_|\__\___|_| |_|     |_|\_\_|_|_|
 ;;;           |_|                                     
+;;
+;; «eepitch-kill»  (to ".eepitch-kill")
+;; See: (find-eepitch-intro "2.2. `(eepitch-kill)'")
 
 (defun ee-kill-buffer (buffer)
   "Kill BUFFER if it exists, asking for fewer confirmations than usual."
@@ -418,6 +453,9 @@ scratch."
 ;;; |  __/  __/ |_) | | || (__| | | |_____\__ \ | | |  __/ | |
 ;;;  \___|\___| .__/|_|\__\___|_| |_|     |___/_| |_|\___|_|_|
 ;;;           |_|                                             
+;;
+;; «eepitch-shell»  (to ".eepitch-shell")
+;; See: (find-eepitch-intro "2.2. `(eepitch-shell)'")
 
 (defun eepitch-shell ()
   "Same as (eepitch '(shell)). See `eepitch' and `eewrap-eepitch'."
@@ -430,12 +468,14 @@ scratch."
 
 
 
-;;;                      _       _   
-;;;   ___ ___  _ __ ___ (_)_ __ | |_ 
-;;;  / __/ _ \| '_ ` _ \| | '_ \| __|
-;;; | (_| (_) | | | | | | | | | | |_ 
-;;;  \___\___/|_| |_| |_|_|_| |_|\__|
-;;;                                  
+;;;                                                  _ 
+;;;   ___  ___        _____  ___ __   __ _ _ __   __| |
+;;;  / _ \/ _ \_____ / _ \ \/ / '_ \ / _` | '_ \ / _` |
+;;; |  __/  __/_____|  __/>  <| |_) | (_| | | | | (_| |
+;;;  \___|\___|      \___/_/\_\ .__/ \__,_|_| |_|\__,_|
+;;;                           |_|                      
+;;
+;; «ee-expand»  (to ".ee-expand")
 
 (defun ee-expand (fname)
 "Expand \"~\"s and \"$ENVVAR\"s in file names, but only at the beginning."
@@ -454,6 +494,17 @@ This function is used by `find-comintprocess', 
`find-bgprocess'
 and `find-callprocess'."
   (mapcar 'ee-expand (ee-split str)))
 
+
+
+;;;                      _       _   
+;;;   ___ ___  _ __ ___ (_)_ __ | |_ 
+;;;  / __/ _ \| '_ ` _ \| | '_ \| __|
+;;; | (_| (_) | | | | | | | | | | |_ 
+;;;  \___\___/|_| |_| |_|_|_| |_|\__|
+;;;                                  
+;; «find-comintprocess»  (to ".find-comintprocess")
+;; See: (find-eepitch-intro "2.5. `find-comintprocess'")
+
 (defun find-comintprocess-ne (name &optional program-and-args)
   "Switch to the buffer named *NAME* and run the command PROGRAM-AND-ARGS 
there.
 This function does not run `ee-expand' on the elements of PROGRAM-AND-ARGS."
@@ -477,25 +528,36 @@ See: (find-eepitch-intro)"
 
 
 
+;;;                           
+;;; __      ___ __ __ _ _ __  
+;;; \ \ /\ / / '__/ _` | '_ \ 
+;;;  \ V  V /| | | (_| | |_) |
+;;;   \_/\_/ |_|  \__,_| .__/ 
+;;;                    |_|    
+;;
+;; «eewrap-eepitch»  (to ".eewrap-eepitch")
+;; See: (find-eev-quick-intro "6.3. Creating eepitch blocks: `M-T'")
+;;      (find-eev-quick-intro "wrap")
+;;      (find-wrap-intro)
 
+(defun ee-no-properties (str)
+  (setq str (copy-sequence str))
+  (set-text-properties 0 (length str) nil str)
+  str)
 
+;; (defun eepitch-delete-and-extract-line ()
+;;   (delete-and-extract-region (ee-bol) (ee-eol)))
 
-;;;                  _ _       _               _       
-;;;   ___  ___ _ __ (_) |_ ___| |__         __| | ___  
-;;;  / _ \/ _ \ '_ \| | __/ __| '_ \ _____ / _` |/ _ \ 
-;;; |  __/  __/ |_) | | || (__| | | |_____| (_| | (_) |
-;;;  \___|\___| .__/|_|\__\___|_| |_|      \__,_|\___/ 
-;;;           |_|                                      
-;;
-(defun eepitch-make-suffix (arg)
-  (cond ((null arg) "")
-       ((stringp arg) (format " %s" arg))
-       ((numberp arg) (format " (%s)" arg))))
+(defun ee-this-line-extract ()
+  "Delete the contents of the current line and return it as a string."
+  (delete-and-extract-region (ee-bol) (ee-eol)))
 
-(defun eepitch-do (program-and-args &optional suffix)
-  (eepitch-comint (format "%s%s" (ee-unsplit program-and-args)
-                         (eepitch-make-suffix suffix))
-                 program-and-args))
+(defun eewrap-eepitch () (interactive)
+  (let* ((fmt   " (eepitch-%s)\n (eepitch-kill)\n (eepitch-%s)")
+        (li    (ee-this-line-extract))
+        (newli (format fmt li li)))
+    (insert newli))
+  (ee-next-line 1))
 
 
 
@@ -506,6 +568,8 @@ See: (find-eepitch-intro)"
 ;;;  \__, |_|\__, | .__/|_| |_|___/
 ;;;  |___/   |___/|_|              
 ;;;
+;; «glyphs»  (to ".glyphs")
+;; See: (find-eev-quick-intro "6.4. Red stars")
 ;; More glyphs:
 ;;   (find-eev "eev-anchors.el")
 ;;   (find-anchors-intro)
@@ -533,44 +597,14 @@ to make it work similarly in unibyte and multibyte 
buffers."
       (eepitch-set-glyph0 (make-char 'eight-bit pos) char face)))
 
 
-;;;                           
-;;; __      ___ __ __ _ _ __  
-;;; \ \ /\ / / '__/ _` | '_ \ 
-;;;  \ V  V /| | | (_| | |_) |
-;;;   \_/\_/ |_|  \__,_| .__/ 
-;;;                    |_|    
-;;
-;; See: (find-eev-quick-intro "6.3. Creating eepitch blocks: `M-T'")
-;;      (find-eev-quick-intro "wrap")
-;;      (find-wrap-intro)
-
-(defun ee-no-properties (str)
-  (setq str (copy-sequence str))
-  (set-text-properties 0 (length str) nil str)
-  str)
-
-;; (defun eepitch-delete-and-extract-line ()
-;;   (delete-and-extract-region (ee-bol) (ee-eol)))
-
-(defun ee-this-line-extract ()
-  "Delete the contents of the current line and return it as a string."
-  (delete-and-extract-region (ee-bol) (ee-eol)))
-
-(defun eewrap-eepitch () (interactive)
-  (let* ((fmt   " (eepitch-%s)\n (eepitch-kill)\n (eepitch-%s)")
-        (li    (ee-this-line-extract))
-        (newli (format fmt li li)))
-    (insert newli))
-  (ee-next-line 1))
-
-
-
 ;;;           _           _             _         
 ;;;  ___  ___| |_    __ _| |_   _ _ __ | |__  ___ 
 ;;; / __|/ _ \ __|  / _` | | | | | '_ \| '_ \/ __|
 ;;; \__ \  __/ |_  | (_| | | |_| | |_) | | | \__ \
 ;;; |___/\___|\__|  \__, |_|\__, | .__/|_| |_|___/
 ;;;                 |___/   |___/|_|              
+;;
+;; «set-glyphs»  (to ".set-glyphs")
 
 (if (not standard-display-table)
     (setq standard-display-table (make-display-table)))
@@ -583,26 +617,37 @@ to make it work similarly in unibyte and multibyte 
buffers."
 ;;; \__ \  __/ |_  |   <  __/ |_| \__ \
 ;;; |___/\___|\__| |_|\_\___|\__, |___/
 ;;;                          |___/     
-
+;;
+;; «set-keys»  (to ".set-keys")
+;; Moved to: (find-eev "eev-mode.el" "eev-mode-map-set")
 ;; (global-set-key [f8]   'eepitch-this-line)
 ;; (global-set-key "\M-T" 'eewrap-eepitch)
 
-(provide 'eepitch)
 
 
-;;;  _____           _          __   _   _                               
-;;; | ____|_ __   __| |   ___  / _| | |_| |__   ___    ___ ___  _ __ ___ 
-;;; |  _| | '_ \ / _` |  / _ \| |_  | __| '_ \ / _ \  / __/ _ \| '__/ _ \
-;;; | |___| | | | (_| | | (_) |  _| | |_| | | |  __/ | (_| (_) | | |  __/
-;;; |_____|_| |_|\__,_|  \___/|_|    \__|_| |_|\___|  \___\___/|_|  \___|
-;;;                                                                      
-;;; ----------------------------------------------------------------------
-;;; ----------------------------------------------------------------------
-;;; ----------------------------------------------------------------------
 
 
 
 
+
+;;;                  _ _       _               _       
+;;;   ___  ___ _ __ (_) |_ ___| |__         __| | ___  
+;;;  / _ \/ _ \ '_ \| | __/ __| '_ \ _____ / _` |/ _ \ 
+;;; |  __/  __/ |_) | | || (__| | | |_____| (_| | (_) |
+;;;  \___|\___| .__/|_|\__\___|_| |_|      \__,_|\___/ 
+;;;           |_|                                      
+;;
+(defun eepitch-make-suffix (arg)
+  (cond ((null arg) "")
+       ((stringp arg) (format " %s" arg))
+       ((numberp arg) (format " (%s)" arg))))
+
+(defun eepitch-do (program-and-args &optional suffix)
+  (eepitch-comint (format "%s%s" (ee-unsplit program-and-args)
+                         (eepitch-make-suffix suffix))
+                 program-and-args))
+
+
 ;;;                      _       _                  _           
 ;;;   ___ ___  _ __ ___ (_)_ __ | |_       ___  ___| |__   ___  
 ;;;  / __/ _ \| '_ ` _ \| | '_ \| __|____ / _ \/ __| '_ \ / _ \ 
@@ -689,15 +734,19 @@ This is useful for for running processes that use pagers 
like
 
 
 
+
 ;;;  _                                                  
 ;;; | |    __ _ _ __   __ _ _   _  __ _  __ _  ___  ___ 
 ;;; | |   / _` | '_ \ / _` | | | |/ _` |/ _` |/ _ \/ __|
 ;;; | |__| (_| | | | | (_| | |_| | (_| | (_| |  __/\__ \
 ;;; |_____\__,_|_| |_|\__, |\__,_|\__,_|\__, |\___||___/
 ;;;                   |___/             |___/           
+;;
+;; «eepitch-langs»  (to ".eepitch-langs")
+;; See: (find-eepitch-intro "2.4. `(eepitch-python)'")
 
-;; Shells
-;; The first three are defined above.
+;; Shells:
+;; These three are commented out because they are defined above.
 ;; (defun eepitch-shell  () (interactive) (eepitch '(shell)))
 ;; (defun eepitch-shell2 () (interactive) (eepitch '(shell "*shell 2*")))
 ;; (defun eepitch-eshell () (interactive) (eepitch '(eshell)))
@@ -709,22 +758,24 @@ This is useful for for running processes that use pagers 
like
 (defun eepitch-zsh  () (interactive) (eepitch-comint-de "zsh" "zsh"))
 (defun eepitch-scsh () (interactive) (eepitch-comint "scsh" "scsh"))
 
-;; Main interpreted languages
+;; Main interpreted languages:
 (defun eepitch-lua51  () (interactive) (eepitch-comint "lua51"  "lua5.1"))
 (defun eepitch-lua52  () (interactive) (eepitch-comint "lua52"  "lua5.2"))
 (defun eepitch-lua53  () (interactive) (eepitch-comint "lua53"  "lua5.3"))
-(defun eepitch-python () (interactive) (eepitch-comint "python" "python"))
+(defun eepitch-julia  () (interactive) (eepitch-comint "julia"  "julia"))
+(defun eepitch-python  () (interactive) (eepitch-comint "python"  "python"))
+(defun eepitch-python3 () (interactive) (eepitch-comint "python3" "python3"))
 (defun eepitch-ruby   () (interactive) (eepitch-comint "ruby"   "irb"))
 (defun eepitch-ruby   () (interactive) (eepitch-comint "ruby"   "irb 
--simple-prompt"))
 (defun eepitch-perl () (interactive) (eepitch-comint "perl" "perl -d -e 42"))
 
-;; Tcl
+;; Tcl:
 (defun eepitch-tcl     () (interactive) (eepitch-comint "tclsh"   "tclsh"))
 (defun eepitch-tclsh   () (interactive) (eepitch-comint "tclsh"   "tclsh"))
 (defun eepitch-wish    () (interactive) (eepitch-comint "wish"    "wish"))
 (defun eepitch-expect  () (interactive) (eepitch-comint "expect"  "expect"))
 
-;; Lisps and Schemes
+;; Lisps and Schemes:
 ;; It would be better to run them in Slime.
 (defun eepitch-sbcl   () (interactive) (eepitch-comint "sbcl" "sbcl"))
 (defun eepitch-gcl    () (interactive) (eepitch-comint "gcl"  "gcl"))
@@ -736,7 +787,7 @@ This is useful for for running processes that use pagers 
like
   (eepitch-comint "tinyscheme" "tinyscheme"))
 
 
-;; Haskell, ML, Erlang, Coq
+;; Haskell, ML, Erlang, Coq:
 (defun eepitch-hugs   () (interactive) (eepitch-comint "hugs" "hugs"))
 (defun eepitch-hugs98 () (interactive) (eepitch-comint "hugs" "hugs -98"))
 (defun eepitch-ghci   () (interactive) (eepitch-comint "ghci" "ghci"))
@@ -746,25 +797,25 @@ This is useful for for running processes that use pagers 
like
 (defun eepitch-erl    () (interactive) (eepitch-comint "erl" "erl"))
 (defun eepitch-coqtop () (interactive) (eepitch-comint "coqtop" "coqtop"))
 
-;; Forth
+;; Forth:
 (defun eepitch-gforth () (interactive) (eepitch '(run-forth "gforth")))
 (defun eepitch-gforth () (interactive) (eepitch-comint "gforth" "gforth"))
 (defun eepitch-pforth () (interactive) (eepitch-comint "pforth" "pforth"))
 (defun eepitch-yforth () (interactive) (eepitch-comint "yforth" "yforth"))
 
-;; Mathematics
+;; Mathematics:
 (defun eepitch-maxima () (interactive) (eepitch-comint "maxima" "maxima"))
 (defun eepitch-octave () (interactive) (eepitch-comint "octave" "octave"))
 (defun eepitch-R () (interactive)
   (eepitch '(ee-with-pager-cat (find-comintprocess "R" "R"))))
 
-;; Plotters.
+;; Plotters:
 ;; We force GhostScript's resolution to make its window fit on the screen.
 (defun eepitch-gs () (interactive) (eepitch-comint "gs" "gs -r45"))
 (defun eepitch-gs () (interactive) (eepitch-comint "gs" "gs -r60"))
 (defun eepitch-gnuplot () (interactive) (eepitch-comint "gnuplot" "gnuplot"))
 
-;; Java-based languages
+;; Java-based languages:
 (defun eepitch-bsh () (interactive)
   (eepitch-de '(find-comintprocess "bsh" "bsh")))
 (defun eepitch-scala () (interactive)
@@ -807,6 +858,9 @@ This is useful for for running processes that use pagers 
like
 
 
 
+(provide 'eepitch)
+
+
 
 ;; Local Variables:
 ;; coding:            utf-8-unix
diff --git a/eev-blinks.el b/eev-blinks.el
index e45ad95..f18a7e2 100644
--- a/eev-blinks.el
+++ b/eev-blinks.el
@@ -21,7 +21,7 @@
 ;;
 ;; Author:     Eduardo Ochs <address@hidden>
 ;; Maintainer: Eduardo Ochs <address@hidden>
-;; Version:    2019aug10
+;; Version:    2019sep24
 ;; Keywords:   e-scripts
 ;;
 ;; Latest version: <http://angg.twu.net/eev-current/eev-blinks.el>
@@ -962,7 +962,7 @@ Hint: install the Debian package \"unicode-data\".")
   (apropos-internal "^eejump-[0-9]*\\*?$" 'fboundp))
 
 (defun ee-find-eejumps-header ()
-  ";; (find-eejumps)
+  ";; Generated by: (find-eejumps)
 ;; See: (find-eev-quick-intro \"7.1. `eejump'\")
 ;;      (find-emacs-keys-intro \"1. Basic keys (eev)\")
 ;; For example,
diff --git a/eev-intro.el b/eev-intro.el
index 43056b4..dd704a8 100644
--- a/eev-intro.el
+++ b/eev-intro.el
@@ -19,7 +19,7 @@
 ;;
 ;; Author:     Eduardo Ochs <address@hidden>
 ;; Maintainer: Eduardo Ochs <address@hidden>
-;; Version:    2019aug16
+;; Version:    2019sep24
 ;; Keywords:   e-scripts
 ;;
 ;; Latest version: <http://angg.twu.net/eev-current/eev-intro.el>
@@ -273,6 +273,7 @@ More intros:  (find-emacs-keys-intro)
               (find-eev-intro)
               (find-here-links-intro)
               (find-refining-intro)
+              (find-eepitch-intro)
               (find-pdf-like-intro)
 This buffer is _temporary_ and _editable_.
 It is meant as both a tutorial and a sandbox.
@@ -793,9 +794,9 @@ and pasting. The module of eev that controls shell-like 
programs - it
 is called \"eepitch\" - uses `<F8>' and `M-T'. Note that it is
 `alt-shift-t', to not interfere with Emacs's `M-t'.
 
-The sections below were adapted from:
+For more details see:
 
-  (find-eepitch-intro \"The main key: <F8>\")
+  (find-eepitch-intro)
 
 
 
@@ -1790,6 +1791,11 @@ More about modes:                (find-enode \"Major 
Modes\")
                                  (find-enode \"Minor Modes\")
                                  (find-enode \"Dired\")
 
+See also: (find-enode \"Mode Line\" \"(MAJOR MINOR)\")
+          (find-enode \"Mode Line\" \" MAJOR is the name\")
+          (find-enode \"Mode Line\" \" BUF \")
+          (find-enode \"Mode Line\" \" BUF \" \"name of the buffer\")
+
 
 
 3. Cutting & pasting
@@ -4421,15 +4427,351 @@ It is meant as both a tutorial (for eepitch) and a 
sandbox.
 
 
 
-Note: this intro needs to be rewritten!
-Ideally it should _complement_ the material in:
+
+This intro _complements_ the material in:
   (find-eev-quick-intro \"6. Controlling shell-like programs\")
 
+In this intro we suppose that the reader knows what is a terminal
+and what is a shell. In Unix-like systems the terminal and the
+shell are clearly different programs, and it's easy to understand
+how a terminal can be used to run other programs that are not
+shells (e.g., a Python interpreter; see \"REPL\" below); in
+Windows most people don't know that the \"DOS window\" is in fact
+a Windows console running cmd.exe. Some links:
+  https://en.wikipedia.org/wiki/Pipeline_(Unix)
+  https://en.wikipedia.org/wiki/Unix_philosophy
+  https://en.wikipedia.org/wiki/Unix-like
+  https://en.wikipedia.org/wiki/Shell_(computing)
+  https://en.wikipedia.org/wiki/Shell_(computing)#Text_(CLI)_shells
+  https://en.wikipedia.org/wiki/Shell_script
+  https://en.wikipedia.org/wiki/Command-line_interface
+  https://en.wikipedia.org/wiki/Command-line_interface#Command-line_interpreter
+  https://en.wikipedia.org/wiki/Read-eval-print_loop (\"REPL\")
+  https://en.wikipedia.org/wiki/Terminal_emulator
+  https://en.wikipedia.org/wiki/Text_terminal
+  https://en.wikipedia.org/wiki/MS-DOS#Windows_command-line_interface
+  https://en.wikipedia.org/wiki/Windows_Console
+  https://en.wikipedia.org/wiki/Cmd.exe
+
+
+
+
+
+1. Some demos
+=============
+Let's start with the simplest case. If you put the cursor on the
+first line that starts with a red star below and type the key
+<f8> six times,
 
+ (eepitch-shell)
+ (eepitch-kill)
+ (eepitch-shell)
+echo \"We are at: $PWD\"
+cd /tmp/
+echo \"We changed to: $(pwd)\"
 
+you will notice that each <f8> does something with the current
+line and move the cursor to the next line; first three <f8>s - on
+the lines that start with red stars - create a window setting
+like this,
 
-The motivation for eepitch: taking notes and redoing
-====================================================
+   ________________________________
+  |                |               |
+  |     notes      |    target     |
+  |     buffer     |    buffer     |
+  |  (this intro)  |  (\"*shell*\")  |
+  |                |               |
+  |________________|_______________|
+  
+and the last three <f8>s - on \"non-red star lines\" - send the
+lines
+
+  echo \"We are at: $PWD\"
+  cd /tmp/
+  echo \"We changed to: $(pwd)\"
+
+to the \"target buffer\", that in this case is the buffer with a
+terminal running a shell; the shell behaves exactly is if the the
+user had typed those three lines at its prompt.
+
+
+
+
+1.1. Another target
+-------------------
+If you put the cursor at the first red star line below and type
+<f8> six times you will get something very similar to the example
+above,
+
+ (eepitch-python)
+ (eepitch-kill)
+ (eepitch-python)
+1 + 2
+print(\"Hello \" +
+      \"world\")
+
+but now the window setting will be like this:
+
+   ________________________________
+  |                |               |
+  |     notes      |     target    |
+  |     buffer     |     buffer    |
+  |  (this intro)  |  (\"*python*\") |
+  |                |               |
+  |________________|_______________|
+
+and the target buffer will be called \"*python*\", and it
+contains a terminal running a Python interpreter.
+
+
+
+
+1.2. Two targets
+----------------
+The demo below uses an advanced feature - the function
+`find-3EE', explained at:
+
+  (find-multiwindow-intro \"find-3EE\")
+
+to create a 3-window setup like this:
+
+   _______________________
+  |          |            |
+  |          |  *shell*   |
+  |  notes   |____________|
+  |  buffer  |            |
+  |          |  *python*  |
+  |__________|____________|
+
+Some non-red star lines in it send the current line to the
+\"*shell*\" buffer, and some send the current line to the
+\"*python*\" buffer. The red star lines with \"(eepitch-shell)\"
+set the target to \"*shell*\", and the red star lines with with
+\"(eepitch-python)\" set the target to \"*python*\". Try it! Put
+the cursor on the first red star line below, then type <f8>
+twelve times:
+
+ (find-3EE '(eepitch-shell) '(eepitch-python))
+ (eepitch-shell)
+echo Hello... > /tmp/o
+
+ (eepitch-python)
+print(open(\"/tmp/o\").read())
+
+ (eepitch-shell)
+echo ...and bye >> /tmp/o
+
+ (eepitch-python)
+print(open(\"/tmp/o\").read())
+
+
+
+
+1.3. Two targets, two windows
+-----------------------------
+The demo below is similar to the one with three windows in the
+previous section, but it uses just two windows - and the window
+at the right alternates between \"*shell*\" and \"*python*\":
+
+ (eepitch-shell)
+ (eepitch-kill)
+ (eepitch-shell)
+echo Hello... > /tmp/o
+
+ (eepitch-python)
+ (eepitch-kill)
+ (eepitch-python)
+print(open(\"/tmp/o\").read())
+
+ (eepitch-shell)
+echo ...and bye >> /tmp/o
+
+ (eepitch-python)
+print(open(\"/tmp/o\").read())
+
+
+
+
+
+
+2. How <f8> works
+=================
+The key <f8> works in one way when the cursor is on a line that
+starts with a red star - it executes everything at the right of
+the \"\" as Lisp code, and then moves down - and in a totally
+different way on non-red star lines: on non-red star lines it
+makes sure that the target buffer is being displayed, then sends
+the current line to the target buffer \"as if the user had typed
+it\", then moves down.
+
+
+
+
+2.1. Eepitch blocks
+-------------------
+A block of three red star lines like
+
+ (eepitch-shell)
+ (eepitch-kill)
+ (eepitch-shell)
+
+or
+
+ (eepitch-python)
+ (eepitch-kill)
+ (eepitch-python)
+
+is called an \"eepitch block\". The _final effect_ of typing <f8>
+thrice on an eepitch block like this
+
+ (eepitch-shell)
+ (eepitch-kill)
+ (eepitch-shell)
+
+is easy to describe: after the third <f8> we get a window setting
+like this,
+
+   ________________________
+  |          |             |
+  |  notes   |    target   |
+  |  buffer  |    buffer   |
+  |          | (\"*shell*\") |
+  |          |             |
+  |__________|_____________|
+
+where the target buffer is running a _new_ shell...
+
+
+
+2.2. `(eepitch-kill)'
+---------------------
+The effect of running <f8> on a line like
+
+ (eepitch-kill)
+
+is to kill the current target. More precisely, `(eepitch-kill)'
+kills a buffer with the name stored in the variable
+`eepitch-buffer-name', if a buffer with that name exists; in the
+examples above the target buffer names are always either
+\"*shell*\" or \"*python*\". If we are in a window setting like
+this and the target is \"*shell*\"
+
+   ________________________
+  |          |             |
+  |  notes   |    target   |
+  |  buffer  |    buffer   |
+  |          | (\"*shell*\") |
+  |          |             |
+  |__________|_____________|
+
+and we run `(eepitch-kill)' the window setting becomes this:
+
+   _____________________
+  |          |          |
+  |  notes   |   some   |
+  |  buffer  |  other   |
+  |          |  buffer  |
+  |          |          |
+  |__________|__________|
+
+which may be confusing...
+
+
+
+
+2.2. `(eepitch-shell)'
+----------------------
+The effect of running <f8> on a line like
+
+ (eepitch-shell)
+
+can be *roughly* described as:
+
+  a) Set the name of the target buffer to \"*shell*\".
+
+  b) If the target buffer does not exist, create it - by
+     running `(shell)'.
+
+  c) If the target buffer is not being display then display it -
+     by creating a two-window setting with the target buffer at
+     the right.
+
+This is a simplification, though... the sexp
+
+  (eepitch-shell)
+
+runs this,
+
+  (eepitch '(shell))
+
+and the name of the target buffer is obtained from the
+sexp `(shell)' by running it in a certain way.
+
+
+
+
+2.3. `(eepitch)'
+----------------
+The documentation for `eepitch' says:
+
+  (eepitch CODE)
+
+  Set up a target for eepitch and make sure it is displayed in
+  another window.
+  The argument CODE must be a \"shell-like sexp\", i.e., one that
+  when evaluated always switches to a buffer with a fixed name,
+  and when that buffer does not exists it creates it.
+
+For example, running `(shell)' switches to a buffer whose name is
+\"*shell*\"; the name of the target buffer can obtained
+from the sexp `(shell)' by running this:
+
+  (save-window-excursion
+    (shell)
+    (setq eepitch-buffer-name
+         (buffer-name (current-buffer))))
+
+
+
+
+2.4. `(eepitch-python)'
+-----------------------
+The effect of running <f8> on a line like
+
+ (eepitch-python)
+
+is very similar to `(eepitch-shell)', but it uses \"*python*\" as
+the name of the target buffer. `(eepitch-python)' is defined as:
+
+  (eepitch '(find-comintprocess \"python\" \"python\"))
+
+
+
+
+2.5. `find-comintprocess'
+-------------------------
+The sexp
+
+  (find-comintprocess \"buffer name\" \"program and args\")
+
+switches to a buffer called \"*buffer name*\" and if that buffer
+does not have an associated process then it runs \"program and
+args\" there in comint mode. See:
+
+  (find-enode \"Shell Mode\" \"Comint mode\")
+  (find-elnode \"Process Buffers\")
+
+
+
+
+
+
+
+   (find-enode \"Shell\")
+   (find-enode \"Terminal emulator\")
+
+1. Motivation
+=============
 Suppose that we have to do some reasonably complex task using a
 shell, and that we want to take notes of what we do because we
 might have to do something similar later.
@@ -4467,8 +4809,10 @@ explained later.
 
 
 
-The main key: <F8>
-==================
+
+
+2. The main key: <F8>
+=====================
 Emacs can run a shell in a buffer, and it can split its frame
 into windows, like this:
    ___________________
@@ -4514,8 +4858,8 @@ echo \"We changed to: $(pwd)\"
 
 
 
-Other targets
-=============
+3. Other targets
+================
 Just like `(eepitch-shell)' creates a shell buffer and sets the
 eepitch target to it, `(eepitch-python)' creates a buffer with a
 Python interpreter and uses it as the eepitch target. Try:
@@ -4557,8 +4901,8 @@ print(open(\"/tmp/o\").read())
 
 
 
-More on eepitch-kill
-====================
+4. More on eepitch-kill
+=======================
 Note that `(eepitch-kill)' kills the _current_ target, that may
 or may not be a shell buffer, a Python interaction buffer, etc...
 That explains the first line in blocks like:
@@ -4582,8 +4926,8 @@ erasing all definitions done in previous sessions.
 
 
 
-Creating eepitch blocks: `M-T'
-==============================
+5. Creating eepitch blocks: `M-T'
+=================================
 Write just \"shell\" or \"python\" in a line, then type
 `M-T' (i.e., meta-shift-t) there. The line will be turned into
 three - an \" (eepitch-xxx)\", an \" (eepitch-kill)\", and an
@@ -4599,8 +4943,8 @@ pwd
 
 
 
-Red stars
-=========
+6. Red stars
+============
 Eepitch.el sets the glyph for the char 15 to a red star in the
 standard display table. In layman's terms: eepitch.el tells Emacs
 that the character 15 should be displayed as a red star. The
@@ -4610,8 +4954,8 @@ literal ^O in a buffer by typing `C-q C-o'.
 
 
 
-For more information
-====================
+7. For more information
+=======================
 On hyperlinks:               (find-eval-intro)
 On keys similar to `M-T':    (find-wrap-intro)
 An older text about eepitch:
diff --git a/eev-tlinks.el b/eev-tlinks.el
index 98416d6..dd80388 100644
--- a/eev-tlinks.el
+++ b/eev-tlinks.el
@@ -19,7 +19,7 @@
 ;;
 ;; Author:     Eduardo Ochs <address@hidden>
 ;; Maintainer: Eduardo Ochs <address@hidden>
-;; Version:    2019aug17
+;; Version:    2019sep23
 ;; Keywords:   e-scripts
 ;;
 ;; Latest version: <http://angg.twu.net/eev-current/eev-tlinks.el>
@@ -517,6 +517,8 @@ Try this: (find-debpkg-links \"bash\")"
 {ee-H}(find-sh \"grep-aptavail -P {pkgname}\")
 
 http://packages.debian.org/{pkgname}
+http://packages.debian.org/sid/{pkgname}
+http://packages.debian.org/source/sid/{pkgname}
 http://packages.debian.org/src:{pkgname}
 http://ftp.debian.org/debian/pool/main/{p}/{pkgname}/
 http://backports.org/debian/pool/main/{p}/{pkgname}/
diff --git a/eev.el b/eev.el
index d169412..9eb7ba4 100644
--- a/eev.el
+++ b/eev.el
@@ -6,7 +6,7 @@
 ;; Package-Requires: ((emacs "24.1"))
 ;; Keywords: lisp e-scripts
 ;; URL: http://angg.twu.net/#eev
-;; Version: 20190517
+;; Version: 20190926
 
 ;; This program is free software; you can redistribute it and/or modify
 ;; it under the terms of the GNU General Public License as published by



reply via email to

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