]> git.eshelyaron.com Git - emacs.git/commitdiff
(make-glyph-code): Don't test the result of `face-id',
authorJuanma Barranquero <lekktu@gmail.com>
Sat, 1 Mar 2008 15:40:44 +0000 (15:40 +0000)
committerJuanma Barranquero <lekktu@gmail.com>
Sat, 1 Mar 2008 15:40:44 +0000 (15:40 +0000)
which already signals an error for invalid faces.
(glyph-face): Simplify.

lisp/ChangeLog
lisp/disp-table.el

index 4c805de52f564582024a057aea608ec772dfe1d3..8f446aead30163272164216a387eccf03c59e87e 100644 (file)
@@ -1,5 +1,9 @@
 2008-03-01  Juanma Barranquero  <lekktu@gmail.com>
 
+       * disp-table.el (make-glyph-code): Don't test the result of
+       `face-id', which already signals an error for invalid faces.
+       (glyph-face): Simplify.
+
        * desktop.el (desktop-read): Set `desktop-dirname' to nil before
        running `desktop-not-loaded-hook' to allow modifying it.
        Don't show warning message if `desktop-dirname' was modified.
index 9124353884b4dc2fe6904af235606e37f48b4ab8..5e28e2163e78606bca6a56ed7506690ed9b154c7 100644 (file)
@@ -193,11 +193,9 @@ X frame."
   (if (not face)
       char
     (let ((fid (face-id face)))
-      (cond
-       ((not fid) (error "unknown face"))
-       ((< fid 64) ; we have 32 - 3(LSB) - 1(SIGN) - 22(CHAR) = 6 bits for face id
-       (logior char (lsh fid 22)))
-       (t (cons char fid))))))
+      (if (< fid 64) ; we have 32 - 3(LSB) - 1(SIGN) - 22(CHAR) = 6 bits for face id
+         (logior char (lsh fid 22))
+       (cons char fid)))))
 
 ;;;###autoload
 (defun glyph-char (glyph)
@@ -209,13 +207,12 @@ X frame."
 ;;;###autoload
 (defun glyph-face (glyph)
   "Return the face of glyph code GLYPH, or nil if glyph has default face."
-
   (let ((face-id (if (consp glyph) (cdr glyph) (lsh glyph -22))))
     (and (> face-id 0)
-        (car (delq nil (mapcar (lambda (face)
-                                 (and (eq (get face 'face) face-id)
-                                      face))
-                               (face-list)))))))
+        (catch 'face
+          (dolist (face (face-list))
+            (when (eq (face-id face) face-id)
+              (throw 'face face)))))))
 
 ;;;###autoload
 (defun standard-display-european (arg)