From: Miles Bader Date: Mon, 10 Jun 2002 02:15:24 +0000 (+0000) Subject: (display-supports-face-attributes-p): Work correctly if DISPLAY is a frame. X-Git-Tag: ttn-vms-21-2-B4~14695 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=16320ac7d4c9eaed7c8a8b4845e8b10f9b0dd78f;p=emacs.git (display-supports-face-attributes-p): Work correctly if DISPLAY is a frame. (face-spec-set-match-display): Support `supports' predicate. (italic): Try underlining for displays that don't support real italics. --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 13ab17c1868..68c428f29f2 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,6 +1,8 @@ -2002-06-05 Miles Bader +2002-06-10 Miles Bader * faces.el (display-supports-face-attributes-p): New function. + (face-spec-set-match-display): Support `supports' predicate. + (italic): Try underlining for displays that don't support real italics. * term/tty-colors.el (color-name-rgb-alist): Use 16-bit RGB values instead of 8-bit, for consistency with the rest of emacs. (tty-color-canonicalize): Only copy COLOR if we need to change it. diff --git a/lisp/faces.el b/lisp/faces.el index 83832f2b47f..3e4d44709b2 100644 --- a/lisp/faces.el +++ b/lisp/faces.el @@ -1318,6 +1318,8 @@ If FRAME is nil, the current FRAME is used." ((eq req 'background) (memq (frame-parameter frame 'background-mode) options)) + ((eq req 'supports) + (display-supports-face-attributes-p options frame)) (t (error "Unknown req `%S' with options `%S'" req options))))) match)) @@ -1494,7 +1496,10 @@ any display that can display bold, and a `:foreground \"yellow\"' as long as it can display a yellowish color, but `:slant italic' will _not_ be satisified by the tty display code's automatic substitution of a `dim' face for italic." - (let ((frame (car (frames-on-display-list display)))) + (let ((frame + (if (framep display) + display + (car (frames-on-display-list display))))) ;; For now, we assume that non-tty displays can support everything. ;; Later, we should add the ability to query about specific fonts, ;; colors, etc. @@ -1938,7 +1943,16 @@ created." :group 'basic-faces) -(defface italic '((t :slant italic)) +(defface italic + '((((supports :slant italic)) + :slant italic) + (((supports :underline t)) + :underline t) + (t + ;; default to italic, even it doesn't appear to be supported, + ;; because in some cases the display engine will do it's own + ;; workaround (to `dim' on ttys) + :slant italic)) "Basic italic font." :group 'basic-faces)