That was not the offer. The offer was to show you how to implement a discrete eev command using another framework, possibly simplifying its implementation. Hopefully, from seeing the code used to do this, you could dig in yourself and follow the flow to whatever level you like. Hyperbole, for example, has been implemented across years of part-time work. Of course, it has complexities in its implementation and if the non-abstract parts of that interest you, then use edebug or trace commands to explore the code flow but I wouldn't expect anyone to write that out for you. #3 is closer to the offer. If you want to see a Hyperbole function or button type equivalent, I can show you that, i.e. you load Hyperbole and then you use Hyperbole or eev syntax to jump to a point in a video that is done through a Hyperbole implementation. But I can't explain the Hyperbole dispatching mechanisms except at a high level. hkey-alist in Hyperbole is not hard to understand. The prioritized list of implicit buttons types in Hyperbole is not that hard to understand. That kind of level I can discuss. -- rsw -- rsw On Sun, Jun 26, 2022 at 3:45 PM Eduardo Ochs wrote: > On Sun, 26 Jun 2022 at 15:23, Robert Weiner wrote: > > > > Maybe if you could pick a single eev function that you think could > > be implemented with Org and Hyperbole and pointed us to the > > documentation for that, then we could show you an equivalent one > > using these packages and begin to give you a better sense of how you > > would go about leveraging what has been built. You document > > everything in detail, so this should be pretty simple. > > I am not sure if I understood your proposal correctly, but let me > propose three tasks that would be pretty natural in eev-land... In all > cases below "explain" means "explain step by step, with links to the > source code and to the docs, and with sexps that inspect the data > structures". > > 1) explain what happens when we type M-RET on this button: > > "subr.el" > > 2) explain what happens when we type: > > C-h h d d > > 3) suppose that we have a function that plays a local copy of your > video "GNU Hyperbole - Overview and Demo". Let's use this fake > function instead of a real one: > > ;; Test: (fake-play-oand "2:34") > ;; > (defun fake-play-oand (time &rest comments) > (move-beginning-of-line 2) > (insert (format "[Play Overview and Demo from: %s]\n" time))) > > Explain how you would implement buttons - choose your favorite > syntax for them - that play "GNU Hyperbole - Overview and Demo" > starting from a given timemark. > > Is that a good starting point? Note the unusual meaning for > "explain"... how would you use Hyperbole to prepare these > "explanations"? > > > From my perspective, I do really like your idea of replayable > > notebooks for training and interaction purposes. And you have > > certainly made that easy to use via eev. But your implementation > > could use much better organization and abstraction which would > > likely greatly reduce the code size as well. You should separate out > > computation of what you want to display from how and where you will > > display it as one technique. > > I'm very interested in seeing your suggestions! Can you be more > concrete? > > [[]], > Eduardo Ochs > http://angg.twu.net/#eev >