emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/lisp/facemenu.el


From: Lute Kamstra
Subject: [Emacs-diffs] Changes to emacs/lisp/facemenu.el
Date: Fri, 01 Jul 2005 04:28:26 -0400

Index: emacs/lisp/facemenu.el
diff -c emacs/lisp/facemenu.el:1.80 emacs/lisp/facemenu.el:1.81
*** emacs/lisp/facemenu.el:1.80 Tue Jun 28 18:55:48 2005
--- emacs/lisp/facemenu.el      Fri Jul  1 08:28:26 2005
***************
*** 135,142 ****
    `(modeline region secondary-selection highlight scratch-face
      ,(purecopy "^font-lock-") ,(purecopy "^gnus-") ,(purecopy "^message-")
      ,(purecopy "^ediff-") ,(purecopy "^term-") ,(purecopy "^vc-")
!     ,(purecopy "^widget-") ,(purecopy "^custom-") ,(purecopy "^vm-")
!     ,(purecopy "^fg:") ,(purecopy "^bg:"))
    "*List of faces not to include in the Face menu.
  Each element may be either a symbol, which is the name of a face, or a string,
  which is a regular expression to be matched against face names.  Matching
--- 135,141 ----
    `(modeline region secondary-selection highlight scratch-face
      ,(purecopy "^font-lock-") ,(purecopy "^gnus-") ,(purecopy "^message-")
      ,(purecopy "^ediff-") ,(purecopy "^term-") ,(purecopy "^vc-")
!     ,(purecopy "^widget-") ,(purecopy "^custom-") ,(purecopy "^vm-"))
    "*List of faces not to include in the Face menu.
  Each element may be either a symbol, which is the name of a face, or a string,
  which is a regular expression to be matched against face names.  Matching
***************
*** 366,373 ****
                         (region-beginning))
                     (if (and mark-active (not current-prefix-arg))
                         (region-end))))
!   (facemenu-add-face (facemenu-add-new-color color 'facemenu-foreground-menu)
!                    start end))
  
  ;;;###autoload
  (defun facemenu-set-background (color &optional start end)
--- 365,373 ----
                         (region-beginning))
                     (if (and mark-active (not current-prefix-arg))
                         (region-end))))
!   (facemenu-set-face-from-menu
!    (facemenu-add-new-color color 'facemenu-foreground-menu)
!    start end))
  
  ;;;###autoload
  (defun facemenu-set-background (color &optional start end)
***************
*** 388,418 ****
                         (region-beginning))
                     (if (and mark-active (not current-prefix-arg))
                         (region-end))))
!   (facemenu-add-face (facemenu-add-new-color color 'facemenu-background-menu)
!                    start end))
  
  ;;;###autoload
  (defun facemenu-set-face-from-menu (face start end)
    "Set the FACE of the region or next character typed.
! This function is designed to be called from a menu; the face to use
! is the menu item's name.
  
  If the region is active (normally true except in Transient Mark mode)
  and there is no prefix argument, this command sets the region to the
  requested face.
  
  Otherwise, this command specifies the face for the next character
! inserted.  Moving point or switching buffers before
! typing a character to insert cancels the specification."
    (interactive (list last-command-event
                     (if (and mark-active (not current-prefix-arg))
                         (region-beginning))
                     (if (and mark-active (not current-prefix-arg))
                         (region-end))))
    (barf-if-buffer-read-only)
!   (if start
!       (facemenu-add-face face start end)
!     (facemenu-add-face face)))
  
  ;;;###autoload
  (defun facemenu-set-invisible (start end)
--- 388,428 ----
                         (region-beginning))
                     (if (and mark-active (not current-prefix-arg))
                         (region-end))))
