changeset 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 0659f98d664f
children 94291b33e4a6
files doc/emacs/ChangeLog doc/emacs/display.texi lisp/ChangeLog lisp/face-remap.el
diffstat 4 files changed, 28 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/doc/emacs/ChangeLog	Tue Jun 23 07:44:08 2009 +0000
+++ b/doc/emacs/ChangeLog	Tue Jun 23 08:27:58 2009 +0000
@@ -1,6 +1,7 @@
 2009-06-23  Miles Bader  <miles@gnu.org>
 
 	* display.texi (Scrolling): Document `recenter-redisplay'
+	(Temporary Face Changes): Document `text-scale-set'.
 
 2009-06-21  Chong Yidong  <cyd@stupidchicken.com>
 
--- a/doc/emacs/display.texi	Tue Jun 23 07:44:08 2009 +0000
+++ b/doc/emacs/display.texi	Tue Jun 23 08:27:58 2009 +0000
@@ -509,6 +509,12 @@
 You may find it convenient to bind to these commands, rather than
 @code{text-scale-adjust}.
 
+@cindex set buffer face height
+@findex text-scale-set
+The command @code{text-scale-set} sets the height of the default face
+in the current buffer to an absolute level specified by its prefix
+argument.
+
 @findex text-scale-mode
   The above commands automatically enable or disable the minor mode
 @code{text-scale-mode}, depending on whether the current font scaling
--- a/lisp/ChangeLog	Tue Jun 23 07:44:08 2009 +0000
+++ b/lisp/ChangeLog	Tue Jun 23 08:27:58 2009 +0000
@@ -1,3 +1,7 @@
+2009-06-23  Miles Bader  <miles@gnu.org>
+
+	* face-remap.el (text-scale-set): New function.
+
 2009-06-23  Glenn Morris  <rgm@gnu.org>
 
 	* pcmpl-rpm.el (pcomplete/rpm): Doc fix.
--- 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.