poke-devel
[Top][All Lists]
Advanced

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

Re: Emacs integration


From: Jose E. Marchesi
Subject: Re: Emacs integration
Date: Fri, 26 Feb 2021 16:19:54 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)

Hi.

> Congratulations on the release milestone! The email I received today was
> the first I've heard of your project, and I look forward to hearing more
> as it progresses. This is a very impressive effort that could be of
> tremendous use to anyone working with binary files.

Thanks for the kind words :)

> In looking at the bugzilla, I see that it has an emacs section, but I
> find no discussion of emacs integration in the manual. From skimming the
> lisp files that I noticed in the release tarball, it seems that the
> current level of emacs integration is mainly to ease defining poke
> programs and pickles, and secondarily to identify poke-defined data
> structures in binary files. Is that about correct? Could you publish a
> stub in the manual to outline what future you expect for emacs
> integration? (If you just answer me in email, the response would be
> useless for most others).
>
> What I was hoping to find was integration with the existing emacs
> hexl-mode, to identify and manipulate poke-defined data-structures from
> within hexl-mode, and to pretty-print regions in a separate buffer.
>
> What would be dreamy would be a poke data-structure editor similar to
> re-builder.el!

As you have found, we have several Emacs related artifacts around:

- poke-mode.el

  Major mode for editing Poke source files, i.e. .pk files.

- poke-ras-mode.el

  Major mode for editing RAS source files.

- poke-map-mode.el

  Major mode for editing poke map files, i.e. .map files.

These are all progmodes... useful but boring.

Then there is the Emacs interface to poke that I always wanted... and
that you hinted well as mentioning a hexl extension/replacement :)

This interface will be poke.el, an Emacs interface to an underlying
running poke.  It will use the MI (machine-interface) that we are
developing, and that will also be used by the GUI and perhaps other
interfaces.

I have an (unpublished) initial version of poke.el, that fires up poke
as an asynchronous process in MI mode.  I will commit it very soon to an
emacs/ subdirectory in git.

However, Emacs can't do much yet, just initializing poke, fetching its
version and exitting it: it is limited to what the MI provides right now
(see the "Machine Interface" chapter in the poke manual.)

As we develop the MI further, we will also make the GUI prototype in
gui/ and the Emacs interface in emacs/ to use it.

Thats the plan :)

PS: I will look into adding a chapter about Emacs to the manual.  Thanks
    for suggesting that!



reply via email to

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