[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/lisp/cus-edit.el
From: |
David Ponce |
Subject: |
[Emacs-diffs] Changes to emacs/lisp/cus-edit.el |
Date: |
Tue, 05 Apr 2005 02:40:13 -0400 |
Index: emacs/lisp/cus-edit.el
diff -c emacs/lisp/cus-edit.el:1.216 emacs/lisp/cus-edit.el:1.217
*** emacs/lisp/cus-edit.el:1.216 Sun Feb 27 21:37:03 2005
--- emacs/lisp/cus-edit.el Tue Apr 5 06:40:12 2005
***************
*** 3296,3360 ****
(defvar widget-face-prompt-value-history nil
"History of input to `widget-face-prompt-value'.")
! (define-widget 'face 'restricted-sexp
! "A Lisp face name."
:complete-function (lambda ()
(interactive)
(lisp-complete-symbol 'facep))
- :prompt-value 'widget-field-prompt-value
- :prompt-internal 'widget-symbol-prompt-internal
:prompt-match 'facep
:prompt-history 'widget-face-prompt-value-history
- :value-create 'widget-face-value-create
- :action 'widget-field-action
- :match-alternatives '(facep)
:validate (lambda (widget)
(unless (facep (widget-value widget))
! (widget-put widget :error (format "Invalid face: %S"
! (widget-value widget)))
! widget))
! :value 'ignore
! :tag "Function")
!
!
! ;;; There is a bug here: the sample doesn't get redisplayed
! ;;; in the new font when you specify one. Does anyone know how to
! ;;; make that work? -- rms.
!
! (defun widget-face-value-create (widget)
! "Create an editable face name field."
! (let ((buttons (widget-get widget :buttons))
! (symbol (widget-get widget :value)))
! ;; Sample.
! (push (widget-create-child-and-convert widget 'item
! :format "(%{%t%})"
! :sample-face symbol
! :tag "sample")
! buttons)
! (insert " ")
! ;; Update buttons.
! (widget-put widget :buttons buttons))
!
! (let ((size (widget-get widget :size))
! (value (widget-get widget :value))
! (from (point))
! ;; This is changed to a real overlay in `widget-setup'. We
! ;; need the end points to behave differently until
! ;; `widget-setup' is called.
! (overlay (cons (make-marker) (make-marker))))
! (widget-put widget :field-overlay overlay)
! (insert value)
! (and size
! (< (length value) size)
! (insert-char ?\ (- size (length value))))
! (unless (memq widget widget-field-list)
! (setq widget-field-new (cons widget widget-field-new)))
! (move-marker (cdr overlay) (point))
! (set-marker-insertion-type (cdr overlay) nil)
! (when (null size)
! (insert ?\n))
! (move-marker (car overlay) from)
! (set-marker-insertion-type (car overlay) t)))
;;; The `hook' Widget.
--- 3296,3332 ----
(defvar widget-face-prompt-value-history nil
"History of input to `widget-face-prompt-value'.")
! (define-widget 'face 'symbol
! "A Lisp face name (with sample)."
! :format "%t: (%{sample%}) %v"
! :tag "Face"
! :value 'default
! :sample-face-get 'widget-face-sample-face-get
! :notify 'widget-face-notify
! :match (lambda (widget value) (facep value))
:complete-function (lambda ()
(interactive)
(lisp-complete-symbol 'facep))
:prompt-match 'facep
:prompt-history 'widget-face-prompt-value-history
:validate (lambda (widget)
(unless (facep (widget-value widget))
! (widget-put widget
! :error (format "Invalid face: %S"
! (widget-value widget)))
! widget)))
!
! (defun widget-face-sample-face-get (widget)
! (let ((value (widget-value widget)))
! (if (facep value)
! value
! 'default)))
!
! (defun widget-face-notify (widget child &optional event)
! "Update the sample, and notify the parent."
! (overlay-put (widget-get widget :sample-overlay)
! 'face (widget-apply widget :sample-face-get))
! (widget-default-notify widget child event))
;;; The `hook' Widget.
- [Emacs-diffs] Changes to emacs/lisp/cus-edit.el,
David Ponce <=