[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/admin/cus-test.el
From: |
Juanma Barranquero |
Subject: |
[Emacs-diffs] Changes to emacs/admin/cus-test.el |
Date: |
Fri, 31 Jan 2003 10:08:58 -0500 |
Index: emacs/admin/cus-test.el
diff -c emacs/admin/cus-test.el:1.10 emacs/admin/cus-test.el:1.11
*** emacs/admin/cus-test.el:1.10 Tue Oct 15 01:15:25 2002
--- emacs/admin/cus-test.el Wed Oct 16 00:41:59 2002
***************
*** 38,43 ****
--- 38,45 ----
;;
;; src/emacs -batch -l admin/cus-test.el -f cus-test-libs
;;
+ ;; src/emacs -batch -l admin/cus-test.el -f cus-test-noloads
+ ;;
;; in the emacs source directory.
;;
;; For interactive use: Load this file. Then
***************
*** 84,89 ****
--- 86,95 ----
;; The command `cus-test-libs' runs for all libraries with autoloads
;; separate emacs processes of the form "emacs -batch -l LIB".
;;
+ ;; The command `cus-test-noloads' returns a list of variables which
+ ;; are somewhere declared as custom options, but not loaded by
+ ;; `custom-load-symbol'.
+ ;;
;; Some results from October 2002:
;;
;; 4523 options tested
***************
*** 108,113 ****
--- 114,131 ----
;; (eudc-export error 255)
;; (ada-xref error 255)
;; (ada-stmt error 255)
+ ;;
+ ;; The following options were not loaded by custom-load-symbol:
+ ;; edt-bottom-scroll-margin
+ ;; edt-keep-current-page-delimiter
+ ;; edt-top-scroll-margin
+ ;; edt-use-EDT-control-key-bindings
+ ;; edt-word-entities
+ ;; grep-find-use-xargs
+ ;; master-mode-hook
+ ;; outline-level
+ ;; outline-minor-mode-hook
+ ;; refill-mode-hook
;;; Code:
***************
*** 120,126 ****
(defvar cus-test-skip-list nil
"List of variables to disregard by `cus-test-apropos'.")
! (defvar cus-test-noloads nil
"List of libraries not to load by `cus-test-load-libs'.")
;; The file eudc-export.el loads libraries "bbdb" and "bbdb-com" which
--- 138,144 ----
(defvar cus-test-skip-list nil
"List of variables to disregard by `cus-test-apropos'.")
! (defvar cus-test-libs-noloads nil
"List of libraries not to load by `cus-test-load-libs'.")
;; The file eudc-export.el loads libraries "bbdb" and "bbdb-com" which
***************
*** 146,152 ****
;; Loading dunnet in batch mode leads to a Dead end.
(let (noninteractive) (load "dunnet"))
! (add-to-list 'cus-test-noloads "dunnet")
;; Never Viperize.
(setq viper-mode nil)
--- 164,170 ----
;; Loading dunnet in batch mode leads to a Dead end.
(let (noninteractive) (load "dunnet"))
! (add-to-list 'cus-test-libs-noloads "dunnet")
;; Never Viperize.
(setq viper-mode nil)
***************
*** 177,182 ****
--- 195,208 ----
(defvar cus-test-tested-variables nil
"List of options tested by last call of `cus-test-apropos'.")
+ ;; I haven't understood this :get stuff. The symbols with a
+ ;; custom-get property are stored here.
+ (defvar cus-test-vars-with-custom-get nil
+ "Set by `cus-test-apropos' to a list of options with :get property.")
+
+ (defvar cus-test-vars-with-changed-state nil
+ "Set by `cus-test-apropos' to a list of options with state 'changed.")
+
(defvar cus-test-deps-errors nil
"List of require/load problems found by `cus-test-deps'.")
***************
*** 193,205 ****
(defvar cus-test-libs-loaded nil
"List of files loaded by `cus-test-load-libs' or `cus-test-libs'.")
! ;; I haven't understood this :get stuff. The symbols with a
! ;; custom-get property are stored here.
! (defvar cus-test-vars-with-custom-get nil
! "Set by `cus-test-apropos' to a list of options with :get property.")
! (defvar cus-test-vars-with-changed-state nil
! "Set by `cus-test-apropos' to a list of options with state 'changed.")
(defun cus-test-apropos (regexp)
"Check the options matching REGEXP.
--- 219,230 ----
(defvar cus-test-libs-loaded nil
"List of files loaded by `cus-test-load-libs' or `cus-test-libs'.")
! (defvar cus-test-vars-not-cus-loaded nil
! "A list of options not loaded by `custom-load-symbol'.
! Set by `cus-test-noloads'.")
! ;; (defvar cus-test-vars-cus-loaded nil
! ;; "A list of options loaded by `custom-load-symbol'.")
(defun cus-test-apropos (regexp)
"Check the options matching REGEXP.
***************
*** 285,292 ****
(if (not cus-test-errors)
(insert "No errors found by cus-test.")
(insert "The following variables seem to have problems:\n\n")
! (dolist (E cus-test-errors)
! (insert (symbol-name E) "\n")))))
(defun cus-test-load-custom-loads ()
"Call `custom-load-symbol' on all atoms."
--- 310,317 ----
(if (not cus-test-errors)
(insert "No errors found by cus-test.")
(insert "The following variables seem to have problems:\n\n")
! (dolist (e cus-test-errors)
! (insert (symbol-name e) "\n")))))
(defun cus-test-load-custom-loads ()
"Call `custom-load-symbol' on all atoms."
***************
*** 296,309 ****
(defun cus-test-load-libs ()
"Load the libraries with autoloads.
! Don't load libraries in `cus-test-noloads'."
(interactive)
(setq cus-test-libs-errors nil)
(setq cus-test-libs-loaded nil)
(mapc
(lambda (file)
(condition-case alpha
! (unless (member file cus-test-noloads)
(load file)
(push file cus-test-libs-loaded))
(error
--- 321,334 ----
(defun cus-test-load-libs ()
"Load the libraries with autoloads.
! Don't load libraries in `cus-test-libs-noloads'."
(interactive)
(setq cus-test-libs-errors nil)
(setq cus-test-libs-loaded nil)
(mapc
(lambda (file)
(condition-case alpha
! (unless (member file cus-test-libs-noloads)
(load file)
(push file cus-test-libs-loaded))
(error
***************
*** 348,354 ****
src/emacs -batch -l admin/cus-test.el -f cus-test-opts
! in the emacs source directory."
(interactive)
(message "Running %s" 'cus-test-load-libs)
(cus-test-load-libs)
--- 373,379 ----
src/emacs -batch -l admin/cus-test.el -f cus-test-opts
! in the Emacs source directory."
(interactive)
(message "Running %s" 'cus-test-load-libs)
(cus-test-load-libs)
***************
*** 367,373 ****
src/emacs -batch -l admin/cus-test.el -f cus-test-deps
! in the emacs source directory."
(interactive)
(setq cus-test-deps-errors nil)
(setq cus-test-deps-required nil)
--- 392,398 ----
src/emacs -batch -l admin/cus-test.el -f cus-test-deps
! in the Emacs source directory."
(interactive)
(setq cus-test-deps-errors nil)
(setq cus-test-deps-required nil)
***************
*** 375,429 ****
(mapatoms
;; This code is mainly from `custom-load-symbol'.
(lambda (symbol)
! (unless custom-load-recursion
! (let ((custom-load-recursion t))
! (dolist (load (get symbol 'custom-loads))
! (cond
! ((symbolp load)
! ;; (condition-case nil (require load) (error nil))
! (condition-case alpha
! (unless (featurep load)
! (require load)
! (push (list symbol load) cus-test-deps-required))
! (error
! (push (list symbol load alpha) cus-test-deps-errors)
! (message "Require problem: %s %s %s" symbol load alpha))))
! ((equal load "loaddefs")
! (push
! (message "Symbol %s has loaddefs as custom dependency" symbol)
! cus-test-deps-errors))
! ;; This is subsumed by the test below, but it's much
! ;; faster.
! ((assoc 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 ((regexp (concat "\\(\\`\\|/\\)" (regexp-quote load)
! "\\(\\'\\|\\.\\)"))
! (found nil))
! (dolist (loaded load-history)
! (and (stringp (car loaded))
! (string-match regexp (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"))
! ;; This would ignore load problems with files in
! ;; lisp/term/
! ;; ((locate-library (concat term-file-prefix load)))
! (t
! ;; (condition-case nil (load load) (error nil))
! (condition-case alpha
! (progn
! (load load)
! (push (list symbol load) cus-test-deps-loaded))
! (error
! (push (list symbol load alpha) cus-test-deps-errors)
! (message "Load Problem: %s %s %s" symbol load alpha))))
! ))))))
(message "%s features required"
(length cus-test-deps-required))
(message "%s files loaded"
--- 400,453 ----
(mapatoms
;; This code is mainly from `custom-load-symbol'.
(lambda (symbol)
! (let ((custom-load-recursion t))
! (dolist (load (get symbol 'custom-loads))
! (cond
! ((symbolp load)
! ;; (condition-case nil (require load) (error nil))
! (condition-case alpha
! (unless (featurep load)
! (require load)
! (push (list symbol load) cus-test-deps-required))
! (error
! (push (list symbol load alpha) cus-test-deps-errors)
! (message "Require problem: %s %s %s" symbol load alpha))))
! ((equal load "loaddefs")
! (push
! (message "Symbol %s has loaddefs as custom dependency" symbol)
! cus-test-deps-errors))
! ;; This is subsumed by the test below, but it's much
! ;; faster.
! ((assoc 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 ((regexp (concat "\\(\\`\\|/\\)" (regexp-quote load)
! "\\(\\'\\|\\.\\)"))
! (found nil))
! (dolist (loaded load-history)
! (and (stringp (car loaded))
! (string-match regexp (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"))
! ;; This would ignore load problems with files in
! ;; lisp/term/
! ;; ((locate-library (concat term-file-prefix load)))
! (t
! ;; (condition-case nil (load load) (error nil))
! (condition-case alpha
! (progn
! (load load)
! (push (list symbol load) cus-test-deps-loaded))
! (error
! (push (list symbol load alpha) cus-test-deps-errors)
! (message "Load Problem: %s %s %s" symbol load alpha))))
! )))))
(message "%s features required"
(length cus-test-deps-required))
(message "%s files loaded"
***************
*** 441,447 ****
src/emacs -batch -l admin/cus-test.el -f cus-test-libs
! in the emacs source directory."
(interactive)
(with-temp-buffer
(setq cus-test-libs-errors nil)
--- 465,471 ----
src/emacs -batch -l admin/cus-test.el -f cus-test-libs
! in the Emacs source directory."
(interactive)
(with-temp-buffer
(setq cus-test-libs-errors nil)
***************
*** 475,480 ****
--- 499,540 ----
(message "The following load problems appeared:")
(cus-test-message cus-test-libs-errors))
(run-hooks 'cus-test-after-load-libs-hook)))
+
+ (defun cus-test-noloads ()
+ "Find custom options not loaded by `custom-load-symbol'.
+ Calling this function after `cus-test-load-libs' is not meaningful.
+ It is suitable for batch mode. E.g., invoke
+
+ src/emacs -batch -l admin/cus-test.el -f cus-test-noloads
+
+ in the Emacs source directory."
+ (interactive)
+ (let (cus-loaded)
+
+ (message "Running %s" 'cus-test-load-custom-loads)
+ (cus-test-load-custom-loads)
+ (setq cus-loaded
+ (cus-test-get-options ""))
+
+ (message "Running %s" 'cus-test-load-libs)
+ (cus-test-load-libs)
+ (setq cus-test-vars-not-cus-loaded
+ (cus-test-get-options ""))
+
+ (dolist (o cus-loaded)
+ (setq cus-test-vars-not-cus-loaded
+ (delete o cus-test-vars-not-cus-loaded)))
+
+ (if (not cus-test-vars-not-cus-loaded)
+ (message "No options not loaded by custom-load-symbol found")
+ (message "The following options were not loaded by custom-load-symbol:")
+ (cus-test-message
+ (sort cus-test-vars-not-cus-loaded 'string<)))))
+
+ ;; And last but not least a quiz:
+ ;;
+ ;; Evaluation of the form (customize-option 'debug-on-error) yields a
+ ;; *Customize* buffer with a mismatch mess. Why?
(provide 'cus-test)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] Changes to emacs/admin/cus-test.el,
Juanma Barranquero <=