The Title already tells what the question is about.

The purpose of the answer to this question would be to become able to find out which default values differ between the versions 27.1 and 28.2 of Emacs in order to set them explicit in the initialization file achieving as consequence the effect that the layout of the windows for both versions which currently looks like this:

enter image description here

will become the same.

1 Answer 1


Use emacs -q to launch Emacs, then use M-x ielm and issue:

(defun customizable-variable-value-pairs (&rest other-features)
  "Print all the bound customizable variables from the loaded packages and C source code, with their default values.

For those unloaded packages, you can pass them as the arguments so that the bound customizable variables from them will also be printed."
  (mapcar (lambda (feature)
            (require feature)) other-features)
  (mapatoms (lambda (symbol)
              (when (and
                     (custom-variable-p symbol)
                     (boundp symbol))
                (print (format "%s"
                               (cons symbol (symbol-value symbol))))))))

Here's an example:

(customizable-variable-value-pairs 'whitespace 'tramp)

PS: It is a long list.

to see where the differences between the versions are?

You can search, say "28.1", in the symbol's docstring to see whether that symbol's default value was changed in version 28.1, or that symbol was introduced in version 28.1, etc.

According to your question description, C-h n may be another choice:

C-h n runs the command view-emacs-news


Display info on recent changes to Emacs.
With argument, display info only for the selected version.

That's all you want.

For example, if you want to see the changes about themes, use C-s theme in the buffer NEW:

** New themes 'modus-vivendi' and 'modus-operandi'.

  • Yeah ... I have already seen that 28.2 has the modus-vivendi-theme, modus-operandi-theme and the modus-themes which is around a half MByte large. What is modus-themes? Each theme in Emacs should end with -theme.el, doesn't it?
    – Claudio
    Mar 18, 2023 at 17:23
  • Sorry ... I can't follow ... I have started emacs with emacs -q getting the splash window content. No sign of ielm in the buffer list, nor have I an idea how to evaluate the provided code.
    – Claudio
    Mar 18, 2023 at 17:30
  • @Claudio: use M-x ielm. My mistake. I forgot to mention it
    – shynur
    Mar 18, 2023 at 17:31
  • @Claudio: A *-theme.el usually contains a (provide-theme ...), but modus-themes.el does not. Instead, it contains a (provide 'modus-themes). I guess that modus-themes.el provides some utilities for modus-*-theme.el (for example, modus-vivendi-theme.el contains a (require 'modus-themes)) so users will find easy to create their own modus-*-theme.el, i don't know
    – shynur
    Mar 18, 2023 at 17:38
  • 2
    @Claudio: (Well, that should be another question ...) <gnu.org/software/emacs/manual/html_node/elisp/…> will answer your question mentioned in your comment. BTW, if you are new to Elisp or Common Lisp, I recommend you read <gnu.org/software/emacs/manual/html_node/eintr/index.html> (That's how I got started.); you can also read it in your Emacs (use C-h i m intro <RET>). Hope it will help you.
    – shynur
    Mar 18, 2023 at 18:02

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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