;;; face-remap.el --- Functions for managing `face-remapping-alist'
;;
-;; Copyright (C) 2008 Free Software Foundation, Inc.
+;; Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc.
;;
;; Author: Miles Bader <miles@gnu.org>
;; Keywords: faces face remapping display user commands
"Scale factor used by `text-scale-mode'.
Each positive or negative step scales the default face height by this amount."
:group 'display
- :type 'number)
+ :type 'number
+ :version "23.1")
;; current remapping cookie for text-scale-mode
(defvar text-scale-mode-remapping nil)
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))
(force-window-update (current-buffer)))
;;;###autoload
-(defun text-scale-increase (&optional inc)
+(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.
(text-scale-mode (if (zerop text-scale-mode-amount) -1 1)))
;;;###autoload
-(defun text-scale-decrease (&optional dec)
+(defun text-scale-decrease (dec)
"Decrease the height of the default face in the current buffer by DEC steps.
See `text-scale-increase' for more details."
(interactive "p")
;;;###autoload (define-key ctl-x-map [(control ?=)] 'text-scale-adjust)
;;;###autoload (define-key ctl-x-map [(control ?0)] 'text-scale-adjust)
;;;###autoload
-(defun text-scale-adjust (&optional inc)
+(defun text-scale-adjust (inc)
"Increase or decrease the height of the default face in the current buffer.
The actual adjustment made depends on the final component of the
It may contain any value suitable for a `face' text property,
including a face name, a list of face names, a face-attribute
plist, etc."
- :group 'display)
+ :group 'display
+ :version "23.1")
;; current remapping cookie for buffer-face-mode
(defvar buffer-face-mode-remapping nil)
An interface to `buffer-face-mode' which uses the `variable-pitch' face.
Besides the choice of face, it is the same as `buffer-face-mode'."
(interactive (list (or current-prefix-arg 'toggle)))
- (buffer-face-mode-invoke 'variable-pitch arg (interactive-p)))
+ (buffer-face-mode-invoke 'variable-pitch arg
+ (called-interactively-p 'interactive)))
(provide 'face-remap)