Personalización de Emacs por archivo

Tengo un archivo Emacs Lisp con macros personalizadas que quiero fontified y sangrado de manera diferente. El código se ve así:

(defmacro* when-let ((var value) &rest body)
  `(let ((,var ,value))
     (when ,var ,@body)))

(defun func ()
  (when-let (a 1)
    a))

yo quierowhen-let tipificado como unfont-lock-keyword y sangrado como el anterior. Sé que puedo hacer esto en mi archivo .emacs, pero preferiría que sea un directorio local o una personalización local de archivos. El problema es que las personalizaciones locales del directorio y del archivo parecen estar limitadas a la configuración de variables. En mi archivo .emacs tengo lo siguiente.

(add-hook 'emacs-lisp-mode-hook
   (lambda ()
             (put 'when-let 'lisp-indent-function 1)
             (font-lock-add-keywords nil
                                     '(("(\\(when-let\\)\\>" 1
                                        font-lock-keyword-face)))))

Quiero esto en.dir-locals.el porque se aplica solo a un archivo.

Respuestas a la pregunta(2)

Su respuesta a la pregunta