summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/emacs/ChangeLog1
-rw-r--r--doc/emacs/display.texi6
-rw-r--r--lisp/ChangeLog4
-rw-r--r--lisp/face-remap.el21
4 files changed, 28 insertions, 4 deletions
diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog
index c990259b76d..d44b255eedf 100644
--- a/doc/emacs/ChangeLog
+++ b/doc/emacs/ChangeLog
@@ -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>
diff --git a/doc/emacs/display.texi b/doc/emacs/display.texi
index 5cffc2e3377..96ae59ee6e1 100644
--- a/doc/emacs/display.texi
+++ b/doc/emacs/display.texi
@@ -509,6 +509,12 @@ default face, just like @kbd{C-x C-+} and @kbd{C-x C--} respectively.
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
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index aa58deb0347..c1dd6b374e2 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -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.
diff --git a/lisp/face-remap.el b/lisp/face-remap.el
index 369a265d435..c899a8d3f8f 100644
--- a/lisp/face-remap.el
+++ b/lisp/face-remap.el
@@ -211,10 +211,10 @@ The amount of scaling is determined by the variable
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 @@ be used to interactively modify the variable
(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.