]> code.delx.au - gnu-emacs/blobdiff - lisp/cus-edit.el
(antlr-c-common-init): Undo last change.
[gnu-emacs] / lisp / cus-edit.el
index 06135b190c0341274e8505059798a5fd636c5cef..2f037bfe45e621f6065757749b1126ef821ea356 100644 (file)
@@ -1832,14 +1832,22 @@ and `face'."
              ((and (boundp 'preloaded-file-list)
                    (member load preloaded-file-list)))
              ((assoc load load-history))
-             ((assoc (locate-library load) load-history))
+             ;; This was just (assoc (locate-library load) load-history)
+             ;; but has been optimized not to load locate-library
+             ;; if not necessary.
+             ((let (found (regexp (regexp-quote load)))
+                (dolist (loaded load-history)
+                  (and (string-match regexp (car loaded))
+                       (eq (locate-library load) (car loaded))
+                       (setq found t)))
+                found))
+             ;; Without this, we would load cus-edit recursively.
+             ;; We are still loading it when we call this,
+             ;; and it is not in load-history yet.
+             ((equal load "cus-edit"))
              (t
               (condition-case nil
-                  ;; Without this, we would load cus-edit recursively.
-                  ;; We are still loading it when we call this,
-                  ;; and it is not in load-history yet.
-                  (or (equal load "cus-edit")
-                      (load-library load))
+                  (load-library load)
                 (error nil))))))))
 
 (defun custom-load-widget (widget)
@@ -2777,7 +2785,8 @@ SPEC must be a full face spec."
             (unless (widget-get widget :custom-form)
                 (widget-put widget :custom-form custom-face-default-form))
             (let* ((symbol (widget-value widget))
-                   (spec (or (get symbol 'saved-face)
+                   (spec (or (get symbol 'customized-face)
+                             (get symbol 'saved-face)
                              (get symbol 'face-defface-spec)
                              ;; Attempt to construct it.
                              (list (list t (custom-face-attributes-get