"Make the font of the given face be bold, if possible.
If NOERROR is non-nil, return nil on failure."
(interactive (list (read-face-name "Make which face bold: ")))
- (if (eq frame t)
+ (if (and (eq frame t) (listp (face-font face t)))
(set-face-font face (if (memq 'italic (face-font face t))
'(bold italic) '(bold))
t)
"Make the font of the given face be italic, if possible.
If NOERROR is non-nil, return nil on failure."
(interactive (list (read-face-name "Make which face italic: ")))
- (if (eq frame t)
+ (if (and (eq frame t) (listp (face-font face t)))
(set-face-font face (if (memq 'bold (face-font face t))
'(bold italic) '(italic))
t)
"Make the font of the given face be bold and italic, if possible.
If NOERROR is non-nil, return nil on failure."
(interactive (list (read-face-name "Make which face bold-italic: ")))
- (if (eq frame t)
+ (if (and (eq frame t) (listp (face-font face t)))
(set-face-font face '(bold italic) t)
(let ((ofont (face-font face frame))
font)
"Make the font of the given face be non-bold, if possible.
If NOERROR is non-nil, return nil on failure."
(interactive (list (read-face-name "Make which face non-bold: ")))
- (if (eq frame t)
+ (if (and (eq frame t) (listp (face-font face t)))
(set-face-font face (if (memq 'italic (face-font face t))
'(italic) nil)
t)
"Make the font of the given face be non-italic, if possible.
If NOERROR is non-nil, return nil on failure."
(interactive (list (read-face-name "Make which face non-italic: ")))
- (if (eq frame t)
+ (if (and (eq frame t) (listp (face-font face t)))
(set-face-font face (if (memq 'bold (face-font face t))
'(bold) nil)
t)
;; Also fill them in from X resources.
(while rest
(setcdr (car rest) (copy-sequence (cdr (car rest))))
- (if (listp (face-font (cdr (car rest))))
- (let ((bold (memq 'bold (face-font (cdr (car rest)))))
- (italic (memq 'italic (face-font (cdr (car rest))))))
- (if (and bold italic)
- (make-face-bold-italic (car (car rest)) frame)
- (if bold
- (make-face-bold (car (car rest)) frame)
- (if italic
- (make-face-italic (car (car rest)) frame))))))
+ (condition-case nil
+ (if (listp (face-font (cdr (car rest))))
+ (let ((bold (memq 'bold (face-font (cdr (car rest)))))
+ (italic (memq 'italic (face-font (cdr (car rest))))))
+ (if (and bold italic)
+ (make-face-bold-italic (car (car rest)) frame)
+ (if bold
+ (make-face-bold (car (car rest)) frame)
+ (if italic
+ (make-face-italic (car (car rest)) frame))))))
+ (error nil))
(make-face-x-resource-internal (cdr (car rest)) frame t)
(setq rest (cdr rest)))