X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/fed7c4f5c946d55ae97dbcd662afa788932eca13..1a27c64e1cf94e374cac95137b438b1651739074:/lisp/face-remap.el diff --git a/lisp/face-remap.el b/lisp/face-remap.el index 32bba13d00..f7f469b0cc 100644 --- a/lisp/face-remap.el +++ b/lisp/face-remap.el @@ -1,9 +1,9 @@ ;;; 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 -;; Keywords: faces face remapping display user commands +;; Keywords: faces, face remapping, display, user commands ;; ;; This file is part of GNU Emacs. ;; @@ -188,7 +188,8 @@ not inherit from the global definition of FACE." "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) @@ -210,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)) @@ -229,7 +230,20 @@ be used to interactively modify the variable (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. @@ -243,7 +257,7 @@ will remove any scaling currently active." (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") @@ -254,7 +268,7 @@ See `text-scale-increase' for more details." ;;;###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 @@ -298,7 +312,7 @@ a top-level keymap, `text-scale-increase' or (when step (text-scale-increase step) (setq inc 1 first nil) - (setq ev (read-event)))) + (setq ev (read-event "+,-,0 for further adjustment: ")))) (push ev unread-command-events))) @@ -310,7 +324,8 @@ a top-level keymap, `text-scale-increase' or 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) @@ -402,7 +417,8 @@ may be more appropriate." 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)