0

Emacs noob here. I'm trying to customize my org-levels like so:

(let* ((variable-tuple
        (cond ((x-list-fonts   "ETBembo")         '(:font   "ETBembo"))
              ((x-list-fonts   "Source Sans Pro") '(:font   "Source Sans Pro"))
              ((x-list-fonts   "Lucida Grande")   '(:font   "Lucida Grande"))
              ((x-list-fonts   "Verdana")         '(:font   "Verdana"))
              ((x-family-fonts "Sans Serif")      '(:family "Sans Serif"))
              (nil (warn "Cannot find a Sans Serif Font."))))
       (base-font-color (face-foreground 'default nil 'default))
       (headline `(:inherit default :weight bold
                :foreground ,base-font-color
                )))

  (custom-theme-set-faces
   'user
   `(org-level-8        ((t (,@headline ,@variable-tuple))))
   `(org-level-7        ((t (,@headline ,@variable-tuple))))
   `(org-level-6        ((t (,@headline ,@variable-tuple))))
   `(org-level-5        ((t (,@headline ,@variable-tuple))))
   `(org-level-4        ((t (,@headline ,@variable-tuple
                    :height 1.1
                    :foreground "#e8d9c3"))))
   `(org-level-3        ((t (,@headline ,@variable-tuple
                    :height 1.1
                    :foreground "#e8d9c3"))))
   `(org-level-2        ((t (,@headline ,@variable-tuple
                    :height 1.1
                    :box nil
                    :background nil
                    :foreground "#e8d9c3"))))
   `(org-level-1        ((t (,@headline ,@variable-tuple
                    :height 1.1
                    :box nil                    
                    :background nil
                    :foreground "#e8d9c3"))))
   `(org-headline-done  ((t (,@headline ,@variable-tuple :strike-through t))))
   `(org-document-title ((t (,@headline ,@variable-tuple
                                        :height 2.0 :underline nil))))
   `(variable-pitch ((t (:family "ETBembo" :height 180 :weight thin))))
   `(org-indent ((t (:inherit (org-hide fixed-pitch)))))
   )
  (enable-them 'user)
  )

However, I cannot get the changes to apply. So I applied this recommendation but I discovered that the desired customizations only applied when I had a typo on the function enable-theme. In my case, I misspelled it to enable-them. Can you explain why this is occurring and how to get these customizations to apply to org-mode?

(Using Emacs 28.2 on MacOS)

Drew
  • 75,699
  • 9
  • 109
  • 225
mlee
  • 3
  • 2
  • You are almost certainly doing something wrong, but it's hard to tell what. If you put the above in a file, say `/tmp/foo.el` and start Emacs with `emacs -q -l /tmp/foo.el`, do you get anything? I get `Symbol’s function definition is void: enable-them` in the echo area. – NickD Jun 02 '23 at 17:21
  • @NickD In the process of following your recommendation I noticed another `custom-set-faces` further down in my init.el file. I believe this second one was causing a conflict because after commenting out that section my desired customizations are working properly. Thanks for your indirect assistance. I need to tidy up my unwieldy init file. – mlee Jun 02 '23 at 17:56
  • I would highly recommend that you test *without* your init file to begin with: start with `emacs -q -l /path/to/minimal/init.el` and make your minimal init be *just* enough to test the things you are adding. That should be followed up by a step of integration testing where you bring your new code into your actual init file. But cleaning up that file is a very good idea indeed. – NickD Jun 02 '23 at 17:59

0 Answers0