2022-12-18

API history

So I made some progress today on the Emacs configuration improvements I mentioned in my last post.1 That work was performed using the partially completed configuration on my Raspberry Pi 400 (i.e using Emacs 27.1).

Then I pushed and opened a machine at work to try it out in a legacy environment (using Emacs 25.2.2). No go: one of the elisp functions I used in solving a problem apparently got more robust between 25 and 27.2 Check the documentation to no avail. Not surprising when I think about it: no reason the on-line3 documentation for Emacs 27 should contain any history.

But having a central source with the history is hugely useful. I regularly make heavy use of cppreference.com where APIs are exhibited annotated with the version(s) to which they apply and historical versions are listed along side their more recent counterparts. The availability of the history makes it easy to see why you can't use that StackExchange solution as is, and why the other one seems clunkier than need be.

So far, I haven't found anything equivalent for Emacs.


1 I also ran into that "supporting multiple versions is hard" thing even programming on a single machine. I used a function defined in the subr-x package meaning that until I re-implement that I'm limited to version 24.4 and newer. Sigh. We'll see about that re-implementation thing. I don't think I currently need to go that far back in time. If I still had to support that 2010 legacy platform it would be another issue.

2 So now I'm building versions 24.4, 25.3, and 26.3 on my Pi so I can test a variety of version in one place. Might want to do a 28 and a 29, too, but let's start with what we've got, OK? Anyway, I remain impressed with the Pi, but trying to build Emacs in the background while doing other work does expose its limitations.

3 That is live-in-the-program rather than available over the network. How the language has changed, eh?

No comments:

Post a Comment