21.5 screen resize issue
16 years, 10 months
Ron Isaacson
Hi all --
This is a bit of a weird one... when using XEmacs 21.5 inside
screen(1), and using multiple frames, XEmacs sometimes goes bonkers
when I resize the terminal window.
I've got a set of steps to reproduce the problem, using:
- RedHat Linux (tried EL3 and FC5)
- XEmacs 21.5.27
- screen 4.00.02
- Any type of terminal (PuTTY, xterm, etc.)
Here are the steps:
1. Open an 80x24 terminal window, and start screen.
2. Inside screen, start xemacs, and use C-x 5 2 to create a new
frame. Type "Hello".
3. Resize the terminal to something larger than 80x24. You should
notice that XEmacs APPEARS to handle the resize correctly -- your
"Hello" is in the top-left corner, and the modeline moves to the
bottom and spans the full width of the terminal.
4. Now try typing. Does everything work normally?
When I do this, XEmacs seems to behave as if it's inside a terminal
that's only 2 characters wide x 3 characters tall, positioned in the
top-left corner of the real terminal. If I press M-<, what I actually
see is:
H$ <-- truncated "Hello"
-- <-- the modeline
M\ <-- truncated "Mark set" from M-<
Recovering from this is very tricky. It's not enough to put the
terminal back to its previous size; I need to actually delete the
frame (C-x 5 0), and sometimes still adjust the size of the terminal
for it to really recover.
Using 21.4, everything seems to work correctly. And with no frames,
there's no problem. Anybody know what might be going on here? Any
suggestions for how I might track this down?
Thanks!
--
Ron Isaacson
Morgan Stanley
ron.isaacson(a)morganstanley.com / (212) 276-1144
_______________________________________________
XEmacs-Beta mailing list
XEmacs-Beta(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-beta
Re: A couple of problems with new packages
16 years, 10 months
Stephen J. Turnbull
Vin Shelton writes:
> OK, but see my other posts on building packages with 21.4. When Mike
> checked in the new JDE, modifications to 21.4 became required in order
> to build all the packages.
I'm not following closely but I'm aware of the problem. I have been
following emacs-devel, and Emacs 22 is loaded with features that we
don't have (and I don't particularly want ;-). As those appear in
packages, we're going to have this kind of problem anyway, I'm afraid.
_______________________________________________
XEmacs-Beta mailing list
XEmacs-Beta(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-beta
Packages build failure with gmp-enabled XEmacs
16 years, 10 months
Vin Shelton
Greetings -
Mike, thank you for upgrading XEmacs's JDE package. With a suitable
21.5 executable, I can again build all the XEmacs packages. I have
observed a problem, however. If I try to build all the XEmacs
packages using an XEmacs which has builtin gmp support (i.e. one
configured --with-bignum=gmp), the "make bytecompile" step for the
semantic package will chew up memory until either I or the linux
kernel kills the XEmacs process. Here's the output from today's build
at work (which I killed by hand):
make[2]: Leaving directory
`/usr/local/build/xemacs-packages-2007-11-30/xemacs-packages/ede'
[ -d semantic ] && make -w -C semantic bytecompile
make[2]: Entering directory
`/usr/local/build/xemacs-packages-2007-11-30/xemacs-packages/semantic'
xemacs-21.5 -no-autoloads -vanilla -batch -eval '(setq
stack-trace-on-error t load-always-display-messages t
load-ignore-out-of-date-elc-files t load-show-full-path-in-messages
t)' -eval '(setq load-path (list lisp-directory))' -l
/usr/local/build/xemacs-packages-2007-11-30/package-compile.el --
cedet-common eieio xemacs-base xemacs-devel edit-utils speedbar
texinfo fsf-compat cc-mode edebug ede sgml -- -eval \("push
\"./wisent\" load-path"\) -eval \("push \"./bovine\" load-path"\) -l
semantic-alias -l semantic -l semantic-debug -l semantic-grammar -l
semantic-bovine -l wisent-comp -f batch-byte-compile auto-autoloads.el
Loading /usr/local/build/xemacs-packages-2007-11-30/package-compile.el...
Loading /usr/local/xemacs-21.5-2007-11-29/share/xemacs-21.5-b28/lisp/auto-autoloads.elc...
Requiring /usr/local/xemacs-21.5-2007-11-29/share/xemacs-21.5-b28/lisp/bytecomp.elc...
Requiring /usr/local/xemacs-21.5-2007-11-29/share/xemacs-21.5-b28/lisp/byte-optimize.elc...
Loading /usr/local/build/xemacs-packages-2007-11-30/xemacs-packages/sgml/auto-autoloads.el...
Loading /usr/local/build/xemacs-packages-2007-11-30/xemacs-packages/ede/auto-autoloads.elc...
Loading /usr/local/build/xemacs-packages-2007-11-30/xemacs-packages/edebug/auto-autoloads.elc...
Loading /usr/local/build/xemacs-packages-2007-11-30/xemacs-packages/cc-mode/auto-autoloads.elc...
Loading /usr/local/build/xemacs-packages-2007-11-30/xemacs-packages/fsf-compat/auto-autoloads.elc...
Loading /usr/local/build/xemacs-packages-2007-11-30/xemacs-packages/texinfo/auto-autoloads.elc...
Loading /usr/local/build/xemacs-packages-2007-11-30/xemacs-packages/speedbar/auto-autoloads.elc...
Loading /usr/local/build/xemacs-packages-2007-11-30/xemacs-packages/edit-utils/auto-autoloads.elc...
Loading /usr/local/build/xemacs-packages-2007-11-30/xemacs-packages/xemacs-devel/auto-autoloads.elc...
Loading /usr/local/build/xemacs-packages-2007-11-30/xemacs-packages/xemacs-base/auto-autoloads.elc...
Loading /usr/local/build/xemacs-packages-2007-11-30/xemacs-packages/eieio/auto-autoloads.elc...
Loading /usr/local/build/xemacs-packages-2007-11-30/xemacs-packages/cedet-common/auto-autoloads.elc...
Loading /usr/local/build/xemacs-packages-2007-11-30/xemacs-packages/semantic/semantic-alias.el...
Loading /usr/local/build/xemacs-packages-2007-11-30/xemacs-packages/semantic/semantic.el...
Requiring /usr/local/build/xemacs-packages-2007-11-30/xemacs-packages/semantic/working.el...
Requiring /usr/local/build/xemacs-packages-2007-11-30/xemacs-packages/xemacs-base/assoc.elc...
Requiring /usr/local/build/xemacs-packages-2007-11-30/xemacs-packages/semantic/semantic-tag.el...
Requiring /usr/local/build/xemacs-packages-2007-11-30/xemacs-packages/semantic/semantic-fw.el...
Requiring
/usr/local/build/xemacs-packages-2007-11-30/xemacs-packages/cedet-common/mode-local.elc...
Loading
/usr/local/build/xemacs-packages-2007-11-30/xemacs-packages/xemacs-base/advice.elc...
Requiring
/usr/local/build/xemacs-packages-2007-11-30/xemacs-packages/xemacs-devel/find-func.elc...
Loading /usr/local/build/xemacs-packages-2007-11-30/xemacs-packages/xemacs-base/regexp-opt.elc...
Requiring /usr/local/build/xemacs-packages-2007-11-30/xemacs-packages/semantic/semantic-lex.el...
Requiring /usr/local/build/xemacs-packages-2007-11-30/xemacs-packages/cedet-common/inversion.elc...
Requiring /usr/local/build/xemacs-packages-2007-11-30/xemacs-packages/xemacs-base/pp.elc...
Requiring /usr/local/build/xemacs-packages-2007-11-30/xemacs-packages/semantic/semantic-util.el...
Requiring /usr/local/build/xemacs-packages-2007-11-30/xemacs-packages/semantic/semanticdb.el...
Requiring
/usr/local/build/xemacs-packages-2007-11-30/xemacs-packages/eieio/eieio.elc...
Loading
/usr/local/xemacs-21.5-2007-11-29/share/xemacs-21.5-b28/lisp/cl-macs.elc...
Requiring
/usr/local/build/xemacs-packages-2007-11-30/xemacs-packages/eieio/eieio-base.elc...
Requiring /usr/local/build/xemacs-packages-2007-11-30/xemacs-packages/semantic/semantic-util-modes.el...
Requiring
/usr/local/build/xemacs-packages-2007-11-30/xemacs-packages/semantic/semantic-decorate.el...
Loading
/usr/local/xemacs-21.5-2007-11-29/share/xemacs-21.5-b28/lisp/cus-face.elc...
Loading /usr/local/build/xemacs-packages-2007-11-30/xemacs-packages/semantic/semantic-debug.el...
Loading /usr/local/build/xemacs-packages-2007-11-30/xemacs-packages/semantic/semantic-grammar.el...
Requiring /usr/local/build/xemacs-packages-2007-11-30/xemacs-packages/semantic/wisent/semantic-wisent.el...
Requiring /usr/local/build/xemacs-packages-2007-11-30/xemacs-packages/semantic/wisent/wisent.el...
Requiring /usr/local/build/xemacs-packages-2007-11-30/xemacs-packages/semantic/sformat.el...
Requiring /usr/local/xemacs-21.5-2007-11-29/share/xemacs-21.5-b28/lisp/font-lock.elc...
Requiring /usr/local/build/xemacs-packages-2007-11-30/xemacs-packages/semantic/senator.el...
Requiring /usr/local/build/xemacs-packages-2007-11-30/xemacs-packages/semantic/semantic-ctxt.el...
Requiring /usr/local/build/xemacs-packages-2007-11-30/xemacs-packages/semantic/semantic-imenu.el...
Requiring
/usr/local/build/xemacs-packages-2007-11-30/xemacs-packages/semantic/semantic-format.el...
Requiring
/usr/local/build/xemacs-packages-2007-11-30/xemacs-packages/cedet-common/ezimage.elc...
Requiring
/usr/local/build/xemacs-packages-2007-11-30/xemacs-packages/xemacs-base/imenu.elc...
Requiring /usr/local/build/xemacs-packages-2007-11-30/xemacs-packages/semantic/semanticdb-find.el...
Loading /usr/local/build/xemacs-packages-2007-11-30/xemacs-packages/xemacs-base/ring.elc...
Requiring /usr/local/build/xemacs-packages-2007-11-30/xemacs-packages/edit-utils/hippie-exp.elc...
Requiring /usr/local/build/xemacs-packages-2007-11-30/xemacs-packages/semantic/semantic-edit.el...
Requiring /usr/local/build/xemacs-packages-2007-11-30/xemacs-packages/semantic/semantic-find.el...
Requiring /usr/local/build/xemacs-packages-2007-11-30/xemacs-packages/semantic/semantic-idle.el...
Requiring /usr/local/build/xemacs-packages-2007-11-30/xemacs-packages/fsf-compat/timer.elc...
Requiring /usr/local/build/xemacs-packages-2007-11-30/xemacs-packages/semantic/semantic-grammar-wy.el...
Requiring /usr/local/build/xemacs-packages-2007-11-30/xemacs-packages/semantic/wisent/wisent-comp.el...make[2]:
*** [auto-autoloads.elc] Interrupt
make[1]: *** [semantic/bytecompile.target] Interrupt
make: *** [xemacs-packages/bytecompile.target] Interrupt
Initially, I suspected a recursive dependency, but why would that
affect only a gmp-enabled build? A 21.5 XEmacs without gmp can build
the packages with no problem. If anyone has any insight into what's
going wrong here, I'm happy to hear their speculation.
Thanks,
Vin
_______________________________________________
XEmacs-Beta mailing list
XEmacs-Beta(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-beta
Re: A couple of problems with new packages
16 years, 10 months
Aidan Kehoe
Ar an dara lá de mí na Nollaig, scríobh Vin Shelton:
> On Dec 2, 2007 3:29 PM, Aidan Kehoe <kehoea(a)parhasard.net> wrote:
>
> > That's coming from my change of
> > http://mid.gmane.org/18252.39139.149087.844153@parhasard.net ; the 21.5 byte
> > compiler adds a :default keyword to custom-declare-variable calls when it
> > byte compiles the init value. This allows the custom UI code to present
> > non-byte-compiled Lisp for editing. I don't know of a way to avoid the error
> > entirely.
> >
> > The error should be limited to the specific case of 21.4 loading code
> > compiled by 21.5 where the code has complex VALUE clauses in defcustom
> > calls.
> >
> > Vin, would you consider adding the very last hunk of that patch to 21.4?
>
> Yes, I'll consider it, but whether or not I apply it, we must solve
> the problem for users of XEmacs <= 21.4.21. Please make a suggestion
> so that packages built with 21.5 will work with existing 21.4
> installs.
With a bit of further thought, the below occurs to me, which is entirely
compatible and very ugly. Is running packages built with 21.5 on 21.4 a
supported use case? What happens if we modify 21.5’s byte codes?
lisp/ChangeLog addition:
2007-12-03 Aidan Kehoe <kehoea(a)parhasard.net>
* bytecomp.el (byte-compile-file-form-custom-declare-variable):
Instead of using a keyword argument that's incompatible with 21.4,
modify the byte compiled init code to change the variable's
standard-value property itself.
XEmacs Trunk source patch:
Diff command: cvs -q diff -Nu
Files affected: lisp/bytecomp.el
===================================================================
RCS
Index: lisp/bytecomp.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/lisp/bytecomp.el,v
retrieving revision 1.22
diff -u -u -r1.22 bytecomp.el
--- lisp/bytecomp.el 2007/12/01 13:40:07 1.22
+++ lisp/bytecomp.el 2007/12/02 23:19:18
@@ -2405,10 +2405,17 @@
;; And save a value to be examined in the custom UI, if that differs
;; from the init value.
(unless (equal to-examine (car-safe (cdr (third form))))
- (setf (nthcdr 4 form) (nconc
- (list :default
- (list 'quote to-examine))
- (nthcdr 4 form)))))
+ (setcdr (third form)
+ (list (byte-compile-top-level
+ ;; This is ugly. custom-declare-variable errors if
+ ;; it's passed a keyword it doesn't know about, and
+ ;; so to make this code run on 21.4, we add code to
+ ;; modify the standard-value property to the
+ ;; byte-compiled value for DEFAULT.
+ `(prog2 (put ,(second form) 'standard-value
+ '(,to-examine))
+ ,to-examine)
+ nil 'file)))))
form))
;;;###autoload
--
¿Dónde estará ahora mi sobrino Yoghurtu Nghé, que tuvo que huir
precipitadamente de la aldea por culpa de la escasez de rinocerontes?
_______________________________________________
XEmacs-Beta mailing list
XEmacs-Beta(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-beta
[Failure] XEmacs 21.5-b28 "fuki" (+CVS-20071201) i586-pc-win32
16 years, 10 months
Adrian Aichner
It builds and runs in basic testing, but
nmake /f xemacs.mak check-temacs
and
nmake /f xemacs.mak check
result in following assert
Fatal error: assertion failed, file c:\Hacking\cvs.xemacs.org\XEmacs\xemacs-21.5-clean\src\tests.c, line 141, (len) == sizeof (ext_latin12) - 1
Adrian
> XEmacs Build Report generated by emacs-version
> 21.5 (beta28) "fuki" (+CVS-20071014) 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-b28 "fuki" (+CVS-20071201) 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.2.20" -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_MENUBARS -DHAVE_SCROLLBARS -DHAVE_TOOLBARS -DHAVE_WIDGETS -DHAVE_DIALOGS -DHAVE_XPM -DFOR_MSW -DHAVE_GIF -DHAVE_PNG -DHAVE_TIFF -DHAVE_JPEG -DHAVE_XFACE -DHAVE_ZLIB -DHAVE_NATIVE_SOUND -DMULE -DUSE_UNION_TYPE -DPDUMP -DNEW_GC -DUSE_KKCC -DSYSTEM_MALLOC -DDEBUG_XEMACS -D_DEBUG -DWIN32_LEAN_AND_MEAN -DWIN32_NATIVE -Demacs -DHAVE_CONFIG_H -DPATH_VERSION=\"21.5-b28\" -DPATH_PROGNAME=\"xemacs\" -DEMACS_VERSION=\"21.5-b28\" -DEMACS_PROGNAME=\"xemacs\" -DSTAC!
K_TRACE_EYE_CATCHER=xemacs_21_5_b28_i586_pc_win32 -DPATH_PREFIX=\"..\" -DEMACS_MAJOR_VERSION=21 -DEMACS_MINOR_VERSION=5 -DEMACS_BETA_VERSION=28 -DXEMACS_CODENAME=\""fuki"\" -DXEMACS_EXTRA_NAME=\"(+CVS-20071201)\" -DEMACS_CONFIGURATION=\"i586-pc-win32\"".
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-b28".
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 union type for Lisp object storage.
NOTE: ---------------------------------------------------------
NOTE: This tends to trigger compiler bugs, especially when combined
NOTE: with MULE and ERROR_CHECKING. Crashes in pdump have recently
NOTE: been observed using Visual C++ in combination with union type,
NOTE: MULE, and ERROR_CHECKING.
NOTE: ---------------------------------------------------------
Using portable dumper.
Using system malloc.
Using DLL version of C runtime library.
Compiling in debugging support (no slowdown).
Compiling with optimization.
Using new experimental GC mark algorithms.
Using new experimental incremental garbage collector and new allocator.
> 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 Sun Dec 02 16:45:10 2007 +0100 (W. Europe Standard Time)
? gunzip-error.txt
? man/lispref/errors.texi.new
? nt/xemacs-21.5-clean-make-all-internal-compiler-error-not-cpp.err
? nt/xemacs-21.5-clean-make-all-internal-compiler-error.err
? nt/xemacs-21.5-clean-make-all-texinfo-error.err
P version.sh
P etc/ChangeLog
U etc/photos/vin.png
U etc/photos/vinm.png
M info/dir
P lisp/ChangeLog
P lisp/about.el
P lisp/byte-optimize.el
P lisp/bytecomp.el
P lisp/cus-edit.el
P lisp/custom.el
M lisp/package-get.el
M lisp/process.el
P lisp/simple.el
P lisp/mule/cyrillic.el
P lisp/mule/greek.el
P lisp/mule/hebrew.el
P lisp/mule/latin.el
P lisp/mule/mule-cmds.el
P lisp/mule/mule-coding.el
P man/ChangeLog
P man/internals/internals.texi
M src/ChangeLog
P src/doprnt.c
M src/eval.c
M src/fileio.c
M src/frame-msw.c
M src/gc.c
M src/glyphs.c
P src/mule-ccl.c
M src/profile.c
P tests/ChangeLog
P tests/automated/lisp-tests.el
P tests/automated/mule-tests.el
M tests/automated/region-tests.el
U tests/automated/lisp-tests.el
Compilation finished at Sun Dec 02 16:46:37
> Contents of c:\Hacking\cvs.xemacs.org\XEmacs\xemacs-21.5-clean\nt\xemacs-21.5-clean-make-all.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 all
Compilation started at Sun Dec 02 16:58:38 2007 +0100 (W. Europe Standard Time)
Installing XEmacs in "c:\\Program Files\\XEmacs\\XEmacs-21.5-b28".
1 file(s) copied.
1 File(s) copied
1 File(s) copied
c:\Hacking\cvs.xemacs.org\XEmacs\xemacs-21.5-clean\src\text.c(2180) : warning C4390: ';' : empty controlled statement found; is this the intent?
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)
Generating autoloads for lisp/next-error.el...
While compiling call-process-internal in file c:\Hacking\cvs.xemacs.org\XEmacs\xemacs-21.5-clean\lisp\process.el:
** variable proc-mark bound but not referenced
While compiling the end of the data in file c:\Hacking\cvs.xemacs.org\XEmacs\xemacs-21.5-clean\lisp\mule\mule-cmds.el:
** the function set-console-tty-coding-system is not known to be defined.
While compiling make-8-bit-generate-helper in file c:\Hacking\cvs.xemacs.org\XEmacs\xemacs-21.5-clean\lisp\mule\mule-coding.el:
** variable args-out-of-range bound but not referenced
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)
Warning: doc lost for function unicode-error-translate-region.
Warning: doc lost for function frob-unicode-errors-region.
While compiling x-win-init-xfree86 in file c:\Hacking\cvs.xemacs.org\XEmacs\xemacs-21.5-clean\lisp\x-win-xfree86.el:
** assignment to free variable x-us-keymap-first-keycode
** assignment to free variable x-us-keymap-description
While compiling x-win-init-sun in file c:\Hacking\cvs.xemacs.org\XEmacs\xemacs-21.5-clean\lisp\x-win-sun.el:
** assignment to free variable x-us-keymap-first-keycode
** assignment to free variable x-us-keymap-description
While compiling the end of the data in file c:\Hacking\cvs.xemacs.org\XEmacs\xemacs-21.5-clean\lisp\x-font-menu.el:
** The following functions are not known to be defined:
fc-find-available-weights-for-family,
fc-find-available-font-families, xlfd-font-name-p, fc-font-match,
fc-name-parse, fc-pattern-get-family, fc-pattern-get-successp,
fc-pattern-get-weight, fc-pattern-get-size, fc-pattern-get-slant,
fc-font-weight-translate-to-string,
fc-font-slant-translate-to-string, make-fc-pattern,
fc-pattern-add-family, fc-pattern-add-weight,
fc-font-weight-translate-from-string, fc-pattern-add-size,
fc-pattern-add-slant, fc-font-slant-translate-from-string,
fc-name-unparse
While compiling the end of the data in file c:\Hacking\cvs.xemacs.org\XEmacs\xemacs-21.5-clean\lisp\x-faces.el:
** the function default-x-device is not known to be defined.
Requiring next-error...
Compiling c:\Hacking\cvs.xemacs.org\XEmacs\xemacs-21.5-clean\lisp\next-error.el...
Wrote c:\Hacking\cvs.xemacs.org\XEmacs\xemacs-21.5-clean\lisp\next-error.elc
While compiling the end of the data in file c:\Hacking\cvs.xemacs.org\XEmacs\xemacs-21.5-clean\lisp\fontconfig.el:
** the function default-x-device is not known to be defined.
While compiling xft-font-create-object in file c:\Hacking\cvs.xemacs.org\XEmacs\xemacs-21.5-clean\lisp\font.el:
** attempt to inline fc-pattern-get-family before it was defined
** attempt to inline fc-pattern-get-size before it was defined
** attempt to inline fc-pattern-get-weight before it was defined
While compiling xft-font-create-name:
** attempt to inline fc-pattern-add-family before it was defined
** attempt to inline fc-pattern-add-size before it was defined
While compiling the end of the data:
** the function default-x-device 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.
While compiling cyrillic-encode-koi8-r-char in file c:\Hacking\cvs.xemacs.org\XEmacs\xemacs-21.5-clean\lisp\mule\cyril-util.el:
** reference to free variable cyrillic-koi8-r-to-external-code-table
While compiling cyrillic-encode-alternativnyj-char:
** reference to free variable cyrillic-alternativnyj-to-external-code-table
Computing custom-loads for next-error...
Compilation finished at Sun Dec 02 17:02:55
> 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 Sun Dec 02 17:34:17 2007 +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)
Warning: doc lost for function unicode-error-translate-region.
Warning: doc lost for function frob-unicode-errors-region.
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
Fatal error: assertion failed, file c:\Hacking\cvs.xemacs.org\XEmacs\xemacs-21.5-clean\src\tests.c, line 141, (len) == sizeof (ext_latin12) - 1
Fatal error.
# (condition-case ... . ((cl-assertion-failed (Print-Failure (if nil "Assertion failed: %S; failing case = %S" "Assertion failed: %S") (quote (eq (quote PASS) (funcall fun))) nil) (incf assertion-failures)) (t (Print-Failure (if nil "%S ==> error: %S; failing case = %S" "%S ==> error: %S") (quote (eq (quote PASS) (funcall fun))) error-info nil) (incf other-failures))))
(condition-case error-info (progn (assert (eq (quote PASS) (funcall fun))) (Print-Pass "%S" (quote (eq (quote PASS) (funcall fun)))) (incf passes)) (cl-assertion-failed (Print-Failure (if nil "Assertion failed: %S; failing case = %S" "Assertion failed: %S") (quote (eq (quote PASS) (funcall fun))) nil) (incf assertion-failures)) (t (Print-Failure (if nil "%S ==> error: %S; failing case = %S" "%S ==> error: %S") (quote (eq (quote PASS) (funcall fun))) error-info nil) (incf other-failures)))
(lambda nil (defvar passes) (defvar assertion-failures) (defvar no-error-failures) (defvar wrong-error-failures) (defvar missing-message-failures) (defvar other-failures) (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))))) (when (boundp (quote test-function-list)) (loop for fun in test-function-list do (Assert (eq (quote PASS) (funcall fun))))))()
funcall((lambda nil (defvar passes) (defvar assertion-failures) (defvar no-error-failures) (defvar wrong-error-failures) (defvar missing-message-failures) (defvar other-failures) (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))))) (when (boundp (quote test-function-list)) (loop for fun in test-function-list do (Assert (eq (quote PASS) (funcall fun)))))))
# (condition-case ... . ((error (incf unexpected-test-file-failures) (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))))
(condition-case error-info (funcall (test-harness-read-from-buffer inbuffer)) (error (incf unexpected-test-file-failures) (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)))
(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 Silence-Me!
ssage (&rest body) (backquote (flet ((append-message (&rest args) nil)) (\,@ body)))) (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 (incf unexpected-test-file-failures) (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-co!
mpiling code\n" error-info)))) (condition-case error-info (if !
code (fu
ncall code)) (error (incf unexpected-test-file-failures) (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 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 (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-file-failures 0) (setq unexpected-test-suite-failure-files (cons filename unexpected-test-suite-failure-files)) (setq unexpected-test-suite-failures (+ unexpected-test-suite-failures unexpected-test-file-failures)) (message "Test suite execution failed unexpectedly.")) (fmakunbound (quote Assert)) (fma!
kunbound (quote Check-Error)) (fmakunbound (quote Check-Messag!
e)) (fma
kunbound (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 trick-optimizer skipped-test-reasons unexpected-test-file-failures 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) (unexpected-test-file-failures 0) (skipped-test-reasons (make-hash-table :test (quote equal))) (trick-optimizer 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 a!
rgs)) (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 Ass!
ert (assertion &optional failing-case) (backquote (condition-c!
ase erro
r-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)) (err!
or (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)))) (er!
ror (Pri
nt-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 match!
ing 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 Silence-Message (&rest body) (backquote (flet ((append-message (&rest args) nil)) (\,@ body)))) (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 (incf unexpected-test-file-failures) (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 "\nTe!
sting Compiled Lisp\n\n") (let (code (test-harness-test-compil!
ed 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 (incf unexpected-test-file-failures) (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 f!
ailures\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 (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-file-failures!
0) (setq unexpected-test-suite-failure-files (cons filename u!
nexpecte
d-test-suite-failure-files)) (setq unexpected-test-suite-failures (+ unexpected-test-suite-failures unexpected-test-file-failures)) (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*")))))
# (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--40303 (setq file-in-dir (car --dolist-temp--40303)) (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--40303 (cdr --dolist-temp--40303)))
(let ((--dolist-temp--40303 (directory-files file t)) file-in-dir) (while --dolist-temp--40303 (setq file-in-dir (car --dolist-temp--40303)) (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--40303 (cdr --dolist-temp--40303))) nil)
(catch (quote --cl-block-nil--) (let ((--dolist-temp--40303 (directory-files file t)) file-in-dir) (while --dolist-temp--40303 (setq file-in-dir (car --dolist-temp--40303)) (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--40303 (cdr --dolist-temp--40303))) nil))
(cl-block-wrapper (catch (quote --cl-block-nil--) (let ((--dolist-temp--40303 (directory-files file t)) file-in-dir) (while --dolist-temp--40303 (setq file-in-dir (car --dolist-temp--40303)) (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--40303 (cdr --dolist-temp--40303))) nil)))
(block nil (let ((--dolist-temp--40303 (directory-files file t)) file-in-dir) (while --dolist-temp--40303 (setq file-in-dir (car --dolist-temp--40303)) (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--40303 (cdr --dolist-temp--40303))) 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--40302 (setq file (car --dolist-temp--40302)) (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--40302 (cdr --dolist-temp--40302)))
(let ((--dolist-temp--40302 command-line-args-left) file) (while --dolist-temp--40302 (setq file (car --dolist-temp--40302)) (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--40302 (cdr --dolist-temp--40302))) nil)
(catch (quote --cl-block-nil--) (let ((--dolist-temp--40302 command-line-args-left) file) (while --dolist-temp--40302 (setq file (car --dolist-temp--40302)) (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--40302 (cdr --dolist-temp--40302))) nil))
(cl-block-wrapper (catch (quote --cl-block-nil--) (let ((--dolist-temp--40302 command-line-args-left) file) (while --dolist-temp--40302 (setq file (car --dolist-temp--40302)) (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--40302 (cdr --dolist-temp--40302))) nil)))
(block nil (let ((--dolist-temp--40302 command-line-args-left) file) (while --dolist-temp--40302 (setq file (car --dolist-temp--40302)) (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--40302 (cdr --dolist-temp--40302))) 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))))) (when (> unexpected-test-suite-failures 0) (message "\n***** There %s %d unexpected test suite %s in %s:" (if (= unexpected-test-suite-failures 1) "was" "were") unexpected-test-suite-failures (if (= unexpected-test-suite-failures 1) "failure" "failures") (if (= (length unexpected-test-suite-failure-files) 1) "file" "files")) (while unexpected-test-suite-failure-files (let ((line (pop unexpected-test-suite-failure-files))) (while (and (< (length line) 61) unexpected-test-suite-failure-files) (setq line (concat line " " (pop unexpected-test-suite-failure-files)))) (message line))))) (message "\nDone") (kill-emacs (if error 1!
0)))
# bind (error-data)
# (condition-case ... . error)
Compilation finished at Sun Dec 02 17:38:40
> 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 Sun Dec 02 17:45:09 2007 +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
Fatal error: assertion failed, file c:\Hacking\cvs.xemacs.org\XEmacs\xemacs-21.5-clean\src\tests.c, line 141, (len) == sizeof (ext_latin12) - 1
Fatal error.
# (condition-case ... . ((cl-assertion-failed (Print-Failure (if nil "Assertion failed: %S; failing case = %S" "Assertion failed: %S") (quote (eq (quote PASS) (funcall fun))) nil) (incf assertion-failures)) (t (Print-Failure (if nil "%S ==> error: %S; failing case = %S" "%S ==> error: %S") (quote (eq (quote PASS) (funcall fun))) error-info nil) (incf other-failures))))
(condition-case error-info (progn (assert (eq (quote PASS) (funcall fun))) (Print-Pass "%S" (quote (eq (quote PASS) (funcall fun)))) (incf passes)) (cl-assertion-failed (Print-Failure (if nil "Assertion failed: %S; failing case = %S" "Assertion failed: %S") (quote (eq (quote PASS) (funcall fun))) nil) (incf assertion-failures)) (t (Print-Failure (if nil "%S ==> error: %S; failing case = %S" "%S ==> error: %S") (quote (eq (quote PASS) (funcall fun))) error-info nil) (incf other-failures)))
(lambda nil (defvar passes) (defvar assertion-failures) (defvar no-error-failures) (defvar wrong-error-failures) (defvar missing-message-failures) (defvar other-failures) (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))))) (when (boundp (quote test-function-list)) (loop for fun in test-function-list do (Assert (eq (quote PASS) (funcall fun))))))()
funcall((lambda nil (defvar passes) (defvar assertion-failures) (defvar no-error-failures) (defvar wrong-error-failures) (defvar missing-message-failures) (defvar other-failures) (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))))) (when (boundp (quote test-function-list)) (loop for fun in test-function-list do (Assert (eq (quote PASS) (funcall fun)))))))
# (condition-case ... . ((error (incf unexpected-test-file-failures) (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))))
(condition-case error-info (funcall (test-harness-read-from-buffer inbuffer)) (error (incf unexpected-test-file-failures) (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)))
(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 Silence-Me!
ssage (&rest body) (backquote (flet ((append-message (&rest args) nil)) (\,@ body)))) (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 (incf unexpected-test-file-failures) (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-co!
mpiling code\n" error-info)))) (condition-case error-info (if !
code (fu
ncall code)) (error (incf unexpected-test-file-failures) (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 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 (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-file-failures 0) (setq unexpected-test-suite-failure-files (cons filename unexpected-test-suite-failure-files)) (setq unexpected-test-suite-failures (+ unexpected-test-suite-failures unexpected-test-file-failures)) (message "Test suite execution failed unexpectedly.")) (fmakunbound (quote Assert)) (fma!
kunbound (quote Check-Error)) (fmakunbound (quote Check-Messag!
e)) (fma
kunbound (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 trick-optimizer skipped-test-reasons unexpected-test-file-failures 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) (unexpected-test-file-failures 0) (skipped-test-reasons (make-hash-table :test (quote equal))) (trick-optimizer 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 a!
rgs)) (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 Ass!
ert (assertion &optional failing-case) (backquote (condition-c!
ase erro
r-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)) (err!
or (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)))) (er!
ror (Pri
nt-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 match!
ing 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 Silence-Message (&rest body) (backquote (flet ((append-message (&rest args) nil)) (\,@ body)))) (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 (incf unexpected-test-file-failures) (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 "\nTe!
sting Compiled Lisp\n\n") (let (code (test-harness-test-compil!
ed 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 (incf unexpected-test-file-failures) (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 f!
ailures\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 (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-file-failures!
0) (setq unexpected-test-suite-failure-files (cons filename u!
nexpecte
d-test-suite-failure-files)) (setq unexpected-test-suite-failures (+ unexpected-test-suite-failures unexpected-test-file-failures)) (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*")))))
# (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--47203 (setq file-in-dir (car --dolist-temp--47203)) (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--47203 (cdr --dolist-temp--47203)))
(let ((--dolist-temp--47203 (directory-files file t)) file-in-dir) (while --dolist-temp--47203 (setq file-in-dir (car --dolist-temp--47203)) (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--47203 (cdr --dolist-temp--47203))) nil)
(catch (quote --cl-block-nil--) (let ((--dolist-temp--47203 (directory-files file t)) file-in-dir) (while --dolist-temp--47203 (setq file-in-dir (car --dolist-temp--47203)) (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--47203 (cdr --dolist-temp--47203))) nil))
(cl-block-wrapper (catch (quote --cl-block-nil--) (let ((--dolist-temp--47203 (directory-files file t)) file-in-dir) (while --dolist-temp--47203 (setq file-in-dir (car --dolist-temp--47203)) (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--47203 (cdr --dolist-temp--47203))) nil)))
(block nil (let ((--dolist-temp--47203 (directory-files file t)) file-in-dir) (while --dolist-temp--47203 (setq file-in-dir (car --dolist-temp--47203)) (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--47203 (cdr --dolist-temp--47203))) 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--47202 (setq file (car --dolist-temp--47202)) (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--47202 (cdr --dolist-temp--47202)))
(let ((--dolist-temp--47202 command-line-args-left) file) (while --dolist-temp--47202 (setq file (car --dolist-temp--47202)) (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--47202 (cdr --dolist-temp--47202))) nil)
(catch (quote --cl-block-nil--) (let ((--dolist-temp--47202 command-line-args-left) file) (while --dolist-temp--47202 (setq file (car --dolist-temp--47202)) (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--47202 (cdr --dolist-temp--47202))) nil))
(cl-block-wrapper (catch (quote --cl-block-nil--) (let ((--dolist-temp--47202 command-line-args-left) file) (while --dolist-temp--47202 (setq file (car --dolist-temp--47202)) (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--47202 (cdr --dolist-temp--47202))) nil)))
(block nil (let ((--dolist-temp--47202 command-line-args-left) file) (while --dolist-temp--47202 (setq file (car --dolist-temp--47202)) (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--47202 (cdr --dolist-temp--47202))) 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))))) (when (> unexpected-test-suite-failures 0) (message "\n***** There %s %d unexpected test suite %s in %s:" (if (= unexpected-test-suite-failures 1) "was" "were") unexpected-test-suite-failures (if (= unexpected-test-suite-failures 1) "failure" "failures") (if (= (length unexpected-test-suite-failure-files) 1) "file" "files")) (while unexpected-test-suite-failure-files (let ((line (pop unexpected-test-suite-failure-files))) (while (and (< (length line) 61) unexpected-test-suite-failure-files) (setq line (concat line " " (pop unexpected-test-suite-failure-files)))) (message line))))) (message "\nDone") (kill-emacs (if error 1!
0)))
# bind (error-data)
# (condition-case ... . error)
Compilation finished at Sun Dec 02 17:46:45
--
Adrian Aichner
mailto:adrian@xemacs.org
http://www.xemacs.org/
_______________________________________________
XEmacs-Beta mailing list
XEmacs-Beta(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-beta
Bug tracker?
16 years, 10 months
Aidan Kehoe
What’s the current status of the discussion about a new bug tracker?
--
On the quay of the little Black Sea port, where the rescued pair came once
more into contact with civilization, Dobrinton was bitten by a dog which was
assumed to be mad, though it may only have been indiscriminating. (Saki)
_______________________________________________
XEmacs-Beta mailing list
XEmacs-Beta(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-beta
Announcements
16 years, 10 months
Vin Shelton
Dear XEmacs friends,
I plan on releasing XEmacs-21.4.21 this weekend. At this point, I
don't think I will be adding any major new patches to the source tree,
but I will be reviewing my entire queue of unapplied patches, so if
there's a patch *you* want to lobby for, please feel free to drop me a
line.
I recently made a new gnuclient_setup window kit. This version has a
few improvements:
1. The installation process is a little bit cleaner, with fewer windows.
2. The uninstall process tries harder not to leave behind any traces
of the installed kit.
3. The modifications to site-start.el attempt to be a little more
careful not to disrupt an existing XEmacs installation.
4. The kit now allows the user to add gnuclient to the SendTo menu.
Regards,
Vin
--
The Journey by Mary Oliver
http://www.poemhunter.com/p/m/poem.asp?poet=6771&poem=30506
_______________________________________________
XEmacs-Beta mailing list
XEmacs-Beta(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-beta