When I navigate through `describe-function' to the source of a function, very often the buffer is visiting a file with a ".el.gz" extension.

Often these files are multi-thousand lines, so a list of functions and variables would be quite useful. And speedbar-mode provides exactly the sort of listing that I'm thinking about.

However, speedbar-mode doesn't work in these buffers. Is there an easy way to get speedbar-mode to work in these buffers?

  • 1
    Speedbar uses the imenu library to generate the type of view you are thinking about. The easiest way to handle your issue would be to build Emacs using the --without-compress-install flag ("don't compress some files (.el, .info, etc.) when installing. Equivalent to: make GZIP_PROG= install"); or, use an extraction utility and extract all of the .el files in the lisp and emacs-lisp directories.
    – lawlist
    Commented Nov 21, 2019 at 16:51
  • 1
    ... recursively, that is ... (relating to the extraction comment above); i.e., extracting files in the subdirectories as well.
    – lawlist
    Commented Nov 21, 2019 at 18:47

1 Answer 1


It turns out that speedbar has variable containing a whitelist of file extensions which it will index. This is speedbar-supported-extension-expressions.

The correct way to update this variable is:

(speedbar-add-supported-extension ".el.gz")

(Note that when I was working on this, I had to restart emacs before the .el.gz files were indexable by speedbar.)

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.