[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
- [elpa] externals/eev updated (793b495 -> 8bc3bde), Stefan Monnier, 2019/11/07
- [elpa] externals/eev b2c738a 02/10: Added `find-epackage-links'., Stefan Monnier, 2019/11/07
- [elpa] externals/eev 9462fc5 07/10: Added `brwget'., Stefan Monnier, 2019/11/07
- [elpa] externals/eev a50e1c5 08/10: Rewrote `find-org-intro'., Stefan Monnier, 2019/11/07
- [elpa] externals/eev eb2b752 01/10: Rewrote `(find-eepitch-intro)'.,
Stefan Monnier <=
- [elpa] externals/eev 6e40458 03/10: Added eev-testblocks.el and a section about it in (find-eepitch-intro)., Stefan Monnier, 2019/11/07
- [elpa] externals/eev fa0b485 09/10: Updated the version in eev.el, Stefan Monnier, 2019/11/07
- [elpa] externals/eev 6dddb0e 06/10: Several small changes in intros and docs., Stefan Monnier, 2019/11/07
- [elpa] externals/eev b3c6ddb 04/10: Rewrote most of `(find-eev-install-intro)'., Stefan Monnier, 2019/11/07
- [elpa] externals/eev dc5e6c5 05/10: Added several new sections to `(find-brxxx-intro)'., Stefan Monnier, 2019/11/07
- [elpa] externals/eev 8bc3bde 10/10: Merge remote-tracking branch 'eev/UTF-8' into externals/eev, Stefan Monnier, 2019/11/07