> Emacs 22 had a menu item called "Set Font" or something > (under Options) for changing the font of a frame, which I > used to use quite often, mainly to get my windows to fit on > the screen. > > Emacs 23 has replaced this menu item by "Set Default Font" > which changes the font for all the frames. How can I change > the font for a particular frame?
Oui, on n'arrete pas le progres. :-( They redefined `mouse-set-font' (that Options menu item) to act on the default font instead of the font for the current frame only. Normally, you would think they would use a different (new) command for this radically different behavior, but in this case they just changed the meaning of the existing command. The old behavior is no longer available in any command, AFAIK. Here is the NEWS item that announces this "feature": "In the Options menu, the "Set Default Font" item applies the selected font to the `default' face on all frames, not just the current frame. Furthermore, if Emacs is compiled with both GTK and Fontconfig support, the "Set Default Font" item uses the GTK font selection dialog instead of an Emacs pop-up menu." (That's a bit like your car's manual saying that turning the steering wheel now affects the turn-signal lights instead of steering, without saying anything about how to steer the car. ;-)) There is nothing in NEWS (that I can find) indicating that the command `mouse-set-font' itself has changed its behavior (and not simply the Options menu item - they are in fact the same). Furthermore, `S-mouse-1' used to invoke `mouse-set-font', which on Windows gave you the Windows font dialog, which applied to just the current frame. Now `S-mouse-1' invokes `mouse-appearance-menu', which changes the _buffer's_ font (for all frames). The only mention of this in NEWS is the following: "S-down-mouse-1 now pops up a menu for changing the font and text size of the default face in the current buffer. The face is changed via face remapping (see Lisp changes, below)." AFAIK, there is nothing in NEWS or in the manuals that tells you how to change the font for a given frame. --- However, you _can_ still resize the font for only a single frame. http://www.emacswiki.org/emacs/SetFonts See, for example, function `set-frame-font'.