2

I installed Emacs 26.1 from dnf package manager on Fedora 29. I would like to install the latest stable Emacs, which is version 26.2. Emacs 26.2 will be on Fedora 31 in 6 months.

Is updating Emacs the same thing as installing Emacs? If so, I will be following the instructions on https://www.gnu.org/software/emacs/manual/html_node/efaq/Installing-Emacs.html

Latest Emacs release number is published on https://www.gnu.org/software/emacs/index.html#Releases

Emacs dnf release numbers are published on https://apps.fedoraproject.org/packages/emacs

3

In your case probably not.

Linux distributions like Fedora (Ubuntu, Debian, Red Hat and so on) work with packages.
The content of those packages are ready to use programms. Normaly you install them with a package manager.
A package manager unpacks a package and copies its content to the correct location on your hard disk (and runs some helper skripts).

Your Emacs 26.1 most probably came from such a package. To upgrade it you should install a package, which provides a more recent version of emacs (one such package is available on Fedora Rawhide). Doing this removes the old version, in a clean way, from your harddisk.

The link you posted describes how to compile emacs and then installing it to your harddisk. This comes with multiple problems in the long run, as this operations work without the package manager and you probably end up having 2 versions of emacs installed.

If you are not knowing, what I'm talking about, then do yourself a favour and wait for a Emacs 26.2 package, which you can install, or use the package from rawhide.

2

Yes, if you're compiling from source you 'update' by installing the newest Emacs version over top of your old version.

I have installed Emacs from source on my current laptop starting with emacs-25.1.50, and currently I'm running emacs-27.0.50.

When I 'updated' to 27.0.50, I followed the usual compilation steps. The make install step placed the executable emacs-27.0.50 in /usr/local/bin, and also created the symlink /usr/local/bin/emacs -> emacs-27.0.50. So I can open this version of emacs with either emacs, or emacs-27.0.50.

The previous versions of emacs are still in that directory, so I could run emacs 25 via emacs-25.1.50 - if I was careful to keep the versions of the libraries that I built that emacs with on my system (and assuming no incompatibilities in my config or installed packages). That's only going to be an issue if you are developing packages and want to check compatibility with previous emacs versions. I don't do that, so I've just left the old versions where they are. They take up a tiny bit of disk space, and don't interfere with my current installation.

EDIT

My answer assumes you previously installed emacs by compiling it from source. If you installed it as a package from the Fedora repository, you should either uninstall that package using the package manager before compiling the version you downloaded directly from GNU; or, just stick with the packaged version and wait for Fedora to add 26.2 to their repository (the difference between 26.1 and 26.2 isn't that big).

1

If you re-install Emacs there remains something to do afterwards:

There may be byte-code incompatibilities and lisp incompatibilities between two versions of Emacs.

You should recompile the packages in the directory registered in variable package-user-dir:

M-: (byte-recompile-directory package-user-dir nil t)

Byte-code incompatibilities appear as very strange lisp errors. Lisp incompatibilities are removed symbols of functions and variables, and modified macros. Within a macro the library author is allowed to use all possible internal stuff of the library which may have a short live-time. That stuff remains in your byte-compiled code if you do not re-compile.

  • I haven't encountered this before, despite lots of re-installations. How often are byte-code incompatibilities introduced between versions? Maybe I've just been lucky so far. – Tyler Apr 24 at 15:27
  • 1
    @Tyler For a general statement see: emacs.stackexchange.com/questions/3418/…. I have encountered byte-code incompatibilities at updating from Emacs 25 to Emacs 26. One gets very strange errors that are gone when one re-compiles the package directory. More often are changes in macros. Those almost always require re-compilation. You should definitively make re-compilation to a habit after an upgrade. It is also worthy to keep version-separated package directories. – Tobias Apr 24 at 15:34

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.