I will definitely look into eev as I have time. I like the idea of quickly being able to interleave execution of a program and shell commands on the same screen.
-- Bob > On Sep 28, 2020, at 8:45 PM, Robert Weiner <[email protected]> wrote: > > Hi Eduardo: > > I enjoy reading your messages but if you could send a separate message with > just a list if questions and then separate messages with things you want to > explain and discuss, it would make it easier to respond > > Thanks, > > -- Bob > >> On Sep 28, 2020, at 3:15 PM, Eduardo Ochs <[email protected]> wrote: >> >> Hi Robert, >> >> I will try to answer all your e-mails in a single e-mail - in a new >> thread. Yor e-mails are here: >> >> https://lists.gnu.org/archive/html/hyperbole-users/2020-09/index.html#00008 >> >> First: thanks for the hints, things are starting to make sense to me. >> >> We are clearly using different notions of simplicity - eev is like a >> Volkswagen Beetle, in the sense that if you open its lid everything is >> trivial to figure out and to fix, hack, and extend. >> >> It's nice that you said >> >>> I really, really recommend that you try to use Hyperbole without >>> initially mixing it with eev, as I think you will find that >>> Hyperbole already contains much of what you need to simplify eev and >>> tie it to a broader Emacs ecosystem. >> >> because that sort of allows me to ask you to try eev! =) =) =) >> I am not going to ask you to try eev without Hyperbole, though - I >> tried to >> >> 1. make eev as non-invasive as possible - see: >> >> http://angg.twu.net/eev-intros/find-eev-intro.html#1 >> >> 2. make it trivial to navigate by people who have very short >> attention spans and who have just a few spare minutes to play >> with it. Here are the instructions: >> >> a. install eev with M-x list-packages, >> >> b. run M-x eev-beginner, >> >> c. learn how to use M-e and M-j to navigate the docs. See: >> >> http://angg.twu.net/eev-intros/find-emacs-keys-intro.html#1 >> >> Let me copy that section here: >> >> 1. Basic keys (eev) >> =================== >> The most basic keys of eev are: >> M-e - to follow a hyperlink. Mnemonic: "(e)valuate"/"(e)xecute". >> See: (find-eev-quick-intro "2. Evaluating Lisp") >> (find-eev-quick-intro "3. Elisp hyperlinks") >> M-j - to jump to certain predefined places. In particular, >> `M-j' takes you to a buffer with basic help and a >> list of jump targets. See: >> (find-eev-quick-intro "7.2. The list of eejump targets") >> `M-2 M-j' takes you to this help page. >> `M-5 M-j' takes you to: (find-eev-quick-intro) >> M-k - to go back. Mnemonic: "(k)ill buffer". >> See: (find-eev-quick-intro "3. Elisp hyperlinks" "M-k") >> >> By the way, you asked me what this line of my e-mail does: >> >> (code-c-d "hyperbole" "~/.emacs.d/elpa/hyperbole-7.1.2/" "hyperbole") >> >> The answer is here: >> >> (find-eev-quick-intro "9.1. `code-c-d'") >> >> You can see the code that it runs by running this: >> >> (find-code-c-d "hyperbole" "~/.emacs.d/elpa/hyperbole-7.1.2/" "hyperbole") >> >> >> >> >> >> >> >> We are following different design principles. In my view, or, in eev's >> view, Hyperbole uses an awful amount of markup syntax, and it keeps >> the Elisp code too far from the user. Let me give you two examples, >> and ask you a question about a technical point in which I am stuck. >> >> I am watching your video >> >> "Bring Your Text to Life the Easy Way with GNU Hyperbole" >> http://www.youtube.com/watch?v=nC1eTgZE1oA >> >> and I am indexing it with the tricks described here: >> >> http://angg.twu.net/eev-intros/find-audiovideo-intro.html#4.3 >> >> The video made me understand that Hyperbole's action key works on >> {Implicit Buttons}, <(Explicit Buttons)>, and <(Global Buttons)> - >> from 17:00 in the video onwards - and from 19:06 onwards you show that >> the action key also works on pathnames enclosed in double quotes, in a >> way that supports lots of abbreviations. That's REALLY nice - but let >> me point to you that eev's hyperlinks can to point to arbitrary >> positions in files, manpages, PDFs, etc, and I don't know if the "#" >> syntax in Hyperbole's hyperlinks can do that... see: >> >> http://angg.twu.net/eev-intros/find-refining-intro.html >> http://angg.twu.net/eev-intros/find-pdf-like-intro.html#4 >> >> Ok, time for my technical question. Apparently this Hyperbole button >> >> {C-h h d a} >> >> should have essentially the same action as: >> >> (eek "C-h h d a") >> >> but my `eek' sexp just inserts an "a". It's trivial to inspect the >> innards of how the function eek works - we just have to search for its >> source code, and it is just this: >> >> (defun eek (str) (interactive "sKeys: ") >> "Execute STR as a keyboard macro. See `edmacro-mode' for the exact >> format.\n >> An example: (eek \"C-x 4 C-h\")" >> (execute-kbd-macro (read-kbd-macro str))) >> >> Your key sequence buttons work well on key sequences like {C-h h d a}, >> but I couldn't find a function that on receiving the string like "C-h >> h d a" would execute it as a key sequence, like this would do, >> >> (execute-kbd-macro (read-kbd-macro "C-h h d a"))) >> >> but without the bugs... I grepped for "key sequence" in the Hyperbole >> source directory and created a link to the result of that grep, >> >> (find-hyperbolegrep "grep --color -niH --null -e 'key sequence' *.el") >> >> to be able to go back to that easily. I guess that the function that I >> am looking for is in: >> >> (find-hyperbolefile "hib-kbd.el") >> >> but I couldn't find it... and typing C-h A didn't help me much. I have >> the feeling that C-h A would be better if it would say which function >> the action key would call - I mean, something more precise than saying >> "hui:hbut-act". >> >> Cheers, >> Eduardo Ochs >> http://angg.twu.net/emacsconf2019.html >>
