Mercurial > emacs
diff lisp/face-remap.el @ 103568:90878fc8d55d
Add `text-scale-set' function
Revision: emacs@sv.gnu.org/emacs--devo--0--patch-1607
author | Miles Bader <miles@gnu.org> |
---|---|
date | Tue, 23 Jun 2009 08:27:58 +0000 |
parents | a9dc0e7c3f2b |
children | bd2966850aac |
line wrap: on
line diff
--- a/lisp/face-remap.el Tue Jun 23 07:44:08 2009 +0000 +++ b/lisp/face-remap.el Tue Jun 23 08:27:58 2009 +0000 @@ -211,10 +211,10 @@ face size by the value of the variable `text-scale-mode-step' \(a negative amount shrinks the text). -The `text-scale-increase' and `text-scale-decrease' functions may -be used to interactively modify the variable -`text-scale-mode-amount' (they also enable or disable -`text-scale-mode' as necessary)." +The `text-scale-increase', `text-scale-decrease', and +`text-scale-set' functions may be used to interactively modify +the variable `text-scale-mode-amount' (they also enable or +disable `text-scale-mode' as necessary)." :lighter (" " text-scale-mode-lighter) (when text-scale-mode-remapping (face-remap-remove-relative text-scale-mode-remapping)) @@ -230,6 +230,19 @@ (force-window-update (current-buffer))) ;;;###autoload +(defun text-scale-set (level) + "Set the scale factor of the default face in the current buffer to LEVEL. +If LEVEL is non-zero, `text-scale-mode' is enabled, otherwise it is disabled. + +LEVEL is a number of steps, with 0 representing the default size. +Each step scales the height of the default face by the variable +`text-scale-mode-step' (a negative number decreases the height by +the same amount)." + (interactive "p") + (setq text-scale-mode-amount level) + (text-scale-mode (if (zerop text-scale-mode-amount) -1 1))) + +;;;###autoload (defun text-scale-increase (inc) "Increase the height of the default face in the current buffer by INC steps. If the new height is other than the default, `text-scale-mode' is enabled.