X-Git-Url: https://git.hcoop.net/bpt/emacs.git/blobdiff_plain/e31331e5cb40d3e56e4160229b33f2dad9d5e4ab..edfda78355c5528eee489fa8a7f9c73bf8e734f2:/lisp/cus-face.el diff --git a/lisp/cus-face.el b/lisp/cus-face.el index c5547657a1..5581cff958 100644 --- a/lisp/cus-face.el +++ b/lisp/cus-face.el @@ -1,17 +1,17 @@ ;;; cus-face.el --- customization support for faces ;; ;; Copyright (C) 1996, 1997, 1999, 2000, 2001, 2002, 2003, 2004, -;; 2005 Free Software Foundation, Inc. +;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. ;; ;; Author: Per Abrahamsen ;; Keywords: help, faces ;; This file is part of GNU Emacs. -;; GNU Emacs is free software; you can redistribute it and/or modify +;; GNU Emacs is free software: you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation; either version 2, or (at your option) -;; any later version. +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. ;; GNU Emacs is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -19,9 +19,7 @@ ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License -;; along with GNU Emacs; see the file COPYING. If not, write to the -;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -;; Boston, MA 02110-1301, USA. +;; along with GNU Emacs. If not, see . ;;; Commentary: ;; @@ -33,7 +31,6 @@ ;;; Declaring a face. -;;;###autoload (defun custom-declare-face (face spec doc &rest args) "Like `defface', but FACE is evaluated as a normal argument." (unless (get face 'face-defface-spec) @@ -46,8 +43,8 @@ (make-empty-face face) ;; Create frame-local faces (dolist (frame (frame-list)) - (face-spec-set face value frame) - (when (memq (window-system frame) '(x w32 mac)) + (face-spec-set-2 face frame value) + (when (memq (window-system frame) '(x w32 mac ns)) (setq have-window-system t))) ;; When making a face after frames already exist (if have-window-system @@ -63,12 +60,15 @@ ;;; Face attributes. -;;;###autoload (defconst custom-face-attributes '((:family (string :tag "Font Family" :help-echo "Font family or fontset alias name.")) + (:foundry + (string :tag "Font Foundry" + :help-echo "Font foundry name.")) + (:width (choice :tag "Width" :help-echo "Font width." @@ -114,7 +114,8 @@ (const :tag "semibold" semi-bold) (const :tag "semilight" semi-light) (const :tag "ultralight" ultra-light) - (const :tag "ultrabold" ultra-bold))) + (const :tag "ultrabold" ultra-bold) + (const :tag "thin" thin))) (:slant (choice :tag "Slant" @@ -122,7 +123,8 @@ :value normal ; default (const :tag "italic" italic) (const :tag "oblique" oblique) - (const :tag "normal" normal))) + (const :tag "normal" normal) + (const :tag "roman" roman))) (:underline (choice :tag "Underline" @@ -269,7 +271,6 @@ If FRAME is nil, use the global defaults for FACE." ;;; Initializing. -;;;###autoload (defun custom-set-faces (&rest args) "Initialize faces according to user preferences. This associates the settings with the `user' theme. @@ -342,21 +343,21 @@ FACE's list property `theme-face' \(using `custom-push-theme')." (unless (facep face) (make-empty-face face)) (put face 'face-comment comment) - (face-spec-set face spec)) - (setq args (cdr args))) - ;; Old format, a plist of FACE SPEC pairs. - (let ((face (nth 0 args)) - (spec (nth 1 args))) - (if (get face 'face-alias) - (setq face (get face 'face-alias))) - (put face 'saved-face spec) - (custom-push-theme 'theme-face face theme 'set spec)) - (setq args (cdr (cdr args)))))))) + (put face 'face-override-spec nil) + (face-spec-set face spec t)) + (setq args (cdr args))) + ;; Old format, a plist of FACE SPEC pairs. + (let ((face (nth 0 args)) + (spec (nth 1 args))) + (if (get face 'face-alias) + (setq face (get face 'face-alias))) + (put face 'saved-face spec) + (custom-push-theme 'theme-face face theme 'set spec)) + (setq args (cdr (cdr args)))))))) ;; XEmacs compability function. In XEmacs, when you reset a Custom ;; Theme, you have to specify the theme to reset it to. We just apply ;; the next theme. -;;;###autoload (defun custom-theme-reset-faces (theme &rest args) "Reset the specs in THEME of some faces to their specs in other themes. Each of the arguments ARGS has this form: @@ -368,7 +369,6 @@ This means reset FACE. The argument IGNORED is ignored." (dolist (arg args) (custom-push-theme 'theme-face (car arg) theme 'reset))) -;;;###autoload (defun custom-reset-faces (&rest args) "Reset the specs of some faces to their specs in specified themes. This creates settings in the `user' theme. @@ -384,5 +384,5 @@ This means reset FACE to its value in FROM-THEME." (provide 'cus-face) -;;; arch-tag: 9a5c4b63-0d27-4c92-a5af-f2c7ed764c2b +;; arch-tag: 9a5c4b63-0d27-4c92-a5af-f2c7ed764c2b ;;; cus-face.el ends here