Using
USE_UNION_TYPE=0
in config.inc I was able to produce xemacs.exe.
make check-temacs
and
make check
both fail assertion
Fatal error: assertion failed, file
c:\Hacking\cvs.xemacs.org\XEmacs\xemacs-21.5-clean\src\alloc.c, line 3382, ABORT()
though.
I have trimmed the pbacktrace report from 600K to 50K
More details available on request.
Best regards,
Adrian
XEmacs Build Report generated by emacs-version
21.5 (beta19) "chives" (+CVS-20050224) XEmacs Lucid
with system-configuration
i586-pc-win32
follows:
Contents of
c:\Hacking\cvs.xemacs.org\XEmacs\xemacs-21.5-clean\Installation:
(Output from most recent run of ./configure)
OS version:
Microsoft Windows XP [Version 5.1.2600]
OS: Windows_NT
XEmacs 21.5-b20 "cilantro" (+CVS-20050311) configured for `i586-pc-win32'.
Building XEmacs using "NMAKE".
Building XEmacs using make flags " ".
Building XEmacs in source tree
"c:\\Hacking\\cvs.xemacs.org\\XEmacs\\xemacs-21.5-clean".
For src, using compiler "cl -nologo -W3 -DSTRICT -Zi -O2 -G5 -Ob2 -MDd -c -TP
-Ic:\Hacking\cvs.xemacs.org\XEmacs\xemacs-21.5-clean\nt\inc
-Ic:\Hacking\cvs.xemacs.org\XEmacs\xemacs-21.5-clean\src
-I"c:\Hacking\libs4xemacs\xpm-3.4k"
-I"c:\Hacking\libs4xemacs\xpm-3.4k\lib"
-I"c:\Hacking\libs4xemacs\libpng-1.0.2"
-I"c:\Hacking\libs4xemacs\zlib"
-I"c:\Hacking\libs4xemacs\tiff-v3.4\libtiff"
-I"c:\Hacking\libs4xemacs\jpeg-6b" -I"c:\Hacking\libs4xemacs\compface"
-I"c:\Hacking\libs4xemacs\zlib" -DHAVE_MS_WINDOWS -DHAVE_XPM -DFOR_MSW
-DHAVE_GIF -DHAVE_PNG -DHAVE_TIFF -DHAVE_JPEG -DHAVE_XFACE -DHAVE_ZLIB -DHAVE_MENUBARS
-DHAVE_SCROLLBARS -DHAVE_TOOLBARS -DHAVE_WIDGETS -DHAVE_DIALOGS -DHAVE_NATIVE_SOUND -DMULE
-DPDUMP -DUSE_KKCC -DSYSTEM_MALLOC -DERROR_CHECK_ALL -DDEBUG_XEMACS -D_DEBUG
-DWIN32_LEAN_AND_MEAN -DWIN32_NATIVE -Demacs -DHAVE_CONFIG_H
-DPATH_VERSION=\"21.5-b20\" -DPATH_PROGNAME=\"xemacs\"
-DEMACS_VERSION=\"21.5-b20\" -DEMACS_PROGNAME=\"xemacs\"
-DSTACK_TRACE!
_EYE_CATCHER=xemacs_21_5_b20_i586_pc_win32 -DPATH_PREFIX=\"..\"
-DEMACS_MAJOR_VERSION=21 -DEMACS_MINOR_VERSION=5 -DEMACS_BETA_VERSION=20
-DXEMACS_CODENAME=\""cilantro"\"
-DXEMACS_EXTRA_NAME=\"(+CVS-20050311)\"
-DEMACS_CONFIGURATION=\"i586-pc-win32\"
-DPATH_PACKAGEPATH=\""~\\.xemacs;;c:\\Program
Files\\XEmacs\\site-packages;c:\\Program Files\\XEmacs\\mule-packages;c:\\Program
Files\\XEmacs\\xemacs-packages"\"".
For lib-src, using compiler "cl -nologo -W3 -DSTRICT -Zi -O2 -G5 -Ob2 -MDd
-Ic:\Hacking\cvs.xemacs.org\XEmacs\xemacs-21.5-clean\lib-src
-Ic:\Hacking\cvs.xemacs.org\XEmacs\xemacs-21.5-clean\src -DHAVE_CONFIG_H
-DWIN32_NATIVE".
Compiling as C++.
Installing XEmacs in "c:\\Program Files\\XEmacs\\XEmacs-21.5-b20".
Package path is "~\\.xemacs;;c:\\Program Files\\XEmacs\\site-packages;c:\\Program
Files\\XEmacs\\mule-packages;c:\\Program Files\\XEmacs\\xemacs-packages".
Compiling in support for Microsoft Windows native GUI.
Compiling in international (MULE) support.
Compiling in support for XPM images.
Compiling in support for GIF images.
Compiling in support for PNG images.
Compiling in support for TIFF images.
Compiling in support for JPEG images.
Compiling in support for X-Face message headers.
Compiling in support for GZIP compression/decompression.
Compiling in support for toolbars.
Compiling in support for dialogs.
Compiling in support for widgets.
Compiling in support for native sounds.
Using portable dumper.
Using system malloc.
Using DLL version of C runtime library.
Compiling in extra internal error-checking.
NOTE: ---------------------------------------------------------
NOTE: Compiling in support for runtime error-checking.
NOTE: XEmacs will run noticeably more slowly as a result.
NOTE: Error-checking is on by default for XEmacs beta releases.
NOTE: ---------------------------------------------------------
Compiling in debugging support (no slowdown).
Compiling with optimization.
Using new experimental GC algorithms.
Contents of
c:\Hacking\cvs.xemacs.org\XEmacs\xemacs-21.5-clean\xemacs-21.5-clean-cvs-update.err
keeping lines matching
"^--\[\[\|\]\]$\|^\(cd\|n?make\)\s-\|errors?\|warnings?\|pure.*\(space\|size\)\|hides\b\|strange\|shadowings\|^Compil\(ing\s-+in\|ation\)\|^Using\|not\s-+found\|^While\s-+compiling.*\(
\s-+.+\)*\|^Note:\|Installing\|[Ff]ile(s) copied\|\s-+tests\s-+\|^[A-Z] [^
]+$\|^Wrong number of arguments:\|^ \*\* "
and then deleting lines matching
"confl.*with.*auto-inlining\|^Formatting:"
cd c:\Hacking\cvs.xemacs.org\XEmacs\xemacs-21.5-clean\
Compilation started at Sat Mar 12 10:13:54 2005 +0100 (W. Europe Standard Time)
? gunzip-error.txt
? nt/xemacs-21.5-clean-make-all-texinfo-error.err
cvs server: Updating tests
M tests/ChangeLog
M tests/automated/region-tests.el
Compilation finished at Sat Mar 12 10:14:57
Contents of
c:\Hacking\cvs.xemacs.org\XEmacs\xemacs-21.5-clean\nt\xemacs-21.5-clean-make-install.err
keeping lines matching
"^--\[\[\|\]\]$\|^\(cd\|n?make\)\s-\|errors?\|warnings?\|pure.*\(space\|size\)\|hides\b\|strange\|shadowings\|^Compil\(ing\s-+in\|ation\)\|^Using\|not\s-+found\|^While\s-+compiling.*\(
\s-+.+\)*\|^Note:\|Installing\|[Ff]ile(s) copied\|\s-+tests\s-+\|^[A-Z] [^
]+$\|^Wrong number of arguments:\|^ \*\* "
and then deleting lines matching
"confl.*with.*auto-inlining\|^Formatting:"
cd c:\Hacking\cvs.xemacs.org\XEmacs\xemacs-21.5-clean\nt\
nmake /f xemacs.mak install
Compilation started at Sat Mar 12 10:39:25 2005 +0100 (W. Europe Standard Time)
Installing XEmacs in "c:\\Program Files\\XEmacs\\XEmacs-21.5-b20".
Compiling in extra internal error-checking.
NOTE: Compiling in support for runtime error-checking.
1 file(s) copied.
1 File(s) copied
1 File(s) copied
Using load-path (c:\Hacking\cvs.xemacs.org\XEmacs\xemacs-21.5-clean\lisp\)
Using module-load-path (c:\Hacking\cvs.xemacs.org\XEmacs\xemacs-21.5-clean\modules)
While compiling describe-register-1 in file
c:\Hacking\cvs.xemacs.org\XEmacs\xemacs-21.5-clean\lisp\register.el:
** reference to free variable yank-excluded-properties
While compiling the end of the data:
** The following functions are not known to be defined:
remove-list-of-text-properties, insert-for-yank
While compiling the end of the data in file
c:\Hacking\cvs.xemacs.org\XEmacs\xemacs-21.5-clean\lisp\diagnose.el:
** the function sort-numeric-fields is not known to be defined.
While compiling get-selection in file
c:\Hacking\cvs.xemacs.org\XEmacs\xemacs-21.5-clean\lisp\select.el:
** variable err bound but not referenced
While compiling forward-paragraph in file
c:\Hacking\cvs.xemacs.org\XEmacs\xemacs-21.5-clean\lisp\paragraphs.el:
** variable multiple-lines bound but not referenced
While compiling the end of the data:
** the function constrain-to-field is not known to be defined.
Using load-path (c:\Hacking\cvs.xemacs.org\XEmacs\xemacs-21.5-clean\lisp\)
Using module-load-path (c:\Hacking\cvs.xemacs.org\XEmacs\xemacs-21.5-clean\modules)
While compiling the end of the data in file
c:\Hacking\cvs.xemacs.org\XEmacs\xemacs-21.5-clean\lisp\gtk.el:
** the function gtk-import-function is not known to be defined.
While compiling toplevel forms in file
c:\Hacking\cvs.xemacs.org\XEmacs\xemacs-21.5-clean\lisp\mule\thai-util.el:
** define-category called with 3 arguments, but accepts only 2
** define-category called with 3 arguments, but accepts only 2
** define-category called with 3 arguments, but accepts only 2
While compiling the end of the data:
** the function make-category-table is not known to be defined.
While compiling toplevel forms in file
c:\Hacking\cvs.xemacs.org\XEmacs\xemacs-21.5-clean\lisp\mule\lao-util.el:
** define-category called with 3 arguments, but accepts only 2
** define-category called with 3 arguments, but accepts only 2
** define-category called with 3 arguments, but accepts only 2
** define-category called with 3 arguments, but accepts only 2
While compiling the end of the data:
** the function make-category-table is not known to be defined.
While compiling ethio-modify-vowel in file
c:\Hacking\cvs.xemacs.org\XEmacs\xemacs-21.5-clean\lisp\mule\ethio-util.el:
** decompose-composite-char is an obsolete function; use char-to-string instead.
Installing in c:\Program Files\XEmacs\XEmacs-21.5-b20 ...
1 File(s) copied
1 File(s) copied
1 File(s) copied
1 File(s) copied
1 File(s) copied
11 File(s) copied
1 File(s) copied
1 File(s) copied
1 File(s) copied
497 File(s) copied
161 File(s) copied
585 File(s) copied
1 File(s) copied
1 File(s) copied
1 File(s) copied
Compilation finished at Sat Mar 12 11:01:44
Contents of
c:\Hacking\cvs.xemacs.org\XEmacs\xemacs-21.5-clean\nt\xemacs-21.5-clean-make-check-temacs.err
keeping lines matching
"^--\[\[\|\]\]$\|^\(cd\|n?make\)\s-\|errors?\|warnings?\|pure.*\(space\|size\)\|hides\b\|strange\|shadowings\|^Compil\(ing\s-+in\|ation\)\|^Using\|not\s-+found\|^While\s-+compiling.*\(
\s-+.+\)*\|^Note:\|Installing\|[Ff]ile(s) copied\|\s-+tests\s-+\|^[A-Z] [^
]+$\|^Wrong number of arguments:\|^ \*\* "
and then deleting lines matching
"confl.*with.*auto-inlining\|^Formatting:"
cd c:\Hacking\cvs.xemacs.org\XEmacs\xemacs-21.5-clean\nt\
nmake /f xemacs.mak check-temacs
Compilation started at Sat Mar 12 11:02:16 2005 +0100 (W. Europe Standard Time)
Using load-path (c:\Hacking\cvs.xemacs.org\XEmacs\xemacs-21.5-clean\lisp\)
Using module-load-path (c:\Hacking\cvs.xemacs.org\XEmacs\xemacs-21.5-clean\modules)
base64-tests.el: 1234 of 1234 tests successful (100%).
0 errors that should have been generated, but weren't
0 wrong-error failures
byte-compiler-tests.el: 66 of 66 tests successful (100%).
38 tests skipped because can't defadvice.
0 errors that should have been generated, but weren't
0 wrong-error failures
c-tests.el: 4 of 4 tests successful (100%).
0 errors that should have been generated, but weren't
0 wrong-error failures
case-tests.el: 1148 of 1148 tests successful (100%).
0 errors that should have been generated, but weren't
0 wrong-error failures
ccl-tests.el: 4570 of 4570 tests successful (100%).
0 errors that should have been generated, but weren't
0 wrong-error failures
database-tests.el: No tests run.
0 errors that should have been generated, but weren't
0 wrong-error failures
extent-tests.el: 194 of 194 tests successful (100%).
0 errors that should have been generated, but weren't
0 wrong-error failures
hash-table-tests.el: 9866 of 9866 tests successful (100%).
0 errors that should have been generated, but weren't
0 wrong-error failures
Fatal error: assertion failed, file
c:\Hacking\cvs.xemacs.org\XEmacs\xemacs-21.5-clean\src\alloc.c, line 3382, ABORT()
Fatal error.
byte-compile-top-level((progn (Print-Failure (if nil "%S ==> error: %S; failing
case = %S" "%S ==> error: %S") (quote (let* ((x (a)) (y (remassoc 6
x))) (and (eq x y) (equal y (a))))) error-info nil) (incf other-failures)) t t)
byte-compile-top-level-body(((Print-Failure (if nil "%S ==> error: %S; failing
case = %S" "%S ==> error: %S") (quote (let* ((x (a)) (y (remassoc 6
x))) (and (eq x y) (equal y (a))))) error-info nil) (incf other-failures)) t)
byte-compile-condition-case((condition-case error-info (progn (assert (let* ((x (a)) (y
(remassoc 6 x))) (and (eq x y) (equal y (a))))) (Print-Pass "%S" (quote (let*
((x (a)) (y (remassoc 6 x))) (and (eq x y) (equal y (a)))))) (incf passes))
(cl-assertion-failed (Print-Failure (if nil "Assertion failed: %S; failing case =
%S" "Assertion failed: %S") (quote (let* ((x (a)) (y (remassoc 6 x))) (and
(eq x y) (equal y (a))))) nil) (incf assertion-failures)) (t (Print-Failure (if nil
"%S ==> error: %S; failing case = %S" "%S ==> error: %S")
(quote (let* ((x (a)) (y (remassoc 6 x))) (and (eq x y) (equal y (a))))) error-info nil)
(incf other-failures))))
byte-compile-form((condition-case error-info (progn (assert (let* ((x (a)) (y (remassoc
6 x))) (and (eq x y) (equal y (a))))) (Print-Pass "%S" (quote (let* ((x (a)) (y
(remassoc 6 x))) (and (eq x y) (equal y (a)))))) (incf passes)) (cl-assertion-failed
(Print-Failure (if nil "Assertion failed: %S; failing case = %S" "Assertion
failed: %S") (quote (let* ((x (a)) (y (remassoc 6 x))) (and (eq x y) (equal y (a)))))
nil) (incf assertion-failures)) (t (Print-Failure (if nil "%S ==> error: %S;
failing case = %S" "%S ==> error: %S") (quote (let* ((x (a)) (y
(remassoc 6 x))) (and (eq x y) (equal y (a))))) error-info nil) (incf other-failures)))
t)
<40 lines deleted by Adrian Aichner>
(block nil (let ((--dolist-temp--78702 command-line-args-left) file) (while
--dolist-temp--78702 (setq file (car --dolist-temp--78702)) (if (file-directory-p file)
(dolist (file-in-dir (directory-files file t)) (when (and (string-match
emacs-lisp-file-regexp file-in-dir) (not (or (auto-save-file-name-p file-in-dir)
(backup-file-name-p file-in-dir) (equal (file-name-nondirectory file-in-dir)
"test-harness.el")))) (or (batch-test-emacs-1 file-in-dir) (setq error t)))) (or
(batch-test-emacs-1 file) (setq error t))) (setq --dolist-temp--78702 (cdr
--dolist-temp--78702))) nil))
(dolist (file command-line-args-left) (if (file-directory-p file) (dolist (file-in-dir
(directory-files file t)) (when (and (string-match emacs-lisp-file-regexp file-in-dir)
(not (or (auto-save-file-name-p file-in-dir) (backup-file-name-p file-in-dir) (equal
(file-name-nondirectory file-in-dir) "test-harness.el")))) (or
(batch-test-emacs-1 file-in-dir) (setq error t)))) (or (batch-test-emacs-1 file) (setq
error t))))
# bind (error)
(let ((error nil)) (dolist (file command-line-args-left) (if (file-directory-p file)
(dolist (file-in-dir (directory-files file t)) (when (and (string-match
emacs-lisp-file-regexp file-in-dir) (not (or (auto-save-file-name-p file-in-dir)
(backup-file-name-p file-in-dir) (equal (file-name-nondirectory file-in-dir)
"test-harness.el")))) (or (batch-test-emacs-1 file-in-dir) (setq error t)))) (or
(batch-test-emacs-1 file) (setq error t)))) (let ((namelen 0) (succlen 0) (testlen 0)
(results test-harness-file-results-alist)) (flet ((print-width (i) (let ((x 10) (y 1))
(while (>= i x) (setq x (* 10 x) y (1+ y))) y))) (while results (let* ((head (car
results)) (nn (length (file-name-nondirectory (first head)))) (ss (print-width (second
head))) (tt (print-width (third head)))) (when (> nn namelen) (setq namelen nn)) (when
(> ss succlen) (setq succlen ss)) (when (> tt testlen) (setq testlen tt))) (setq
results (cdr results)))) (let ((results (reverse test-harness-file-results-alist)!
)) (while results (let* ((head (car results)) (basename (file-name-nondirectory (first
head))) (nsucc (second head)) (ntest (third head))) (if (> ntest 0) (message
test-harness-file-summary-template (concat basename ":") nsucc ntest (/ (* 100
nsucc) ntest)) (message test-harness-null-summary-template (concat basename
":"))) (setq results (cdr results)))))) (message "\nDone") (kill-emacs
(if error 1 0)))
# bind (error-data)
# (condition-case ... . error)
NMAKE: fatal error U1077:
'"c:\Hacking\cvs.xemacs.org\XEmacs\xemacs-21.5-clean\lib-src\i"' :
return code '0xc0000005'
Compilation exited abnormally with code 2 at Sat Mar 12 11:04:03
Contents of
c:\Hacking\cvs.xemacs.org\XEmacs\xemacs-21.5-clean\nt\xemacs-21.5-clean-make-check.err
keeping lines matching
"^--\[\[\|\]\]$\|^\(cd\|n?make\)\s-\|errors?\|warnings?\|pure.*\(space\|size\)\|hides\b\|strange\|shadowings\|^Compil\(ing\s-+in\|ation\)\|^Using\|not\s-+found\|^While\s-+compiling.*\(
\s-+.+\)*\|^Note:\|Installing\|[Ff]ile(s) copied\|\s-+tests\s-+\|^[A-Z] [^
]+$\|^Wrong number of arguments:\|^ \*\* "
and then deleting lines matching
"confl.*with.*auto-inlining\|^Formatting:"
cd c:\Hacking\cvs.xemacs.org\XEmacs\xemacs-21.5-clean\nt\
nmake /f xemacs.mak check
Compilation started at Sat Mar 12 11:05:05 2005 +0100 (W. Europe Standard Time)
base64-tests.el: 1234 of 1234 tests successful (100%).
0 errors that should have been generated, but weren't
0 wrong-error failures
byte-compiler-tests.el: 104 of 104 tests successful (100%).
0 errors that should have been generated, but weren't
0 wrong-error failures
c-tests.el: 4 of 4 tests successful (100%).
0 errors that should have been generated, but weren't
0 wrong-error failures
case-tests.el: 1148 of 1148 tests successful (100%).
0 errors that should have been generated, but weren't
0 wrong-error failures
ccl-tests.el: 4570 of 4570 tests successful (100%).
0 errors that should have been generated, but weren't
0 wrong-error failures
database-tests.el: No tests run.
0 errors that should have been generated, but weren't
0 wrong-error failures
extent-tests.el: 194 of 194 tests successful (100%).
0 errors that should have been generated, but weren't
0 wrong-error failures
hash-table-tests.el: 9866 of 9866 tests successful (100%).
0 errors that should have been generated, but weren't
0 wrong-error failures
Fatal error: assertion failed, file
c:\Hacking\cvs.xemacs.org\XEmacs\xemacs-21.5-clean\src\alloc.c, line 3382, ABORT()
Fatal error.
byte-compile-top-level((progn (Print-Failure (if nil "%S ==> error: %S; failing
case = %S" "%S ==> error: %S") (quote (let* ((x (a)) (y (remassoc 6
x))) (and (eq x y) (equal y (a))))) error-info nil) (incf other-failures)) t t)
byte-compile-top-level-body(((Print-Failure (if nil "%S ==> error: %S; failing
case = %S" "%S ==> error: %S") (quote (let* ((x (a)) (y (remassoc 6
x))) (and (eq x y) (equal y (a))))) error-info nil) (incf other-failures)) t)
byte-compile-condition-case((condition-case error-info (progn (assert (let* ((x (a)) (y
(remassoc 6 x))) (and (eq x y) (equal y (a))))) (Print-Pass "%S" (quote (let*
((x (a)) (y (remassoc 6 x))) (and (eq x y) (equal y (a)))))) (incf passes))
(cl-assertion-failed (Print-Failure (if nil "Assertion failed: %S; failing case =
%S" "Assertion failed: %S") (quote (let* ((x (a)) (y (remassoc 6 x))) (and
(eq x y) (equal y (a))))) nil) (incf assertion-failures)) (t (Print-Failure (if nil
"%S ==> error: %S; failing case = %S" "%S ==> error: %S")
(quote (let* ((x (a)) (y (remassoc 6 x))) (and (eq x y) (equal y (a))))) error-info nil)
(incf other-failures))))
byte-compile-form((condition-case error-info (progn (assert (let* ((x (a)) (y (remassoc
6 x))) (and (eq x y) (equal y (a))))) (Print-Pass "%S" (quote (let* ((x (a)) (y
(remassoc 6 x))) (and (eq x y) (equal y (a)))))) (incf passes)) (cl-assertion-failed
(Print-Failure (if nil "Assertion failed: %S; failing case = %S" "Assertion
failed: %S") (quote (let* ((x (a)) (y (remassoc 6 x))) (and (eq x y) (equal y (a)))))
nil) (incf assertion-failures)) (t (Print-Failure (if nil "%S ==> error: %S;
failing case = %S" "%S ==> error: %S") (quote (let* ((x (a)) (y
(remassoc 6 x))) (and (eq x y) (equal y (a))))) error-info nil) (incf other-failures)))
t)
<13 lines deleted by Adrian Aichner>
# bind (macro fun byte-compile-macro-environment byte-compile-function-environment
byte-compile-autoload-environment byte-compile-unresolved-functions
byte-compile-bound-variables byte-compile-free-references byte-compile-free-assignments
byte-compile-verbose byte-optimize byte-compile-emacs19-compatibility byte-compile-dynamic
byte-compile-dynamic-docstrings byte-compile-warnings byte-compile-file-domain)
#<compiled-function nil "...(123)" [byte-compile-emacs19-compatibility
byte-optimize byte-compile-verbose byte-compile-warnings form fun copy-alist nil t fboundp
macro lambda byte-compile-lambda defalias unused-vars
byte-compile-warn-about-unused-variables byte-compile-dynamic
byte-compile-dynamic-docstrings byte-compile-initial-macro-environment
byte-compile-default-warnings byte-compile-file-domain byte-compile-free-assignments
byte-compile-free-references byte-compile-bound-variables
byte-compile-unresolved-functions byte-compile-autoload-environment
byte-compile-function-environment byte-compile-macro-environment] 15>()
call-with-condition-handler(#<compiled-function (error-info) "...(4)"
[error-info byte-compile-report-error] 2> #<compiled-function nil
"...(123)" [byte-compile-emacs19-compatibility byte-optimize
byte-compile-verbose byte-compile-warnings form fun copy-alist nil t fboundp macro lambda
byte-compile-lambda defalias unused-vars byte-compile-warn-about-unused-variables
byte-compile-dynamic byte-compile-dynamic-docstrings
byte-compile-initial-macro-environment byte-compile-default-warnings
byte-compile-file-domain byte-compile-free-assignments byte-compile-free-references
byte-compile-bound-variables byte-compile-unresolved-functions
byte-compile-autoload-environment byte-compile-function-environment
byte-compile-macro-environment] 15>)
# bind (byte-compile-warnings-beginning byte-compile-point-max-prev
byte-compile-log-buffer form)
byte-compile((lambda nil (defvar passes) (defvar assertion-failures) (defvar
no-error-failures) (defvar wrong-error-failures) (defvar missing-message-failures) (defvar
other-failures) (defvar unexpected-test-suite-failure) (defvar trick-optimizer)
(eval-when-compile (condition-case nil (require (quote test-harness)) (file-error (push
"." load-path) (when (and (boundp (quote load-file-name)) (stringp
load-file-name)) (push (file-name-directory load-file-name) load-path)) (require (quote
test-harness))))) (Check-Error wrong-number-of-arguments (setq setq-test-foo))
(Check-Error wrong-number-of-arguments (setq setq-test-foo 1 setq-test-bar)) (Check-Error
wrong-number-of-arguments (setq-default setq-test-foo)) (Check-Error
wrong-number-of-arguments (setq-default setq-test-foo 1 setq-test-bar)) (Assert (eq (setq)
nil)) (Assert (eq (setq-default) nil)) (Assert (eq (setq setq-test-foo 42) 42)) (Assert
(eq (setq-default setq-test-foo 42) 42)) (Assert (eq (setq setq-test-foo 42 set!
q-test-bar 99) 99)) (Assert (eq (setq-default setq-test-foo 42 setq-test-bar 99) 99))
(macrolet ((test-setq (expected-result &rest body) (backquote (progn (defun
test-setq-fun nil (\,@ body)) (Assert (eq (\, expected-result) (test-setq-fun)))
(byte-compile (quote test-setq-fun)) (Assert (eq (\, expected-result)
(test-setq-fun))))))) (test-setq nil (setq)) (test-setq nil (setq-default)) (test-setq 42
(setq test-setq-var 42)) (test-setq 42 (setq-default test-setq-var 42)) (test-setq 42
(setq test-setq-bar 99 test-setq-var 42)) (test-setq 42 (setq-default test-setq-bar 99
test-setq-var 42))) (let ((my-vector [1 2 3 4]) (my-bit-vector (bit-vector 1 0 1 0))
(my-string "1234") (my-list (quote (1 2 3 4)))) (dolist (sequence (list
my-vector my-bit-vector my-string my-list)) (Assert (sequencep sequence)) (Assert (eq 4
(length sequence)))) (dolist (array (list my-vector my-bit-vector my-string)) (Assert
(arrayp array))) (Assert (eq (elt my-vector 0) 1)) (Assert (eq (elt my-bit-vector!
0) 1)) (Assert (eq (elt my-string 0) ?1)) (Assert (eq (elt my!
-list 0)
1)) (fillarray my-vector 5) (fillarray my-bit-vector 1) (fillarray my-string ?5) (dolist
(array (list my-vector my-bit-vector)) (Assert (eq 4 (length array)))) (Assert (eq (elt
my-vector 0) 5)) (Assert (eq (elt my-bit-vector 0) 1)) (Assert (eq (elt my-string 0) ?5))
(Assert (eq (elt my-vector 3) 5)) (Assert (eq (elt my-bit-vector 3) 1)) (Assert (eq (elt
my-string 3) ?5)) (fillarray my-bit-vector 0) (Assert (eq 4 (length my-bit-vector)))
(Assert (eq (elt my-bit-vector 2) 0))) (defun make-circular-list (length) "Create
evil emacs-crashing circular list of length LENGTH" (let ((circular-list (make-list
length (quote you-are-trapped-in-a-twisty-maze-of-cons-cells-all-alike)))) (setcdr (last
circular-list) circular-list) circular-list)) (defun make-list-012 nil (list 0 1 2))
(Check-Error wrong-type-argument (nconc (quote foo) nil)) (dolist (length (quote (1 2 3 4
1000 2000))) (Check-Error circular-list (nconc (make-circular-list length) (quote foo)))
(Check-Error circular-list (!
nconc (quote (1 . 2)) (make-circular-list length) (quote foo))) (Check-Error
circular-list (nconc (quote (1 . 2)) (quote (3 . 4)) (make-circular-list length) (quote
foo)))) (Assert (eq (nconc) nil)) (Assert (eq (nconc nil) nil)) (Assert (eq (nconc nil
nil) nil)) (Assert (eq (nconc nil nil nil) nil)) (let ((x (make-list-012))) (Assert (eq
(nconc nil x) x))) (let ((x (make-list-012))) (Assert (eq (nconc x nil) x))) (let ((x
(make-list-012))) (Assert (eq (nconc nil x nil) x))) (let ((x (make-list-012))) (Assert
(eq (nconc x) x))) (let ((x (make-list-012))) (Assert (eq (nconc x (make-circular-list 3))
x))) (Assert (equal (nconc (quote (1 . 2)) (quote (3 . 4)) (quote (5 . 6))) (quote (1 3 5
. 6)))) (let ((y (nconc (make-list-012) nil (list 3 4 5) nil))) (Assert (eq (length y) 6))
(Assert (eq (nth 3 y) 3))) (Check-Error wrong-type-argument (last (quote foo)))
(Check-Error wrong-number-of-arguments (last)) (Check-Error wrong-number-of-arguments
(last (quote (1 2)) 1 1)) (Check-Err!
or circular-list (last (make-circular-list 1))) (Check-Error c!
ircular-
list (last (make-circular-list 2000))) (let ((x (list 0 1 2 3))) (Assert (eq (last nil)
nil)) (Assert (eq (last x 0) nil)) (Assert (eq (last x) (cdddr x))) (Assert (eq (last x 1)
(cdddr x))) (Assert (eq (last x 2) (cddr x))) (Assert (eq (last x 3) (cdr x))) (Assert (eq
(last x 4) x)) (Assert (eq (last x 9) x)) (Assert (eq (last (quote (1 . 2)) 0) 2)))
(Check-Error wrong-type-argument (butlast (quote foo))) (Check-Error wrong-type-argument
(nbutlast (quote foo))) (Check-Error wrong-number-of-arguments (butlast)) (Check-Error
wrong-number-of-arguments (nbutlast)) (Check-Error wrong-number-of-arguments (butlast
(quote (1 2)) 1 1)) (Check-Error wrong-number-of-arguments (nbutlast (quote (1 2)) 1 1))
(Check-Error circular-list (butlast (make-circular-list 1))) ...))
# (condition-case ... . ((error (princ (format "Unexpected error %S while
byte-compiling code\n" error-info)))))
(condition-case error-info (setq code (letf (((symbol-function (quote
byte-compile-warn)) (quote ignore))) (byte-compile (test-harness-read-from-buffer
inbuffer)))) (error (princ (format "Unexpected error %S while byte-compiling
code\n" error-info))))
(let (code (test-harness-test-compiled t)) (condition-case error-info (setq code (letf
(((symbol-function (quote byte-compile-warn)) (quote ignore))) (byte-compile
(test-harness-read-from-buffer inbuffer)))) (error (princ (format "Unexpected error
%S while byte-compiling code\n" error-info)))) (condition-case error-info (if code
(funcall code)) (error (princ (format "Unexpected error %S while executing
byte-compiled code\n" error-info)) (message "Unexpected error %S while executing
byte-compiled code." error-info) (message "Test suite execution aborted."
error-info))))
(with-output-to-temp-buffer "*Test-Log*" (princ (format "Testing
%s...\n\n" filename)) (defconst test-harness-failure-tag "FAIL") (defconst
test-harness-success-tag "PASS") (defmacro Known-Bug-Expect-Failure (&rest
body) (backquote (let ((test-harness-failure-tag "KNOWN BUG")
(test-harness-success-tag "PASS (FAILURE EXPECTED)")) (\,@ body)))) (defmacro
Implementation-Incomplete-Expect-Failure (&rest body) (backquote (let
((test-harness-failure-tag "IMPLEMENTATION INCOMPLETE")
(test-harness-success-tag "PASS (FAILURE EXPECTED)")) (\,@ body)))) (defun
Print-Failure (fmt &rest args) (setq fmt (format "%s: %s"
test-harness-failure-tag fmt)) (if (noninteractive) (apply (function message) fmt args))
(princ (concat (apply (function format) fmt args) "\n"))) (defun Print-Pass (fmt
&rest args) (setq fmt (format "%s: %s" test-harness-success-tag fmt)) (and
test-harness-verbose (princ (concat (apply (function format) fmt args) "\n"))))
(defun Print-Skip (test reason &optional fmt &re!
st args) (setq fmt (concat "SKIP: %S BECAUSE %S" fmt)) (princ (concat (apply
(function format) fmt test reason args) "\n"))) (defmacro Skip-Test-Unless
(condition reason description &rest body) "Unless CONDITION is satisfied, skip
test BODY.\nREASON is a description of the condition failure, and must be unique (it\nis
used as a hash key). DESCRIPTION describes the tests that were skipped.\nBODY is a
sequence of expressions and may contain several tests." (backquote (if (not (\,
condition)) (let ((count (gethash (\, reason) skipped-test-reasons))) (puthash (\, reason)
(if (null count) 1 (1+ count)) skipped-test-reasons) (Print-Skip (\, description) (\,
reason))) (\,@ body)))) (defmacro Assert (assertion &optional failing-case) (backquote
(condition-case error-info (progn (assert (\, assertion)) (Print-Pass "%S"
(quote (\, assertion))) (incf passes)) (cl-assertion-failed (Print-Failure (if (\,
failing-case) "Assertion failed: %S; failing case = %S" "Assertion failed:
%S") (q!
uote (\, assertion)) (\, failing-case)) (incf assertion-failur!
es)) (t
(Print-Failure (if (\, failing-case) "%S ==> error: %S; failing case = %S"
"%S ==> error: %S") (quote (\, assertion)) error-info (\, failing-case))
(incf other-failures))))) (defmacro Check-Error (expected-error &rest body) (let
((quoted-body (if (= 1 (length body)) (backquote (quote (\, (car body)))) (backquote
(quote (progn (\,@ body))))))) (backquote (condition-case error-info (progn (setq
trick-optimizer (progn (\,@ body))) (Print-Failure "%S executed successfully, but
expected error %S" (\, quoted-body) (quote (\, expected-error))) (incf
no-error-failures)) ((\, expected-error) (Print-Pass "%S ==> error %S, as
expected" (\, quoted-body) (quote (\, expected-error))) (incf passes)) (error
(Print-Failure "%S ==> expected error %S, got error %S instead" (\,
quoted-body) (quote (\, expected-error)) error-info) (incf wrong-error-failures))))))
(defmacro Check-Error-Message (expected-error expected-error-regexp &rest body) (let
((quoted-body (if (= 1 (length body)) (backquote!
(quote (\, (car body)))) (backquote (quote (progn (\,@ body))))))) (backquote
(condition-case error-info (progn (setq trick-optimizer (progn (\,@ body))) (Print-Failure
"%S executed successfully, but expected error %S" (\, quoted-body) (quote (\,
expected-error))) (incf no-error-failures)) ((\, expected-error) (let ((error-message
(second error-info))) (if (string-match (\, expected-error-regexp) error-message) (progn
(Print-Pass "%S ==> error %S %S, as expected" (\, quoted-body) error-message
(quote (\, expected-error))) (incf passes)) (Print-Failure "%S ==> got error %S as
expected, but error message %S did not match regexp %S" (\, quoted-body) (quote (\,
expected-error)) error-message (\, expected-error-regexp)) (incf wrong-error-failures))))
(error (Print-Failure "%S ==> expected error %S, got error %S instead" (\,
quoted-body) (quote (\, expected-error)) error-info) (incf wrong-error-failures))))))
(defmacro Check-Message (expected-message-regexp &rest body) (Skip-Tes!
t-Unless (fboundp (quote defadvice)) "can't defadvice" expecte!
d-messag
e-regexp (let ((quoted-body (if (= 1 (length body)) (backquote (quote (\, (car body))))
(backquote (quote (progn (\,@ body))))))) (backquote (let ((messages ""))
(defadvice message (around collect activate) (defvar messages) (let ((msg-string (apply
(quote format) (ad-get-args 0)))) (setq messages (concat messages msg-string))
msg-string)) (condition-case error-info (progn (setq trick-optimizer (progn (\,@ body)))
(if (string-match (\, expected-message-regexp) messages) (progn (Print-Pass "%S
==> value %S, message %S, matching %S, as expected" (\, quoted-body)
trick-optimizer messages (quote (\, expected-message-regexp))) (incf passes))
(Print-Failure "%S ==> value %S, message %S, NOT matching expected %S" (\,
quoted-body) trick-optimizer messages (quote (\, expected-message-regexp))) (incf
missing-message-failures))) (error (Print-Failure "%S ==> unexpected error
%S" (\, quoted-body) error-info) (incf other-failures))) (ad-unadvise (quote
message))))))) (defmacro Ignore-Ebo!
la (&rest body) (backquote (let ((debug-issue-ebola-notices -42)) (\,@ body))))
(defun Int-to-Marker (pos) (save-excursion (set-buffer standard-output) (save-excursion
(goto-char pos) (point-marker)))) (princ "Testing Interpreted Lisp\n\n")
(condition-case error-info (funcall (test-harness-read-from-buffer inbuffer)) (error (setq
unexpected-test-suite-failure t) (princ (format "Unexpected error %S while executing
interpreted code\n" error-info)) (message "Unexpected error %S while executing
interpreted code." error-info) (message "Test suite execution aborted."
error-info))) (princ "\nTesting Compiled Lisp\n\n") (let (code
(test-harness-test-compiled t)) (condition-case error-info (setq code (letf
(((symbol-function (quote byte-compile-warn)) (quote ignore))) (byte-compile
(test-harness-read-from-buffer inbuffer)))) (error (princ (format "Unexpected error
%S while byte-compiling code\n" error-info)))) (condition-case error-info (if code
(funcall code)) (error (princ (format!
"Unexpected error %S while executing byte-compiled code\n" er!
ror-info
)) (message "Unexpected error %S while executing byte-compiled code."
error-info) (message "Test suite execution aborted." error-info)))) (princ
(format "\nSUMMARY for %s:\n" filename)) (princ (format " %5d
passes\n" passes)) (princ (format " %5d assertion failures\n"
assertion-failures)) (princ (format " %5d errors that should have been generated, but
weren't\n" no-error-failures)) (princ (format " %5d wrong-error
failures\n" wrong-error-failures)) (princ (format " %5d missing-message
failures\n" missing-message-failures)) (princ (format " %5d other
failures\n" other-failures)) (let* ((total (+ passes assertion-failures
no-error-failures wrong-error-failures missing-message-failures other-failures)) (basename
(file-name-nondirectory filename)) (summary-msg (if (> total 0) (format
test-harness-file-summary-template (concat basename ":") passes total (/ (* 100
passes) total)) (format test-harness-null-summary-template (concat basename
":")))) (reasons "")) (maphash (lambda (k!
ey value) (setq reasons (concat reasons (format "\n %d tests skipped because
%s." value key)))) skipped-test-reasons) (when (> (length reasons) 1) (setq
summary-msg (concat summary-msg reasons "\n Probably XEmacs cannot find your
installed packages. Set EMACSPACKAGEPATH\n to the package hierarchy root or configure
with --package-path to enable\n the skipped tests."))) (setq
test-harness-file-results-alist (cons (list filename passes total)
test-harness-file-results-alist)) (message "%s" summary-msg)) (when
unexpected-test-suite-failure (message "Test suite execution failed
unexpectedly.")) (fmakunbound (quote Assert)) (fmakunbound (quote Check-Error))
(fmakunbound (quote Check-Message)) (fmakunbound (quote Check-Error-Message)) (fmakunbound
(quote Ignore-Ebola)) (fmakunbound (quote Int-to-Marker)) (and noninteractive (message
"%s" (buffer-substring-no-properties nil nil "*Test-Log*"))))
# bind (pass-stream debug-on-error unexpected-test-suite-failure trick-optimizer
skipped-test-reasons other-failures missing-message-failures wrong-error-failures
no-error-failures assertion-failures passes)
(let ((passes 0) (assertion-failures 0) (no-error-failures 0) (wrong-error-failures 0)
(missing-message-failures 0) (other-failures 0) (skipped-test-reasons (make-hash-table
:test (quote equal))) (trick-optimizer nil) (unexpected-test-suite-failure nil)
(debug-on-error t) (pass-stream nil)) (with-output-to-temp-buffer "*Test-Log*"
(princ (format "Testing %s...\n\n" filename)) (defconst test-harness-failure-tag
"FAIL") (defconst test-harness-success-tag "PASS") (defmacro
Known-Bug-Expect-Failure (&rest body) (backquote (let ((test-harness-failure-tag
"KNOWN BUG") (test-harness-success-tag "PASS (FAILURE EXPECTED)"))
(\,@ body)))) (defmacro Implementation-Incomplete-Expect-Failure (&rest body)
(backquote (let ((test-harness-failure-tag "IMPLEMENTATION INCOMPLETE")
(test-harness-success-tag "PASS (FAILURE EXPECTED)")) (\,@ body)))) (defun
Print-Failure (fmt &rest args) (setq fmt (format "%s: %s"
test-harness-failure-tag fmt)) (if (noninteractive) (apply (function message) fmt!
args)) (princ (concat (apply (function format) fmt args) "\n"))) (defun
Print-Pass (fmt &rest args) (setq fmt (format "%s: %s"
test-harness-success-tag fmt)) (and test-harness-verbose (princ (concat (apply (function
format) fmt args) "\n")))) (defun Print-Skip (test reason &optional fmt
&rest args) (setq fmt (concat "SKIP: %S BECAUSE %S" fmt)) (princ (concat
(apply (function format) fmt test reason args) "\n"))) (defmacro
Skip-Test-Unless (condition reason description &rest body) "Unless CONDITION is
satisfied, skip test BODY.\nREASON is a description of the condition failure, and must be
unique (it\nis used as a hash key). DESCRIPTION describes the tests that were
skipped.\nBODY is a sequence of expressions and may contain several tests."
(backquote (if (not (\, condition)) (let ((count (gethash (\, reason)
skipped-test-reasons))) (puthash (\, reason) (if (null count) 1 (1+ count))
skipped-test-reasons) (Print-Skip (\, description) (\, reason))) (\,@ body)))) (defmacro
A!
ssert (assertion &optional failing-case) (backquote (condition!
-case er
ror-info (progn (assert (\, assertion)) (Print-Pass "%S" (quote (\, assertion)))
(incf passes)) (cl-assertion-failed (Print-Failure (if (\, failing-case) "Assertion
failed: %S; failing case = %S" "Assertion failed: %S") (quote (\,
assertion)) (\, failing-case)) (incf assertion-failures)) (t (Print-Failure (if (\,
failing-case) "%S ==> error: %S; failing case = %S" "%S ==> error:
%S") (quote (\, assertion)) error-info (\, failing-case)) (incf other-failures)))))
(defmacro Check-Error (expected-error &rest body) (let ((quoted-body (if (= 1 (length
body)) (backquote (quote (\, (car body)))) (backquote (quote (progn (\,@ body)))))))
(backquote (condition-case error-info (progn (setq trick-optimizer (progn (\,@ body)))
(Print-Failure "%S executed successfully, but expected error %S" (\,
quoted-body) (quote (\, expected-error))) (incf no-error-failures)) ((\, expected-error)
(Print-Pass "%S ==> error %S, as expected" (\, quoted-body) (quote (\,
expected-error))) (incf passes)) (e!
rror (Print-Failure "%S ==> expected error %S, got error %S instead" (\,
quoted-body) (quote (\, expected-error)) error-info) (incf wrong-error-failures))))))
(defmacro Check-Error-Message (expected-error expected-error-regexp &rest body) (let
((quoted-body (if (= 1 (length body)) (backquote (quote (\, (car body)))) (backquote
(quote (progn (\,@ body))))))) (backquote (condition-case error-info (progn (setq
trick-optimizer (progn (\,@ body))) (Print-Failure "%S executed successfully, but
expected error %S" (\, quoted-body) (quote (\, expected-error))) (incf
no-error-failures)) ((\, expected-error) (let ((error-message (second error-info))) (if
(string-match (\, expected-error-regexp) error-message) (progn (Print-Pass "%S ==>
error %S %S, as expected" (\, quoted-body) error-message (quote (\, expected-error)))
(incf passes)) (Print-Failure "%S ==> got error %S as expected, but error message
%S did not match regexp %S" (\, quoted-body) (quote (\, expected-error))
error-messag!
e (\, expected-error-regexp)) (incf wrong-error-failures)))) (!
error (P
rint-Failure "%S ==> expected error %S, got error %S instead" (\,
quoted-body) (quote (\, expected-error)) error-info) (incf wrong-error-failures))))))
(defmacro Check-Message (expected-message-regexp &rest body) (Skip-Test-Unless
(fboundp (quote defadvice)) "can't defadvice" expected-message-regexp (let
((quoted-body (if (= 1 (length body)) (backquote (quote (\, (car body)))) (backquote
(quote (progn (\,@ body))))))) (backquote (let ((messages "")) (defadvice
message (around collect activate) (defvar messages) (let ((msg-string (apply (quote
format) (ad-get-args 0)))) (setq messages (concat messages msg-string)) msg-string))
(condition-case error-info (progn (setq trick-optimizer (progn (\,@ body))) (if
(string-match (\, expected-message-regexp) messages) (progn (Print-Pass "%S ==>
value %S, message %S, matching %S, as expected" (\, quoted-body) trick-optimizer
messages (quote (\, expected-message-regexp))) (incf passes)) (Print-Failure "%S
==> value %S, message %S, NOT mat!
ching expected %S" (\, quoted-body) trick-optimizer messages (quote (\,
expected-message-regexp))) (incf missing-message-failures))) (error (Print-Failure
"%S ==> unexpected error %S" (\, quoted-body) error-info) (incf
other-failures))) (ad-unadvise (quote message))))))) (defmacro Ignore-Ebola (&rest
body) (backquote (let ((debug-issue-ebola-notices -42)) (\,@ body)))) (defun Int-to-Marker
(pos) (save-excursion (set-buffer standard-output) (save-excursion (goto-char pos)
(point-marker)))) (princ "Testing Interpreted Lisp\n\n") (condition-case
error-info (funcall (test-harness-read-from-buffer inbuffer)) (error (setq
unexpected-test-suite-failure t) (princ (format "Unexpected error %S while executing
interpreted code\n" error-info)) (message "Unexpected error %S while executing
interpreted code." error-info) (message "Test suite execution aborted."
error-info))) (princ "\nTesting Compiled Lisp\n\n") (let (code
(test-harness-test-compiled t)) (condition-case error-info (setq !
code (letf (((symbol-function (quote byte-compile-warn)) (quot!
e ignore
))) (byte-compile (test-harness-read-from-buffer inbuffer)))) (error (princ (format
"Unexpected error %S while byte-compiling code\n" error-info)))) (condition-case
error-info (if code (funcall code)) (error (princ (format "Unexpected error %S while
executing byte-compiled code\n" error-info)) (message "Unexpected error %S while
executing byte-compiled code." error-info) (message "Test suite execution
aborted." error-info)))) (princ (format "\nSUMMARY for %s:\n" filename))
(princ (format " %5d passes\n" passes)) (princ (format " %5d assertion
failures\n" assertion-failures)) (princ (format " %5d errors that should have
been generated, but weren't\n" no-error-failures)) (princ (format " %5d
wrong-error failures\n" wrong-error-failures)) (princ (format " %5d
missing-message failures\n" missing-message-failures)) (princ (format " %5d
other failures\n" other-failures)) (let* ((total (+ passes assertion-failures
no-error-failures wrong-error-failures missing-message-failures othe!
r-failures)) (basename (file-name-nondirectory filename)) (summary-msg (if (> total 0)
(format test-harness-file-summary-template (concat basename ":") passes total (/
(* 100 passes) total)) (format test-harness-null-summary-template (concat basename
":")))) (reasons "")) (maphash (lambda (key value) (setq reasons
(concat reasons (format "\n %d tests skipped because %s." value key))))
skipped-test-reasons) (when (> (length reasons) 1) (setq summary-msg (concat
summary-msg reasons "\n Probably XEmacs cannot find your installed packages. Set
EMACSPACKAGEPATH\n to the package hierarchy root or configure with --package-path to
enable\n the skipped tests."))) (setq test-harness-file-results-alist (cons (list
filename passes total) test-harness-file-results-alist)) (message "%s"
summary-msg)) (when unexpected-test-suite-failure (message "Test suite execution
failed unexpectedly.")) (fmakunbound (quote Assert)) (fmakunbound (quote
Check-Error)) (fmakunbound (quote Che!
ck-Message)) (fmakunbound (quote Check-Error-Message)) (fmakun!
bound (q
uote Ignore-Ebola)) (fmakunbound (quote Int-to-Marker)) (and noninteractive (message
"%s" (buffer-substring-no-properties nil nil "*Test-Log*")))))
# (condition-case ... . ((error (princ ">>Error occurred processing ")
(princ file) (princ ": ") (display-error error-info nil) (terpri) nil)))
(condition-case error-info (progn (test-emacs-test-file file) t) (error (princ
">>Error occurred processing ") (princ file) (princ ": ")
(display-error error-info nil) (terpri) nil))
(or (batch-test-emacs-1 file-in-dir) (setq error t))
(if (and (string-match emacs-lisp-file-regexp file-in-dir) (not (or
(auto-save-file-name-p file-in-dir) (backup-file-name-p file-in-dir) (equal
(file-name-nondirectory file-in-dir) "test-harness.el")))) (or
(batch-test-emacs-1 file-in-dir) (setq error t)))
(when (and (string-match emacs-lisp-file-regexp file-in-dir) (not (or
(auto-save-file-name-p file-in-dir) (backup-file-name-p file-in-dir) (equal
(file-name-nondirectory file-in-dir) "test-harness.el")))) (or
(batch-test-emacs-1 file-in-dir) (setq error t)))
(while --dolist-temp--92103 (setq file-in-dir (car --dolist-temp--92103)) (when (and
(string-match emacs-lisp-file-regexp file-in-dir) (not (or (auto-save-file-name-p
file-in-dir) (backup-file-name-p file-in-dir) (equal (file-name-nondirectory file-in-dir)
"test-harness.el")))) (or (batch-test-emacs-1 file-in-dir) (setq error t)))
(setq --dolist-temp--92103 (cdr --dolist-temp--92103)))
(let ((--dolist-temp--92103 (directory-files file t)) file-in-dir) (while
--dolist-temp--92103 (setq file-in-dir (car --dolist-temp--92103)) (when (and
(string-match emacs-lisp-file-regexp file-in-dir) (not (or (auto-save-file-name-p
file-in-dir) (backup-file-name-p file-in-dir) (equal (file-name-nondirectory file-in-dir)
"test-harness.el")))) (or (batch-test-emacs-1 file-in-dir) (setq error t)))
(setq --dolist-temp--92103 (cdr --dolist-temp--92103))) nil)
(catch (quote --cl-block-nil--) (let ((--dolist-temp--92103 (directory-files file t))
file-in-dir) (while --dolist-temp--92103 (setq file-in-dir (car --dolist-temp--92103))
(when (and (string-match emacs-lisp-file-regexp file-in-dir) (not (or
(auto-save-file-name-p file-in-dir) (backup-file-name-p file-in-dir) (equal
(file-name-nondirectory file-in-dir) "test-harness.el")))) (or
(batch-test-emacs-1 file-in-dir) (setq error t))) (setq --dolist-temp--92103 (cdr
--dolist-temp--92103))) nil))
(cl-block-wrapper (catch (quote --cl-block-nil--) (let ((--dolist-temp--92103
(directory-files file t)) file-in-dir) (while --dolist-temp--92103 (setq file-in-dir (car
--dolist-temp--92103)) (when (and (string-match emacs-lisp-file-regexp file-in-dir) (not
(or (auto-save-file-name-p file-in-dir) (backup-file-name-p file-in-dir) (equal
(file-name-nondirectory file-in-dir) "test-harness.el")))) (or
(batch-test-emacs-1 file-in-dir) (setq error t))) (setq --dolist-temp--92103 (cdr
--dolist-temp--92103))) nil)))
(block nil (let ((--dolist-temp--92103 (directory-files file t)) file-in-dir) (while
--dolist-temp--92103 (setq file-in-dir (car --dolist-temp--92103)) (when (and
(string-match emacs-lisp-file-regexp file-in-dir) (not (or (auto-save-file-name-p
file-in-dir) (backup-file-name-p file-in-dir) (equal (file-name-nondirectory file-in-dir)
"test-harness.el")))) (or (batch-test-emacs-1 file-in-dir) (setq error t)))
(setq --dolist-temp--92103 (cdr --dolist-temp--92103))) nil))
(dolist (file-in-dir (directory-files file t)) (when (and (string-match
emacs-lisp-file-regexp file-in-dir) (not (or (auto-save-file-name-p file-in-dir)
(backup-file-name-p file-in-dir) (equal (file-name-nondirectory file-in-dir)
"test-harness.el")))) (or (batch-test-emacs-1 file-in-dir) (setq error t))))
(if (file-directory-p file) (dolist (file-in-dir (directory-files file t)) (when (and
(string-match emacs-lisp-file-regexp file-in-dir) (not (or (auto-save-file-name-p
file-in-dir) (backup-file-name-p file-in-dir) (equal (file-name-nondirectory file-in-dir)
"test-harness.el")))) (or (batch-test-emacs-1 file-in-dir) (setq error t)))) (or
(batch-test-emacs-1 file) (setq error t)))
(while --dolist-temp--92102 (setq file (car --dolist-temp--92102)) (if (file-directory-p
file) (dolist (file-in-dir (directory-files file t)) (when (and (string-match
emacs-lisp-file-regexp file-in-dir) (not (or (auto-save-file-name-p file-in-dir)
(backup-file-name-p file-in-dir) (equal (file-name-nondirectory file-in-dir)
"test-harness.el")))) (or (batch-test-emacs-1 file-in-dir) (setq error t)))) (or
(batch-test-emacs-1 file) (setq error t))) (setq --dolist-temp--92102 (cdr
--dolist-temp--92102)))
(let ((--dolist-temp--92102 command-line-args-left) file) (while --dolist-temp--92102
(setq file (car --dolist-temp--92102)) (if (file-directory-p file) (dolist (file-in-dir
(directory-files file t)) (when (and (string-match emacs-lisp-file-regexp file-in-dir)
(not (or (auto-save-file-name-p file-in-dir) (backup-file-name-p file-in-dir) (equal
(file-name-nondirectory file-in-dir) "test-harness.el")))) (or
(batch-test-emacs-1 file-in-dir) (setq error t)))) (or (batch-test-emacs-1 file) (setq
error t))) (setq --dolist-temp--92102 (cdr --dolist-temp--92102))) nil)
(catch (quote --cl-block-nil--) (let ((--dolist-temp--92102 command-line-args-left)
file) (while --dolist-temp--92102 (setq file (car --dolist-temp--92102)) (if
(file-directory-p file) (dolist (file-in-dir (directory-files file t)) (when (and
(string-match emacs-lisp-file-regexp file-in-dir) (not (or (auto-save-file-name-p
file-in-dir) (backup-file-name-p file-in-dir) (equal (file-name-nondirectory file-in-dir)
"test-harness.el")))) (or (batch-test-emacs-1 file-in-dir) (setq error t)))) (or
(batch-test-emacs-1 file) (setq error t))) (setq --dolist-temp--92102 (cdr
--dolist-temp--92102))) nil))
(cl-block-wrapper (catch (quote --cl-block-nil--) (let ((--dolist-temp--92102
command-line-args-left) file) (while --dolist-temp--92102 (setq file (car
--dolist-temp--92102)) (if (file-directory-p file) (dolist (file-in-dir (directory-files
file t)) (when (and (string-match emacs-lisp-file-regexp file-in-dir) (not (or
(auto-save-file-name-p file-in-dir) (backup-file-name-p file-in-dir) (equal
(file-name-nondirectory file-in-dir) "test-harness.el")))) (or
(batch-test-emacs-1 file-in-dir) (setq error t)))) (or (batch-test-emacs-1 file) (setq
error t))) (setq --dolist-temp--92102 (cdr --dolist-temp--92102))) nil)))
(block nil (let ((--dolist-temp--92102 command-line-args-left) file) (while
--dolist-temp--92102 (setq file (car --dolist-temp--92102)) (if (file-directory-p file)
(dolist (file-in-dir (directory-files file t)) (when (and (string-match
emacs-lisp-file-regexp file-in-dir) (not (or (auto-save-file-name-p file-in-dir)
(backup-file-name-p file-in-dir) (equal (file-name-nondirectory file-in-dir)
"test-harness.el")))) (or (batch-test-emacs-1 file-in-dir) (setq error t)))) (or
(batch-test-emacs-1 file) (setq error t))) (setq --dolist-temp--92102 (cdr
--dolist-temp--92102))) nil))
(dolist (file command-line-args-left) (if (file-directory-p file) (dolist (file-in-dir
(directory-files file t)) (when (and (string-match emacs-lisp-file-regexp file-in-dir)
(not (or (auto-save-file-name-p file-in-dir) (backup-file-name-p file-in-dir) (equal
(file-name-nondirectory file-in-dir) "test-harness.el")))) (or
(batch-test-emacs-1 file-in-dir) (setq error t)))) (or (batch-test-emacs-1 file) (setq
error t))))
# bind (error)
(let ((error nil)) (dolist (file command-line-args-left) (if (file-directory-p file)
(dolist (file-in-dir (directory-files file t)) (when (and (string-match
emacs-lisp-file-regexp file-in-dir) (not (or (auto-save-file-name-p file-in-dir)
(backup-file-name-p file-in-dir) (equal (file-name-nondirectory file-in-dir)
"test-harness.el")))) (or (batch-test-emacs-1 file-in-dir) (setq error t)))) (or
(batch-test-emacs-1 file) (setq error t)))) (let ((namelen 0) (succlen 0) (testlen 0)
(results test-harness-file-results-alist)) (flet ((print-width (i) (let ((x 10) (y 1))
(while (>= i x) (setq x (* 10 x) y (1+ y))) y))) (while results (let* ((head (car
results)) (nn (length (file-name-nondirectory (first head)))) (ss (print-width (second
head))) (tt (print-width (third head)))) (when (> nn namelen) (setq namelen nn)) (when
(> ss succlen) (setq succlen ss)) (when (> tt testlen) (setq testlen tt))) (setq
results (cdr results)))) (let ((results (reverse test-harness-file-results-alist)!
)) (while results (let* ((head (car results)) (basename (file-name-nondirectory (first
head))) (nsucc (second head)) (ntest (third head))) (if (> ntest 0) (message
test-harness-file-summary-template (concat basename ":") nsucc ntest (/ (* 100
nsucc) ntest)) (message test-harness-null-summary-template (concat basename
":"))) (setq results (cdr results)))))) (message "\nDone") (kill-emacs
(if error 1 0)))
# bind (error-data)
# (condition-case ... . error)
NMAKE: fatal error U1077:
'"c:\Hacking\cvs.xemacs.org\XEmacs\xemacs-21.5-clean\lib-src\i"' :
return code '0xc0000005'
Compilation exited abnormally with code 2 at Sat Mar 12 11:08:45
--
Adrian Aichner
mailto:adrian@xemacs.org
http://www.xemacs.org/