Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How to go about getting to Aquamacs 4 based on Emacs 28 #211

Open
treese opened this issue Feb 3, 2021 · 2 comments
Open

How to go about getting to Aquamacs 4 based on Emacs 28 #211

treese opened this issue Feb 3, 2021 · 2 comments
Milestone

Comments

@treese
Copy link
Collaborator

treese commented Feb 3, 2021

This note is the beginning of a discussion about how to get Aquamacs updated to a current version of the main Emacs distribution.

The next planned release of Aquamacs is 3.6, which should be in beta soon. It has many bug fixes to the current codebase, which is based on Emacs 25.3. Right now, there is no plan for a 3.7 release, but it could happen if needed.

The next major release, tentatively called 4.0, will be Aquamacs based on Emacs 28. It's a big jump, and there will probably be some messy parts.

There are a couple of ways to approach this, and I'd appreciate any thoughts about what might work best. Whichever way we approach it, I want to try to maintain the git history as best we can.

The core Emacs code for the Mac has changed a lot since Aquamacs was first created, and diverged because there were different ideas at different times. I'd like to end up bringing them closer together, without sacrificing places where Aquamacs has improvements. Ultimately, it would be nice if Aquamacs was a fairly clean add-on to the base Emacs, but there's a lot of work to get there.

If I were undertaking the update entirely on my own, I would be tempted to run a giant merge with the current Emacs code, hack through the merge conflicts, and the debug the result.

If some of you are interested in helping out, we can approach it a different way.

In rough terms, we have the following big areas of Aquamacs code:

  1. Aquamacs-specific addons and configuration in Lisp code
  2. Bundled packages from elsewhere (e.g, AUCTeX, ESS)
  3. Aquamacs changes to base Emacs Lisp code
  4. Aquamacs changes to base Emacs C/Objective C code
  5. Other changes around the edges (documentation, auxiliary files, etc.)I

With a group working on it, we could break it out by focusing small pieces of work on the Aquamacs features and Lisp files, stubbing out anything that needs a new or changed interface in the C/Obj-C code. Similarly, we could work on more isolated pieces of the merging the C/Obj-C code, although some of it will of course be a bit tangled.

Or you might have some other ideas about how to approach this. I haven't mapped out any of this in detail yet, but I'm interested in any thoughts about how to go about it, and in finding out if anyone is interested in working on it.

@treese treese added this to the 4.0 milestone Feb 3, 2021
@bestlem
Copy link

bestlem commented Apr 9, 2022

I think one thing that is needed and I suspect has top be done by those who have worked on Aquamacs port of a new emacs version before is.

a) Identify the startegy do we start with plain emacs and then add the Aquamacs bits or from the current Aquamacs code and add new emacs in. If the latter I suspect a large merge which has to be done by @treese.

b) Can we identify what the changes in 3 and 4 are so we know what is the difference, and also comment on which ones should be kept etc.

@treese
Copy link
Collaborator Author

treese commented Apr 9, 2022

The large merge is in progress! Bits all over the floor right now, as it were....

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants