Search code examples
emacsclojurefont-lock

Stop Emacs font-lock from reducing the font size of symbols in Lisp modes


When font-lock colourises my Lisp buffers (in clojure-mode and emacs-list-mode, at least, so I'm assuming all Lisp modes are affected as well), the font size of my symbols is getting reduced. In this case, I think a picture is worth a thousand words:

enter image description here

As you can see, this leads to the indentation looking wrong, due to the symbols arena-ended-games-limit and game-status appearing in a smaller font than the other text in the buffer.

Does anyone know where this is being configured, and how I can turn it off?

I've Googled and read through lots of Emacs Lisp files to no avail, but as I don't really know what I'm looking for, I may have overlooked an obvious answer.

In case it matters, here is the ELPA package prologue from my init.el:

(require 'package)
(add-to-list 'package-archives
             '("melpa" . "http://melpa.milkbox.net/packages/"))
(add-to-list 'package-archives
             '("marmalade" . "http://marmalade-repo.org/packages/") t)

(package-initialize)

(when (not package-archive-contents)
  (package-refresh-contents))

;; packages
(defvar my-packages '(starter-kit
                      starter-kit-lisp
                      starter-kit-bindings
                      auto-complete
                      rainbow-delimiters
                      clojure-mode
                      cider
                      magit)
  "A list of packages to ensure are installed at launch.")

(dolist (p my-packages)
  (when (not (package-installed-p p))
    (package-install p)))

I'm fairly certain that nothing in starter-kit / starter-kit-lisp is doing this, as I've read through the source pretty closely, but one never knows.


Solution

  • Thanks to legoscia's comment, I've been able to figure out that the face that is responsible is font-lock-function-name-face, which sets the font family to Verdana, and the height to 0.9. Once I'd figured this out, I used the customise utility to remove the face and height changes, which resulted in the following being added to my init.el:

    (custom-set-faces
     '(font-lock-function-name-face ((t (:foreground "LightSkyBlue" :weight bold)))))
    

    Now everything lines up nicely!