hyperbole-users
[Top][All Lists]
Advanced

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

Re: Hyperbole and eev


From: Robert Weiner
Subject: Re: Hyperbole and eev
Date: Mon, 28 Sep 2020 20:45:35 -0400

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 <eduardoochs@gmail.com> 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
> 



reply via email to

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