Mercurial > hg > xemacs-beta
changeset 308:33bdb3d4b97f r21-0b52
Import from CVS: tag r21-0b52
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/.cvsignore Mon Aug 13 10:42:44 2007 +0200 @@ -0,0 +1,1 @@ +typescript
--- a/CHANGES-beta Mon Aug 13 10:41:59 2007 +0200 +++ b/CHANGES-beta Mon Aug 13 10:42:44 2007 +0200 @@ -1,4 +1,13 @@ -*- indented-text -*- +to 21.0 pre9 "Danish Landrace" +-- miscellaneous patches from Christoph Wedler +-- German TUTORIAL fix from Adrian Aichner +-- miscellaneous fixes from Charles Waldman, Martin Buchholz, Michael + Sperber +-- miscellaneous fixes from Jonathan Harris, Colin Rafferty, Kai Haberzettl +-- cygwin fixes from Andy Piper +-- Reintegration of in-XEmacs gif support from Jareth Hein + to 21.0 pre8 "Corsican" -- XEmacs enhanced button courtesy of Dave Finton -- PNG transparency fix from Jareth Hein
--- a/ChangeLog Mon Aug 13 10:41:59 2007 +0200 +++ b/ChangeLog Mon Aug 13 10:42:44 2007 +0200 @@ -1,3 +1,32 @@ +1998-08-11 SL Baur <steve@altair.xemacs.org> + + * XEmacs 21.0-pre9 is released. + +1998-08-06 Adrian Aichner <aichner@ecf.teradyne.com> + + * etc/TUTORIAL.de: Fixing typos and grammatical errors. Fixing + inconsistent usage of RET, <Return>, and <return> (only using + <Return> now). Changing TUTORIAL to TUTORIAL.de throughout + itself. Adding english equivalent to german translation of all + concepts used in TUTORIAL.de. + +1998-08-07 P. E. Jareth Hein <jareth@camelot.co.jp> + + * configure.usage (--without-gif): Modify text to reflect status + of GIF support + +1998-08-04 P. E. Jareth Hein <jareth@camelot.co.jp> + + * configure.in: add back in the support for the in-core GIF + code, change the required PNG library version to 1.0.2, and add + a warning if PNG not found, since PNG images are now distributed + as part of the core. Also minor wording changes in things reported + to the user. + +1998-08-04 SL Baur <steve@altair.xemacs.org> + + * XEmacs 21.0-pre8 is released. + 1998-07-28 Kai Haberzettl <khaberz@synnet.de> * BETA: Update mailing-list address for build-reports
--- a/PROBLEMS Mon Aug 13 10:41:59 2007 +0200 +++ b/PROBLEMS Mon Aug 13 10:42:44 2007 +0200 @@ -1351,6 +1351,16 @@ Or you could set TERMCAP only when you set TERM--which should not happen in a non-login shell. +** The popup menu appears at the buttom/right of my screen. + +You probably have something like the following in your ~/.Xdefaults + + Emacs.geometry: 81x56--9--1 + +Use the following instead + + Emacs*EmacsFrame.geometry: 81x56--9--1 + * Compatibility problems (with Emacs 18, GNU Emacs, or previous XEmacs/lemacs) ==============================================================================
--- a/configure Mon Aug 13 10:41:59 2007 +0200 +++ b/configure Mon Aug 13 10:42:44 2007 +0200 @@ -2506,7 +2506,7 @@ echo "configure:2507: checking "for runtime libraries flag"" >&5 case "$opsys" in sol2 ) dash_r="-R" ;; - decosf* | linux* ) dash_r="-rpath" ;; + decosf* | linux* ) dash_r="-rpath " ;; *) dash_r="" for try_dash_r in "-R" "-R " "-rpath "; do @@ -6590,15 +6590,30 @@ fi fi + if test "$with_gif" != "no"; then + with_gif="yes" + { test "$extra_verbose" = "yes" && cat << \EOF + Defining HAVE_GIF +EOF +cat >> confdefs.h <<\EOF +#define HAVE_GIF 1 +EOF +} + + extra_objs="$extra_objs dgif_lib.o gif_io.o" && if test "$extra_verbose" = "yes"; then + echo " xemacs will be linked with \"dgif_lib.o gif_io.o\"" + fi + fi + if test "$with_png $with_tiff" != "no no"; then echo $ac_n "checking for inflate in -lc""... $ac_c" 1>&6 -echo "configure:6597: checking for inflate in -lc" >&5 +echo "configure:6612: checking for inflate in -lc" >&5 ac_lib_var=`echo c'_'inflate | sed 'y%./+-%__p_%'` xe_check_libs=" -lc " cat > conftest.$ac_ext <<EOF -#line 6602 "configure" +#line 6617 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -6609,7 +6624,7 @@ inflate() ; return 0; } EOF -if { (eval echo configure:6613: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6628: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -6628,12 +6643,12 @@ echo "$ac_t""no" 1>&6 echo $ac_n "checking for inflate in -lz""... $ac_c" 1>&6 -echo "configure:6632: checking for inflate in -lz" >&5 +echo "configure:6647: checking for inflate in -lz" >&5 ac_lib_var=`echo z'_'inflate | sed 'y%./+-%__p_%'` xe_check_libs=" -lz " cat > conftest.$ac_ext <<EOF -#line 6637 "configure" +#line 6652 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -6644,7 +6659,7 @@ inflate() ; return 0; } EOF -if { (eval echo configure:6648: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6663: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -6663,12 +6678,12 @@ echo "$ac_t""no" 1>&6 echo $ac_n "checking for inflate in -lgz""... $ac_c" 1>&6 -echo "configure:6667: checking for inflate in -lgz" >&5 +echo "configure:6682: checking for inflate in -lgz" >&5 ac_lib_var=`echo gz'_'inflate | sed 'y%./+-%__p_%'` xe_check_libs=" -lgz " cat > conftest.$ac_ext <<EOF -#line 6672 "configure" +#line 6687 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -6679,7 +6694,7 @@ inflate() ; return 0; } EOF -if { (eval echo configure:6683: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6698: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -6707,102 +6722,17 @@ fi - echo $ac_n "checking for gifreader""... $ac_c" 1>&6 -echo "configure:6712: checking for gifreader" >&5 - test -z "$with_gif" && { ac_safe=`echo "gifrlib.h" | sed 'y%./+-%__p_%'` -echo $ac_n "checking for gifrlib.h""... $ac_c" 1>&6 -echo "configure:6715: checking for gifrlib.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 6718 "configure" -#include "confdefs.h" -#include <gifrlib.h> -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:6723: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out` -if test -z "$ac_err"; then - rm -rf conftest* - eval "ac_cv_header_$ac_safe=yes" -else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_header_$ac_safe=no" -fi -rm -f conftest* -if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then - echo "$ac_t""yes" 1>&6 - : -else - echo "$ac_t""no" 1>&6 -with_gif=no -fi - } - test -z "$with_gif" && { -echo $ac_n "checking for GetGifError in -lgifreader""... $ac_c" 1>&6 -echo "configure:6746: checking for GetGifError in -lgifreader" >&5 -ac_lib_var=`echo gifreader'_'GetGifError | sed 'y%./+-%__p_%'` - -xe_check_libs=" -lgifreader " -cat > conftest.$ac_ext <<EOF -#line 6751 "configure" -#include "confdefs.h" -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char GetGifError(); - -int main() { -GetGifError() -; return 0; } -EOF -if { (eval echo configure:6762: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" -fi -rm -f conftest* -xe_check_libs="" - -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes" ; then - echo "$ac_t""yes" 1>&6 - : -else - echo "$ac_t""no" 1>&6 -with_gif=no -fi - - } - test -z "$with_gif" && with_gif=yes - if test "$with_gif" = "yes"; then - { test "$extra_verbose" = "yes" && cat << \EOF - Defining HAVE_GIF -EOF -cat >> confdefs.h <<\EOF -#define HAVE_GIF 1 -EOF -} - - libs_x="-lgifreader $libs_x" && if test "$extra_verbose" = "yes"; then echo " Prepending \"-lgifreader\" to \$libs_x"; fi - fi - test -z "$with_jpeg" && { ac_safe=`echo "jpeglib.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for jpeglib.h""... $ac_c" 1>&6 -echo "configure:6798: checking for jpeglib.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 6801 "configure" +echo "configure:6728: checking for jpeglib.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 6731 "configure" #include "confdefs.h" #include <jpeglib.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:6806: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:6736: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -6825,12 +6755,12 @@ } test -z "$with_jpeg" && { echo $ac_n "checking for jpeg_destroy_decompress in -ljpeg""... $ac_c" 1>&6 -echo "configure:6829: checking for jpeg_destroy_decompress in -ljpeg" >&5 +echo "configure:6759: checking for jpeg_destroy_decompress in -ljpeg" >&5 ac_lib_var=`echo jpeg'_'jpeg_destroy_decompress | sed 'y%./+-%__p_%'` xe_check_libs=" -ljpeg " cat > conftest.$ac_ext <<EOF -#line 6834 "configure" +#line 6764 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -6841,7 +6771,7 @@ jpeg_destroy_decompress() ; return 0; } EOF -if { (eval echo configure:6845: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6775: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -6876,13 +6806,13 @@ fi if test -z "$with_png"; then - echo $ac_n "checking for png.h - no older than 0.96""... $ac_c" 1>&6 -echo "configure:6881: checking for png.h - no older than 0.96" >&5 + echo $ac_n "checking for png.h - no older than 1.02""... $ac_c" 1>&6 +echo "configure:6811: checking for png.h - no older than 1.02" >&5 cat > conftest.$ac_ext <<EOF -#line 6883 "configure" +#line 6813 "configure" #include "confdefs.h" #include <png.h> -#if PNG_LIBPNG_VER >= 96 +#if PNG_LIBPNG_VER >= 10002 yes #endif @@ -6899,10 +6829,10 @@ fi test -z "$with_png" && { echo $ac_n "checking for pow""... $ac_c" 1>&6 -echo "configure:6903: checking for pow" >&5 - -cat > conftest.$ac_ext <<EOF -#line 6906 "configure" +echo "configure:6833: checking for pow" >&5 + +cat > conftest.$ac_ext <<EOF +#line 6836 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char pow(); below. */ @@ -6925,7 +6855,7 @@ ; return 0; } EOF -if { (eval echo configure:6929: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6859: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_pow=yes" else @@ -6946,12 +6876,12 @@ } test -z "$with_png" && { echo $ac_n "checking for png_read_image in -lpng""... $ac_c" 1>&6 -echo "configure:6950: checking for png_read_image in -lpng" >&5 +echo "configure:6880: checking for png_read_image in -lpng" >&5 ac_lib_var=`echo png'_'png_read_image | sed 'y%./+-%__p_%'` xe_check_libs=" -lpng " cat > conftest.$ac_ext <<EOF -#line 6955 "configure" +#line 6885 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -6962,7 +6892,7 @@ png_read_image() ; return 0; } EOF -if { (eval echo configure:6966: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6896: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -6998,15 +6928,15 @@ test -z "$with_tiff" && { ac_safe=`echo "tiffio.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for tiffio.h""... $ac_c" 1>&6 -echo "configure:7002: checking for tiffio.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 7005 "configure" +echo "configure:6932: checking for tiffio.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 6935 "configure" #include "confdefs.h" #include <tiffio.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:7010: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:6940: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -7029,12 +6959,12 @@ } test -z "$with_tiff" && { echo $ac_n "checking for TIFFClientOpen in -ltiff""... $ac_c" 1>&6 -echo "configure:7033: checking for TIFFClientOpen in -ltiff" >&5 +echo "configure:6963: checking for TIFFClientOpen in -ltiff" >&5 ac_lib_var=`echo tiff'_'TIFFClientOpen | sed 'y%./+-%__p_%'` xe_check_libs=" -ltiff " cat > conftest.$ac_ext <<EOF -#line 7038 "configure" +#line 6968 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -7045,7 +6975,7 @@ TIFFClientOpen() ; return 0; } EOF -if { (eval echo configure:7049: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:6979: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -7084,19 +7014,19 @@ if test "$with_x11" = "yes"; then echo "checking for X11 graphics libraries" 1>&6 -echo "configure:7088: checking for X11 graphics libraries" >&5 +echo "configure:7018: checking for X11 graphics libraries" >&5 test -z "$with_xface" && { ac_safe=`echo "compface.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for compface.h""... $ac_c" 1>&6 -echo "configure:7092: checking for compface.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 7095 "configure" +echo "configure:7022: checking for compface.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 7025 "configure" #include "confdefs.h" #include <compface.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:7100: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:7030: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -7119,12 +7049,12 @@ } test -z "$with_xface" && { echo $ac_n "checking for UnGenFace in -lcompface""... $ac_c" 1>&6 -echo "configure:7123: checking for UnGenFace in -lcompface" >&5 +echo "configure:7053: checking for UnGenFace in -lcompface" >&5 ac_lib_var=`echo compface'_'UnGenFace | sed 'y%./+-%__p_%'` xe_check_libs=" -lcompface " cat > conftest.$ac_ext <<EOF -#line 7128 "configure" +#line 7058 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -7135,7 +7065,7 @@ UnGenFace() ; return 0; } EOF -if { (eval echo configure:7139: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:7069: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -7171,12 +7101,12 @@ echo $ac_n "checking for XawScrollbarSetThumb in -lXaw""... $ac_c" 1>&6 -echo "configure:7175: checking for XawScrollbarSetThumb in -lXaw" >&5 +echo "configure:7105: checking for XawScrollbarSetThumb in -lXaw" >&5 ac_lib_var=`echo Xaw'_'XawScrollbarSetThumb | sed 'y%./+-%__p_%'` xe_check_libs=" -lXaw " cat > conftest.$ac_ext <<EOF -#line 7180 "configure" +#line 7110 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -7187,7 +7117,7 @@ XawScrollbarSetThumb() ; return 0; } EOF -if { (eval echo configure:7191: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:7121: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -7211,15 +7141,15 @@ ac_safe=`echo "Xm/Xm.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for Xm/Xm.h""... $ac_c" 1>&6 -echo "configure:7215: checking for Xm/Xm.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 7218 "configure" +echo "configure:7145: checking for Xm/Xm.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 7148 "configure" #include "confdefs.h" #include <Xm/Xm.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:7223: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:7153: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -7236,12 +7166,12 @@ echo "$ac_t""yes" 1>&6 echo $ac_n "checking for XmStringFree in -lXm""... $ac_c" 1>&6 -echo "configure:7240: checking for XmStringFree in -lXm" >&5 +echo "configure:7170: checking for XmStringFree in -lXm" >&5 ac_lib_var=`echo Xm'_'XmStringFree | sed 'y%./+-%__p_%'` xe_check_libs=" -lXm " cat > conftest.$ac_ext <<EOF -#line 7245 "configure" +#line 7175 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -7252,7 +7182,7 @@ XmStringFree() ; return 0; } EOF -if { (eval echo configure:7256: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:7186: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -7281,9 +7211,9 @@ if test "$have_motif" = "yes"; then echo $ac_n "checking for Lesstif""... $ac_c" 1>&6 -echo "configure:7285: checking for Lesstif" >&5 +echo "configure:7215: checking for Lesstif" >&5 cat > conftest.$ac_ext <<EOF -#line 7287 "configure" +#line 7217 "configure" #include "confdefs.h" #include <Xm/Xm.h> #ifdef LESSTIF_VERSION @@ -7567,7 +7497,7 @@ if test "$with_mule" = "yes" ; then echo "checking for Mule-related features" 1>&6 -echo "configure:7571: checking for Mule-related features" >&5 +echo "configure:7501: checking for Mule-related features" >&5 { test "$extra_verbose" = "yes" && cat << \EOF Defining MULE EOF @@ -7592,15 +7522,15 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:7596: checking for $ac_hdr" >&5 - -cat > conftest.$ac_ext <<EOF -#line 7599 "configure" +echo "configure:7526: checking for $ac_hdr" >&5 + +cat > conftest.$ac_ext <<EOF +#line 7529 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:7604: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:7534: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -7631,12 +7561,12 @@ echo $ac_n "checking for strerror in -lintl""... $ac_c" 1>&6 -echo "configure:7635: checking for strerror in -lintl" >&5 +echo "configure:7565: checking for strerror in -lintl" >&5 ac_lib_var=`echo intl'_'strerror | sed 'y%./+-%__p_%'` xe_check_libs=" -lintl " cat > conftest.$ac_ext <<EOF -#line 7640 "configure" +#line 7570 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -7647,7 +7577,7 @@ strerror() ; return 0; } EOF -if { (eval echo configure:7651: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:7581: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -7680,19 +7610,19 @@ echo "checking for Mule input methods" 1>&6 -echo "configure:7684: checking for Mule input methods" >&5 +echo "configure:7614: checking for Mule input methods" >&5 case "$with_xim" in "" | "yes" ) echo "checking for XIM" 1>&6 -echo "configure:7687: checking for XIM" >&5 +echo "configure:7617: checking for XIM" >&5 if test "$have_lesstif" = "yes"; then with_xim=xlib else echo $ac_n "checking for XmImMbLookupString in -lXm""... $ac_c" 1>&6 -echo "configure:7691: checking for XmImMbLookupString in -lXm" >&5 +echo "configure:7621: checking for XmImMbLookupString in -lXm" >&5 ac_lib_var=`echo Xm'_'XmImMbLookupString | sed 'y%./+-%__p_%'` xe_check_libs=" -lXm " cat > conftest.$ac_ext <<EOF -#line 7696 "configure" +#line 7626 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -7703,7 +7633,7 @@ XmImMbLookupString() ; return 0; } EOF -if { (eval echo configure:7707: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:7637: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -7769,15 +7699,15 @@ if test "$with_xfs" = "yes" ; then echo "checking for XFontSet" 1>&6 -echo "configure:7773: checking for XFontSet" >&5 +echo "configure:7703: checking for XFontSet" >&5 echo $ac_n "checking for XmbDrawString in -lX11""... $ac_c" 1>&6 -echo "configure:7776: checking for XmbDrawString in -lX11" >&5 +echo "configure:7706: checking for XmbDrawString in -lX11" >&5 ac_lib_var=`echo X11'_'XmbDrawString | sed 'y%./+-%__p_%'` xe_check_libs=" -lX11 " cat > conftest.$ac_ext <<EOF -#line 7781 "configure" +#line 7711 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -7788,7 +7718,7 @@ XmbDrawString() ; return 0; } EOF -if { (eval echo configure:7792: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:7722: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -7828,15 +7758,15 @@ test "$with_wnn6" = "yes" && with_wnn=yes # wnn6 implies wnn support test -z "$with_wnn" && { ac_safe=`echo "wnn/jllib.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for wnn/jllib.h""... $ac_c" 1>&6 -echo "configure:7832: checking for wnn/jllib.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 7835 "configure" +echo "configure:7762: checking for wnn/jllib.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 7765 "configure" #include "confdefs.h" #include <wnn/jllib.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:7840: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:7770: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -7861,10 +7791,10 @@ for ac_func in crypt do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:7865: checking for $ac_func" >&5 - -cat > conftest.$ac_ext <<EOF -#line 7868 "configure" +echo "configure:7795: checking for $ac_func" >&5 + +cat > conftest.$ac_ext <<EOF +#line 7798 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -7887,7 +7817,7 @@ ; return 0; } EOF -if { (eval echo configure:7891: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:7821: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -7916,12 +7846,12 @@ test "$ac_cv_func_crypt" != "yes" && { echo $ac_n "checking for crypt in -lcrypt""... $ac_c" 1>&6 -echo "configure:7920: checking for crypt in -lcrypt" >&5 +echo "configure:7850: checking for crypt in -lcrypt" >&5 ac_lib_var=`echo crypt'_'crypt | sed 'y%./+-%__p_%'` xe_check_libs=" -lcrypt " cat > conftest.$ac_ext <<EOF -#line 7925 "configure" +#line 7855 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -7932,7 +7862,7 @@ crypt() ; return 0; } EOF -if { (eval echo configure:7936: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:7866: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -7966,12 +7896,12 @@ fi test -z "$with_wnn" && { echo $ac_n "checking for jl_dic_list_e in -lwnn""... $ac_c" 1>&6 -echo "configure:7970: checking for jl_dic_list_e in -lwnn" >&5 +echo "configure:7900: checking for jl_dic_list_e in -lwnn" >&5 ac_lib_var=`echo wnn'_'jl_dic_list_e | sed 'y%./+-%__p_%'` xe_check_libs=" -lwnn " cat > conftest.$ac_ext <<EOF -#line 7975 "configure" +#line 7905 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -7982,7 +7912,7 @@ jl_dic_list_e() ; return 0; } EOF -if { (eval echo configure:7986: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:7916: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -8020,12 +7950,12 @@ if test "$with_wnn6" != "no"; then echo $ac_n "checking for jl_fi_dic_list in -lwnn""... $ac_c" 1>&6 -echo "configure:8024: checking for jl_fi_dic_list in -lwnn" >&5 +echo "configure:7954: checking for jl_fi_dic_list in -lwnn" >&5 ac_lib_var=`echo wnn'_'jl_fi_dic_list | sed 'y%./+-%__p_%'` xe_check_libs=" -lwnn " cat > conftest.$ac_ext <<EOF -#line 8029 "configure" +#line 7959 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -8036,7 +7966,7 @@ jl_fi_dic_list() ; return 0; } EOF -if { (eval echo configure:8040: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:7970: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -8071,15 +8001,15 @@ if test "$with_canna" != "no"; then ac_safe=`echo "canna/jrkanji.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for canna/jrkanji.h""... $ac_c" 1>&6 -echo "configure:8075: checking for canna/jrkanji.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 8078 "configure" +echo "configure:8005: checking for canna/jrkanji.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 8008 "configure" #include "confdefs.h" #include <canna/jrkanji.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:8083: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:8013: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -8106,15 +8036,15 @@ c_switch_site="$c_switch_site -I/usr/local/canna/include" ac_safe=`echo "canna/jrkanji.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for canna/jrkanji.h""... $ac_c" 1>&6 -echo "configure:8110: checking for canna/jrkanji.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 8113 "configure" +echo "configure:8040: checking for canna/jrkanji.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 8043 "configure" #include "confdefs.h" #include <canna/jrkanji.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:8118: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:8048: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -8142,15 +8072,15 @@ test -z "$with_canna" && { ac_safe=`echo "canna/RK.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for canna/RK.h""... $ac_c" 1>&6 -echo "configure:8146: checking for canna/RK.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 8149 "configure" +echo "configure:8076: checking for canna/RK.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 8079 "configure" #include "confdefs.h" #include <canna/RK.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:8154: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:8084: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -8173,12 +8103,12 @@ } test -z "$with_canna" && { echo $ac_n "checking for RkBgnBun in -lRKC""... $ac_c" 1>&6 -echo "configure:8177: checking for RkBgnBun in -lRKC" >&5 +echo "configure:8107: checking for RkBgnBun in -lRKC" >&5 ac_lib_var=`echo RKC'_'RkBgnBun | sed 'y%./+-%__p_%'` xe_check_libs=" -lRKC " cat > conftest.$ac_ext <<EOF -#line 8182 "configure" +#line 8112 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -8189,7 +8119,7 @@ RkBgnBun() ; return 0; } EOF -if { (eval echo configure:8193: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:8123: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -8212,12 +8142,12 @@ } test -z "$with_canna" && { echo $ac_n "checking for jrKanjiControl in -lcanna""... $ac_c" 1>&6 -echo "configure:8216: checking for jrKanjiControl in -lcanna" >&5 +echo "configure:8146: checking for jrKanjiControl in -lcanna" >&5 ac_lib_var=`echo canna'_'jrKanjiControl | sed 'y%./+-%__p_%'` xe_check_libs=" -lcanna " cat > conftest.$ac_ext <<EOF -#line 8221 "configure" +#line 8151 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -8228,7 +8158,7 @@ jrKanjiControl() ; return 0; } EOF -if { (eval echo configure:8232: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:8162: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -8277,12 +8207,12 @@ libs_x="-lXm $libs_x" && if test "$extra_verbose" = "yes"; then echo " Prepending \"-lXm\" to \$libs_x"; fi echo $ac_n "checking for layout_object_getvalue in -li18n""... $ac_c" 1>&6 -echo "configure:8281: checking for layout_object_getvalue in -li18n" >&5 +echo "configure:8211: checking for layout_object_getvalue in -li18n" >&5 ac_lib_var=`echo i18n'_'layout_object_getvalue | sed 'y%./+-%__p_%'` xe_check_libs=" -li18n " cat > conftest.$ac_ext <<EOF -#line 8286 "configure" +#line 8216 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -8293,7 +8223,7 @@ layout_object_getvalue() ; return 0; } EOF -if { (eval echo configure:8297: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:8227: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -8379,10 +8309,10 @@ for ac_func in cbrt closedir dup2 eaccess fmod fpathconf frexp ftime gethostname getpagesize gettimeofday getcwd getwd logb lrand48 matherr mkdir mktime perror poll random rename res_init rint rmdir select setitimer setpgid setlocale setsid sigblock sighold sigprocmask snprintf strcasecmp strerror tzset ulimit usleep utimes waitpid vsnprintf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:8383: checking for $ac_func" >&5 - -cat > conftest.$ac_ext <<EOF -#line 8386 "configure" +echo "configure:8313: checking for $ac_func" >&5 + +cat > conftest.$ac_ext <<EOF +#line 8316 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -8405,7 +8335,7 @@ ; return 0; } EOF -if { (eval echo configure:8409: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:8339: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -8442,10 +8372,10 @@ for ac_func in realpath do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:8446: checking for $ac_func" >&5 - -cat > conftest.$ac_ext <<EOF -#line 8449 "configure" +echo "configure:8376: checking for $ac_func" >&5 + +cat > conftest.$ac_ext <<EOF +#line 8379 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -8468,7 +8398,7 @@ ; return 0; } EOF -if { (eval echo configure:8472: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:8402: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -8501,16 +8431,16 @@ esac echo $ac_n "checking whether netdb declares h_errno""... $ac_c" 1>&6 -echo "configure:8505: checking whether netdb declares h_errno" >&5 -cat > conftest.$ac_ext <<EOF -#line 8507 "configure" +echo "configure:8435: checking whether netdb declares h_errno" >&5 +cat > conftest.$ac_ext <<EOF +#line 8437 "configure" #include "confdefs.h" #include <netdb.h> int main() { return h_errno; ; return 0; } EOF -if { (eval echo configure:8514: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:8444: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* echo "$ac_t""yes" 1>&6 { test "$extra_verbose" = "yes" && cat << \EOF @@ -8530,16 +8460,16 @@ rm -f conftest* echo $ac_n "checking for sigsetjmp""... $ac_c" 1>&6 -echo "configure:8534: checking for sigsetjmp" >&5 -cat > conftest.$ac_ext <<EOF -#line 8536 "configure" +echo "configure:8464: checking for sigsetjmp" >&5 +cat > conftest.$ac_ext <<EOF +#line 8466 "configure" #include "confdefs.h" #include <setjmp.h> int main() { sigjmp_buf bar; sigsetjmp (bar, 0); ; return 0; } EOF -if { (eval echo configure:8543: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:8473: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* echo "$ac_t""yes" 1>&6 { test "$extra_verbose" = "yes" && cat << \EOF @@ -8559,11 +8489,11 @@ rm -f conftest* echo $ac_n "checking whether localtime caches TZ""... $ac_c" 1>&6 -echo "configure:8563: checking whether localtime caches TZ" >&5 +echo "configure:8493: checking whether localtime caches TZ" >&5 if test "$ac_cv_func_tzset" = "yes"; then cat > conftest.$ac_ext <<EOF -#line 8567 "configure" +#line 8497 "configure" #include "confdefs.h" #include <time.h> #if STDC_HEADERS @@ -8598,7 +8528,7 @@ exit (0); } EOF -if { (eval echo configure:8602: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:8532: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 then emacs_cv_localtime_cache=no else @@ -8628,9 +8558,9 @@ if test "$HAVE_TIMEVAL" = "yes"; then echo $ac_n "checking whether gettimeofday accepts one or two arguments""... $ac_c" 1>&6 -echo "configure:8632: checking whether gettimeofday accepts one or two arguments" >&5 -cat > conftest.$ac_ext <<EOF -#line 8634 "configure" +echo "configure:8562: checking whether gettimeofday accepts one or two arguments" >&5 +cat > conftest.$ac_ext <<EOF +#line 8564 "configure" #include "confdefs.h" #ifdef TIME_WITH_SYS_TIME @@ -8652,7 +8582,7 @@ ; return 0; } EOF -if { (eval echo configure:8656: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:8586: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* echo "$ac_t""two" 1>&6 else @@ -8674,19 +8604,19 @@ echo $ac_n "checking for inline""... $ac_c" 1>&6 -echo "configure:8678: checking for inline" >&5 +echo "configure:8608: checking for inline" >&5 ac_cv_c_inline=no for ac_kw in inline __inline__ __inline; do cat > conftest.$ac_ext <<EOF -#line 8683 "configure" +#line 8613 "configure" #include "confdefs.h" int main() { } $ac_kw foo() { ; return 0; } EOF -if { (eval echo configure:8690: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:8620: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_inline=$ac_kw; break else @@ -8736,17 +8666,17 @@ # The Ultrix 4.2 mips builtin alloca declared by alloca.h only works # for constant arguments. Useless! echo $ac_n "checking for working alloca.h""... $ac_c" 1>&6 -echo "configure:8740: checking for working alloca.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 8743 "configure" +echo "configure:8670: checking for working alloca.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 8673 "configure" #include "confdefs.h" #include <alloca.h> int main() { char *p = alloca(2 * sizeof(int)); ; return 0; } EOF -if { (eval echo configure:8750: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:8680: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* ac_cv_header_alloca_h=yes else @@ -8770,10 +8700,10 @@ fi echo $ac_n "checking for alloca""... $ac_c" 1>&6 -echo "configure:8774: checking for alloca" >&5 - -cat > conftest.$ac_ext <<EOF -#line 8777 "configure" +echo "configure:8704: checking for alloca" >&5 + +cat > conftest.$ac_ext <<EOF +#line 8707 "configure" #include "confdefs.h" #ifdef __GNUC__ @@ -8796,7 +8726,7 @@ char *p = (char *) alloca(1); ; return 0; } EOF -if { (eval echo configure:8800: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:8730: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* ac_cv_func_alloca_works=yes else @@ -8835,10 +8765,10 @@ echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6 -echo "configure:8839: checking whether alloca needs Cray hooks" >&5 - -cat > conftest.$ac_ext <<EOF -#line 8842 "configure" +echo "configure:8769: checking whether alloca needs Cray hooks" >&5 + +cat > conftest.$ac_ext <<EOF +#line 8772 "configure" #include "confdefs.h" #if defined(CRAY) && ! defined(CRAY2) webecray @@ -8862,10 +8792,10 @@ if test $ac_cv_os_cray = yes; then for ac_func in _getb67 GETB67 getb67; do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:8866: checking for $ac_func" >&5 - -cat > conftest.$ac_ext <<EOF -#line 8869 "configure" +echo "configure:8796: checking for $ac_func" >&5 + +cat > conftest.$ac_ext <<EOF +#line 8799 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -8888,7 +8818,7 @@ ; return 0; } EOF -if { (eval echo configure:8892: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:8822: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -8918,10 +8848,10 @@ fi echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6 -echo "configure:8922: checking stack direction for C alloca" >&5 - -cat > conftest.$ac_ext <<EOF -#line 8925 "configure" +echo "configure:8852: checking stack direction for C alloca" >&5 + +cat > conftest.$ac_ext <<EOF +#line 8855 "configure" #include "confdefs.h" find_stack_direction () { @@ -8940,7 +8870,7 @@ exit (find_stack_direction() < 0); } EOF -if { (eval echo configure:8944: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:8874: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 then ac_cv_c_stack_direction=1 else @@ -8969,15 +8899,15 @@ ac_safe=`echo "vfork.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for vfork.h""... $ac_c" 1>&6 -echo "configure:8973: checking for vfork.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 8976 "configure" +echo "configure:8903: checking for vfork.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 8906 "configure" #include "confdefs.h" #include <vfork.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:8981: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:8911: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -9005,10 +8935,10 @@ fi echo $ac_n "checking for working vfork""... $ac_c" 1>&6 -echo "configure:9009: checking for working vfork" >&5 - -cat > conftest.$ac_ext <<EOF -#line 9012 "configure" +echo "configure:8939: checking for working vfork" >&5 + +cat > conftest.$ac_ext <<EOF +#line 8942 "configure" #include "confdefs.h" /* Thanks to Paul Eggert for this test. */ #include <stdio.h> @@ -9103,7 +9033,7 @@ } } EOF -if { (eval echo configure:9107: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:9037: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 then ac_cv_func_vfork_works=yes else @@ -9129,10 +9059,10 @@ echo $ac_n "checking for working strcoll""... $ac_c" 1>&6 -echo "configure:9133: checking for working strcoll" >&5 - -cat > conftest.$ac_ext <<EOF -#line 9136 "configure" +echo "configure:9063: checking for working strcoll" >&5 + +cat > conftest.$ac_ext <<EOF +#line 9066 "configure" #include "confdefs.h" #include <string.h> main () @@ -9142,7 +9072,7 @@ strcoll ("123", "456") >= 0); } EOF -if { (eval echo configure:9146: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:9076: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 then ac_cv_func_strcoll_works=yes else @@ -9170,10 +9100,10 @@ for ac_func in getpgrp do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:9174: checking for $ac_func" >&5 - -cat > conftest.$ac_ext <<EOF -#line 9177 "configure" +echo "configure:9104: checking for $ac_func" >&5 + +cat > conftest.$ac_ext <<EOF +#line 9107 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -9196,7 +9126,7 @@ ; return 0; } EOF -if { (eval echo configure:9200: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:9130: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -9224,10 +9154,10 @@ done echo $ac_n "checking whether getpgrp takes no argument""... $ac_c" 1>&6 -echo "configure:9228: checking whether getpgrp takes no argument" >&5 - -cat > conftest.$ac_ext <<EOF -#line 9231 "configure" +echo "configure:9158: checking whether getpgrp takes no argument" >&5 + +cat > conftest.$ac_ext <<EOF +#line 9161 "configure" #include "confdefs.h" /* @@ -9282,7 +9212,7 @@ } EOF -if { (eval echo configure:9286: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:9216: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 then ac_cv_func_getpgrp_void=yes else @@ -9309,10 +9239,10 @@ echo $ac_n "checking for working mmap""... $ac_c" 1>&6 -echo "configure:9313: checking for working mmap" >&5 +echo "configure:9243: checking for working mmap" >&5 case "$opsys" in ultrix* ) have_mmap=no ;; *) cat > conftest.$ac_ext <<EOF -#line 9316 "configure" +#line 9246 "configure" #include "confdefs.h" #include <stdio.h> #include <unistd.h> @@ -9345,7 +9275,7 @@ return 1; } EOF -if { (eval echo configure:9349: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:9279: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 then have_mmap=yes else @@ -9380,15 +9310,15 @@ ac_safe=`echo "termios.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for termios.h""... $ac_c" 1>&6 -echo "configure:9384: checking for termios.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 9387 "configure" +echo "configure:9314: checking for termios.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 9317 "configure" #include "confdefs.h" #include <termios.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:9392: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:9322: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -9431,15 +9361,15 @@ echo "$ac_t""no" 1>&6 ac_safe=`echo "termio.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for termio.h""... $ac_c" 1>&6 -echo "configure:9435: checking for termio.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 9438 "configure" +echo "configure:9365: checking for termio.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 9368 "configure" #include "confdefs.h" #include <termio.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:9443: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:9373: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -9471,10 +9401,10 @@ echo $ac_n "checking for socket""... $ac_c" 1>&6 -echo "configure:9475: checking for socket" >&5 - -cat > conftest.$ac_ext <<EOF -#line 9478 "configure" +echo "configure:9405: checking for socket" >&5 + +cat > conftest.$ac_ext <<EOF +#line 9408 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char socket(); below. */ @@ -9497,7 +9427,7 @@ ; return 0; } EOF -if { (eval echo configure:9501: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:9431: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_socket=yes" else @@ -9512,15 +9442,15 @@ echo "$ac_t""yes" 1>&6 ac_safe=`echo "netinet/in.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for netinet/in.h""... $ac_c" 1>&6 -echo "configure:9516: checking for netinet/in.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 9519 "configure" +echo "configure:9446: checking for netinet/in.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 9449 "configure" #include "confdefs.h" #include <netinet/in.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:9524: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:9454: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -9537,15 +9467,15 @@ echo "$ac_t""yes" 1>&6 ac_safe=`echo "arpa/inet.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for arpa/inet.h""... $ac_c" 1>&6 -echo "configure:9541: checking for arpa/inet.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 9544 "configure" +echo "configure:9471: checking for arpa/inet.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 9474 "configure" #include "confdefs.h" #include <arpa/inet.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:9549: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:9479: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -9570,9 +9500,9 @@ } echo $ac_n "checking "for sun_len member in struct sockaddr_un"""... $ac_c" 1>&6 -echo "configure:9574: checking "for sun_len member in struct sockaddr_un"" >&5 +echo "configure:9504: checking "for sun_len member in struct sockaddr_un"" >&5 cat > conftest.$ac_ext <<EOF -#line 9576 "configure" +#line 9506 "configure" #include "confdefs.h" #include <sys/types.h> @@ -9583,7 +9513,7 @@ static struct sockaddr_un x; x.sun_len = 1; ; return 0; } EOF -if { (eval echo configure:9587: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:9517: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* echo "$ac_t""yes" 1>&6; { test "$extra_verbose" = "yes" && cat << \EOF Defining HAVE_SOCKADDR_SUN_LEN @@ -9601,9 +9531,9 @@ fi rm -f conftest* echo $ac_n "checking "for ip_mreq struct in netinet/in.h"""... $ac_c" 1>&6 -echo "configure:9605: checking "for ip_mreq struct in netinet/in.h"" >&5 +echo "configure:9535: checking "for ip_mreq struct in netinet/in.h"" >&5 cat > conftest.$ac_ext <<EOF -#line 9607 "configure" +#line 9537 "configure" #include "confdefs.h" #include <sys/types.h> @@ -9613,7 +9543,7 @@ static struct ip_mreq x; ; return 0; } EOF -if { (eval echo configure:9617: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:9547: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* echo "$ac_t""yes" 1>&6; { test "$extra_verbose" = "yes" && cat << \EOF Defining HAVE_MULTICAST @@ -9644,10 +9574,10 @@ echo $ac_n "checking for msgget""... $ac_c" 1>&6 -echo "configure:9648: checking for msgget" >&5 - -cat > conftest.$ac_ext <<EOF -#line 9651 "configure" +echo "configure:9578: checking for msgget" >&5 + +cat > conftest.$ac_ext <<EOF +#line 9581 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char msgget(); below. */ @@ -9670,7 +9600,7 @@ ; return 0; } EOF -if { (eval echo configure:9674: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:9604: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_msgget=yes" else @@ -9685,15 +9615,15 @@ echo "$ac_t""yes" 1>&6 ac_safe=`echo "sys/ipc.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for sys/ipc.h""... $ac_c" 1>&6 -echo "configure:9689: checking for sys/ipc.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 9692 "configure" +echo "configure:9619: checking for sys/ipc.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 9622 "configure" #include "confdefs.h" #include <sys/ipc.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:9697: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:9627: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -9710,15 +9640,15 @@ echo "$ac_t""yes" 1>&6 ac_safe=`echo "sys/msg.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for sys/msg.h""... $ac_c" 1>&6 -echo "configure:9714: checking for sys/msg.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 9717 "configure" +echo "configure:9644: checking for sys/msg.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 9647 "configure" #include "confdefs.h" #include <sys/msg.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:9722: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:9652: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -9756,15 +9686,15 @@ ac_safe=`echo "dirent.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for dirent.h""... $ac_c" 1>&6 -echo "configure:9760: checking for dirent.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 9763 "configure" +echo "configure:9690: checking for dirent.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 9693 "configure" #include "confdefs.h" #include <dirent.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:9768: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:9698: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -9791,15 +9721,15 @@ echo "$ac_t""no" 1>&6 ac_safe=`echo "sys/dir.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for sys/dir.h""... $ac_c" 1>&6 -echo "configure:9795: checking for sys/dir.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 9798 "configure" +echo "configure:9725: checking for sys/dir.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 9728 "configure" #include "confdefs.h" #include <sys/dir.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:9803: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:9733: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -9832,15 +9762,15 @@ ac_safe=`echo "nlist.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for nlist.h""... $ac_c" 1>&6 -echo "configure:9836: checking for nlist.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 9839 "configure" +echo "configure:9766: checking for nlist.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 9769 "configure" #include "confdefs.h" #include <nlist.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:9844: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:9774: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -9870,7 +9800,7 @@ echo "checking "for sound support"" 1>&6 -echo "configure:9874: checking "for sound support"" >&5 +echo "configure:9804: checking "for sound support"" >&5 case "$with_sound" in native | both ) with_native_sound=yes;; nas | no ) with_native_sound=no;; @@ -9881,15 +9811,15 @@ if test -n "$native_sound_lib"; then ac_safe=`echo "multimedia/audio_device.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for multimedia/audio_device.h""... $ac_c" 1>&6 -echo "configure:9885: checking for multimedia/audio_device.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 9888 "configure" +echo "configure:9815: checking for multimedia/audio_device.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 9818 "configure" #include "confdefs.h" #include <multimedia/audio_device.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:9893: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:9823: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -9937,12 +9867,12 @@ if test -z "$native_sound_lib"; then echo $ac_n "checking for ALopenport in -laudio""... $ac_c" 1>&6 -echo "configure:9941: checking for ALopenport in -laudio" >&5 +echo "configure:9871: checking for ALopenport in -laudio" >&5 ac_lib_var=`echo audio'_'ALopenport | sed 'y%./+-%__p_%'` xe_check_libs=" -laudio " cat > conftest.$ac_ext <<EOF -#line 9946 "configure" +#line 9876 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -9953,7 +9883,7 @@ ALopenport() ; return 0; } EOF -if { (eval echo configure:9957: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:9887: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -9984,12 +9914,12 @@ if test -z "$native_sound_lib"; then echo $ac_n "checking for AOpenAudio in -lAlib""... $ac_c" 1>&6 -echo "configure:9988: checking for AOpenAudio in -lAlib" >&5 +echo "configure:9918: checking for AOpenAudio in -lAlib" >&5 ac_lib_var=`echo Alib'_'AOpenAudio | sed 'y%./+-%__p_%'` xe_check_libs=" -lAlib " cat > conftest.$ac_ext <<EOF -#line 9993 "configure" +#line 9923 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -10000,7 +9930,7 @@ AOpenAudio() ; return 0; } EOF -if { (eval echo configure:10004: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:9934: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -10038,15 +9968,15 @@ for dir in "machine" "sys" "linux"; do ac_safe=`echo "${dir}/soundcard.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for ${dir}/soundcard.h""... $ac_c" 1>&6 -echo "configure:10042: checking for ${dir}/soundcard.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 10045 "configure" +echo "configure:9972: checking for ${dir}/soundcard.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 9975 "configure" #include "confdefs.h" #include <${dir}/soundcard.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:10050: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:9980: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -10116,7 +10046,7 @@ fi libs_x="-laudio $libs_x" && if test "$extra_verbose" = "yes"; then echo " Prepending \"-laudio\" to \$libs_x"; fi cat > conftest.$ac_ext <<EOF -#line 10120 "configure" +#line 10050 "configure" #include "confdefs.h" #include <audio/Xtutil.h> EOF @@ -10143,7 +10073,7 @@ if test "$with_tty" = "yes" ; then echo "checking for TTY-related features" 1>&6 -echo "configure:10147: checking for TTY-related features" >&5 +echo "configure:10077: checking for TTY-related features" >&5 { test "$extra_verbose" = "yes" && cat << \EOF Defining HAVE_TTY EOF @@ -10159,12 +10089,12 @@ if test -z "$with_ncurses"; then echo $ac_n "checking for tgetent in -lncurses""... $ac_c" 1>&6 -echo "configure:10163: checking for tgetent in -lncurses" >&5 +echo "configure:10093: checking for tgetent in -lncurses" >&5 ac_lib_var=`echo ncurses'_'tgetent | sed 'y%./+-%__p_%'` xe_check_libs=" -lncurses " cat > conftest.$ac_ext <<EOF -#line 10168 "configure" +#line 10098 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -10175,7 +10105,7 @@ tgetent() ; return 0; } EOF -if { (eval echo configure:10179: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:10109: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -10208,15 +10138,15 @@ ac_safe=`echo "ncurses/curses.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for ncurses/curses.h""... $ac_c" 1>&6 -echo "configure:10212: checking for ncurses/curses.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 10215 "configure" +echo "configure:10142: checking for ncurses/curses.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 10145 "configure" #include "confdefs.h" #include <ncurses/curses.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:10220: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:10150: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -10238,15 +10168,15 @@ ac_safe=`echo "ncurses/term.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for ncurses/term.h""... $ac_c" 1>&6 -echo "configure:10242: checking for ncurses/term.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 10245 "configure" +echo "configure:10172: checking for ncurses/term.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 10175 "configure" #include "confdefs.h" #include <ncurses/term.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:10250: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:10180: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -10276,15 +10206,15 @@ c_switch_site="$c_switch_site -I/usr/include/ncurses" ac_safe=`echo "ncurses/curses.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for ncurses/curses.h""... $ac_c" 1>&6 -echo "configure:10280: checking for ncurses/curses.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 10283 "configure" +echo "configure:10210: checking for ncurses/curses.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 10213 "configure" #include "confdefs.h" #include <ncurses/curses.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:10288: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:10218: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -10319,12 +10249,12 @@ for lib in curses termlib termcap; do echo $ac_n "checking for tgetent in -l$lib""... $ac_c" 1>&6 -echo "configure:10323: checking for tgetent in -l$lib" >&5 +echo "configure:10253: checking for tgetent in -l$lib" >&5 ac_lib_var=`echo $lib'_'tgetent | sed 'y%./+-%__p_%'` xe_check_libs=" -l$lib " cat > conftest.$ac_ext <<EOF -#line 10328 "configure" +#line 10258 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -10335,7 +10265,7 @@ tgetent() ; return 0; } EOF -if { (eval echo configure:10339: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:10269: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -10366,12 +10296,12 @@ else echo $ac_n "checking for tgetent in -lcurses""... $ac_c" 1>&6 -echo "configure:10370: checking for tgetent in -lcurses" >&5 +echo "configure:10300: checking for tgetent in -lcurses" >&5 ac_lib_var=`echo curses'_'tgetent | sed 'y%./+-%__p_%'` xe_check_libs=" -lcurses " cat > conftest.$ac_ext <<EOF -#line 10375 "configure" +#line 10305 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -10382,7 +10312,7 @@ tgetent() ; return 0; } EOF -if { (eval echo configure:10386: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:10316: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -10400,12 +10330,12 @@ else echo "$ac_t""no" 1>&6 echo $ac_n "checking for tgetent in -ltermcap""... $ac_c" 1>&6 -echo "configure:10404: checking for tgetent in -ltermcap" >&5 +echo "configure:10334: checking for tgetent in -ltermcap" >&5 ac_lib_var=`echo termcap'_'tgetent | sed 'y%./+-%__p_%'` xe_check_libs=" -ltermcap " cat > conftest.$ac_ext <<EOF -#line 10409 "configure" +#line 10339 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -10416,7 +10346,7 @@ tgetent() ; return 0; } EOF -if { (eval echo configure:10420: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:10350: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -10464,15 +10394,15 @@ test -z "$with_gpm" && { ac_safe=`echo "gpm.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for gpm.h""... $ac_c" 1>&6 -echo "configure:10468: checking for gpm.h" >&5 - -cat > conftest.$ac_ext <<EOF -#line 10471 "configure" +echo "configure:10398: checking for gpm.h" >&5 + +cat > conftest.$ac_ext <<EOF +#line 10401 "configure" #include "confdefs.h" #include <gpm.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:10476: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:10406: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -10495,12 +10425,12 @@ } test -z "$with_gpm" && { echo $ac_n "checking for Gpm_Open in -lgpm""... $ac_c" 1>&6 -echo "configure:10499: checking for Gpm_Open in -lgpm" >&5 +echo "configure:10429: checking for Gpm_Open in -lgpm" >&5 ac_lib_var=`echo gpm'_'Gpm_Open | sed 'y%./+-%__p_%'` xe_check_libs=" -lgpm " cat > conftest.$ac_ext <<EOF -#line 10504 "configure" +#line 10434 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -10511,7 +10441,7 @@ Gpm_Open() ; return 0; } EOF -if { (eval echo configure:10515: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:10445: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -10560,22 +10490,22 @@ echo "checking for database support" 1>&6 -echo "configure:10564: checking for database support" >&5 +echo "configure:10494: checking for database support" >&5 if test "$with_database_gnudbm" != "no"; then for ac_hdr in ndbm.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:10571: checking for $ac_hdr" >&5 - -cat > conftest.$ac_ext <<EOF -#line 10574 "configure" +echo "configure:10501: checking for $ac_hdr" >&5 + +cat > conftest.$ac_ext <<EOF +#line 10504 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:10579: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:10509: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -10607,12 +10537,12 @@ if test "$have_ndbm_h" = "yes"; then echo $ac_n "checking for dbm_open in -lgdbm""... $ac_c" 1>&6 -echo "configure:10611: checking for dbm_open in -lgdbm" >&5 +echo "configure:10541: checking for dbm_open in -lgdbm" >&5 ac_lib_var=`echo gdbm'_'dbm_open | sed 'y%./+-%__p_%'` xe_check_libs=" -lgdbm " cat > conftest.$ac_ext <<EOF -#line 10616 "configure" +#line 10546 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -10623,7 +10553,7 @@ dbm_open() ; return 0; } EOF -if { (eval echo configure:10627: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:10557: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -10646,10 +10576,10 @@ fi if test "$with_database_gnudbm" != "yes"; then echo $ac_n "checking for dbm_open""... $ac_c" 1>&6 -echo "configure:10650: checking for dbm_open" >&5 - -cat > conftest.$ac_ext <<EOF -#line 10653 "configure" +echo "configure:10580: checking for dbm_open" >&5 + +cat > conftest.$ac_ext <<EOF +#line 10583 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char dbm_open(); below. */ @@ -10672,7 +10602,7 @@ ; return 0; } EOF -if { (eval echo configure:10676: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:10606: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_dbm_open=yes" else @@ -10708,10 +10638,10 @@ if test "$with_database_dbm" != "no"; then echo $ac_n "checking for dbm_open""... $ac_c" 1>&6 -echo "configure:10712: checking for dbm_open" >&5 - -cat > conftest.$ac_ext <<EOF -#line 10715 "configure" +echo "configure:10642: checking for dbm_open" >&5 + +cat > conftest.$ac_ext <<EOF +#line 10645 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char dbm_open(); below. */ @@ -10734,7 +10664,7 @@ ; return 0; } EOF -if { (eval echo configure:10738: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:10668: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_dbm_open=yes" else @@ -10755,12 +10685,12 @@ if test "$need_libdbm" != "no"; then echo $ac_n "checking for dbm_open in -ldbm""... $ac_c" 1>&6 -echo "configure:10759: checking for dbm_open in -ldbm" >&5 +echo "configure:10689: checking for dbm_open in -ldbm" >&5 ac_lib_var=`echo dbm'_'dbm_open | sed 'y%./+-%__p_%'` xe_check_libs=" -ldbm " cat > conftest.$ac_ext <<EOF -#line 10764 "configure" +#line 10694 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -10771,7 +10701,7 @@ dbm_open() ; return 0; } EOF -if { (eval echo configure:10775: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:10705: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -10808,10 +10738,10 @@ if test "$with_database_berkdb" != "no"; then echo $ac_n "checking for Berkeley db.h""... $ac_c" 1>&6 -echo "configure:10812: checking for Berkeley db.h" >&5 +echo "configure:10742: checking for Berkeley db.h" >&5 for path in "db/db.h" "db.h"; do cat > conftest.$ac_ext <<EOF -#line 10815 "configure" +#line 10745 "configure" #include "confdefs.h" #ifdef HAVE_INTTYPES_H #define __BIT_TYPES_DEFINED__ @@ -10829,7 +10759,7 @@ ; return 0; } EOF -if { (eval echo configure:10833: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:10763: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* db_h_path="$path"; break else @@ -10845,9 +10775,9 @@ if test "$with_database_berkdb" != "no"; then echo $ac_n "checking for Berkeley DB version""... $ac_c" 1>&6 -echo "configure:10849: checking for Berkeley DB version" >&5 +echo "configure:10779: checking for Berkeley DB version" >&5 cat > conftest.$ac_ext <<EOF -#line 10851 "configure" +#line 10781 "configure" #include "confdefs.h" #include <$db_h_path> #if DB_VERSION_MAJOR > 1 @@ -10866,10 +10796,10 @@ rm -f conftest* echo $ac_n "checking for $dbfunc""... $ac_c" 1>&6 -echo "configure:10870: checking for $dbfunc" >&5 - -cat > conftest.$ac_ext <<EOF -#line 10873 "configure" +echo "configure:10800: checking for $dbfunc" >&5 + +cat > conftest.$ac_ext <<EOF +#line 10803 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $dbfunc(); below. */ @@ -10892,7 +10822,7 @@ ; return 0; } EOF -if { (eval echo configure:10896: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:10826: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$dbfunc=yes" else @@ -10911,12 +10841,12 @@ echo $ac_n "checking for $dbfunc in -ldb""... $ac_c" 1>&6 -echo "configure:10915: checking for $dbfunc in -ldb" >&5 +echo "configure:10845: checking for $dbfunc in -ldb" >&5 ac_lib_var=`echo db'_'$dbfunc | sed 'y%./+-%__p_%'` xe_check_libs=" -ldb " cat > conftest.$ac_ext <<EOF -#line 10920 "configure" +#line 10850 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -10927,7 +10857,7 @@ $dbfunc() ; return 0; } EOF -if { (eval echo configure:10931: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:10861: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -10991,12 +10921,12 @@ if test "$with_socks" = "yes"; then echo $ac_n "checking for SOCKSinit in -lsocks""... $ac_c" 1>&6 -echo "configure:10995: checking for SOCKSinit in -lsocks" >&5 +echo "configure:10925: checking for SOCKSinit in -lsocks" >&5 ac_lib_var=`echo socks'_'SOCKSinit | sed 'y%./+-%__p_%'` xe_check_libs=" -lsocks " cat > conftest.$ac_ext <<EOF -#line 11000 "configure" +#line 10930 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -11007,7 +10937,7 @@ SOCKSinit() ; return 0; } EOF -if { (eval echo configure:11011: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:10941: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -11064,15 +10994,15 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:11068: checking for $ac_hdr" >&5 - -cat > conftest.$ac_ext <<EOF -#line 11071 "configure" +echo "configure:10998: checking for $ac_hdr" >&5 + +cat > conftest.$ac_ext <<EOF +#line 11001 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:11076: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:11006: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then rm -rf conftest* @@ -11103,12 +11033,12 @@ test -z "$with_shlib" && test ! -z "$have_dlfcn" && { echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6 -echo "configure:11107: checking for dlopen in -ldl" >&5 +echo "configure:11037: checking for dlopen in -ldl" >&5 ac_lib_var=`echo dl'_'dlopen | sed 'y%./+-%__p_%'` xe_check_libs=" -ldl " cat > conftest.$ac_ext <<EOF -#line 11112 "configure" +#line 11042 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -11119,7 +11049,7 @@ dlopen() ; return 0; } EOF -if { (eval echo configure:11123: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:11053: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -11148,12 +11078,12 @@ } test -z "$with_shlib" && test ! -z "$have_dlfcn" && { echo $ac_n "checking for _dlopen in -lc""... $ac_c" 1>&6 -echo "configure:11152: checking for _dlopen in -lc" >&5 +echo "configure:11082: checking for _dlopen in -lc" >&5 ac_lib_var=`echo c'_'_dlopen | sed 'y%./+-%__p_%'` xe_check_libs=" -lc " cat > conftest.$ac_ext <<EOF -#line 11157 "configure" +#line 11087 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -11164,7 +11094,7 @@ _dlopen() ; return 0; } EOF -if { (eval echo configure:11168: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:11098: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -11193,12 +11123,12 @@ } test -z "$with_shlib" && test ! -z "$have_dlfcn" && { echo $ac_n "checking for dlopen in -lc""... $ac_c" 1>&6 -echo "configure:11197: checking for dlopen in -lc" >&5 +echo "configure:11127: checking for dlopen in -lc" >&5 ac_lib_var=`echo c'_'dlopen | sed 'y%./+-%__p_%'` xe_check_libs=" -lc " cat > conftest.$ac_ext <<EOF -#line 11202 "configure" +#line 11132 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -11209,7 +11139,7 @@ dlopen() ; return 0; } EOF -if { (eval echo configure:11213: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:11143: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -11238,12 +11168,12 @@ } test -z "$with_shlib" && { echo $ac_n "checking for shl_load in -ldld""... $ac_c" 1>&6 -echo "configure:11242: checking for shl_load in -ldld" >&5 +echo "configure:11172: checking for shl_load in -ldld" >&5 ac_lib_var=`echo dld'_'shl_load | sed 'y%./+-%__p_%'` xe_check_libs=" -ldld " cat > conftest.$ac_ext <<EOF -#line 11247 "configure" +#line 11177 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -11254,7 +11184,7 @@ shl_load() ; return 0; } EOF -if { (eval echo configure:11258: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:11188: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -11283,12 +11213,12 @@ } test -z "$with_shlib" && { echo $ac_n "checking for dld_init in -ldld""... $ac_c" 1>&6 -echo "configure:11287: checking for dld_init in -ldld" >&5 +echo "configure:11217: checking for dld_init in -ldld" >&5 ac_lib_var=`echo dld'_'dld_init | sed 'y%./+-%__p_%'` xe_check_libs=" -ldld " cat > conftest.$ac_ext <<EOF -#line 11292 "configure" +#line 11222 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -11299,7 +11229,7 @@ dld_init() ; return 0; } EOF -if { (eval echo configure:11303: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:11233: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -11349,7 +11279,7 @@ dll_oflags="-o " echo $ac_n "checking how to build a shared library""... $ac_c" 1>&6 -echo "configure:11353: checking how to build a shared library" >&5 +echo "configure:11283: checking how to build a shared library" >&5 case `uname -rs` in UNIX_SV*|UNIX_System_V*) dll_lflags="-G" @@ -11440,10 +11370,10 @@ for ac_func in dlerror do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:11444: checking for $ac_func" >&5 - -cat > conftest.$ac_ext <<EOF -#line 11447 "configure" +echo "configure:11374: checking for $ac_func" >&5 + +cat > conftest.$ac_ext <<EOF +#line 11377 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -11466,7 +11396,7 @@ ; return 0; } EOF -if { (eval echo configure:11470: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:11400: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -11502,11 +11432,11 @@ fi cat > conftest.$ac_ext <<EOF -#line 11506 "configure" +#line 11436 "configure" #include "confdefs.h" int main(int c,char *v[]){return 0;} EOF -if { (eval echo configure:11510: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:11440: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 then : else @@ -12067,15 +11997,25 @@ elif test "$with_x11" = yes; then echo " --------------------------------------------------------------------" echo " WARNING: Compiling without XPM support." - echo " WARNING: You should strongly considering installing XPM." + echo " WARNING: You should strongly consider installing XPM." echo " WARNING: Otherwise toolbars and other graphics will look suboptimal." + echo " WARNING: (a copy may be found at ftp://ftp.xemacs.org/pub/xemacs/aux)" + echo " --------------------------------------------------------------------" +fi +if test "$with_png" = yes; then + echo " Compiling in support for PNG image handling." +else + echo " --------------------------------------------------------------------" + echo " WARNING: Compiling without PNG image support." + echo " WARNING: You should strongly consider installing the PNG libraries." + echo " WARNING: Otherwise certain images and glyphs may not display." + echo " WARNING: (a copy may be found at ftp://ftp.xemacs.org/pub/xemacs/aux)" echo " --------------------------------------------------------------------" fi test "$with_xface" = yes && echo " Compiling in support for X-Face message headers." -test "$with_gif" = yes && echo " Compiling in support for GIF image conversion." -test "$with_jpeg" = yes && echo " Compiling in support for JPEG image conversion." -test "$with_png" = yes && echo " Compiling in support for PNG image conversion." -test "$with_tiff" = yes && echo " Compiling in support for TIFF image conversion." +test "$with_gif" = yes && echo " Compiling in support for (builtin) GIF image handling." +test "$with_jpeg" = yes && echo " Compiling in support for JPEG image handling." +test "$with_tiff" = yes && echo " Compiling in support for TIFF image handling." case "$with_sound" in nas ) echo " Compiling in network sound (NAS) support." ;; native ) echo " Compiling in native sound support." ;;
--- a/configure.in Mon Aug 13 10:41:59 2007 +0200 +++ b/configure.in Mon Aug 13 10:42:44 2007 +0200 @@ -1918,7 +1918,7 @@ AC_MSG_CHECKING("for runtime libraries flag") case "$opsys" in sol2 ) dash_r="-R" ;; - decosf* | linux* ) dash_r="-rpath" ;; + decosf* | linux* ) dash_r="-rpath " ;; *) dash_r="" for try_dash_r in "-R" "-R " "-rpath "; do @@ -2722,6 +2722,15 @@ fi fi + dnl For a brief period we had the GIF code split out into a separate library, + dnl but patent problems, etc. sort of squashed that idea. + dnl We default to building with builtin GIF decoding + if test "$with_gif" != "no"; then + with_gif="yes" + AC_DEFINE(HAVE_GIF) + XE_ADD_OBJS(dgif_lib.o gif_io.o) + fi + dnl Too many stupid linkers can't detect cascaded lib dependencies until runtime dnl So we always search for libz compression support. if test "$with_png $with_tiff" != "no no"; then @@ -2730,16 +2739,6 @@ AC_CHECK_LIB(gz, inflate, [XE_PREPEND(-lgz, libs_x)])])]) fi - dnl Autodetect GIFlib - AC_MSG_CHECKING(for gifreader) - test -z "$with_gif" && { AC_CHECK_HEADER(gifrlib.h, ,with_gif=no) } - test -z "$with_gif" && { AC_CHECK_LIB(gifreader, GetGifError,[:] ,with_gif=no) } - test -z "$with_gif" && with_gif=yes - if test "$with_gif" = "yes"; then - AC_DEFINE(HAVE_GIF) - XE_PREPEND(-lgifreader, libs_x) - fi - dnl autodetect JPEG test -z "$with_jpeg" && { AC_CHECK_HEADER(jpeglib.h, ,with_jpeg=no) } test -z "$with_jpeg" && { AC_CHECK_LIB(jpeg, jpeg_destroy_decompress,[:],with_jpeg=no) } @@ -2751,10 +2750,10 @@ dnl autodetect PNG if test -z "$with_png"; then - AC_MSG_CHECKING(for png.h - no older than 0.96) + AC_MSG_CHECKING(for png.h - no older than 1.02) AC_EGREP_CPP(yes, [#include <png.h> -#if PNG_LIBPNG_VER >= 96 +#if PNG_LIBPNG_VER >= 10002 yes #endif ], [AC_MSG_RESULT(yes)], [AC_MSG_RESULT(no); with_png=no]) @@ -2778,7 +2777,7 @@ fi dnl ---------------------- -dnl Graphics libraries +dnl X-Specific Graphics libraries dnl ---------------------- if test "$with_x11" = "yes"; then @@ -3925,15 +3924,25 @@ elif test "$with_x11" = yes; then echo " --------------------------------------------------------------------" echo " WARNING: Compiling without XPM support." - echo " WARNING: You should strongly considering installing XPM." + echo " WARNING: You should strongly consider installing XPM." echo " WARNING: Otherwise toolbars and other graphics will look suboptimal." + echo " WARNING: (a copy may be found at ftp://ftp.xemacs.org/pub/xemacs/aux)" + echo " --------------------------------------------------------------------" +fi +if test "$with_png" = yes; then + echo " Compiling in support for PNG image handling." +else + echo " --------------------------------------------------------------------" + echo " WARNING: Compiling without PNG image support." + echo " WARNING: You should strongly consider installing the PNG libraries." + echo " WARNING: Otherwise certain images and glyphs may not display." + echo " WARNING: (a copy may be found at ftp://ftp.xemacs.org/pub/xemacs/aux)" echo " --------------------------------------------------------------------" fi test "$with_xface" = yes && echo " Compiling in support for X-Face message headers." -test "$with_gif" = yes && echo " Compiling in support for GIF image conversion." -test "$with_jpeg" = yes && echo " Compiling in support for JPEG image conversion." -test "$with_png" = yes && echo " Compiling in support for PNG image conversion." -test "$with_tiff" = yes && echo " Compiling in support for TIFF image conversion." +test "$with_gif" = yes && echo " Compiling in support for (builtin) GIF image handling." +test "$with_jpeg" = yes && echo " Compiling in support for JPEG image handling." +test "$with_tiff" = yes && echo " Compiling in support for TIFF image handling." case "$with_sound" in nas ) echo " Compiling in network sound (NAS) support." ;; native ) echo " Compiling in native sound support." ;;
--- a/configure.usage Mon Aug 13 10:41:59 2007 +0200 +++ b/configure.usage Mon Aug 13 10:42:44 2007 +0200 @@ -97,9 +97,8 @@ --with-xface (*) Compile with support for X-Face mail header conversion. Requires the compface library. Get it from the XEmacs FTP site. ---with-gif (*) Compile with support for GIF image conversion. - Requires GifLib 3.1 or greater. Get it from - the XEmacs FTP site. +--without-gif Compile without the built-in support for GIF image + conversion. --with-jpeg (*) Compile with support for JPEG image conversion. Requires libjpeg from the Independent JPEG Group. Get it from the XEmacs FTP site.
--- a/etc/NEWS Mon Aug 13 10:41:59 2007 +0200 +++ b/etc/NEWS Mon Aug 13 10:42:44 2007 +0200 @@ -306,6 +306,13 @@ to their .emacs file to get version control functionality. +** The EDiff menus are no longer included in the default menubar. +Users must add: + +(require 'ediff-hook) + +to their .emacs file to get the menus. + ** An experimental version of dynamic linking is supported. There is no documentation and we are making no guarantees about what
--- a/etc/TUTORIAL.de Mon Aug 13 10:41:59 2007 +0200 +++ b/etc/TUTORIAL.de Mon Aug 13 10:42:44 2007 +0200 @@ -110,7 +110,7 @@ Nun versuche ein weiteres C-f um in die nächste Zeile zu gelangen. Wenn Du Dich am Anfang oder Ende aus dem Bildschirm bewegst, schiebt -sich der Text ins Blickfeld. Diesen Vorgang nennt man rollen oder +sich der Text ins Blickfeld. Diesen Vorgang nennt man Rollen oder "scrolling". Er erlaubt Emacs den Textzeiger an die gewünschte Stelle zu bringen, ohne ihn aus dem Bildschirmfenster zu bewegen. @@ -148,9 +148,9 @@ für Satz weiterbewegen. Obwohl sich ihr Verhalten unterscheidet, erscheint es natürlich. -Die Stelle des Textzeigers im Text wird auch "Punkt" genannt. Der -Textzeiger auf dem Bildschirm zeigt an welchem Punkt im Text sich -dieser befindet. +Die Stelle des Textzeigers im Text wird auch Punkt oder "point" +genannt. Der Textzeiger auf dem Bildschirm zeigt an welchem Punkt im +Text sich dieser befindet. Hier ist eine Zusammenfassung der einfachen Befehle zur Bewegung des Textzeigers, inklusive der Befehle zur wort- und satzweisen Bewegung: @@ -187,7 +187,7 @@ Dann verwende C-v wiederholt um hierher zurück zu kommen. >> Versuche jetzt M-> um ans Ende der Übungen zu springen. - Benutzte M-v widerholt um hierher zurück zu gelangen. + Benutzte M-v wiederholt um hierher zurück zu gelangen. Du kannst den Textzeiger auch mit den Pfeil-Tasten bewegen, falls Deine Tastatur solche besitzt. Wir empfehlen das Erlernen von C-b, @@ -195,7 +195,7 @@ Tastaturen. Zweitens wirst Du herausfinden, wenn Du einige Übung mit Emacs bekommst, daß es schneller ist die CTRL-Tasten zu drücken als die Pfeil-Tasten (weil Du Deine Hände nicht aus dem normalen -Fingersatz bringen mußt). Drittens: Hast Du die Versendung der CTRL +Fingersatz bringen mußt). Drittens: Hast Du die Verwendung der CTRL Befehle erst zu Deiner Gewohnheit gemacht, wird es ein Leichtes weitere Bewegungs-Befehle zu erlernen. @@ -226,7 +226,7 @@ entsprechendes Argument geben. Verwendest Du das X Window System, so befindet sich wahrscheinlich ein -rechteckiger Balken, Scrollbar oder Rollbalken genannt, rechts neben +rechteckiger Balken, Rollbalken oder "scrollbar" genannt, rechts neben dem Emacs-Fenster. Du kannst den Text auch durch Manipulieren dieses Rollbalkens mit der Maus rollen. @@ -242,8 +242,8 @@ ------------------------------------------- An einem X-Terminal wirst Du es wahrscheinlich einfacher finden die -Tasten des Tastenfeldes zur Textzeiger Steuerung zu gebrauchen. Die -Links, Rechts, Auf und Ab Pfeil Tasten steuern in die erwartete +Tasten des Tastenfeldes zur Textzeiger-Steuerung zu gebrauchen. Die +Links, Rechts, Auf und Ab Pfeil-Tasten steuern in die erwartete Richtung; sie funktionieren exakt wie C-b, C-f, C-p und C-n, sind aber leichter zu tippen und zu merken. Du kannst auch C-Links und C-Rechts verwenden um wortweise zu springen. C-Auf und C-Ab bewegen den @@ -264,9 +264,9 @@ * WENN EMACS HÄNGT ------------------ -Wenn Emacs auf Deine Befehle nicht mehr reagiert, kannst Du den -Befehle risikolos mit C-g unterbrechen. Mit C-g kann man Befehle -abbrechen, die zu lange dauern. +Wenn Emacs auf Deine Befehle nicht mehr reagiert, kannst Du den Befehl +risikolos mit C-g unterbrechen. Mit C-g kann man Befehle abbrechen, +die zu lange dauern. Du kannst mit C-g auch ein numerisches Argument oder einen teilweise eingegebenen Befehl, den Du nicht mehr ausführen willst, verwerfen. @@ -367,7 +367,7 @@ >> Geh an den Anfang einer Zeile und tippe <Delete>. Dies fügt die Zeile an die vorhergehende an. ->> Tippe <Return> um den Newline-Zeichen wieder einzufügen. +>> Tippe <Return> um das Newline-Zeichen wieder einzufügen. Denke daran, daß die meisten Emacs-Befehle mittels eines Arguments wiederholt werden können; Ein Textzeichen wird mittels Argument @@ -393,12 +393,12 @@ CONTROL-Taste, aber das kümmert uns nicht). C-k und M-k verhalten sich zueinander wie C-e und M-e zu Zeilen und Sätzen. -Wenn Du mehr als ein Zeichen auf einmal löschst, speichert sie -Emacs, damit Du sie wieder abrufen kannst. Den gelöschten Text -zurückzuholen nennt man "yanking". Du kannst den gelöschten Text an -der selben oder an einer anderen Textstelle zurückholen. Der Text -kann mehrere Male zurückgeholt geholt werden um Mehrfachkopien -anzulegen. Der Zurückhol-Befehl ist C-y. +Wenn Du mehr als ein Zeichen auf einmal löschst, speichert sie Emacs, +damit Du sie wieder abrufen kannst. Den gelöschten Text zurückzuholen +nennt man "yanking". Du kannst den gelöschten Text an der selben oder +an einer anderen Textstelle zurückholen. Der Text kann mehrere Male +zurückgeholt werden um Mehrfachkopien anzulegen. Der Zurückhol-Befehl +ist C-y. Beachte daß der Unterschied zwischen Entfernen ("Killing") und Löschen ("Deleting") darin besteht, daß gelöschte Teile zurückgeholt werden @@ -442,8 +442,8 @@ zurückgeholten Text durch früher gelöschten Text ersetzten. Tippst Du M-y wieder und wieder, holst Du früher und früher Gelöschtes zurück. Hast Du den gewünschten Text erreicht, brauchst Du nichts weiter zu -tun um diesen zu behalten. Fahre mit mit Deiner Arbeit fort und laß -den zurückgeholten Text wo er ist. +tun um diesen zu behalten. Fahre mit Deiner Arbeit fort und laß den +zurückgeholten Text wo er ist. Verwendest Du M-y oft genug, kehrst Du an den Anfang zurück (der letzte Löschvorgang). @@ -505,9 +505,9 @@ Fehler waren. Nahe dem unteren Ende des Bildschirms siehst Du eine Zeile die mit -Bindestrichen beginnt und endet und den Text "Emacs: TUTORIAL" +Bindestrichen beginnt und endet und den Text "XEmacs: TUTORIAL.de" enthält. Dieser Teil des Bildschirms zeigt immer den Namen der -besuchten Datei. Zur Zeit besuchst Du eine Datei namens "TUTORIAL", +besuchten Datei. Zur Zeit besuchst Du eine Datei namens "TUTORIAL.de", welche Deine persönliche Kopie des Emacs Tutorials ist. Was immer für eine Datei Du findest, ihr Name wird immer an dieser Stelle erscheinen. @@ -560,7 +560,7 @@ sollte das System abstürzen. >> Tippe C-x C-s um Deine Kopie des tutorials zu sichern. - Dies sollte "Wrote ...TUTORIAL" am Fuß des Bildschirms ausgeben. + Dies sollte "Wrote ...TUTORIAL.de" am Fuß des Bildschirms ausgeben. ACHTUNG: Auf manchen Systemen wird C-x C-s den Bildschirm anhalten und Du wirst keine weitere Ausgabe von Emacs sehen. Dies bedeutet, daß @@ -592,7 +592,7 @@ <Return>. Dann füge etwas Text ein, bearbeite ihn und sichere die Datei "foo" mit C-x C-s. - Schließlich tippe C-x C-f TUTORIAL <Return> um zum Tutorial zurück + Schließlich tippe C-x C-f TUTORIAL.de <Return> um zum Tutorial zurück zu gelangen. Emacs hält den Text jeder Datei in einem Objekt namens "buffer". Das @@ -628,20 +628,20 @@ willst. >> Füge eine Text-Zeile ein, dann tippe C-x s. - Du wirst gefragt, ob Du den Buffer namens TUTORIAL speichern + Du wirst gefragt, ob Du den Buffer namens TUTORIAL.de speichern willst. * VERWENDUNG DES MENÜS ---------------------- -An einem X-Terminal wirst Du eine Menüleiste am oberen Ende des Emacs +An einem X-Terminal wirst Du eine Menüleiste am oberen Ende des Emacs- Fensters bemerken. Mit der Menüleiste kannst Du die allgemeinsten Emacs-Befehle, wie "Finde Datei" ("find file"), erreichen. Du wirst -dies anfänglich einfacher finden, da Du dir die notwendigen -Tastenkombinationen der Befehle nicht merken mußt. Bist Du einmal -mit Emacs vertraut, wird es ein Leichtes sein die Kommandos zu -benutzen, da jeder Menüeintrag, der einer Tastenkombination -entspricht, diese auch anzeigt. +dies anfänglich einfacher finden, da Du Dir die notwendigen Tasten- +kombinationen der Befehle nicht merken mußt. Bist Du einmal mit Emacs +vertraut, wird es ein Leichtes sein die Kommandos zu benutzen, da +jeder Menüeintrag, der einer Tastenkombination entspricht, diese auch +anzeigt. Beachte, daß es viele Menüeinträge ohne entsprechende Tastensequenz gibt. So listet z.B. das Buffers-Menü die verfügbaren Buffer in @@ -669,7 +669,7 @@ Verwende "Paste" im Edit-Menü um Text vom X Clipboard zurückzuholen. Die mittlere Maustaste wird häufig verwendet um sichtbare Objekte auf -dem Bildschirm auszuwählen. Wenn Du z.B. "Info" (die Online Emacs +dem Bildschirm auszuwählen. Wenn Du z.B. "Info" (die Emacs Online Dokumentation) mit C-h i oder über das Help-Menü aufrufst, kannst Du einer hervorgehobenen Verknüpfung durch Klicken der mittleren Maustaste folgen. Ganz ähnlich, wenn Du einen Dateinamen eingibst @@ -694,7 +694,7 @@ (eXtend) Befehl. Davon gibt es zwei Ausführungen: C-x Zeichenerweiterung eXtend. Gefolgt von einer - Tastaturkombination. + Tastenkombination. M-x Namenserweiterung eXtend. Gefolgt von einer ausgeschriebenen Befehlsbezeichnung. @@ -709,7 +709,7 @@ Mit C-z kann man Emacs vorübergehend verlassen -- so daß Du später zur gleichen Sitzung zurückkehren kannst. -Auf Systemen, die dies unterstützen sendet C-z Emacs "in den +Auf Systemen, die dies unterstützen, sendet C-z Emacs "in den Hintergrund"; man kehrt zur Shell zurück, ohne daß der Emacs-Prozeß beendet wird. In den gebräuchlichsten Shells kann man zu Emacs mit `fg' oder `%emacs' zurückkehren. @@ -725,7 +725,7 @@ E-mail-Programme, oder andere Erweiterungen, die das Aussetzen von Emacs nicht korrekt handhaben können, benutzt wird. Normalerweise ist es besser Emacs mit C-z auszusetzen statt ihn zu beenden, wenn -man das System nicht verlassen will,. +man das System nicht verlassen will. Es gibt viele C-x-Befehle. Hier ist eine Liste der bereits erlernten: @@ -753,7 +753,7 @@ Beachte wie diese Zeile sich veraendert hat: Du hast das Wort v-e-r-a-e-n-d-e-r-t mit "geaendert" ersetzt wo immer es nach der - anfänglichen Textzeiger Position auftrat. + anfänglichen Textzeiger-Position auftrat. * AUTOMATISCHE SICHERUNG @@ -764,14 +764,14 @@ gehen. Um Dich davor zu schützen, schreibt Emacs regelmäßig eine Autosave-Datei für jede Datei, die Du bearbeitest. Autosave-Dateien beginnen und enden mit "#"; wenn Deine Datei z.B. "hello.c" heißt, so -heißt die auto-save Datei "#hello.c#". Sicherst Du die Datei, so +heißt ihre auto-save Datei "#hello.c#". Sicherst Du die Datei, so löscht Emacs die entsprechende auto-save Datei. Nach einem Computerabsturz kannst Du die automatisch gesicherten Änderungen nach dem normalen Finden der Datei (Deiner Datei, nicht der Autosave-Datei) durch Eintippen von M-x -recover-file<return> zurückholen. Wenn Du nach der Bestätigung -gefragt wirst, tippst Du yes<return> um die Änderungen in der +recover-file<Return> zurückholen. Wenn Du nach der Bestätigung +gefragt wirst, tippst Du yes<Return> um die Änderungen in der Autosave-Datei wiederherzustellen. @@ -789,7 +789,7 @@ Die Zeile über der echo area wird "mode line" genannt. Die Moduszeile zeigt etwa folgendes: ---**-XEmacs: TUTORIAL (Fundamental)--L670--58%---------------- +--**-XEmacs: TUTORIAL.de (Fundamental)--L791--67%---------------- Diese Zeile gibt nützliche Information über den Zustand von Emacs und dem Text, den Du bearbeitest. @@ -817,7 +817,7 @@ "Fundamental" steht. Jeder Hauptmodus ändert das Verhalten einiger Befehle. So gibt es -z.B. Befehle zum Erstellen von Kommentaren in Programmen und da diese +z.B. Befehle zum Erstellen von Kommentaren in Programmen. Da diese in jeder Programmiersprache unterschiedlich aussehen, muß jeder Hauptmodus diese Kommentare entsprechend vorbereiten. Jeder Hauptmodus trägt den Namen eines entsprechenden Erweiterungsbefehls, so @@ -899,7 +899,7 @@ Wenn Du C-s tippt, wirst Du den String "I-search" in der echo area bemerken. Dies bedeutet, daß Emacs im inkrementellen Suchmodus auf -Deine Eingabe wartet. <RET> bricht die Suche ab. +Deine Eingabe wartet. <Return> bricht die Suche ab. >> Nun tippe C-s um die Suche einzuleiten. LANGSAM, Buchstabe für Buchstabe, tippe das Wort 'Textzeiger', mit Pausen dazwischen, @@ -909,7 +909,7 @@ zu suchen. >> Nun tippe <Delete> viermal und schau wie sich der Textzeiger bewegt. ->> Tippe <RET> zum Abbrechen der Suche. +>> Tippe <Return> zum Abbrechen der Suche. Hast Du gesehen was passiert? Emacs, in der inkrementellen Suche, versucht zu dem String zu springen, den Du bisher getippt hast. Um @@ -1054,7 +1054,7 @@ dies wirklich nicht tun, beschwere Dich also beim System Administrator. In der Zwischenzeit, wenn C-h keine Mitteilung bezüglich Hilfe am Fuß des Emacs-Fensters anzeigt, versuche M-x help -RET zu tippen.) +<Return> zu tippen.) Die einfachste Hilfe-Einrichtung ist C-h c. Tippe C-h, ein c und einen Befehls-Buchstaben oder eine Sequenz davon und Emacs gibt Dir @@ -1065,7 +1065,7 @@ C-p runs the command previous-line -Dies teils Dir den "Namen der Funktion" mit. Funktions-Namen werden +Dies teilt Dir den "Namen der Funktion" mit. Funktions-Namen werden hauptsächlich zum Spezialisieren und Erweitern von Emacs verwendet. Aber da die Funktions-Namen etwas darüber aussagen was der Befehl tut, können Sie auch als sehr kurze Dokumentation dienen -- genug um Dich @@ -1079,11 +1079,11 @@ >> Tippe C-h k C-p. -Dies zeigt die Dokumentation der Funktion, als auch ihren Namen, in -einem eigenen Emacs-Fenster. Wenn Du mit dem Lesen fertig bist, tippe -C-x 1 um den Hilfetext loszuwerden. Du mußt dies nicht gleich tun. -Du kannst etwas bearbeiten, das sich auf den Hilfetext bezieht und -dann C-x 1 tippen. +Dies zeigt sowohl die Dokumentation der Funktion, als auch ihren +Namen, in einem eigenen Emacs-Fenster. Wenn Du mit dem Lesen fertig +bist, tippe C-x 1 um den Hilfetext loszuwerden. Du mußt dies nicht +gleich tun. Du kannst etwas bearbeiten, das sich auf den Hilfetext +bezieht und dann C-x 1 tippen. Hier sind einige andere nützliche C-h Möglichkeiten: @@ -1120,7 +1120,7 @@ verwende C-z. (Unter X ikonifiziert dies den aktuellen Emacs-Rahmen.) Dieses Tutorial sollte für Anfänger verständlich sein, hast Du etwas -Unklares gefunden, schiebe die Schuld nicht auf Dich - beschwere Dich! +Unklares gefunden, schiebe die Schuld nicht auf Dich -- beschwere Dich! ANFERTIGEN VON KOPIEN
--- a/lib-src/ChangeLog Mon Aug 13 10:41:59 2007 +0200 +++ b/lib-src/ChangeLog Mon Aug 13 10:42:44 2007 +0200 @@ -1,3 +1,11 @@ +1998-08-11 SL Baur <steve@altair.xemacs.org> + + * XEmacs 21.0-pre9 is released. + +1998-08-04 SL Baur <steve@altair.xemacs.org> + + * XEmacs 21.0-pre8 is released. + 1998-07-19 SL Baur <steve@altair.xemacs.org> * XEmacs 21.0-pre7 is released.
--- a/lisp/ChangeLog Mon Aug 13 10:41:59 2007 +0200 +++ b/lisp/ChangeLog Mon Aug 13 10:42:44 2007 +0200 @@ -1,3 +1,49 @@ +1998-08-11 SL Baur <steve@altair.xemacs.org> + + * XEmacs 21.0-pre9 is released. + +1998-08-11 Michael Sperber [Mr. Preprocessor] <sperber@informatik.uni-tuebingen.de> + + * find-paths.el (paths-file-readable-directory-p): Created and + used. + + * loadup.el: Don't set inhibit-... flags from run-temacs. + +1998-08-06 Michael Sperber [Mr. Preprocessor] <sperber@informatik.uni-tuebingen.de> + + * packages.el (packages-data-path-depth): Added and used. + +1998-08-05 Charles G. Waldman <cgw@pgt.com> + + * about.el: + - Change .xpm to .png, delete "zcat" section. + - cosmetic fix in the 'marcpa' entry. + + * etc/photos + - convert all .xpm.Z to .png + - rename mrb to martin + - rename mcook-m to mcookm + +1998-07-31 Martin Buchholz <martin@xemacs.org> + + * x-init.el (x-initialize-compose): Add support for + dead-circumflex as YET ANOTHER NAME for that dead key. + +1998-08-05 Colin Rafferty <colin@xemacs.org> + + * setup-paths.el (paths-construct-exec-path): Made the + last-packages really be last. + (paths-construct-data-directory-list): Ditto. + +1998-08-01 Kai Haberzettl <khaberz@synnet.de> + + * startup.el(startup-splash-frame-body): + Update Copyright notice in splash screen + +1998-08-04 SL Baur <steve@altair.xemacs.org> + + * XEmacs 21.0-pre8 is released. + 1998-07-22 Jan Vroonhof <vroonhof@math.ethz.ch> * font-lock.el (font-lock-fontify-glumped-region): Add guard
--- a/lisp/about.el Mon Aug 13 10:41:59 2007 +0200 +++ b/lisp/about.el Mon Aug 13 10:42:44 2007 +0200 @@ -50,7 +50,7 @@ ;; People in this list have their individual links from the main page, ;; or from the `Legion' page. If they have an image, it should be -;; named after the CAR of the list element (baw -> baw.xpm). +;; named after the CAR of the list element (baw -> baw.png). ;; ;; If you add to this list, you'll want to update ;; `about-maintainer-info' (and maybe `about-hackers'. @@ -529,45 +529,22 @@ (if (memq (device-class) '(color grayscale)) "" "m") - ".xpm") + ".png") (locate-data-directory "photos"))) (data nil)) - (unless (file-exists-p file) - ;; Maybe the file is compressed? - (setq file (concat file ".Z")) - (if (file-exists-p file) - ;; Decompress it. - (condition-case nil - (let ((buffer (get-buffer-create " *image*"))) - (unwind-protect - (save-excursion - (message "Uncompressing image...") - (set-buffer buffer) - (erase-buffer) - (let ((coding-system-for-read 'binary) - (coding-system-for-write 'binary)) - (insert-file-contents-literally file) - (call-process-region (point-min) (point-max) - "zcat" t t nil) - (setq data - (buffer-substring (point-min) (point-max)))) - (message "Uncompressing image... done")) - (kill-buffer buffer))) - (error (setq data 'error))) - (setq file nil))) (setq glyph (cond ((stringp data) (make-glyph - (if (featurep 'xpm) - `([xpm :data ,data] + (if (featurep 'png) + `([png :data ,data] [string :data "[Image]"]) `([string :data "[Image]"])))) ((eq data 'error) (make-glyph [string :data "[Error]"])) (file (make-glyph - (if (featurep 'xpm) - `([xpm :file ,file] + (if (featurep 'png) + `([png :file ,file] [string :data "[Image]"]) `([string :data "[Image]"])))) (t @@ -781,7 +758,7 @@ system written in Modula3:\n") (about-url-link 'marcpa "Visit POWER 911") (widget-insert "\ -Previously, I worked at Softimage Inc., now a Microsoft company +\n\nPreviously, I worked at Softimage Inc., now a Microsoft company \(eeekkk!), as a UNIX system administrator. This is where I've been converted to NT.
--- a/lisp/find-paths.el Mon Aug 13 10:41:59 2007 +0200 +++ b/lisp/find-paths.el Mon Aug 13 10:42:44 2007 +0200 @@ -62,7 +62,7 @@ (let ((directory (file-name-as-directory (expand-file-name (car directories))))) - (if (file-directory-p directory) + (if (paths-file-readable-directory-p directory) (let ((raw-entries (if (equal 0 max-depth) '() @@ -88,6 +88,11 @@ (setq directories (cdr directories))) path)) +(defun paths-file-readable-directory-p (filename) + "Check if filename is a readable directory." + (and (file-directory-p filename) + (file-readable-p filename))) + (defun paths-find-recursive-load-path (directories &optional max-depth) "Construct a recursive load path underneath DIRECTORIES." (paths-find-recursive-path directories @@ -97,13 +102,13 @@ "Check if DIRECTORY is a plausible installation root for XEmacs." (or ;; installed - (file-directory-p (paths-construct-path (list directory - "lib" - emacs-program-name))) + (paths-file-readable-directory-p (paths-construct-path (list directory + "lib" + emacs-program-name))) ;; in-place or windows-nt (and - (file-directory-p (paths-construct-path (list directory "lisp"))) - (file-directory-p (paths-construct-path (list directory "etc")))))) + (paths-file-readable-directory-p (paths-construct-path (list directory "lisp"))) + (paths-file-readable-directory-p (paths-construct-path (list directory "etc")))))) (defun paths-chase-symlink (file-name) "Chase a symlink until the bitter end." @@ -168,19 +173,19 @@ (let ((preferred-value (or (and envvar (getenv envvar)) default))) (if (and preferred-value - (file-directory-p preferred-value)) + (paths-file-readable-directory-p preferred-value)) (file-name-as-directory preferred-value) (catch 'gotcha (while roots (let* ((root (car roots)) ;; installed (path (paths-construct-emacs-directory root suffix base))) - (if (file-directory-p path) + (if (paths-file-readable-directory-p path) (throw 'gotcha path) ;; in-place (if (null keep-suffix) (let ((path (paths-construct-emacs-directory root "" base))) - (if (file-directory-p path) + (if (paths-file-readable-directory-p path) (throw 'gotcha path)))))) (setq roots (cdr roots))) nil)))) @@ -230,7 +235,7 @@ "Return the directories among DIRECTORIES." (let ((reverse-directories '())) (while directories - (if (file-directory-p (car directories)) + (if (paths-file-readable-directory-p (car directories)) (setq reverse-directories (cons (car directories) reverse-directories)))
--- a/lisp/loadup.el Mon Aug 13 10:41:59 2007 +0200 +++ b/lisp/loadup.el Mon Aug 13 10:42:44 2007 +0200 @@ -183,19 +183,16 @@ (dump-emacs (if (featurep 'infodock) "infodock" "xemacs") "temacs") (kill-emacs)) +;; Avoid error if user loads some more libraries now. +(setq purify-flag nil) + (when (member "run-temacs" command-line-args) (message "\nBootstrapping from temacs...") - (setq purify-flag nil) - (setq inhibit-early-packages t) - (setq inhibit-autoloads t) ;; Remove all args up to and including "run-temacs" (apply #'run-emacs-from-temacs (cdr (member "run-temacs" command-line-args))) ;; run-emacs-from-temacs doesn't actually return anyway. (kill-emacs)) -;; Avoid error if user loads some more libraries now. -(setq purify-flag nil) - ;; XEmacs change ;; If you are using 'recompile', then you should have used -l loadup-el.el ;; so that the .el files always get loaded (the .elc files may be out-of-
--- a/lisp/packages.el Mon Aug 13 10:41:59 2007 +0200 +++ b/lisp/packages.el Mon Aug 13 10:42:44 2007 +0200 @@ -63,6 +63,9 @@ (defvar packages-load-path-depth 1 "Depth of load-path search in package hierarchies.") +(defvar packages-data-path-depth 1 + "Depth of data-path search in package hierarchies.") + (defvar early-packages nil "Packages early in the load path.") @@ -445,16 +448,25 @@ packages-load-path-depth)) (defun packages-find-package-exec-path (packages) + "Construct the exec-path component for packages. +PACKAGES is a list of package directories." (packages-find-package-library-path packages (list (paths-construct-path (list "bin" system-configuration)) "lib-src"))) (defun packages-find-package-info-path (packages) + "Construct the info-path component for packages. +PACKAGES is a list of package directories." (packages-find-package-library-path packages '("info"))) (defun packages-find-package-data-path (packages) - (packages-find-package-library-path packages '("etc"))) + "Construct the data-path component for packages. +PACKAGES is a list of package directories." + (paths-find-recursive-load-path + (packages-find-package-library-path packages + '("etc")) + packages-data-path-depth)) ;; Loading package initialization files
--- a/lisp/setup-paths.el Mon Aug 13 10:41:59 2007 +0200 +++ b/lisp/setup-paths.el Mon Aug 13 10:42:44 2007 +0200 @@ -137,12 +137,12 @@ (paths-decode-directory-path path-envval 'drop-empties))) (packages-find-package-exec-path early-packages) (packages-find-package-exec-path late-packages) - (packages-find-package-exec-path last-packages) (let ((emacspath-envval (getenv "EMACSPATH"))) (and emacspath-envval (split-path emacspath-envval))) (and exec-directory - (list exec-directory)))) + (list exec-directory)) + (packages-find-package-exec-path last-packages))) (defun paths-find-data-directory (roots) "Find the data directory." @@ -154,7 +154,7 @@ (append (packages-find-package-data-path early-packages) (packages-find-package-data-path late-packages) - (packages-find-package-data-path last-packages) - (list data-directory))) + (list data-directory) + (packages-find-package-data-path last-packages))) ;;; setup-paths.el ends here
--- a/lisp/startup.el Mon Aug 13 10:41:59 2007 +0200 +++ b/lisp/startup.el Mon Aug 13 10:42:44 2007 +0200 @@ -935,7 +935,7 @@ " to see what this means.\n"))) `( "\n")) (face bold-italic "\ -Copyright (C) 1985-1997 Free Software Foundation, Inc. +Copyright (C) 1985-1998 Free Software Foundation, Inc. Copyright (C) 1990-1994 Lucid, Inc. Copyright (C) 1993-1997 Sun Microsystems, Inc. All Rights Reserved. Copyright (C) 1994-1996 Board of Trustees, University of Illinois
--- a/lisp/x-init.el Mon Aug 13 10:41:59 2007 +0200 +++ b/lisp/x-init.el Mon Aug 13 10:42:44 2007 +0200 @@ -208,6 +208,7 @@ (x-define-dead-key dead-cedilla compose-cedilla-map) (x-define-dead-key dead-diaeresis compose-diaeresis-map) (x-define-dead-key dead-circum compose-circumflex-map) + (x-define-dead-key dead-circumflex compose-circumflex-map) (x-define-dead-key dead-tilde compose-tilde-map) )
--- a/man/ChangeLog Mon Aug 13 10:41:59 2007 +0200 +++ b/man/ChangeLog Mon Aug 13 10:42:44 2007 +0200 @@ -1,3 +1,11 @@ +1998-08-11 SL Baur <steve@altair.xemacs.org> + + * XEmacs 21.0-pre9 is released. + +1998-08-04 SL Baur <steve@altair.xemacs.org> + + * XEmacs 21.0-pre8 is released. + 1998-07-31 SL Baur <steve@altair.xemacs.org> * registry.texi: Baur, SL; Mastaler, J grow older.
--- a/man/xemacs/xemacs.texi Mon Aug 13 10:41:59 2007 +0200 +++ b/man/xemacs/xemacs.texi Mon Aug 13 10:42:44 2007 +0200 @@ -93,7 +93,7 @@ XEmacs is the extensible, customizable, self-documenting real-time display editor. This Info file describes how to edit with Emacs and some of how to customize it, but not how to extend it. It -corresponds to XEmacs version 20.0. +corresponds to XEmacs version 21.0. This manual is intended as a detailed reference to XEmacs. If you are looking for an introductory manual, see the New User's
--- a/nt/ChangeLog Mon Aug 13 10:41:59 2007 +0200 +++ b/nt/ChangeLog Mon Aug 13 10:42:44 2007 +0200 @@ -1,3 +1,32 @@ +1998-08-11 SL Baur <steve@altair.xemacs.org> + + * XEmacs 21.0-pre9 is released. + +1998-08-09 Jonathan Harris <jhar@tardis.ed.ac.uk> + + * xemacs.mak (install): Win95 fixes: + DOS mkdir doesn't create intermediate directories. xcopy does + so use it to create the install and lock directories. + Removed trailing backslashes from copy commands since DOS + copy doesn't like them. + +1998-08-05 Charles G. Waldman <cgw@pgt.com> + + * xemacs.mak: change "copy" to "xcopy" in install target + +1998-08-04 Jeff Sparkes <jsparkes@internetivity.com> + + * xemacs.mak: Link in PNG, TIFF and JPEG in native build. + +1998-08-04 Jonathan Harris <jhar@tardis.ed.ac.uk> + + * README: XEmacs has been successfully built with MSVC 4.0. + Mention the vcvars32.bat file installed with the MSVC tools. + +1998-08-04 SL Baur <steve@altair.xemacs.org> + + * XEmacs 21.0-pre8 is released. + 1998-07-19 SL Baur <steve@altair.xemacs.org> * XEmacs 21.0-pre7 is released.
--- a/nt/README Mon Aug 13 10:41:59 2007 +0200 +++ b/nt/README Mon Aug 13 10:42:44 2007 +0200 @@ -10,11 +10,15 @@ To get it working you will need: -1. You will need Visual C++ V4.2 or later to compile everything. Personally we - have tested V4.2 and V5.0. +1. You will need Visual C++ V4.0 or later to compile everything. Personally we + have tested V4.0, V4.2 and V5.0. Note that Visual C++ assumes a couple of environment variables INCLUDE and LIB to be set which specify the location of the includes and libraries. - At this point you can select X or Win32 native support. + Your PATH environment variable also needs to include the DevStudio vc\bin + and sharedide\bin directories. + Visual C++ V5.0 installs a batch file called vcvars32.bat in + c:\Program Files\DevStudio\VC\bin\ (or wherever you installed it) that you + can run before building to set up all of these environment variables. 2. Grab the latest XEmacs source from ftp.xemacs.org if necessary. All Win32 support is in the nt\ subdirectory. You'll also need the xemacs-base @@ -22,6 +26,7 @@ want at least the edit-utils, text-utils, cc-mode and prog-utils packages. Unpack the packages into, say, "c:\Program Files\XEmacs\packages". +3. At this point you can select X or Win32 native GUI support. If you want to build for native GUI:
--- a/nt/xemacs.mak Mon Aug 13 10:41:59 2007 +0200 +++ b/nt/xemacs.mak Mon Aug 13 10:42:44 2007 +0200 @@ -82,6 +82,15 @@ !if !defined(HAVE_XPM) HAVE_XPM=0 !endif +!if !defined(HAVE_PNG) +HAVE_PNG=0 +!endif +!if !defined(HAVE_TIFF) +HAVE_TIFF=0 +!endif +!if !defined(HAVE_JPEG) +HAVE_TIFF=0 +!endif !if !defined(HAVE_TOOLBARS) HAVE_TOOLBARS=$(HAVE_XPM) !endif @@ -152,6 +161,34 @@ !message Specified XPM directory does not contain "$(XPM_DIR)\lib\Xpm.lib" CONFIG_ERROR=1 !endif +!if $(HAVE_MSW) && $(HAVE_PNG) && !defined(PNG_DIR) && !defined(ZLIB_DIR) +!message Please specify root directory for your PNG and ZLIB installation: PNG_DIR=path ZLIB_DIR=path +CONFIG_ERROR=1 +!endif +!if $(HAVE_MSW) && $(HAVE_PNG) && defined(PNG_DIR) && !exist("$(PNG_DIR)\libpng.lib") +!message Specified PNG directory does not contain "$(PNG_DIR)\libpng.lib" +CONFIG_ERROR=1 +!endif +!if $(HAVE_MSW) && $(HAVE_PNG) && defined(ZLIB_DIR) && !exist("$(ZLIB_DIR)\zlib.lib") +!message Specified ZLIB directory does not contain "$(ZLIB_DIR)\zlib.lib" +CONFIG_ERROR=1 +!endif +!if $(HAVE_MSW) && $(HAVE_TIFF) && !defined(TIFF_DIR) +!message Please specify root directory for your TIFF installation: TIFF_DIR=path +CONFIG_ERROR=1 +!endif +!if $(HAVE_MSW) && $(HAVE_TIFF) && !exist("$(TIFF_DIR)\libtiff\libtiff.lib") +!message Specified TIFF directory does not contain "$(TIFF_DIR)\libtiff\libtiff.lib" +CONFIG_ERROR=1 +!endif +!if $(HAVE_MSW) && $(HAVE_JPEG) && !defined(JPEG_DIR) +!message Please specify root directory for your JPEG installation: JPEG_DIR=path +CONFIG_ERROR=1 +!endif +!if $(HAVE_MSW) && $(HAVE_JPEG) && !exist("$(JPEG_DIR)\libjpeg.lib") +!message Specified JPEG directory does not contain "$(JPEG_DIR)\libjpeg.lib" +CONFIG_ERROR=1 +!endif !if $(HAVE_MSW) && $(HAVE_TOOLBARS) && !$(HAVE_XPM) !error Toolbars require XPM support CONFIG_ERROR=1 @@ -195,6 +232,15 @@ !if $(HAVE_XPM) !message Compiling in support for XPM images. !endif +!if $(HAVE_PNG) +!message Compiling in support for PNG images. +!endif +!if $(HAVE_TIFF) +!message Compiling in support for TIFF images. +!endif +!if $(HAVE_JPEG) +!message Compiling in support for JPEG images. +!endif !if $(HAVE_TOOLBARS) !message Compiling in support for toolbars. !endif @@ -266,6 +312,21 @@ MSW_INCLUDES=$(MSW_INCLUDES) -I"$(XPM_DIR)" -I"$(XPM_DIR)\lib" MSW_LIBS=$(MSW_LIBS) "$(XPM_DIR)\lib\Xpm.lib" !endif +!if $(HAVE_PNG) +MSW_DEFINES=$(MSW_DEFINES) -DHAVE_PNG +MSW_INCLUDES=$(MSW_INCLUDES) -I"$(PNG_DIR)" -I"$(ZLIB_DIR)" +MSW_LIBS=$(MSW_LIBS) "$(PNG_DIR)\libpng.lib" "$(ZLIB_DIR)\zlib.lib" +!endif +!if $(HAVE_TIFF) +MSW_DEFINES=$(MSW_DEFINES) -DHAVE_TIFF +MSW_INCLUDES=$(MSW_INCLUDES) -I"$(TIFF_DIR)\libtiff" +MSW_LIBS=$(MSW_LIBS) "$(TIFF_DIR)\libtiff\libtiff.lib" +!endif +!if $(HAVE_JPEG) +MSW_DEFINES=$(MSW_DEFINES) -DHAVE_JPEG +MSW_INCLUDES=$(MSW_INCLUDES) -I"$(JPEG_DIR)" +MSW_LIBS=$(MSW_LIBS) "$(JPEG_DIR)\libjpeg.lib" +!endif !if $(HAVE_TOOLBARS) MSW_DEFINES=$(MSW_DEFINES) -DHAVE_TOOLBARS MSW_TOOLBAR_SRC=$(XEMACS)\src\toolbar.c $(XEMACS)\src\toolbar-msw.c @@ -867,21 +928,18 @@ temacs: $(TEMACS) # use this rule to install the system -install: all "$(INSTALL_DIR)\nul" "$(INSTALL_DIR)\lock\nul" +install: all + @echo Installing in $(INSTALL_DIR) ... + @xcopy /q README "$(INSTALL_DIR)\lock\" + @del "$(INSTALL_DIR)\lock\README" @xcopy /q $(LIB_SRC)\*.exe "$(INSTALL_DIR)\$(EMACS_CONFIGURATION)\" - @copy $(LIB_SRC)\DOC "$(INSTALL_DIR)\$(EMACS_CONFIGURATION)\" - @copy $(XEMACS)\src\xemacs.exe "$(INSTALL_DIR)\$(EMACS_CONFIGURATION)\" - @copy $(RUNEMACS) "$(INSTALL_DIR)\$(EMACS_CONFIGURATION)\" + @copy $(LIB_SRC)\DOC "$(INSTALL_DIR)\$(EMACS_CONFIGURATION)" + @copy $(XEMACS)\src\xemacs.exe "$(INSTALL_DIR)\$(EMACS_CONFIGURATION)" + @copy $(RUNEMACS) "$(INSTALL_DIR)\$(EMACS_CONFIGURATION)" @xcopy /e /q $(XEMACS)\etc "$(INSTALL_DIR)\etc\" @xcopy /e /q $(XEMACS)\info "$(INSTALL_DIR)\info\" @xcopy /e /q $(XEMACS)\lisp "$(INSTALL_DIR)\lisp\" -"$(INSTALL_DIR)\nul": - -@mkdir "$(INSTALL_DIR)" - -"$(INSTALL_DIR)\lock\nul": "$(INSTALL_DIR)\nul" - -@mkdir "$(INSTALL_DIR)\lock" - distclean: del *.bak del *.orig
--- a/src/ChangeLog Mon Aug 13 10:41:59 2007 +0200 +++ b/src/ChangeLog Mon Aug 13 10:42:44 2007 +0200 @@ -1,3 +1,44 @@ +1998-08-11 SL Baur <steve@altair.xemacs.org> + + * XEmacs 21.0-pre9 is released. + +1998-08-09 Jonathan Harris <jhar@tardis.ed.ac.uk> + + * event-msw.c (mswindows_wnd_proc): Workaround for a Win95 bug: + Manually track the state of the left and right Ctrl and Alt + modifiers. + +1998-08-07 Matt Stupple <matts@tibco.com> + + * ntproc.c: don't wait on char_consumed at thread entry. + Additionally, to get the 'process' marked as finished, ensure + that the CHILD_ACTIVE macro returns false, so before exiting + close char_avail and set it to NULL, and close other handles + to reduce handle leak problems. + +1998-08-09 Jonathan Harris <jhar@tardis.ed.ac.uk> + + * menubar-msw.c (displayable_menu_item): take account of menu + depth when deciding whether to try to display accelerators. + +1998-08-04 Andy Piper <andyp@parallax.co.uk> + + * event-msw.c: use MsgWaitForMultipleObjects if there are no + subprocesses. + + * glyphs-msw.c: fix a couple of potential handle leaks. + +1998-08-04 P. E. Jareth Hein <jareth@camelot.co.jp> + + * dgif_lib.c gif_io.c gifrlib.h: New files to put GIF + *decoding ONLY* back into the core. + * glyphs-eimage.c: Change referenced header file for GIF + reading to point to the incore version. + +1998-08-04 SL Baur <steve@altair.xemacs.org> + + * XEmacs 21.0-pre8 is released. + 1998-07-29 P. E. Jareth Hein <jareth@camelot.co.jp> * glyphs-eimage.c (png_instantiate): Add proper handling for background
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/dgif_lib.c Mon Aug 13 10:42:44 2007 +0200 @@ -0,0 +1,965 @@ +/****************************************************************************** +* "Gif-Lib" - Yet another gif library. * +* * +* Written by: Gershon Elber IBM PC Ver 1.1, Aug. 1990 * +******************************************************************************* +* The kernel of the GIF Decoding process can be found here. * +******************************************************************************* +* History: * +* 16 Jun 89 - Version 1.0 by Gershon Elber. * +* 3 Sep 90 - Version 1.1 by Gershon Elber (Support for Gif89, Unique names). * +* 19 Feb 98 - Version 1.2 by Jareth Hein (Support for user specified I/O) * +******************************************************************************/ + +#ifdef __MSDOS__ +#include <io.h> +#include <alloc.h> +#include <stdlib.h> +#include <sys\stat.h> +#else +#include <sys/types.h> +#include <sys/stat.h> +#endif /* __MSDOS__ */ + +#include <stdio.h> +#include <stdlib.h> +#include <string.h> + +#ifdef HAVE_FCNTL_H +#include <fcntl.h> +#endif + +#include "gifrlib.h" + +#define PROGRAM_NAME "GIFLIB" + + +static void DGifGetWord(GifFileType *GifFile, int *Word); +static void DGifSetupDecompress(GifFileType *GifFile); +static void DGifDecompressLine(GifFileType *GifFile, GifPixelType *Line, + int LineLen); +static int DGifGetPrefixChar(unsigned int *Prefix, int Code, int ClearCode); +static void DGifDecompressInput(GifFileType *GifFile, int *Code); +static void DGifBufferedInput(GifFileType *GifFile, GifByteType *NextByte); + +/****************************************************************************** +* Open a new gif file for read, given by its name. * +* Returns GifFileType pointer dynamically allocated which serves as the gif * +* info record. * +******************************************************************************/ +void DGifOpenFileName(GifFileType *GifFile, const char *FileName) +{ + FILE *f; + + if ((f = fopen(FileName, +#ifdef __MSDOS__ + "rb" +#else + "r" +#endif /* __MSDOS__ */ + )) == NULL) + GifInternError(GifFile, D_GIF_ERR_OPEN_FAILED); + + GifStdIOInit(GifFile, f, -1); + DGifInitRead(GifFile); +} + +/****************************************************************************** +* Update a new gif file, given its file handle. * +* Returns GifFileType pointer dynamically allocated which serves as the gif * +* info record. * +******************************************************************************/ +void DGifOpenFileHandle(GifFileType *GifFile, int FileHandle) +{ + FILE *f; + +#ifdef __MSDOS__ + setmode(FileHandle, O_BINARY); /* Make sure it is in binary mode. */ + f = fdopen(FileHandle, "rb"); /* Make it into a stream: */ + setvbuf(f, NULL, _IOFBF, GIF_FILE_BUFFER_SIZE);/* And inc. stream buffer.*/ +#else + f = fdopen(FileHandle, "r"); /* Make it into a stream: */ +#endif /* __MSDOS__ */ + + GifStdIOInit(GifFile, f, -1); + DGifInitRead(GifFile); +} + +/****************************************************************************** +* Update a new gif file, given its file handle. * +* Returns GifFileType pointer dynamically allocated which serves as the gif * +* info record. _GifError is cleared if succesfull. * +******************************************************************************/ +void DGifInitRead(GifFileType *GifFile) +{ + GifByteType Buf[GIF_STAMP_LEN+1]; + GifFilePrivateType *Private; + + if ((Private = (GifFilePrivateType *) malloc(sizeof(GifFilePrivateType))) + == NULL) { + GifInternError(GifFile, D_GIF_ERR_NOT_ENOUGH_MEM); + } + memset(Private, '\0', sizeof(GifFilePrivateType)); + GifFile->Private = (VoidPtr) Private; + + Private->FileState = 0; /* Make sure bit 0 = 0 (File open for read). */ + + /* Lets see if this is a GIF file: */ + GifRead(Buf, GIF_STAMP_LEN, GifFile); + + /* The GIF Version number is ignored at this time. Maybe we should do */ + /* something more useful with it. */ + Buf[GIF_STAMP_LEN] = 0; + if (strncmp(GIF_STAMP, Buf, GIF_VERSION_POS) != 0) { + GifInternError(GifFile, D_GIF_ERR_NOT_GIF_FILE); + } + + DGifGetScreenDesc(GifFile); +} + +/****************************************************************************** +* This routine should be called before any other DGif calls. Note that * +* this routine is called automatically from DGif file open routines. * +******************************************************************************/ +void DGifGetScreenDesc(GifFileType *GifFile) +{ + int i, BitsPerPixel; + GifByteType Buf[3]; + GifFilePrivateType *Private = (GifFilePrivateType*) GifFile->Private; + + if (!IS_READABLE(Private)) { + /* This file was NOT open for reading: */ + GifInternError(GifFile, D_GIF_ERR_NOT_READABLE); + } + + /* Put the screen descriptor into the file: */ + DGifGetWord(GifFile, &GifFile->SWidth); + DGifGetWord(GifFile, &GifFile->SHeight); + + GifRead(Buf, 3, GifFile); + GifFile->SColorResolution = (((Buf[0] & 0x70) + 1) >> 4) + 1; + BitsPerPixel = (Buf[0] & 0x07) + 1; + GifFile->SBackGroundColor = Buf[1]; + if (Buf[0] & 0x80) { /* Do we have global color map? */ + + GifFile->SColorMap = MakeMapObject(1 << BitsPerPixel, NULL); + + /* Get the global color map: */ + for (i = 0; i < GifFile->SColorMap->ColorCount; i++) { + GifRead(Buf, 3, GifFile); + GifFile->SColorMap->Colors[i].Red = Buf[0]; + GifFile->SColorMap->Colors[i].Green = Buf[1]; + GifFile->SColorMap->Colors[i].Blue = Buf[2]; + } + } else { + /* We should always have a colormap */ + GifFile->SColorMap = MakeMapObject(2, NULL); + GifFile->SColorMap->Colors[0].Red = 0; + GifFile->SColorMap->Colors[0].Green = 0; + GifFile->SColorMap->Colors[0].Blue = 0; + GifFile->SColorMap->Colors[1].Red = 0xff; + GifFile->SColorMap->Colors[1].Green = 0xff; + GifFile->SColorMap->Colors[1].Blue = 0xff; + } +} + +/****************************************************************************** +* This routine should be called before any attemp to read an image. * +******************************************************************************/ +void DGifGetRecordType(GifFileType *GifFile, GifRecordType *Type) +{ + GifByteType Buf; + GifFilePrivateType *Private = (GifFilePrivateType *) GifFile->Private; + + if (!IS_READABLE(Private)) { + /* This file was NOT open for reading: */ + GifInternError(GifFile, D_GIF_ERR_NOT_READABLE); + } + + GifRead(&Buf, 1, GifFile); + + switch (Buf) { + case ',': + *Type = IMAGE_DESC_RECORD_TYPE; + break; + case '!': + *Type = EXTENSION_RECORD_TYPE; + break; + case ';': + *Type = TERMINATE_RECORD_TYPE; + break; + default: + *Type = UNDEFINED_RECORD_TYPE; + GifInternError(GifFile, D_GIF_ERR_WRONG_RECORD); + } +} + +/****************************************************************************** +* This routine should be called before any attemp to read an image. * +* Note it is assumed the Image desc. header (',') has been read. * +******************************************************************************/ +void DGifGetImageDesc(GifFileType *GifFile) +{ + int i, BitsPerPixel; + GifByteType Buf[3]; + GifFilePrivateType *Private = (GifFilePrivateType *) GifFile->Private; + + if (!IS_READABLE(Private)) { + /* This file was NOT open for reading: */ + GifInternError(GifFile, D_GIF_ERR_NOT_READABLE); + } + + DGifGetWord(GifFile, &GifFile->Image.Left); + DGifGetWord(GifFile, &GifFile->Image.Top); + DGifGetWord(GifFile, &GifFile->Image.Width); + DGifGetWord(GifFile, &GifFile->Image.Height); + + GifRead(Buf, 1, GifFile); + BitsPerPixel = (Buf[0] & 0x07) + 1; + GifFile->Image.Interlace = (Buf[0] & 0x40); + if (Buf[0] & 0x80) { /* Does this image have local color map? */ + + if (GifFile->Image.ColorMap && GifFile->SavedImages == NULL) + FreeMapObject(GifFile->Image.ColorMap); + + GifFile->Image.ColorMap = MakeMapObject(1 << BitsPerPixel, NULL); + + /* Get the image local color map: */ + for (i = 0; i < GifFile->Image.ColorMap->ColorCount; i++) { + GifRead(Buf, 3, GifFile); + GifFile->Image.ColorMap->Colors[i].Red = Buf[0]; + GifFile->Image.ColorMap->Colors[i].Green = Buf[1]; + GifFile->Image.ColorMap->Colors[i].Blue = Buf[2]; + } + } + + if (GifFile->SavedImages) { + SavedImage *sp; + + if ((GifFile->SavedImages = (SavedImage *)realloc(GifFile->SavedImages, + sizeof(SavedImage) * (GifFile->ImageCount + 1))) == NULL) { + GifInternError(GifFile, D_GIF_ERR_NOT_ENOUGH_MEM); + } + + sp = &GifFile->SavedImages[GifFile->ImageCount]; + memcpy(&sp->ImageDesc, &GifFile->Image, sizeof(GifImageDesc)); + if (GifFile->Image.ColorMap) + { + sp->ImageDesc.ColorMap = + MakeMapObject (GifFile->Image.ColorMap->ColorCount, + GifFile->Image.ColorMap->Colors); + } + sp->RasterBits = (GifPixelType *)NULL; + sp->ExtensionBlockCount = 0; + sp->ExtensionBlocks = (ExtensionBlock *)NULL; + } + + GifFile->ImageCount++; + + Private->PixelCount = (long) GifFile->Image.Width * + (long) GifFile->Image.Height; + + DGifSetupDecompress(GifFile); /* Reset decompress algorithm parameters. */ +} + +/****************************************************************************** +* Get one full scanned line (Line) of length LineLen from GIF file. * +******************************************************************************/ +void DGifGetLine(GifFileType *GifFile, GifPixelType *Line, int LineLen) +{ + GifByteType *Dummy; + GifFilePrivateType *Private = (GifFilePrivateType *) GifFile->Private; + + if (!IS_READABLE(Private)) { + /* This file was NOT open for reading: */ + GifInternError(GifFile, D_GIF_ERR_NOT_READABLE); + } + + if (!LineLen) LineLen = GifFile->Image.Width; + +#if defined(__MSDOS__) || defined(__GNUC__) + if ((Private->PixelCount -= LineLen) > 0xffff0000UL) +#else + if ((Private->PixelCount -= LineLen) > 0xffff0000) +#endif /* __MSDOS__ */ + { + GifInternError(GifFile, D_GIF_ERR_DATA_TOO_BIG); + } + + DGifDecompressLine(GifFile, Line, LineLen); + if (Private->PixelCount == 0) { + /* We probably would not be called any more, so lets clean */ + /* everything before we return: need to flush out all rest of */ + /* image until empty block (size 0) detected. We use GetCodeNext.*/ + do + DGifGetCodeNext(GifFile, &Dummy); + while (Dummy != NULL); + } +} + +/****************************************************************************** +* Put one pixel (Pixel) into GIF file. * +******************************************************************************/ +void DGifGetPixel(GifFileType *GifFile, GifPixelType Pixel) +{ + GifByteType *Dummy; + GifFilePrivateType *Private = (GifFilePrivateType *) GifFile->Private; + + if (!IS_READABLE(Private)) { + /* This file was NOT open for reading: */ + GifInternError(GifFile, D_GIF_ERR_NOT_READABLE); + } + +#if defined(__MSDOS__) || defined(__GNUC__) + if (--Private->PixelCount > 0xffff0000UL) +#else + if (--Private->PixelCount > 0xffff0000) +#endif /* __MSDOS__ */ + { + GifInternError(GifFile, D_GIF_ERR_DATA_TOO_BIG); + } + + DGifDecompressLine(GifFile, &Pixel, 1); + if (Private->PixelCount == 0) { + /* We probably would not be called any more, so lets clean */ + /* everything before we return: need to flush out all rest of */ + /* image until empty block (size 0) detected. We use GetCodeNext.*/ + do + DGifGetCodeNext(GifFile, &Dummy); + while (Dummy != NULL); + } +} + +/****************************************************************************** +* Get an extension block (see GIF manual) from gif file. This routine only * +* returns the first data block, and DGifGetExtensionNext shouldbe called * +* after this one until NULL extension is returned. * +* The Extension should NOT be freed by the user (not dynamically allocated).* +* Note it is assumed the Extension desc. header ('!') has been read. * +******************************************************************************/ +void DGifGetExtension(GifFileType *GifFile, int *ExtCode, + GifByteType **Extension) +{ + GifByteType Buf; + GifFilePrivateType *Private = (GifFilePrivateType *) GifFile->Private; + + if (!IS_READABLE(Private)) { + /* This file was NOT open for reading: */ + GifInternError(GifFile, D_GIF_ERR_NOT_READABLE); + } + + GifRead(&Buf, 1, GifFile); + *ExtCode = Buf; + + DGifGetExtensionNext(GifFile, Extension); +} + +/****************************************************************************** +* Get a following extension block (see GIF manual) from gif file. This * +* routine sould be called until NULL Extension is returned. * +* The Extension should NOT be freed by the user (not dynamically allocated).* +******************************************************************************/ +void DGifGetExtensionNext(GifFileType *GifFile, GifByteType **Extension) +{ + GifByteType Buf; + GifFilePrivateType *Private = (GifFilePrivateType *) GifFile->Private; + + GifRead(&Buf, 1, GifFile); + if (Buf > 0) { + *Extension = Private->Buf; /* Use private unused buffer. */ + (*Extension)[0] = Buf; /* Pascal strings notation (pos. 0 is len.). */ + GifRead(&((*Extension)[1]), Buf, GifFile); + } + else + *Extension = NULL; +} + +/****************************************************************************** +* This routine should be called second to last, to close the GIF file. * +******************************************************************************/ +int DGifCloseFile(GifFileType *GifFile) +{ + GifFilePrivateType *Private = (GifFilePrivateType *)GifFile->Private; + + if (GifFile == NULL) return -1; + + if (!IS_READABLE(Private)) + { + /* This file was NOT open for reading: */ + GifInternError(GifFile, D_GIF_ERR_NOT_READABLE); + } + + if (GifClose (GifFile)) + { + GifInternError(GifFile, D_GIF_ERR_CLOSE_FAILED); + } + return 0; +} + +/****************************************************************************** +* Get 2 bytes (word) from the given file: * +******************************************************************************/ +static void DGifGetWord(GifFileType *GifFile, int *Word) +{ + unsigned char c[2]; + + GifRead(c, 2, GifFile); + + *Word = (((unsigned int) c[1]) << 8) + c[0]; +} + +/****************************************************************************** +* Get the image code in compressed form. his routine can be called if the * +* information needed to be piped out as is. Obviously this is much faster * +* than decoding and encoding again. This routine should be followed by calls * +* to DGifGetCodeNext, until NULL block is returned. * +* The block should NOT be freed by the user (not dynamically allocated). * +******************************************************************************/ +void DGifGetCode(GifFileType *GifFile, int *CodeSize, GifByteType **CodeBlock) +{ + GifFilePrivateType *Private = (GifFilePrivateType *) GifFile->Private; + + if (!IS_READABLE(Private)) { + /* This file was NOT open for reading: */ + GifInternError(GifFile, D_GIF_ERR_NOT_READABLE); + } + + *CodeSize = Private->BitsPerPixel; + + DGifGetCodeNext(GifFile, CodeBlock); +} + +/****************************************************************************** +* Continue to get the image code in compressed form. This routine should be * +* called until NULL block is returned. * +* The block should NOT be freed by the user (not dynamically allocated). * +******************************************************************************/ +void DGifGetCodeNext(GifFileType *GifFile, GifByteType **CodeBlock) +{ + GifByteType Buf; + GifFilePrivateType *Private = (GifFilePrivateType *) GifFile->Private; + + GifRead(&Buf, 1, GifFile); + + if (Buf > 0) { + *CodeBlock = Private->Buf; /* Use private unused buffer. */ + (*CodeBlock)[0] = Buf; /* Pascal strings notation (pos. 0 is len.). */ + GifRead(&((*CodeBlock)[1]), Buf, GifFile); + } + else { + *CodeBlock = NULL; + Private->Buf[0] = 0; /* Make sure the buffer is empty! */ + Private->PixelCount = 0; /* And local info. indicate image read. */ + } + +} + +/****************************************************************************** +* Setup the LZ decompression for this image: * +******************************************************************************/ +static void DGifSetupDecompress(GifFileType *GifFile) +{ + int i, BitsPerPixel; + GifByteType CodeSize; + unsigned int *Prefix; + GifFilePrivateType *Private = (GifFilePrivateType *) GifFile->Private; + + GifRead(&CodeSize, 1, GifFile); /* Read Code size from file. */ + BitsPerPixel = CodeSize; + + Private->Buf[0] = 0; /* Input Buffer empty. */ + Private->BitsPerPixel = BitsPerPixel; + Private->ClearCode = (1 << BitsPerPixel); + Private->EOFCode = Private->ClearCode + 1; + Private->RunningCode = Private->EOFCode + 1; + Private->RunningBits = BitsPerPixel + 1; /* Number of bits per code. */ + Private->MaxCode1 = 1 << Private->RunningBits; /* Max. code + 1. */ + Private->StackPtr = 0; /* No pixels on the pixel stack. */ + Private->LastCode = NO_SUCH_CODE; + Private->CrntShiftState = 0; /* No information in CrntShiftDWord. */ + Private->CrntShiftDWord = 0; + + Prefix = Private->Prefix; + for (i = 0; i <= LZ_MAX_CODE; i++) Prefix[i] = NO_SUCH_CODE; +} + +/****************************************************************************** +* The LZ decompression routine: * +* This version decompress the given gif file into Line of length LineLen. * +* This routine can be called few times (one per scan line, for example), in * +* order the complete the whole image. * +******************************************************************************/ +static void DGifDecompressLine(GifFileType *GifFile, GifPixelType *Line, + int LineLen) +{ + int i = 0, j, CrntCode, EOFCode, ClearCode, CrntPrefix, LastCode, StackPtr; + GifByteType *Stack, *Suffix; + unsigned int *Prefix; + GifFilePrivateType *Private = (GifFilePrivateType *) GifFile->Private; + + StackPtr = Private->StackPtr; + Prefix = Private->Prefix; + Suffix = Private->Suffix; + Stack = Private->Stack; + EOFCode = Private->EOFCode; + ClearCode = Private->ClearCode; + LastCode = Private->LastCode; + + CrntPrefix = 0; + if (StackPtr != 0) { + /* Let pop the stack off before continueing to read the gif file: */ + while (StackPtr != 0 && i < LineLen) Line[i++] = Stack[--StackPtr]; + } + + while (i < LineLen) { /* Decode LineLen items. */ + DGifDecompressInput(GifFile, &CrntCode); + + if (CrntCode == EOFCode) { + /* Note however that usually we will not be here as we will stop */ + /* decoding as soon as we got all the pixel, or EOF code will */ + /* not be read at all, and DGifGetLine/Pixel clean everything. */ + if (i != LineLen - 1 || Private->PixelCount != 0) { + GifInternError(GifFile, D_GIF_ERR_EOF_TOO_SOON); + } + i++; + } + else if (CrntCode == ClearCode) { + /* We need to start over again: */ + for (j = 0; j <= LZ_MAX_CODE; j++) Prefix[j] = NO_SUCH_CODE; + Private->RunningCode = Private->EOFCode + 1; + Private->RunningBits = Private->BitsPerPixel + 1; + Private->MaxCode1 = 1 << Private->RunningBits; + LastCode = Private->LastCode = NO_SUCH_CODE; + } + else { + /* Its regular code - if in pixel range simply add it to output */ + /* stream, otherwise trace to codes linked list until the prefix */ + /* is in pixel range: */ + if (CrntCode < ClearCode) { + /* This is simple - its pixel scalar, so add it to output: */ + Line[i++] = CrntCode; + } + else { + /* Its a code to needed to be traced: trace the linked list */ + /* until the prefix is a pixel, while pushing the suffix */ + /* pixels on our stack. If we done, pop the stack in reverse */ + /* (thats what stack is good for!) order to output. */ + if (Prefix[CrntCode] == NO_SUCH_CODE) { + /* Only allowed if CrntCode is exactly the running code: */ + /* In that case CrntCode = XXXCode, CrntCode or the */ + /* prefix code is last code and the suffix char is */ + /* exactly the prefix of last code! */ + if (CrntCode == Private->RunningCode - 2) { + CrntPrefix = LastCode; + Suffix[Private->RunningCode - 2] = + Stack[StackPtr++] = DGifGetPrefixChar(Prefix, + LastCode, ClearCode); + } + else { + GifInternError(GifFile, D_GIF_ERR_IMAGE_DEFECT); + } + } + else + CrntPrefix = CrntCode; + + /* Now (if image is O.K.) we should not get an NO_SUCH_CODE */ + /* During the trace. As we might loop forever, in case of */ + /* defective image, we count the number of loops we trace */ + /* and stop if we got LZ_MAX_CODE. obviously we can not */ + /* loop more than that. */ + j = 0; + while (j++ <= LZ_MAX_CODE && + CrntPrefix > ClearCode && + CrntPrefix <= LZ_MAX_CODE) { + Stack[StackPtr++] = Suffix[CrntPrefix]; + CrntPrefix = Prefix[CrntPrefix]; + } + if (j >= LZ_MAX_CODE || CrntPrefix > LZ_MAX_CODE) { + GifInternError(GifFile, D_GIF_ERR_IMAGE_DEFECT); + } + /* Push the last character on stack: */ + Stack[StackPtr++] = CrntPrefix; + + /* Now lets pop all the stack into output: */ + while (StackPtr != 0 && i < LineLen) + Line[i++] = Stack[--StackPtr]; + } + if (LastCode != NO_SUCH_CODE) { + Prefix[Private->RunningCode - 2] = LastCode; + + if (CrntCode == Private->RunningCode - 2) { + /* Only allowed if CrntCode is exactly the running code: */ + /* In that case CrntCode = XXXCode, CrntCode or the */ + /* prefix code is last code and the suffix char is */ + /* exactly the prefix of last code! */ + Suffix[Private->RunningCode - 2] = + DGifGetPrefixChar(Prefix, LastCode, ClearCode); + } + else { + Suffix[Private->RunningCode - 2] = + DGifGetPrefixChar(Prefix, CrntCode, ClearCode); + } + } + LastCode = CrntCode; + } + } + + Private->LastCode = LastCode; + Private->StackPtr = StackPtr; +} + +/****************************************************************************** +* Routine to trace the Prefixes linked list until we get a prefix which is * +* not code, but a pixel value (less than ClearCode). Returns that pixel value.* +* If image is defective, we might loop here forever, so we limit the loops to * +* the maximum possible if image O.k. - LZ_MAX_CODE times. * +******************************************************************************/ +static int DGifGetPrefixChar(unsigned int *Prefix, int Code, int ClearCode) +{ + int i = 0; + + while (Code > ClearCode && i++ <= LZ_MAX_CODE) Code = Prefix[Code]; + return Code; +} + +/****************************************************************************** +* Interface for accessing the LZ codes directly. Set Code to the real code * +* (12bits), or to -1 if EOF code is returned. * +******************************************************************************/ +void DGifGetLZCodes(GifFileType *GifFile, int *Code) +{ + GifByteType *CodeBlock; + GifFilePrivateType *Private = (GifFilePrivateType *) GifFile->Private; + + if (!IS_READABLE(Private)) { + /* This file was NOT open for reading: */ + GifInternError(GifFile, D_GIF_ERR_NOT_READABLE); + } + + DGifDecompressInput(GifFile, Code); + + if (*Code == Private->EOFCode) { + /* Skip rest of codes (hopefully only NULL terminating block): */ + do + DGifGetCodeNext(GifFile, &CodeBlock); + while (CodeBlock != NULL); + + *Code = -1; + } + else if (*Code == Private->ClearCode) { + /* We need to start over again: */ + Private->RunningCode = Private->EOFCode + 1; + Private->RunningBits = Private->BitsPerPixel + 1; + Private->MaxCode1 = 1 << Private->RunningBits; + } +} + +/****************************************************************************** +* The LZ decompression input routine: * +* This routine is responsable for the decompression of the bit stream from * +* 8 bits (bytes) packets, into the real codes. * +* Returns GIF_OK if read succesfully. * +******************************************************************************/ +static void DGifDecompressInput(GifFileType *GifFile, int *Code) +{ + GifFilePrivateType *Private = (GifFilePrivateType *) GifFile->Private; + GifByteType NextByte; + static unsigned int CodeMasks[] = { + 0x0000, 0x0001, 0x0003, 0x0007, + 0x000f, 0x001f, 0x003f, 0x007f, + 0x00ff, 0x01ff, 0x03ff, 0x07ff, + 0x0fff + }; + + while (Private->CrntShiftState < Private->RunningBits) { + /* Needs to get more bytes from input stream for next code: */ + DGifBufferedInput(GifFile, &NextByte); + Private->CrntShiftDWord |= + ((unsigned long) NextByte) << Private->CrntShiftState; + Private->CrntShiftState += 8; + } + *Code = Private->CrntShiftDWord & CodeMasks[Private->RunningBits]; + + Private->CrntShiftDWord >>= Private->RunningBits; + Private->CrntShiftState -= Private->RunningBits; + + /* If code cannt fit into RunningBits bits, must raise its size. Note */ + /* however that codes above 4095 are used for special signaling. */ + if (++Private->RunningCode > Private->MaxCode1 && + Private->RunningBits < LZ_BITS) { + Private->MaxCode1 <<= 1; + Private->RunningBits++; + } +} + +/****************************************************************************** +* This routines read one gif data block at a time and buffers it internally * +* so that the decompression routine could access it. * +* The routine returns the next byte from its internal buffer (or read next * +* block in if buffer empty) * +******************************************************************************/ +static void DGifBufferedInput(GifFileType *GifFile, GifByteType *NextByte) +{ + GifFilePrivateType *Private = (GifFilePrivateType *) GifFile->Private; + GifByteType *Buf = Private->Buf; + + if (Buf[0] == 0) { + /* Needs to read the next buffer - this one is empty: */ + GifRead(Buf, 1, GifFile); + GifRead((Buf + 1), Buf[0], GifFile); + *NextByte = Buf[1]; + Buf[1] = 2; /* We use now the second place as last char read! */ + Buf[0]--; + } + else { + *NextByte = Buf[Buf[1]++]; + Buf[0]--; + } +} + +/****************************************************************************** +* This routine reads an entire GIF into core, hanging all its state info off * +* the GifFileType pointer. Call DGifOpenFileName() or DGifOpenFileHandle() * +* first to initialize I/O. Its inverse is EGifSpew(). * +******************************************************************************/ +void DGifSlurp(GifFileType *GifFile) +{ + int ImageSize; + GifRecordType RecordType; + SavedImage *sp; + GifByteType *ExtData; + + /* Some versions of malloc dislike 0-length requests */ + GifFile->SavedImages = (SavedImage *)malloc(sizeof(SavedImage)); + memset(GifFile->SavedImages, 0, sizeof(SavedImage)); + sp = &GifFile->SavedImages[0]; + + do { + DGifGetRecordType(GifFile, &RecordType); + + switch (RecordType) { + case IMAGE_DESC_RECORD_TYPE: + DGifGetImageDesc(GifFile); + + sp = &GifFile->SavedImages[GifFile->ImageCount-1]; + ImageSize = sp->ImageDesc.Width * sp->ImageDesc.Height; + + sp->RasterBits + = (GifPixelType*) malloc(ImageSize * sizeof(GifPixelType)); + + DGifGetLine(GifFile, sp->RasterBits, ImageSize); + break; + + case EXTENSION_RECORD_TYPE: + DGifGetExtension(GifFile,&sp->Function,&ExtData); + + do { + if (AddExtensionBlock(sp, ExtData[0], ExtData+1) == GIF_ERROR) + GifInternError(GifFile, D_GIF_ERR_NOT_ENOUGH_MEM); + DGifGetExtensionNext(GifFile, &ExtData); + } while (ExtData != NULL); + break; + + case TERMINATE_RECORD_TYPE: + break; + + default: /* Should be trapped by DGifGetRecordType */ + break; + } + } while (RecordType != TERMINATE_RECORD_TYPE); +} + +/****************************************************************************** +* Extension record functions * +******************************************************************************/ + +void MakeExtension(SavedImage *New, int Function) +{ + New->Function = Function; + /* + * Someday we might have to deal with multiple extensions. + */ +} + +int AddExtensionBlock(SavedImage *New, int Len, GifByteType *data) +{ + int size; + ExtensionBlock *ep; + + if (New->ExtensionBlocks == NULL) + New->ExtensionBlocks = (ExtensionBlock *)malloc(sizeof(ExtensionBlock)); + else + New->ExtensionBlocks = + (ExtensionBlock *)realloc(New->ExtensionBlocks, + sizeof(ExtensionBlock) * (New->ExtensionBlockCount + 1)); + + if (New->ExtensionBlocks == NULL) + return(GIF_ERROR); + + ep = &New->ExtensionBlocks[New->ExtensionBlockCount++]; + ep->ByteCount = Len; + size = Len * sizeof(GifByteType); + ep->Bytes = (GifByteType *)malloc(size); + memcpy(ep->Bytes, data, size); + return(GIF_OK); +} + +void FreeExtension(SavedImage *Image) +{ + ExtensionBlock *ep; + + for (ep = Image->ExtensionBlocks; + ep < Image->ExtensionBlocks + Image->ExtensionBlockCount; + ep++) + (void) free((char *)ep->Bytes); + free((char *)Image->ExtensionBlocks); + Image->ExtensionBlocks = NULL; +} + +/****************************************************************************** +* Image block allocation functions * +******************************************************************************/ +SavedImage *MakeSavedImage(GifFileType *GifFile, SavedImage *CopyFrom) +/* + * Append an image block to the SavedImages array + */ +{ + SavedImage *sp; + + if (GifFile->SavedImages == NULL) + GifFile->SavedImages = (SavedImage *)malloc(sizeof(SavedImage)); + else + GifFile->SavedImages = (SavedImage *)realloc(GifFile->SavedImages, + sizeof(SavedImage) * (GifFile->ImageCount+1)); + + if (GifFile->SavedImages == NULL) + return((SavedImage *)NULL); + else + { + sp = &GifFile->SavedImages[GifFile->ImageCount++]; + memset((char *)sp, '\0', sizeof(SavedImage)); + + if (CopyFrom) + { + memcpy((char *)sp, CopyFrom, sizeof(SavedImage)); + + /* + * Make our own allocated copies of the heap fields in the + * copied record. This guards against potential aliasing + * problems. + */ + + /* first, the local color map */ + if (sp->ImageDesc.ColorMap) + sp->ImageDesc.ColorMap = + MakeMapObject(CopyFrom->ImageDesc.ColorMap->ColorCount, + CopyFrom->ImageDesc.ColorMap->Colors); + + /* next, the raster */ + sp->RasterBits = (char *)malloc(sizeof(GifPixelType) + * CopyFrom->ImageDesc.Height + * CopyFrom->ImageDesc.Width); + memcpy(sp->RasterBits, + CopyFrom->RasterBits, + sizeof(GifPixelType) + * CopyFrom->ImageDesc.Height + * CopyFrom->ImageDesc.Width); + + /* finally, the extension blocks */ + if (sp->ExtensionBlocks) + { + sp->ExtensionBlocks + = (ExtensionBlock*)malloc(sizeof(ExtensionBlock) + * CopyFrom->ExtensionBlockCount); + memcpy(sp->ExtensionBlocks, + CopyFrom->ExtensionBlocks, + sizeof(ExtensionBlock) + * CopyFrom->ExtensionBlockCount); + + /* + * For the moment, the actual blocks can take their + * chances with free(). We'll fix this later. + */ + } + } + + return(sp); + } +} + +void FreeSavedImages(GifFileType *GifFile) +{ + SavedImage *sp; + + for (sp = GifFile->SavedImages; + sp < GifFile->SavedImages + GifFile->ImageCount; + sp++) + { + if (sp->ImageDesc.ColorMap) + FreeMapObject(sp->ImageDesc.ColorMap); + + if (sp->RasterBits) + free((char *)sp->RasterBits); + + if (sp->ExtensionBlocks) + FreeExtension(sp); + } + free((char *) GifFile->SavedImages); +} + +/****************************************************************************** +* Miscellaneous utility functions * +******************************************************************************/ + +int BitSize(int n) +/* return smallest bitfield size n will fit in */ +{ + register int i; + + for (i = 1; i <= 8; i++) + if ((1 << i) >= n) + break; + return(i); +} + +/****************************************************************************** +* Color map object functions * +******************************************************************************/ + +ColorMapObject *MakeMapObject(int ColorCount, GifColorType *ColorMap) +/* + * Allocate a color map of given size; initialize with contents of + * ColorMap if that pointer is non-NULL. + */ +{ + ColorMapObject *Object; + + if (ColorCount != (1 << BitSize(ColorCount))) + return((ColorMapObject *)NULL); + + Object = (ColorMapObject *)malloc(sizeof(ColorMapObject)); + if (Object == (ColorMapObject *)NULL) + return((ColorMapObject *)NULL); + + Object->Colors = (GifColorType *)calloc(ColorCount, sizeof(GifColorType)); + if (Object->Colors == (GifColorType *)NULL) + return((ColorMapObject *)NULL); + + Object->ColorCount = ColorCount; + Object->BitsPerPixel = BitSize(ColorCount); + + if (ColorMap) + memcpy((char *)Object->Colors, + (char *)ColorMap, ColorCount * sizeof(GifColorType)); + + return(Object); +} + +void FreeMapObject(ColorMapObject *Object) +/* + * Free a color map object + */ +{ + free(Object->Colors); + free(Object); +}
--- a/src/eval.c Mon Aug 13 10:41:59 2007 +0200 +++ b/src/eval.c Mon Aug 13 10:42:44 2007 +0200 @@ -2557,7 +2557,14 @@ debug_on_next_call = 0; /* #### from FSFmacs; correct? */ if (SYMBOLP (cmd) && !NILP (Fget (cmd, Qdisabled, Qnil))) - return run_hook (Vdisabled_command_hook); + { + Lisp_Object tem = Fsymbol_value(Vdisabled_command_hook); + + if (!NILP(tem)) + { + return Frun_hooks (1, &Vdisabled_command_hook); + } + } for (;;) {
--- a/src/event-msw.c Mon Aug 13 10:41:59 2007 +0200 +++ b/src/event-msw.c Mon Aug 13 10:42:44 2007 +0200 @@ -98,6 +98,7 @@ #ifdef HAVE_MSG_SELECT extern SELECT_TYPE input_wait_mask, non_fake_input_wait_mask; extern SELECT_TYPE process_only_mask, tty_only_mask; +SELECT_TYPE zero_mask; extern int signal_event_pipe_initialized; int windows_fd; #endif @@ -1294,6 +1295,29 @@ EMACS_TIME_TO_SELECT_TIME (sometime, select_time_to_block); pointer_to_this = &select_time_to_block; } + + /* select() is slow and buggy so if we don't have any processes + just wait as normal */ + if (memcmp (&process_only_mask, &zero_mask, sizeof(SELECT_TYPE))==0) + { + /* Now try getting a message or process event */ + active = MsgWaitForMultipleObjects (0, mswindows_waitable_handles, + FALSE, badly_p ? INFINITE : 0, + QS_ALLINPUT); + + if (active == WAIT_TIMEOUT) + { + /* No luck trying - just return what we've already got */ + return; + } + else if (active == WAIT_OBJECT_0) + { + /* Got your message, thanks */ + mswindows_drain_windows_queue (); + continue; + } + } + active = select (MAXDESC, &temp_mask, 0, 0, pointer_to_this); if (active == 0) @@ -1572,8 +1596,37 @@ mswindows_enqueue_misc_user_event (fobj, Qeval, list3 (Qdelete_frame, fobj, Qt)); break; + case WM_KEYUP: + case WM_SYSKEYUP: + /* See Win95 comment under WM_KEYDOWN */ + { + BYTE keymap[256]; + + if (wParam == VK_CONTROL) + { + GetKeyboardState (keymap); + keymap [(lParam & 0x1000000) ? VK_RCONTROL : VK_LCONTROL] &= ~0x80; + SetKeyboardState (keymap); + } + else if (wParam == VK_MENU) + { + GetKeyboardState (keymap); + keymap [(lParam & 0x1000000) ? VK_RMENU : VK_LMENU] &= ~0x80; + SetKeyboardState (keymap); + } + }; + goto defproc; + case WM_KEYDOWN: case WM_SYSKEYDOWN: + /* In some locales the right-hand Alt key is labelled AltGr. This key + * should produce alternative charcaters when combined with another key. + * eg on a German keyboard pressing AltGr+q should produce '@'. + * AltGr generates exactly the same keystrokes as LCtrl+RAlt. But if + * TranslateMessage() is called with *any* combination of Ctrl+Alt down, + * it translates as if AltGr were down. + * We get round this by removing all modifiers from the keymap before + * calling TranslateMessage() unless AltGr is *really* down. */ { BYTE keymap[256]; int has_AltGr = mswindows_current_layout_has_AltGr (); @@ -1583,7 +1636,7 @@ GetKeyboardState (keymap); mods = mswindows_modifier_state (keymap, has_AltGr); - /* Handle those keys that TranslateMessage won't generate a WM_CHAR for */ + /* Handle those keys for which TranslateMessage won't generate a WM_CHAR */ if (!NILP (keysym = mswindows_key_to_emacs_keysym(wParam, mods))) mswindows_enqueue_keypress_event (hwnd, keysym, mods); else @@ -1591,12 +1644,21 @@ int quit_ch = CONSOLE_QUIT_CHAR (XCONSOLE (mswindows_find_console (hwnd))); BYTE keymap_orig[256]; MSG msg = { hwnd, message, wParam, lParam, GetMessageTime(), (GetMessagePos()) }; + + /* GetKeyboardState() does not work as documented on Win95. We have + * to loosely track Left and Right modifiers on behalf of the OS, + * without screwing up Windows NT which tracks them properly. */ + if (wParam == VK_CONTROL) + keymap [(lParam & 0x1000000) ? VK_RCONTROL : VK_LCONTROL] |= 0x80; + else if (wParam == VK_MENU) + keymap [(lParam & 0x1000000) ? VK_RMENU : VK_LMENU] |= 0x80; + memcpy (keymap_orig, keymap, 256); /* Remove shift modifier from an ascii character */ mods &= ~MOD_SHIFT; - /* Clear control and alt modifiers out of the keymap */ + /* Clear control and alt modifiers unless AltGr is pressed */ keymap [VK_RCONTROL] = 0; keymap [VK_LMENU] = 0; if (!has_AltGr || !(keymap [VK_LCONTROL] & 0x80) || !(keymap [VK_RMENU] & 0x80)) @@ -1608,7 +1670,7 @@ } SetKeyboardState (keymap); - /* Have some WM_[SYS]CHARS in the queue */ + /* Maybe generate some WM_[SYS]CHARs in the queue */ TranslateMessage (&msg); while (PeekMessage (&msg, hwnd, WM_CHAR, WM_CHAR, PM_REMOVE) @@ -2778,9 +2840,7 @@ windows_fd = open("/dev/windows", O_RDONLY | O_NONBLOCK, 0); assert (windows_fd>=0); FD_SET (windows_fd, &input_wait_mask); - /* for some reason I get blocks on the signal event pipe, which is - bad... - signal_event_pipe_initialized = 0; */ + FD_ZERO(&zero_mask); #endif event_stream = mswindows_event_stream;
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/gif_io.c Mon Aug 13 10:42:44 2007 +0200 @@ -0,0 +1,259 @@ +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <unistd.h> +#include "gifrlib.h" + +/****************************************************************************** +* Set up the GifFileType structure for use. This must be called first in any * +* client program. Then, if custom IO or Error functions are desired, call * +* GifSetIOFunc/GifSetErrorFunc, then call EGifInitWrite. Else call * +* EGifOpenFileName or EGifOpenFileHandle for standard IO functions. * +* If setup fails, a NULL pointer is returned. * +******************************************************************************/ +GifFileType *GifSetup(void) +{ + GifIODataType *GifIO; + GifFileType *GifFile; + + if ((GifFile = (GifFileType *) malloc(sizeof(GifFileType))) == NULL) + return NULL; + memset(GifFile, '\0', sizeof(GifFileType)); + if ((GifIO = (GifIODataType *) malloc(sizeof(GifIODataType))) == NULL) { + free((char *) GifFile); + return NULL; + } + memset(GifIO, '\0', sizeof(GifIODataType)); + GifFile->GifIO = GifIO; + return GifFile; +} + +void GifFree(GifFileType *GifFile) +{ + GifFilePrivateType *Private; + + if (GifFile == NULL) return; + + Private = (GifFilePrivateType *) GifFile->Private; + + if (GifFile->SavedImages) + FreeSavedImages(GifFile); + if (GifFile->Image.ColorMap) + FreeMapObject(GifFile->Image.ColorMap); + if (GifFile->SColorMap) + FreeMapObject(GifFile->SColorMap); + if (Private) + { + free(Private); + } + if (GifFile->GifIO) + free(GifFile->GifIO); + free(GifFile); +} + +/**************************************************************************** +* Install the specified ReadFunction into the GifFile specified. * +****************************************************************************/ +void GifSetReadFunc(GifFileType *GifFile, Gif_rw_func ReadFunc, VoidPtr data) +{ + GifIODataType *GifIO = (GifIODataType *)GifFile->GifIO; + GifIO->ReadFunc = ReadFunc; + GifIO->ReadFunc_data = data; +} + +/**************************************************************************** +* Install the specified WriteFunction into the GifFile specified. * +****************************************************************************/ +void GifSetWriteFunc(GifFileType *GifFile, Gif_rw_func WriteFunc, VoidPtr data) +{ + GifIODataType *GifIO = (GifIODataType *)GifFile->GifIO; + GifIO->WriteFunc = WriteFunc; + GifIO->WriteFunc_data = data; +} + +/**************************************************************************** +* Install the specified CloseFunction into the GifFile specified. * +****************************************************************************/ +void GifSetCloseFunc(GifFileType *GifFile, Gif_close_func CloseFunc, VoidPtr data) +{ + GifIODataType *GifIO = (GifIODataType *)GifFile->GifIO; + GifIO->CloseFunc = CloseFunc; + GifIO->CloseFunc_data = data; +} + +/**************************************************************************** +* Install the standard IO funcs into the GifFile, including the FILE info * +****************************************************************************/ +void GifStdIOInit(GifFileType *GifFile, FILE *file, int filehandle) +{ + GifStdIODataType *IOData; + + if ((IOData = (GifStdIODataType*)malloc(sizeof(GifStdIODataType))) == NULL) + GifInternError(GifFile, GIF_ERR_NOT_ENOUGH_MEM); + IOData->File = file; + IOData->FileHandle = filehandle; + GifSetReadFunc(GifFile, GifStdRead, IOData); + GifSetWriteFunc(GifFile, GifStdWrite, IOData); + GifSetCloseFunc(GifFile, GifStdFileClose, IOData); +} + +size_t GifStdRead(GifByteType *buf, size_t size, VoidPtr method_data) +{ + GifStdIODataType *IOtype = (GifStdIODataType*)method_data; + return (fread(buf, 1, size, IOtype->File)); +} + +size_t GifStdWrite(GifByteType *buf, size_t size, VoidPtr method_data) +{ + GifStdIODataType *IOtype = (GifStdIODataType*)method_data; + return (fwrite(buf, 1, size, IOtype->File)); +} + +int GifStdFileClose(VoidPtr method_data) +{ + int ret; + GifStdIODataType *IOtype = (GifStdIODataType*)method_data; + ret = fclose(IOtype->File); + if (ret == 0 && IOtype->FileHandle != -1) + ret = close(IOtype->FileHandle); + return ret; +} + +void GifRead(GifByteType *buf, size_t size, GifFileType *GifFile) +{ + GifIODataType *GifIO = (GifIODataType*)GifFile->GifIO; + if ((*(GifIO->ReadFunc))(buf, size, GifIO->ReadFunc_data) != size) + GifError(GifFile, "Read error!"); +} + +void GifWrite(GifByteType *buf, size_t size, GifFileType *GifFile) +{ + GifIODataType *GifIO = (GifIODataType*)GifFile->GifIO; + if ((*(GifIO->WriteFunc))(buf, size, GifIO->WriteFunc_data) != size) + GifError(GifFile, "Write error!"); +} + +int GifClose(GifFileType *GifFile) +{ + GifIODataType *GifIO = (GifIODataType*)GifFile->GifIO; + return ((*(GifIO->CloseFunc))(GifIO->CloseFunc_data)); +} + +static char *GifErrorString[14] = { + "Failed to open given file", /* D_GIF_ERR_OPEN_FAILED */ + "Failed to read from given file", /* D_GIF_ERR_READ_FAILED */ + "Given file is NOT a GIF file", /* D_GIF_ERR_NOT_GIF_FILE */ + "No Screen Descriptor detected", /* D_GIF_ERR_NO_SCRN_DSCR */ + "No Image Descriptor detected", /* D_GIF_ERR_NO_IMAG_DSCR */ + "No global or local color map", /* D_GIF_ERR_NO_COLOR_MAP */ + "Wrong record type detected", /* D_GIF_ERR_WRONG_RECORD */ + "#Pixels bigger than Width * Height", /* D_GIF_ERR_DATA_TOO_BIG */ + "Fail to allocate required memory", /* D_GIF_ERR_NOT_ENOUGH_MEM */ + "Failed to close given file", /* D_GIF_ERR_CLOSE_FAILED */ + "Given file was not opened for read", /* D_GIF_ERR_CLOSE_FAILED */ + "Image is defective, decoding aborted", /* D_GIF_ERR_IMAGE_DEFECT */ + "Image EOF detected before image complete", /* D_GIF_ERR_EOF_TOO_SOON */ + "Undefined error!", +}; + +const char *GetGifError(int error); + +/***************************************************************************** +* Get the last GIF error in human-readable form. * +*****************************************************************************/ +const char *GetGifError(int error) +{ + char *Err; + + switch(error) { + case D_GIF_ERR_OPEN_FAILED: + Err = GifErrorString[0]; + break; + case D_GIF_ERR_READ_FAILED: + Err = GifErrorString[1]; + break; + case D_GIF_ERR_NOT_GIF_FILE: + Err = GifErrorString[2]; + break; + case D_GIF_ERR_NO_SCRN_DSCR: + Err = GifErrorString[3]; + break; + case D_GIF_ERR_NO_IMAG_DSCR: + Err = GifErrorString[4]; + break; + case D_GIF_ERR_NO_COLOR_MAP: + Err = GifErrorString[5]; + break; + case D_GIF_ERR_WRONG_RECORD: + Err = GifErrorString[6]; + break; + case D_GIF_ERR_DATA_TOO_BIG: + Err = GifErrorString[7]; + break; + case D_GIF_ERR_NOT_ENOUGH_MEM: + Err = GifErrorString[8]; + break; + case D_GIF_ERR_CLOSE_FAILED: + Err = GifErrorString[9]; + break; + case D_GIF_ERR_NOT_READABLE: + Err = GifErrorString[10]; + break; + case D_GIF_ERR_IMAGE_DEFECT: + Err = GifErrorString[11]; + break; + case D_GIF_ERR_EOF_TOO_SOON: + Err = GifErrorString[12]; + break; + default: + Err = GifErrorString[13]; + break; + } + return Err; +} + +/****************************** +* These are called internally * +******************************/ +void GifError(GifFileType *GifFile, const char *err_str) +{ + GifIODataType *GifIO = (GifIODataType*)GifFile->GifIO; + if (GifIO->ErrorFunc) + (*(GifIO->ErrorFunc))(err_str, GifIO->ErrorFunc_data); + else + fprintf(stderr, "GIF FATAL ERROR: %s", err_str); + exit(-10); +} + +void GifWarning(GifFileType *GifFile, const char *err_str) +{ + GifIODataType *GifIO = (GifIODataType*)GifFile->GifIO; + if (GifIO->WarningFunc) + (*(GifIO->WarningFunc))(err_str, GifIO->WarningFunc_data); +} + +void GifInternError(GifFileType *GifFile, int error_num) +{ + const char *ErrStr = GetGifError(error_num); + GifError(GifFile, ErrStr); +} + +void GifInternWarning(GifFileType *GifFile, int error_num) +{ + const char *ErrStr = GetGifError(error_num); + GifWarning(GifFile, ErrStr); +} + +void GifSetErrorFunc(GifFileType *GifFile, Gif_error_func ErrorFunc, VoidPtr data) +{ + GifIODataType *GifIO = (GifIODataType *)GifFile->GifIO; + GifIO->ErrorFunc = ErrorFunc; + GifIO->ErrorFunc_data = data; +} + +void GifSetWarningFunc(GifFileType *GifFile, Gif_error_func WarningFunc, VoidPtr data) +{ + GifIODataType *GifIO = (GifIODataType *)GifFile->GifIO; + GifIO->WarningFunc = WarningFunc; + GifIO->WarningFunc_data = data; +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/gifrlib.h Mon Aug 13 10:42:44 2007 +0200 @@ -0,0 +1,272 @@ +/****************************************************************************** +* In order to make life a little bit easier when using the GIF file format, * +* this library was written, and which does all the dirty work... * +* * +* Written by Gershon Elber, Jun. 1989 * +* Hacks by Eric S. Raymond, Sep. 1992 * +* and Jareth Hein, Jan. 1998 * +******************************************************************************* +* History: * +* 14 Jun 89 - Version 1.0 by Gershon Elber. * +* 3 Sep 90 - Version 1.1 by Gershon Elber (Support for Gif89, Unique names). * +* 15 Sep 90 - Version 2.0 by Eric S. Raymond (Changes to suoport GIF slurp) * +* 26 Jun 96 - Version 3.0 by Eric S. Raymond (Full GIF89 support) * +* 19 Jan 98 - Version 3.1 by Jareth Hein (Support for user-defined I/O). * +******************************************************************************/ + +#ifndef GIF_LIB_H +#define GIF_LIB_H + +#define GIF_ERROR 0 +#define GIF_OK 1 + +#ifndef TRUE +#define TRUE 1 +#define FALSE 0 +#endif + +#ifndef NULL +#define NULL 0 +#endif /* NULL */ + +#define GIF_FILE_BUFFER_SIZE 16384 /* Files uses bigger buffers than usual. */ + +typedef int GifBooleanType; +typedef unsigned char GifPixelType; +typedef unsigned char * GifRowType; +typedef unsigned char GifByteType; + +#ifdef SYSV +#define VoidPtr char * +#else +#define VoidPtr void * +#endif /* SYSV */ + +typedef struct GifColorType { + GifByteType Red, Green, Blue; +} GifColorType; + +typedef struct ColorMapObject +{ + int ColorCount; + int BitsPerPixel; + GifColorType *Colors; /* on malloc(3) heap */ +} +ColorMapObject; + +typedef struct GifImageDesc { + int Left, Top, Width, Height, /* Current image dimensions. */ + Interlace; /* Sequential/Interlaced lines. */ + ColorMapObject *ColorMap; /* The local color map */ +} GifImageDesc; + +/* I/O operations. If you roll your own, they need to be semantically equivilent to + fread/fwrite, with an additional paramater to hold data local to your method. */ +typedef size_t (*Gif_rw_func)(GifByteType *buffer, size_t size, VoidPtr method_data); +/* Finish up stream. Non-zero return indicates failure */ +typedef int (*Gif_close_func)(VoidPtr close_data); +/* Error handling function */ +typedef void (*Gif_error_func)(const char *string, VoidPtr error_data); + +typedef struct GifFileType { + int SWidth, SHeight, /* Screen dimensions. */ + SColorResolution, /* How many colors can we generate? */ + SBackGroundColor; /* I hope you understand this one... */ + ColorMapObject *SColorMap; /* NULL if it doesn't exist. */ + int ImageCount; /* Number of current image */ + GifImageDesc Image; /* Block describing current image */ + struct SavedImage *SavedImages; /* Use this to accumulate file state */ + VoidPtr Private; /* Don't mess with this! */ + VoidPtr GifIO; /* Contains all information for I/O */ +} GifFileType; + +typedef enum { + UNDEFINED_RECORD_TYPE, + SCREEN_DESC_RECORD_TYPE, + IMAGE_DESC_RECORD_TYPE, /* Begin with ',' */ + EXTENSION_RECORD_TYPE, /* Begin with '!' */ + TERMINATE_RECORD_TYPE /* Begin with ';' */ +} GifRecordType; + +/****************************************************************************** +* GIF89 extension function codes * +******************************************************************************/ + +#define COMMENT_EXT_FUNC_CODE 0xfe /* comment */ +#define GRAPHICS_EXT_FUNC_CODE 0xf9 /* graphics control */ +#define PLAINTEXT_EXT_FUNC_CODE 0x01 /* plaintext */ +#define APPLICATION_EXT_FUNC_CODE 0xff /* application block */ + +/****************************************************************************** +* IO related routines. Defined in gif_io.c * +******************************************************************************/ +GifFileType *GifSetup(void); +void GifFree(GifFileType *GifFile); +void GifSetReadFunc (GifFileType *GifFile, Gif_rw_func func, VoidPtr data); +void GifSetWriteFunc(GifFileType *GifFile, Gif_rw_func func, VoidPtr data); +void GifSetCloseFunc(GifFileType *GifFile, Gif_close_func func, VoidPtr data); + +/****************************************************************************** +* O.K., here are the routines one can access in order to decode GIF file: * +******************************************************************************/ + +void DGifOpenFileName(GifFileType *GifFile, const char *GifFileName); +void DGifOpenFileHandle(GifFileType *GifFile, int GifFileHandle); +void DGifInitRead(GifFileType *GifFile); +void DGifSlurp(GifFileType *GifFile); +void DGifGetScreenDesc(GifFileType *GifFile); +void DGifGetRecordType(GifFileType *GifFile, GifRecordType *GifType); +void DGifGetImageDesc(GifFileType *GifFile); +void DGifGetLine(GifFileType *GifFile, GifPixelType *GifLine, int GifLineLen); +void DGifGetPixel(GifFileType *GifFile, GifPixelType GifPixel); +void DGifGetComment(GifFileType *GifFile, char *GifComment); +void DGifGetExtension(GifFileType *GifFile, int *GifExtCode, + GifByteType **GifExtension); +void DGifGetExtensionNext(GifFileType *GifFile, GifByteType **GifExtension); +void DGifGetCode(GifFileType *GifFile, int *GifCodeSize, + GifByteType **GifCodeBlock); +void DGifGetCodeNext(GifFileType *GifFile, GifByteType **GifCodeBlock); +void DGifGetLZCodes(GifFileType *GifFile, int *GifCode); +int DGifCloseFile(GifFileType *GifFile); + +#define D_GIF_ERR_OPEN_FAILED 101 /* And DGif possible errors. */ +#define D_GIF_ERR_READ_FAILED 102 +#define D_GIF_ERR_NOT_GIF_FILE 103 +#define D_GIF_ERR_NO_SCRN_DSCR 104 +#define D_GIF_ERR_NO_IMAG_DSCR 105 +#define D_GIF_ERR_NO_COLOR_MAP 106 +#define D_GIF_ERR_WRONG_RECORD 107 +#define D_GIF_ERR_DATA_TOO_BIG 108 +#define GIF_ERR_NOT_ENOUGH_MEM 109 +#define D_GIF_ERR_NOT_ENOUGH_MEM 109 +#define D_GIF_ERR_CLOSE_FAILED 110 +#define D_GIF_ERR_NOT_READABLE 111 +#define D_GIF_ERR_IMAGE_DEFECT 112 +#define D_GIF_ERR_EOF_TOO_SOON 113 + +/****************************************************************************** +* O.K., here are the error routines * +******************************************************************************/ +extern void GifSetErrorFunc(GifFileType *GifFile, Gif_error_func func, VoidPtr data); +extern void GifSetWarningFunc(GifFileType *GifFile, Gif_error_func func, VoidPtr data); +extern void GifInternError(GifFileType *GifFile, int errnum); +extern void GifInternWarning(GifFileType *GifFile, int errnum); +extern void GifError(GifFileType *GifFile, const char *err_str); +extern void GifWarning(GifFileType *GifFile, const char *err_str); + +/***************************************************************************** + * + * Everything below this point is new after version 1.2, supporting `slurp + * mode' for doing I/O in two big belts with all the image-bashing in core. + * + *****************************************************************************/ + +/****************************************************************************** +* Support for the in-core structures allocation (slurp mode). * +******************************************************************************/ + +/* This is the in-core version of an extension record */ +typedef struct { + int ByteCount; + char *Bytes; /* on malloc(3) heap */ +} ExtensionBlock; + +/* This holds an image header, its unpacked raster bits, and extensions */ +typedef struct SavedImage { + GifImageDesc ImageDesc; + + char *RasterBits; /* on malloc(3) heap */ + + int Function; + int ExtensionBlockCount; + ExtensionBlock *ExtensionBlocks; /* on malloc(3) heap */ +} SavedImage; + +extern void ApplyTranslation(SavedImage *Image, GifPixelType Translation[]); + +extern void MakeExtension(SavedImage *New, int Function); +extern int AddExtensionBlock(SavedImage *New, int Length, GifByteType *data); +extern void FreeExtension(SavedImage *Image); + +extern SavedImage *MakeSavedImage(GifFileType *GifFile, SavedImage *CopyFrom); +extern void FreeSavedImages(GifFileType *GifFile); + +/* Common defines used by encode/decode functions */ + +#define COMMENT_EXT_FUNC_CODE 0xfe /* Extension function code for comment. */ +#define GIF_STAMP "GIFVER" /* First chars in file - GIF stamp. */ +#define GIF_STAMP_LEN sizeof(GIF_STAMP) - 1 +#define GIF_VERSION_POS 3 /* Version first character in stamp. */ +#define GIF87_STAMP "GIF87a" /* First chars in file - GIF stamp. */ +#define GIF89_STAMP "GIF89a" /* First chars in file - GIF stamp. */ + +#define LZ_MAX_CODE 4095 /* Biggest code possible in 12 bits. */ +#define LZ_BITS 12 + +#define FILE_STATE_READ 0x01 +#define FILE_STATE_WRITE 0x01 +#define FILE_STATE_SCREEN 0x02 +#define FILE_STATE_IMAGE 0x04 + +#define FLUSH_OUTPUT 4096 /* Impossible code, to signal flush. */ +#define FIRST_CODE 4097 /* Impossible code, to signal first. */ +#define NO_SUCH_CODE 4098 /* Impossible code, to signal empty. */ + +#define IS_READABLE(Private) (!(Private->FileState & FILE_STATE_READ)) +#define IS_WRITEABLE(Private) (Private->FileState & FILE_STATE_WRITE) + +typedef struct GifFilePrivateType { + int FileState, + BitsPerPixel, /* Bits per pixel (Codes uses at list this + 1). */ + ClearCode, /* The CLEAR LZ code. */ + EOFCode, /* The EOF LZ code. */ + RunningCode, /* The next code algorithm can generate. */ + RunningBits,/* The number of bits required to represent RunningCode. */ + MaxCode1, /* 1 bigger than max. possible code, in RunningBits bits. */ + LastCode, /* The code before the current code. */ + CrntCode, /* Current algorithm code. */ + StackPtr, /* For character stack (see below). */ + CrntShiftState; /* Number of bits in CrntShiftDWord. */ + unsigned long CrntShiftDWord; /* For bytes decomposition into codes. */ + unsigned long PixelCount; /* Number of pixels in image. */ + GifByteType Buf[256]; /* Compressed input is buffered here. */ + GifByteType Stack[LZ_MAX_CODE]; /* Decoded pixels are stacked here. */ + GifByteType Suffix[LZ_MAX_CODE+1]; /* So we can trace the codes. */ + unsigned int Prefix[LZ_MAX_CODE+1]; +} GifFilePrivateType; + +typedef struct GifIODataType { + Gif_rw_func ReadFunc, WriteFunc; /* Pointers to the functions that will do the I/O */ + Gif_close_func CloseFunc; + VoidPtr ReadFunc_data; /* data to be passed to the read function */ + VoidPtr WriteFunc_data; /* data to be passed to the write function */ + VoidPtr CloseFunc_data; /* data to be passed to the close function */ + Gif_error_func ErrorFunc; /* MUST NOT RETURN (use lng_jmp or exit)! */ + Gif_error_func WarningFunc; /* For warning messages (can be ignored) */ + VoidPtr ErrorFunc_data; + VoidPtr WarningFunc_data; +} GifIODataType; + +typedef struct GifStdIODataType { + FILE *File; + int FileHandle; +} GifStdIODataType; + +/* Install StdIO funcs on FILE into GifFile */ +void GifStdIOInit(GifFileType *GifFile, FILE *file, int filehandle); + +/* Error checking reads, writes and closes */ +void GifRead(GifByteType *buf, size_t size, GifFileType *GifFile); +void GifWrite(GifByteType *buf, size_t size, GifFileType *GifFile); +int GifClose(GifFileType *GifFile); + +/* The default Read and Write functions for files */ +size_t GifStdRead(GifByteType *buf, size_t size, VoidPtr method_data); +size_t GifStdWrite(GifByteType *buf, size_t size, VoidPtr method_data); +int GifStdFileClose(VoidPtr method_data); + +ColorMapObject *MakeMapObject(int ColorCount, GifColorType *ColorMap); +void FreeMapObject(ColorMapObject *Object); + + +#endif /* GIF_LIB_H */
--- a/src/glyphs-eimage.c Mon Aug 13 10:41:59 2007 +0200 +++ b/src/glyphs-eimage.c Mon Aug 13 10:42:44 2007 +0200 @@ -517,7 +517,7 @@ * GIF * **********************************************************************/ -#include <gifrlib.h> +#include "gifrlib.h" static void gif_validate (Lisp_Object instantiator)
--- a/src/glyphs-msw.c Mon Aug 13 10:41:59 2007 +0200 +++ b/src/glyphs-msw.c Mon Aug 13 10:42:44 2007 +0200 @@ -521,6 +521,8 @@ IMAGE_INSTANCE_PIXMAP_HEIGHT (ii), SRCCOPY)) { + DeleteObject (newbmp); + DeleteDC (hdcDst); return 0; } @@ -553,6 +555,8 @@ IMAGE_INSTANCE_PIXMAP_HEIGHT (ii), SRCCOPY)) { + DeleteObject (newmask); + DeleteDC (hdcDst); return NULL; }
--- a/src/glyphs-x.c Mon Aug 13 10:41:59 2007 +0200 +++ b/src/glyphs-x.c Mon Aug 13 10:42:44 2007 +0200 @@ -39,6 +39,7 @@ Many changes for color work and optimizations by Jareth Hein for 21.0 Switch of GIF/JPEG/PNG to new EImage intermediate code by Jareth Hein for 21.0 TIFF code by Jareth Hein for 21.0 + GIF/JPEG/PNG/TIFF code moved to new glyph-eimage.c for 21.0 TODO: Convert images.el to C and stick it in here?
--- a/src/glyphs.c Mon Aug 13 10:41:59 2007 +0200 +++ b/src/glyphs.c Mon Aug 13 10:42:44 2007 +0200 @@ -2366,15 +2366,17 @@ instanced as `mono-pixmap', `color-pixmap', or `pointer'.) 'gif (A GIF87 or GIF89 image; only if GIF support was compiled into this - XEmacs. Can be instanced as `color-pixmap'.) + XEmacs. NOTE: only the first frame of animated gifs will be displayed. + Can be instanced as `color-pixmap'.) 'jpeg (A JPEG image; only if JPEG support was compiled into this XEmacs. Can be instanced as `color-pixmap'.) 'png - (A PNG/GIF24 image; only if PNG support was compiled into this XEmacs. + (A PNG image; only if PNG support was compiled into this XEmacs. Can be instanced as `color-pixmap'.) 'tiff - (A TIFF image; not currently implemented.) + (A TIFF image; only if TIFF support was compiled into this XEmacs. + Can be instanced as `color-pixmap'.) 'cursor-font (One of the standard cursor-font names, such as "watch" or "right_ptr" under X. Under X, this is, more specifically, any
--- a/src/ntproc.c Mon Aug 13 10:41:59 2007 +0200 +++ b/src/ntproc.c Mon Aug 13 10:42:44 2007 +0200 @@ -132,6 +132,8 @@ xzero (*cp); cp->fd = -1; cp->pid = -1; + if (cp->procinfo.hProcess) + CloseHandle(cp->procinfo.hProcess); cp->procinfo.hProcess = NULL; cp->status = STATUS_READ_ERROR; @@ -234,10 +236,19 @@ /* Our identity */ cp = (child_process *)arg; - /* We have to wait for the go-ahead before we can start */ + /* <matts@tibco.com> - I think the test below is wrong - we don't + want to wait for someone to signal char_consumed, as we haven't + read anything for them to consume yet! */ + + /* if (cp == NULL || WaitForSingleObject (cp->char_consumed, INFINITE) != WAIT_OBJECT_0) - return 1; + */ + + if (cp == NULL) + { + return 1; + } for (;;) { @@ -255,7 +266,28 @@ } if (rc == STATUS_READ_ERROR) - return 1; + { + /* We are finished, so clean up handles and set to NULL so + that CHILD_ACTIVE will see what is going on */ + if (cp->char_avail) { + CloseHandle (cp->char_avail); + cp->char_avail = NULL; + } + if (cp->thrd) { + CloseHandle (cp->thrd); + cp->thrd = NULL; + } + if (cp->char_consumed) { + CloseHandle(cp->char_consumed); + cp->char_consumed = NULL; + } + if (cp->procinfo.hProcess) + { + CloseHandle (cp->procinfo.hProcess); + cp->procinfo.hProcess=NULL; + } + return 1; + } /* If the read died, the child has died so let the thread die */ if (rc == STATUS_READ_FAILED) @@ -269,6 +301,26 @@ break; } } + /* We are finished, so clean up handles and set to NULL so that + CHILD_ACTIVE will see what is going on */ + if (cp->char_avail) { + CloseHandle (cp->char_avail); + cp->char_avail = NULL; + } + if (cp->thrd) { + CloseHandle (cp->thrd); + cp->thrd = NULL; + } + if (cp->char_consumed) { + CloseHandle(cp->char_consumed); + cp->char_consumed = NULL; + } + if (cp->procinfo.hProcess) + { + CloseHandle (cp->procinfo.hProcess); + cp->procinfo.hProcess=NULL; + } + return 0; } @@ -325,6 +377,11 @@ cp->pid = (int) cp->procinfo.dwProcessId; + CloseHandle (cp->procinfo.hThread); + CloseHandle (cp->procinfo.hProcess); + cp->procinfo.hThread=NULL; + cp->procinfo.hProcess=NULL; + /* Hack for Windows 95, which assigns large (ie negative) pids */ if (cp->pid < 0) cp->pid = -cp->pid;
--- a/version.sh Mon Aug 13 10:41:59 2007 +0200 +++ b/version.sh Mon Aug 13 10:42:44 2007 +0200 @@ -2,7 +2,7 @@ emacs_major_version=21 emacs_minor_version=0 emacs_beta_version= -xemacs_codename="Corsican" +xemacs_codename="Danish Landrace" infodock_major_version=4 infodock_minor_version=0 -infodock_build_version=2 +infodock_build_version=3