set-default-font
está obsoleto. Mas, de qualquer forma, parece que está fazendo por você o que a string doc diz. Do jeito que você está chamando, ele deve mudar a fonte somente para o quadro atual .
Se você quiser alterar a fonte padrão para todos os quadros, passe t
como o terceiro argumento. Por exemplo: (set-default-font "Monaco 16" nil t)
.
Faça C-h f set-default-font
e você verá algo assim:
,----
| set-default-font is an alias for 'set-frame-font' in 'frame.el'.
|
| (set-default-font FONT &optional KEEP-SIZE FRAMES)
|
| This function is obsolete since 23.1;
| use 'set-frame-font' instead.
|
| Set the default font to FONT.
| When called interactively, prompt for the name of a font, and use
| that font on the selected frame. When called from Lisp, FONT
| should be a font name (a string), a font object, font entity, or
| font spec.
|
| If KEEP-SIZE is nil, keep the number of frame lines and columns
| fixed. If KEEP-SIZE is non-nil (or with a prefix argument), try
| to keep the current frame size fixed (in pixels) by adjusting the
| number of lines and columns.
|
| If FRAMES is nil, apply the font to the selected frame only.
| If FRAMES is non-nil, it should be a list of frames to act upon,
| or t meaning all graphical frames. Also, if FRAME is non-nil,
| alter the user's Customization settings as though the
| font-related attributes of the 'default' face had been "set in
| this session", so that the font is applied to future frames.
'----