+2011-04-05 Chong Yidong <cyd@stupidchicken.com>
+
+ * startup.el (command-line): Save the cursor's theme-face
+ directly, instead of using face-override-spec.
+
+ * custom.el (load-theme): Minor optimization in assigning faces.
+
2011-04-04 Juanma Barranquero <lekktu@gmail.com>
* help-fns.el (describe-variable): Complete all variables having
(custom-theme-load-confirm hash))
(let ((custom--inhibit-theme-enable t))
(eval-buffer))
+ ;; Optimization: if the theme changes the `default' face, put that
+ ;; entry first. This avoids some `frame-set-background-mode' rigmarole
+ ;; by assigning the new background immediately.
+ (let* ((settings (get theme 'theme-settings))
+ (tail settings)
+ found)
+ (while (and tail (not found))
+ (and (eq (nth 0 (car tail)) 'theme-face)
+ (eq (nth 1 (car tail)) 'default)
+ (setq found (car tail)))
+ (setq tail (cdr tail)))
+ (if found
+ (put theme 'theme-settings (cons found (delq found settings)))))
+ ;; Finally, enable the theme.
(unless no-enable
(enable-theme theme))
t))))
;; spec, but mark it as changed outside of Customize.
(let ((color (x-get-resource "cursorColor" "CursorColor")))
(when color
- (face-spec-set 'cursor `((t (:background ,color))))
+ (put 'cursor 'theme-face
+ `((changed ((t :background ,color)))))
(put 'cursor 'face-modified t)))))
(frame-initialize))