!   (facemenu-set-face-from-menu
!    (facemenu-add-new-color color 'facemenu-background-menu)
!    start end))
  
  ;;;###autoload
  (defun facemenu-set-face-from-menu (face start end)
    "Set the FACE of the region or next character typed.
! This function is designed to be called from a menu; FACE is determined
! using the event type of the menu entry.  If FACE is a symbol whose
! name starts with \"fg:\" or \"bg:\", then this functions sets the
! foreground or background to the color specified by the rest of the
! symbol's name.  Any other symbol is considered the name of a face.
  
  If the region is active (normally true except in Transient Mark mode)
  and there is no prefix argument, this command sets the region to the
  requested face.
  
  Otherwise, this command specifies the face for the next character
! inserted.  Moving point or switching buffers before typing a character
! to insert cancels the specification."
    (interactive (list last-command-event
                     (if (and mark-active (not current-prefix-arg))
                         (region-beginning))
                     (if (and mark-active (not current-prefix-arg))
                         (region-end))))
    (barf-if-buffer-read-only)
!   (facemenu-add-face
!    (let ((fn (symbol-name face)))
!      (if (string-match "\\`\\([fb]\\)g:\\(.+\\)" fn)
!        (list (list (if (string= (match-string 1 fn) "f")
!                        :foreground
!                      :background)
!                    (match-string 2 fn)))
!        face))
!    start end))
  
  ;;;###autoload
  (defun facemenu-set-invisible (start end)
***************
*** 708,714 ****
  (defun facemenu-add-new-color (color menu)
    "Add COLOR (a color name string) to the appropriate Face menu.
  MENU should be `facemenu-foreground-menu' or `facemenu-background-menu'.
! Create the appropriate face and return it.
  
  This is called whenever you use a new color."
    (let (symbol docstring)
--- 718,724 ----
  (defun facemenu-add-new-color (color menu)
    "Add COLOR (a color name string) to the appropriate Face menu.
  MENU should be `facemenu-foreground-menu' or `facemenu-background-menu'.
! Return the event type (a symbol) of the added menu entry.
  
  This is called whenever you use a new color."
    (let (symbol docstring)
***************
*** 718,747 ****
           (setq docstring
                 (format "Select foreground color %s for subsequent insertion."
                         color)
!                symbol (intern (concat "fg:" color)))
!          (set-face-foreground (make-face symbol) color))
          ((eq menu 'facemenu-background-menu)
           (setq docstring
                 (format "Select background color %s for subsequent insertion."
                         color)
!                symbol (intern (concat "bg:" color)))
!          (set-face-background (make-face symbol) color))
          (t (error "MENU should be `facemenu-foreground-menu' or 
`facemenu-background-menu'")))
!     (cond ((facemenu-iterate ; check if equivalent face is already in the menu
!           (lambda (m) (and (listp m)
!                            (symbolp (car m))
!                            (stringp (cadr m))
!                            (string-equal (cadr m) color)))
!           (cdr (symbol-function menu))))
!         (t    ; No keyboard equivalent.  Figure out where to put it:
!          (let ((key (vector symbol))
!                (function 'facemenu-set-face-from-menu)
!                (menu-val (symbol-function menu)))
!            (if (and facemenu-new-faces-at-end
!                     (> (length menu-val) 3))
!                (define-key-after menu-val key (cons color function)
!                  (car (nth (- (length menu-val) 3) menu-val)))
!              (define-key menu key (cons color function))))))
      symbol))
  
  (defun facemenu-complete-face-list (&optional oldlist)
--- 728,753 ----
           (setq docstring
                 (format "Select foreground color %s for subsequent insertion."
                         color)
!                symbol (intern (concat "fg:" color))))
          ((eq menu 'facemenu-background-menu)
           (setq docstring
                 (format "Select background color %s for subsequent insertion."
                         color)
!                symbol (intern (concat "bg:" color))))
          (t (error "MENU should be `facemenu-foreground-menu' or 
`facemenu-background-menu'")))
!     (unless (facemenu-iterate ; Check if color is already in the menu.
!            (lambda (m) (and (listp m)
!                             (eq (car m) symbol)))
!            (cdr (symbol-function menu)))
!       ;; Color is not in the menu.  Figure out where to put it.
!       (let ((key (vector symbol))
!           (function 'facemenu-set-face-from-menu)
!           (menu-val (symbol-function menu)))
!       (if (and facemenu-new-faces-at-end
!                (> (length menu-val) 3))
!           (define-key-after menu-val key (cons color function)
!             (car (nth (- (length menu-val) 3) menu-val)))
!         (define-key menu key (cons color function)))))
      symbol))
  
  (defun facemenu-complete-face-list (&optional oldlist)




reply via email to

[Prev in Thread] Current Thread [Next in Thread]