From: tomo Date: Tue, 12 Jul 2005 08:41:57 +0000 (+0000) Subject: Sync up with XEmacs 21.4.17. X-Git-Tag: r21-4-17-chise-0_22-1^20 X-Git-Url: http://git.chise.org/gitweb/?p=chise%2Fxemacs-chise.git.1;a=commitdiff_plain;h=6e8f204c9e1f490b2752de46c111744d1deb3ee0 Sync up with XEmacs 21.4.17. --- diff --git a/ChangeLog b/ChangeLog index 37a5d1b..db72852 100644 --- a/ChangeLog +++ b/ChangeLog @@ -89,6 +89,116 @@ * configure.in: Add new option `--with-utf-2000'; define `UTF2000' if it is specified. +2005-02-06 Vin Shelton + + * XEmacs 21.4.17 is released + +2005-01-29 Ben Wing + + * configure.in (AC_INIT_NOTICE): + * configure.in (XE_COMPUTE_RUNPATH): + Copy LDAP fixes from 21.5. + + Port Marcus Crestani's patches of 2004-11-12: + + * Makefile.in.in (install-arch-dep): Fix installation for Cygwin. + * configure: + * configure.in: Make pdump default for Cygwin. + +2005-01-30 Malcolm Purvis + + * Makefile.in.in (dump-elc): Depend on ${PROGNAME} to fix parallel + builds. + +2004-11-22 Adrian Aichner + + * etc/TUTORIAL: Typo fixes, courtesy of Andreas Eder + . + +2004-05-20 Stephen J. Turnbull + + * configure.in (HAVE_GPM): Die if GPM requested but not found. + +2005-01-23 Vin Shelton + + * Makefile.in.in (finder): Force removal of lisp/finder-inf.el. + +2005-01-10 Vin Shelton + + * Makefile.in.in (RECURSIVE_MAKE_ARGS): Remove last few. + +2004-11-21 Malcolm Purvis + + * INSTALL: A POSIX compatible Make is no longer required for builds. + * Makefile.in.in (RECURSIVE_MAKE): Removed. + * Makefile.in.in (RECURSIVE_MAKE_ARGS): New. + * configure.in (RECURSIVE_MAKE): Removed. + * configure.in (RECURSIVE_MAKE_ARGS): New. + Always refer to make as $(MAKE) and use $(RECURSIVE_MAKE_ARGS) for + other parameters. This allows -j to work in GNU Make while + removing need for POSIX compatible make on all systems. + +2004-09-08 Malcolm Purvis + + * INSTALL: A POSIX compatible Make is required for builds. + * Makefile.in.in: Enable support for parallel builds. + +2004-12-05 Vin Shelton + + * XEmacs 21.4.16 is released + +2004-08-12 "Johann 'Myrkraverk' Oskarsson" + + * config.guess: Detect PlayStation 2. + +2004-08-10 Jerry James + + * etc/SERVICE: Update to latest version from www.gnu.org. + +2004-07-06 Steve Youngs + + * etc/NEWS: Document the major user visible changes to PUI. + +2003-07-21 Malcolm Purvis + + * etc/gtkrc: New file. This is the GTK equivalent of the + app-default file. + +2004-03-30 Norbert Koch + + * PACKAGES: Introduce new packages escreen, xlib, and xwem. + +2004-03-23 Malcolm Purvis + + * configure (GTK_CONFIG): Check GTK version validity only when the + right instance of gtk-config is found. + +2004-03-20 Adrian Aichner + + * etc/sample.init.el: Sync typo and copycat fix from 21.5. + * etc/sample.init.el ((console-on-window-system-p)): Sync + "\C-x\C-c" definition from 21.5. + +2004-03-20 Vin Shelton + + * configure.usage (--use-regex-malloc): Correct warning about + disabling regex-malloc. + +2004-03-04 Malcolm Purvis + + * configure.in (src/Makefile): No longer include a special linker + script for PowerPC Linux. Thanks to Stefan Bruda for reporting + this bug. + +2004-02-10 Vin Shelton + + * etc/OXYMORONS: Added Jumbo Shrimp for 21.4.17. + +2004-02-03 Vin Shelton + + * configure.in (XE_COMPUTE_RUNPATH): lucid_prefers_motif is a + variable, not a command. + 2004-02-02 Vin Shelton * XEmacs 21.4.15 is released diff --git a/Makefile.in.in b/Makefile.in.in index 0f4ef8e..a974bfd 100644 --- a/Makefile.in.in +++ b/Makefile.in.in @@ -53,10 +53,10 @@ #include "src/config.h" #ifdef USE_GNU_MAKE -RECURSIVE_MAKE=$(MAKE) +RECURSIVE_MAKE_ARGS= #else @SET_MAKE@ -RECURSIVE_MAKE=@RECURSIVE_MAKE@ +RECURSIVE_MAKE_ARGS=@RECURSIVE_MAKE_ARGS@ #endif SHELL = /bin/sh @@ -284,11 +284,11 @@ ${srcdir}/lib-src/config.values.in : ${srcdir}/configure cd ${srcdir} && $(SHELL) lib-src/config.values.sh depend ${srcdir}/src/depend: - cd ./src && $(RECURSIVE_MAKE) depend + cd ./src && $(MAKE) $(RECURSIVE_MAKE_ARGS) depend ## Build XEmacs and recompile out-of-date and missing .elc files along ## the way. -all-elc all-elcs: autoloads dump-elcs +all-elc all-elcs: ${PROGNAME} autoloads dump-elcs ${blddir}/src/${PROGNAME} -batch -vanilla \ -l update-elc-2.el -f batch-update-elc-2 lisp #ifdef UTF2000 @@ -297,13 +297,13 @@ all-elc all-elcs: autoloads dump-elcs #endif ## Sub-target for all-elc. -dump-elc dump-elcs: ${GENERATED_HEADERS} FRC.dump-elcs - cd ./src && $(RECURSIVE_MAKE) dump-elcs +dump-elc dump-elcs: ${PROGNAME} ${GENERATED_HEADERS} FRC.dump-elcs + cd ./src && $(MAKE) $(RECURSIVE_MAKE_ARGS) dump-elcs autoloads: lib-src lwlib src lisp/auto-autoloads.el lisp/custom-load.el FRC.lisp.auto.autoloads.el: -lisp/auto-autoloads.el: FRC.lisp.auto.autoloads.el +lisp/auto-autoloads.el: ${PROGNAME} FRC.lisp.auto.autoloads.el $(RM) lisp/auto-autoloads.el ${blddir}/src/${PROGNAME} -batch -no-autoloads \ -l autoload -f batch-update-directory lisp @@ -328,19 +328,20 @@ lisp/auto-autoloads.el: FRC.lisp.auto.autoloads.el #endif FRC.lisp.custom.load.el: -lisp/custom-load.el: FRC.lisp.custom.load.el lisp/auto-autoloads.el +lisp/custom-load.el: ${PROGNAME} FRC.lisp.custom.load.el lisp/auto-autoloads.el ${blddir}/src/${PROGNAME} -batch -vanilla -l cus-dep \ -f Custom-make-dependencies lisp finder: src @echo "Building finder database ..." + $(RM) lisp/finder-inf.el @(cd ./lisp; \ ${blddir}/src/${PROGNAME} -batch -vanilla \ -eval '(setq finder-compile-keywords-quiet t)' \ -l finder -f finder-compile-keywords ) @echo "Building finder database ...(done)" -lisp/finder-inf.el: +lisp/finder-inf.el: src @echo "Building finder database ..." @(cd ./lisp; \ ${blddir}/src/${PROGNAME} -batch -vanilla \ @@ -375,9 +376,12 @@ FRC.src FRC.lib-src FRC.lwlib FRC.dynodump pkg-src/FRC.tree-x: FRC.lisp.finder-inf.el: ${SUBDIR}: ${SUBDIR_MAKEFILES} ${GENERATED_HEADERS} FRC - cd ./$@ && $(RECURSIVE_MAKE) all + cd ./$@ && $(MAKE) $(RECURSIVE_MAKE_ARGS) all -Makefile: ${srcdir}/Makefile.in config.status +## Building modules depends on ellcc, found in lib-src. +modules/sample modules/ldap modules/zlib modules/base64: lib-src + +Makefile: ${srcdir}/Makefile.in.in config.status ./config.status src/Makefile: ${srcdir}/src/Makefile.in.in ${srcdir}/src/depend config.status @@ -436,7 +440,7 @@ install: all check-features install-arch-dep install-arch-indep install-arch-dep: mkdir for subdir in ${INSTALL_ARCH_DEP_SUBDIR}; do \ - (cd ./$${subdir} && $(RECURSIVE_MAKE) install prefix=${prefix} \ + (cd ./$${subdir} && $(MAKE) $(RECURSIVE_MAKE_ARGS) install prefix=${prefix} \ exec_prefix=${exec_prefix} bindir=${bindir} libdir=${libdir} \ archlibdir=${archlibdir}) ; done if test "`(cd ${archlibdir} && $(pwd))`" != \ @@ -456,11 +460,13 @@ install-arch-dep: mkdir ${INSTALL_PROGRAM} src/${PROGNAME} ${bindir}/${PROGNAME} -chmod 0755 ${bindir}/${PROGNAME} #else - ${INSTALL_PROGRAM} src/${PROGNAME} ${bindir}/${PROGNAME}-${version} - -chmod 0755 ${bindir}/${PROGNAME}-${version} # ifdef CYGWIN + ${INSTALL_PROGRAM} src/${PROGNAME} ${bindir}/${PROGNAME}-${version}.exe + -chmod 0755 ${bindir}/${PROGNAME}-${version}.exe cd ${bindir} && $(RM) ./${PROGNAME} && ${LN_S} ${PROGNAME}-${version}.exe ./${PROGNAME} # else + ${INSTALL_PROGRAM} src/${PROGNAME} ${bindir}/${PROGNAME}-${version} + -chmod 0755 ${bindir}/${PROGNAME}-${version} cd ${bindir} && $(RM) ./${PROGNAME} && ${LN_S} ${PROGNAME}-${version} ./${PROGNAME} # endif /* CYGWIN */ #endif /* WIN32_NATIVE */ @@ -570,7 +576,7 @@ mkdir: FRC.mkdir #### would be extremely dangerous for anyone to use it. ##uninstall: ## (cd ./lib-src; \ -## $(RECURSIVE_MAKE) uninstall \ +## $(MAKE) $(RECURSIVE_MAKE_ARGS) uninstall \ ## prefix=${prefix} exec_prefix=${exec_prefix} \ ## bindir=${bindir} libdir=${libdir} archlibdir=${archlibdir}) ## for dir in ${lispdir} ${etcdir} ; do \ @@ -604,7 +610,7 @@ FRC.mostlyclean FRC.clean FRC.distclean FRC.realclean FRC.tags: ## target for GCC does not delete `libgcc.a', because recompiling it ## is rarely necessary and takes a lot of time. mostlyclean: FRC.mostlyclean - for d in $(SUBDIR); do (cd ./$$d && $(RECURSIVE_MAKE) $@); done + for d in $(SUBDIR); do (cd ./$$d && $(MAKE) $(RECURSIVE_MAKE_ARGS) $@); done ## `clean' ## Delete all files from the current directory that are normally @@ -615,7 +621,7 @@ mostlyclean: FRC.mostlyclean ## Delete `.dvi' files here if they are not part of the distribution. clean: FRC.clean - for d in $(SUBDIR); do (cd ./$$d && $(RECURSIVE_MAKE) $@); done + for d in $(SUBDIR); do (cd ./$$d && $(MAKE) $(RECURSIVE_MAKE_ARGS) $@); done $(RM) core ## `distclean' @@ -631,7 +637,7 @@ top_distclean=\ $(RM) -r site-packages xemacs-packages mule-packages site-lisp distclean: FRC.distclean - for d in $(SUBDIR_DISTCLEAN); do (cd ./$$d && $(RECURSIVE_MAKE) $@); done + for d in $(SUBDIR_DISTCLEAN); do (cd ./$$d && $(MAKE) $(RECURSIVE_MAKE_ARGS) $@); done -${top_distclean} ## `realclean' @@ -646,7 +652,7 @@ distclean: FRC.distclean ## anything that needs to exist in order to run `configure' and then ## begin to build the program. realclean: FRC.realclean - for d in $(SUBDIR); do (cd ./$$d && $(RECURSIVE_MAKE) $@); done + for d in $(SUBDIR); do (cd ./$$d && $(MAKE) $(RECURSIVE_MAKE_ARGS) $@); done -${top_distclean} $(RM) TAGS @@ -655,7 +661,7 @@ realclean: FRC.realclean ## the coding standards seem to come from. It's like distclean, but ## it deletes backup and autosave files too. extraclean: - for d in $(SUBDIR); do (cd ./$$d && $(RECURSIVE_MAKE) $@); done + for d in $(SUBDIR); do (cd ./$$d && $(MAKE) $(RECURSIVE_MAKE_ARGS) $@); done $(RM) *~ \#* -${top_distclean} @@ -677,7 +683,7 @@ SOURCES = ChangeLog GETTING.GNU.SOFTWARE INSTALL Makefile.in PROBLEMS \ unlock: chmod u+w $(SOURCES) cpp/* -cd ./elisp && chmod u+w Makefile README *.texi - for d in src etc lib-src lisp; do (cd ./$$d && $(RECURSIVE_MAKE) $@); done + for d in src etc lib-src lisp; do (cd ./$$d && $(MAKE) $(RECURSIVE_MAKE_ARGS) $@); done cd ./lisp/term && chmod u+w README *.el cd ./man && chmod u+w *texi* ChangeLog split-man cd ./lwlib && chmod u+w *.[ch] Makefile.in.in @@ -685,7 +691,7 @@ unlock: relock: chmod u-w $(SOURCES) cpp/* -cd ./elisp && chmod u-w Makefile README *.texi - for d in src etc lib-src lisp; do (cd ./$$d && $(RECURSIVE_MAKE) $@); done + for d in src etc lib-src lisp; do (cd ./$$d && $(MAKE) $(RECURSIVE_MAKE_ARGS) $@); done cd ./lisp/term && chmod u+w README *.el cd ./man && chmod u+w *texi* ChangeLog split-man cd ./lwlib && chmod u+w *.[ch] Makefile.in.in @@ -704,13 +710,13 @@ TAGS tags: FRC.tags xargs etags -a -l none -r "/^(def\\(var\\|un\\|alias\\|const\\|macro\\|subst\\|struct\\|face\\|group\\|custom\\|ine-\\(function\\|compiler-macro\\|[a-z-]+alias\\)\\)[ ]+'?\\([^ ]+\\)/\\3/" check: - cd ./src && $(RECURSIVE_MAKE) $@ + cd ./src && $(MAKE) $(RECURSIVE_MAKE_ARGS) $@ info: FRC.info - cd ${srcdir}/man && $(RECURSIVE_MAKE) $@ + cd ${srcdir}/man && $(MAKE) $(RECURSIVE_MAKE_ARGS) $@ dvi: - cd ${srcdir}/man && $(RECURSIVE_MAKE) $@ + cd ${srcdir}/man && $(MAKE) $(RECURSIVE_MAKE_ARGS) $@ ## Fix up version information in executables (Solaris-only) mcs: diff --git a/configure b/configure index 5398d7d..0027fcd 100755 --- a/configure +++ b/configure @@ -6,7 +6,7 @@ #### Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc. #### Copyright (C) 1993-1995 Board of Trustees, University of Illinois. #### Copyright (C) 1996, 1997 Sun Microsystems, Inc. -#### Copyright (C) 1995, 1996 Ben Wing. +#### Copyright (C) 1995, 1996, 2005 Ben Wing. #### Copyright (C) 2000, 2001 Martin Buchholz. #### Copyright (C) 1998, 1999 J. Kean Johnston. @@ -1559,7 +1559,7 @@ fi if test -z "$pdump"; then case "$opsys" in - linux* ) pdump=yes ;; darwin ) pdump=yes ;; *) pdump=no ;; + linux* ) pdump=yes ;; darwin ) pdump=yes ;; cygwin* ) pdump=yes ;; *) pdump=no ;; esac fi @@ -2993,7 +2993,6 @@ EOF fi -test "$machine$opsys" = "powerpclinux" && start_flags="-T $srcdir/src/ppc.ldscript" if test "$unexec" = "unexaix.o"; then if test "$dynamic" = "no"; then @@ -3007,12 +3006,12 @@ if test "$unexec" = "unexaix.o"; then done echo $ac_n "checking for terminateAndUnload in -lC""... $ac_c" 1>&6 -echo "configure:3011: checking for terminateAndUnload in -lC" >&5 +echo "configure:3010: checking for terminateAndUnload in -lC" >&5 ac_lib_var=`echo C'_'terminateAndUnload | sed 'y%./+-%__p_%'` xe_check_libs=" -lC " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3026: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -3131,7 +3130,7 @@ fi if test "$add_runtime_path" = "yes"; then echo $ac_n "checking "for runtime libraries flag"""... $ac_c" 1>&6 -echo "configure:3135: checking "for runtime libraries flag"" >&5 +echo "configure:3134: checking "for runtime libraries flag"" >&5 case "$opsys" in sol2 ) dash_r="-R" ;; decosf* | linux* | irix*) dash_r="-rpath " ;; @@ -3153,14 +3152,14 @@ if test "$GCC" = "yes"; then done fi cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3163: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* dash_r="$try_dash_r" else @@ -3261,10 +3260,10 @@ else fi after_morecore_hook_exists=yes echo $ac_n "checking for malloc_set_state""... $ac_c" 1>&6 -echo "configure:3265: checking for malloc_set_state" >&5 +echo "configure:3264: checking for malloc_set_state" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3290: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_malloc_set_state=yes" else @@ -3307,16 +3306,16 @@ doug_lea_malloc=no fi echo $ac_n "checking whether __after_morecore_hook exists""... $ac_c" 1>&6 -echo "configure:3311: checking whether __after_morecore_hook exists" >&5 +echo "configure:3310: checking whether __after_morecore_hook exists" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3319: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* echo "$ac_t""yes" 1>&6 else @@ -3372,7 +3371,7 @@ fi # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3376: checking for $ac_word" >&5 +echo "configure:3375: checking for $ac_word" >&5 if test -n "$RANLIB"; then ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. @@ -3427,7 +3426,7 @@ ac_configure=$ac_aux_dir/configure # This should be Cygnus configure. # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # ./install, which can be erroneously created by make from ./install.sh. echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6 -echo "configure:3431: checking for a BSD compatible install" >&5 +echo "configure:3430: checking for a BSD compatible install" >&5 if test -z "$INSTALL"; then IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":" @@ -3481,7 +3480,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3485: checking for $ac_word" >&5 +echo "configure:3484: checking for $ac_word" >&5 if test -n "$YACC"; then ac_cv_prog_YACC="$YACC" # Let the user override the test. @@ -3513,15 +3512,15 @@ for ac_hdr in a.out.h elf.h cygwin/version.h fcntl.h inttypes.h libg do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:3517: checking for $ac_hdr" >&5 +echo "configure:3516: checking for $ac_hdr" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:3525: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:3524: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -3551,10 +3550,10 @@ fi done echo $ac_n "checking for sys/wait.h that is POSIX.1 compatible""... $ac_c" 1>&6 -echo "configure:3555: checking for sys/wait.h that is POSIX.1 compatible" >&5 +echo "configure:3554: checking for sys/wait.h that is POSIX.1 compatible" >&5 cat > conftest.$ac_ext < #include @@ -3570,7 +3569,7 @@ wait (&s); s = WIFEXITED (s) ? WEXITSTATUS (s) : 1; ; return 0; } EOF -if { (eval echo configure:3574: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3573: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_header_sys_wait_h=yes else @@ -3594,10 +3593,10 @@ EOF fi echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6 -echo "configure:3598: checking for ANSI C header files" >&5 +echo "configure:3597: checking for ANSI C header files" >&5 cat > conftest.$ac_ext < #include @@ -3605,7 +3604,7 @@ cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:3609: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:3608: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -3622,7 +3621,7 @@ rm -f conftest* if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat > conftest.$ac_ext < EOF @@ -3640,7 +3639,7 @@ fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat > conftest.$ac_ext < EOF @@ -3658,7 +3657,7 @@ fi if test $ac_cv_header_stdc = yes; then # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. cat > conftest.$ac_ext < #define ISLOWER(c) ('a' <= (c) && (c) <= 'z') @@ -3669,7 +3668,7 @@ if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2); exit (0); } EOF -if { (eval echo configure:3673: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:3672: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 then : else @@ -3695,10 +3694,10 @@ EOF fi echo $ac_n "checking whether time.h and sys/time.h may both be included""... $ac_c" 1>&6 -echo "configure:3699: checking whether time.h and sys/time.h may both be included" >&5 +echo "configure:3698: checking whether time.h and sys/time.h may both be included" >&5 cat > conftest.$ac_ext < #include @@ -3707,7 +3706,7 @@ int main() { struct tm *tp; ; return 0; } EOF -if { (eval echo configure:3711: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3710: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_header_time=yes else @@ -3731,10 +3730,10 @@ EOF fi echo $ac_n "checking for sys_siglist declaration in signal.h or unistd.h""... $ac_c" 1>&6 -echo "configure:3735: checking for sys_siglist declaration in signal.h or unistd.h" >&5 +echo "configure:3734: checking for sys_siglist declaration in signal.h or unistd.h" >&5 cat > conftest.$ac_ext < #include @@ -3746,7 +3745,7 @@ int main() { char *msg = *(sys_siglist + 1); ; return 0; } EOF -if { (eval echo configure:3750: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3749: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_decl_sys_siglist=yes else @@ -3772,9 +3771,9 @@ fi echo $ac_n "checking for utime""... $ac_c" 1>&6 -echo "configure:3776: checking for utime" >&5 +echo "configure:3775: checking for utime" >&5 cat > conftest.$ac_ext < #include @@ -3782,7 +3781,7 @@ int main() { struct utimbuf x; x.actime = x.modtime = 0; utime ("/", &x); ; return 0; } EOF -if { (eval echo configure:3786: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3785: \"$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 @@ -3801,10 +3800,10 @@ else for ac_func in utimes do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3805: checking for $ac_func" >&5 +echo "configure:3804: checking for $ac_func" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3830: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -3859,10 +3858,10 @@ rm -f conftest* echo $ac_n "checking return type of signal handlers""... $ac_c" 1>&6 -echo "configure:3863: checking return type of signal handlers" >&5 +echo "configure:3862: checking return type of signal handlers" >&5 cat > conftest.$ac_ext < #include @@ -3879,7 +3878,7 @@ int main() { int i; ; return 0; } EOF -if { (eval echo configure:3883: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3882: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_type_signal=void else @@ -3901,10 +3900,10 @@ EOF echo $ac_n "checking for size_t""... $ac_c" 1>&6 -echo "configure:3905: checking for size_t" >&5 +echo "configure:3904: checking for size_t" >&5 cat > conftest.$ac_ext < #if STDC_HEADERS @@ -3935,10 +3934,10 @@ EOF fi echo $ac_n "checking for pid_t""... $ac_c" 1>&6 -echo "configure:3939: checking for pid_t" >&5 +echo "configure:3938: checking for pid_t" >&5 cat > conftest.$ac_ext < #if STDC_HEADERS @@ -3969,10 +3968,10 @@ EOF fi echo $ac_n "checking for uid_t in sys/types.h""... $ac_c" 1>&6 -echo "configure:3973: checking for uid_t in sys/types.h" >&5 +echo "configure:3972: checking for uid_t in sys/types.h" >&5 cat > conftest.$ac_ext < EOF @@ -4008,10 +4007,10 @@ EOF fi echo $ac_n "checking for mode_t""... $ac_c" 1>&6 -echo "configure:4012: checking for mode_t" >&5 +echo "configure:4011: checking for mode_t" >&5 cat > conftest.$ac_ext < #if STDC_HEADERS @@ -4042,10 +4041,10 @@ EOF fi echo $ac_n "checking for off_t""... $ac_c" 1>&6 -echo "configure:4046: checking for off_t" >&5 +echo "configure:4045: checking for off_t" >&5 cat > conftest.$ac_ext < #if STDC_HEADERS @@ -4076,10 +4075,10 @@ EOF fi echo $ac_n "checking for ssize_t""... $ac_c" 1>&6 -echo "configure:4080: checking for ssize_t" >&5 +echo "configure:4079: checking for ssize_t" >&5 cat > conftest.$ac_ext < #if STDC_HEADERS @@ -4111,9 +4110,9 @@ fi echo $ac_n "checking for socklen_t""... $ac_c" 1>&6 -echo "configure:4115: checking for socklen_t" >&5 +echo "configure:4114: checking for socklen_t" >&5 cat > conftest.$ac_ext < #include @@ -4123,7 +4122,7 @@ int main() { ; return 0; } EOF -if { (eval echo configure:4127: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4126: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* echo "$ac_t""yes" 1>&6 else @@ -4132,7 +4131,7 @@ else rm -rf conftest* cat > conftest.$ac_ext < #include @@ -4142,7 +4141,7 @@ int main() { ; return 0; } EOF -if { (eval echo configure:4146: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4145: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* echo "$ac_t""size_t" 1>&6 @@ -4174,9 +4173,9 @@ fi rm -f conftest* echo $ac_n "checking for struct timeval""... $ac_c" 1>&6 -echo "configure:4178: checking for struct timeval" >&5 +echo "configure:4177: checking for struct timeval" >&5 cat > conftest.$ac_ext < @@ -4192,7 +4191,7 @@ int main() { static struct timeval x; x.tv_sec = x.tv_usec; ; return 0; } EOF -if { (eval echo configure:4196: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4195: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* echo "$ac_t""yes" 1>&6 HAVE_TIMEVAL=yes @@ -4214,10 +4213,10 @@ fi rm -f conftest* echo $ac_n "checking whether struct tm is in sys/time.h or time.h""... $ac_c" 1>&6 -echo "configure:4218: checking whether struct tm is in sys/time.h or time.h" >&5 +echo "configure:4217: checking whether struct tm is in sys/time.h or time.h" >&5 cat > conftest.$ac_ext < #include @@ -4225,7 +4224,7 @@ int main() { struct tm *tp; tp->tm_sec; ; return 0; } EOF -if { (eval echo configure:4229: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4228: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_struct_tm=time.h else @@ -4249,10 +4248,10 @@ EOF fi echo $ac_n "checking for tm_zone in struct tm""... $ac_c" 1>&6 -echo "configure:4253: checking for tm_zone in struct tm" >&5 +echo "configure:4252: checking for tm_zone in struct tm" >&5 cat > conftest.$ac_ext < #include <$ac_cv_struct_tm> @@ -4260,7 +4259,7 @@ int main() { struct tm tm; tm.tm_zone; ; return 0; } EOF -if { (eval echo configure:4264: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4263: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_struct_tm_zone=yes else @@ -4283,10 +4282,10 @@ EOF else echo $ac_n "checking for tzname""... $ac_c" 1>&6 -echo "configure:4287: checking for tzname" >&5 +echo "configure:4286: checking for tzname" >&5 cat > conftest.$ac_ext < #ifndef tzname /* For SGI. */ @@ -4296,7 +4295,7 @@ int main() { atoi(*tzname); ; return 0; } EOF -if { (eval echo configure:4300: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4299: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_var_tzname=yes else @@ -4322,10 +4321,10 @@ fi echo $ac_n "checking for working const""... $ac_c" 1>&6 -echo "configure:4326: checking for working const" >&5 +echo "configure:4325: checking for working const" >&5 cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4377: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_const=yes else @@ -4399,7 +4398,7 @@ fi echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6 -echo "configure:4403: checking whether ${MAKE-make} sets \${MAKE}" >&5 +echo "configure:4402: checking whether ${MAKE-make} sets \${MAKE}" >&5 set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'` cat > conftestmake <<\EOF @@ -4424,12 +4423,12 @@ fi echo $ac_n "checking whether byte ordering is bigendian""... $ac_c" 1>&6 -echo "configure:4428: checking whether byte ordering is bigendian" >&5 +echo "configure:4427: checking whether byte ordering is bigendian" >&5 ac_cv_c_bigendian=unknown # See if sys/param.h defines the BYTE_ORDER macro. cat > conftest.$ac_ext < #include @@ -4440,11 +4439,11 @@ int main() { #endif ; return 0; } EOF -if { (eval echo configure:4444: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4443: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* # It does; now see whether it defined to BIG_ENDIAN or not. cat > conftest.$ac_ext < #include @@ -4455,7 +4454,7 @@ int main() { #endif ; return 0; } EOF -if { (eval echo configure:4459: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4458: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_bigendian=yes else @@ -4472,7 +4471,7 @@ fi rm -f conftest* if test $ac_cv_c_bigendian = unknown; then cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:4488: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 then ac_cv_c_bigendian=no else @@ -4512,10 +4511,10 @@ fi echo $ac_n "checking size of short""... $ac_c" 1>&6 -echo "configure:4516: checking size of short" >&5 +echo "configure:4515: checking size of short" >&5 cat > conftest.$ac_ext < main() @@ -4526,7 +4525,7 @@ main() exit(0); } EOF -if { (eval echo configure:4530: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:4529: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 then ac_cv_sizeof_short=`cat conftestval` else @@ -4554,10 +4553,10 @@ if test "$ac_cv_sizeof_short" = 0; then exit 1 fi echo $ac_n "checking size of int""... $ac_c" 1>&6 -echo "configure:4558: checking size of int" >&5 +echo "configure:4557: checking size of int" >&5 cat > conftest.$ac_ext < main() @@ -4568,7 +4567,7 @@ main() exit(0); } EOF -if { (eval echo configure:4572: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:4571: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 then ac_cv_sizeof_int=`cat conftestval` else @@ -4590,10 +4589,10 @@ EOF echo $ac_n "checking size of long""... $ac_c" 1>&6 -echo "configure:4594: checking size of long" >&5 +echo "configure:4593: checking size of long" >&5 cat > conftest.$ac_ext < main() @@ -4604,7 +4603,7 @@ main() exit(0); } EOF -if { (eval echo configure:4608: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:4607: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 then ac_cv_sizeof_long=`cat conftestval` else @@ -4626,10 +4625,10 @@ EOF echo $ac_n "checking size of long long""... $ac_c" 1>&6 -echo "configure:4630: checking size of long long" >&5 +echo "configure:4629: checking size of long long" >&5 cat > conftest.$ac_ext < main() @@ -4640,7 +4639,7 @@ main() exit(0); } EOF -if { (eval echo configure:4644: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:4643: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 then ac_cv_sizeof_long_long=`cat conftestval` else @@ -4662,10 +4661,10 @@ EOF echo $ac_n "checking size of void *""... $ac_c" 1>&6 -echo "configure:4666: checking size of void *" >&5 +echo "configure:4665: checking size of void *" >&5 cat > conftest.$ac_ext < main() @@ -4676,7 +4675,7 @@ main() exit(0); } EOF -if { (eval echo configure:4680: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:4679: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 then ac_cv_sizeof_void_p=`cat conftestval` else @@ -4700,7 +4699,7 @@ EOF case $opsys in cygwin* ) cat > conftest.$ac_ext < EOF @@ -4725,7 +4724,7 @@ rm -f conftest* esac echo $ac_n "checking for long file names""... $ac_c" 1>&6 -echo "configure:4729: checking for long file names" >&5 +echo "configure:4728: checking for long file names" >&5 ac_cv_sys_long_file_names=yes # Test for long file names in all the places we know might matter: @@ -4771,10 +4770,10 @@ fi echo $ac_n "checking for sin""... $ac_c" 1>&6 -echo "configure:4775: checking for sin" >&5 +echo "configure:4774: checking for sin" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4800: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_sin=yes" else @@ -4815,12 +4814,12 @@ else echo "$ac_t""no" 1>&6 echo $ac_n "checking for sin in -lm""... $ac_c" 1>&6 -echo "configure:4819: checking for sin in -lm" >&5 +echo "configure:4818: checking for sin in -lm" >&5 ac_lib_var=`echo m'_'sin | sed 'y%./+-%__p_%'` xe_check_libs=" -lm " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4834: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4875,14 +4874,14 @@ EOF cat > conftest.$ac_ext < int main() { return atanh(1.0) + asinh(1.0) + acosh(1.0); ; return 0; } EOF -if { (eval echo configure:4886: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4885: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* { test "$extra_verbose" = "yes" && cat << \EOF Defining HAVE_INVERSE_HYPERBOLIC @@ -4899,14 +4898,14 @@ fi rm -f conftest* echo "checking type of mail spool file locking" 1>&6 -echo "configure:4903: checking type of mail spool file locking" >&5 +echo "configure:4902: checking type of mail spool file locking" >&5 for ac_func in lockf flock do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:4907: checking for $ac_func" >&5 +echo "configure:4906: checking for $ac_func" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4932: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -5011,12 +5010,12 @@ test "$mail_locking" = "locking" -a "$ac_cv_func_locking" != "yes" && \ case "$opsys" in decosf*) echo $ac_n "checking for cma_open in -lpthreads""... $ac_c" 1>&6 -echo "configure:5015: checking for cma_open in -lpthreads" >&5 +echo "configure:5014: checking for cma_open in -lpthreads" >&5 ac_lib_var=`echo pthreads'_'cma_open | sed 'y%./+-%__p_%'` xe_check_libs=" -lpthreads " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5030: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5064,7 +5063,7 @@ esac echo $ac_n "checking whether the -xildoff compiler flag is required""... $ac_c" 1>&6 -echo "configure:5068: checking whether the -xildoff compiler flag is required" >&5 +echo "configure:5067: checking whether the -xildoff compiler flag is required" >&5 if ${CC-cc} '-###' -xildon no_such_file.c 2>&1 | grep '^[^ ]*/ild ' > /dev/null ; then if ${CC-cc} '-###' -xildoff no_such_file.c 2>&1 | grep '^[^ ]*/ild ' > /dev/null ; then echo "$ac_t""no" 1>&6; @@ -5076,7 +5075,7 @@ fi if test "$opsys" = "sol2"; then if test "$os_release" -ge 506; then echo $ac_n "checking for \"-z ignore\" linker flag""... $ac_c" 1>&6 -echo "configure:5080: checking for \"-z ignore\" linker flag" >&5 +echo "configure:5079: checking for \"-z ignore\" linker flag" >&5 case "`ld -h 2>&1`" in *-z\ ignore\|record* ) echo "$ac_t""yes" 1>&6 ld_switch_site="-z ignore $ld_switch_site" && if test "$extra_verbose" = "yes"; then echo " Prepending \"-z ignore\" to \$ld_switch_site"; fi ;; @@ -5087,7 +5086,7 @@ fi echo "checking "for specified window system"" 1>&6 -echo "configure:5091: checking "for specified window system"" >&5 +echo "configure:5090: checking "for specified window system"" >&5 GNOME_CONFIG=no @@ -5095,7 +5094,7 @@ GTK_CONFIG=no if test "$with_gnome" != "no"; then echo $ac_n "checking for GNOME configuration script""... $ac_c" 1>&6 -echo "configure:5099: checking for GNOME configuration script" >&5 +echo "configure:5098: checking for GNOME configuration script" >&5 for possible in gnome-config do possible_version=`${possible} --version 2> /dev/null` @@ -5126,40 +5125,40 @@ fi if test "$with_gtk" != "no";then echo $ac_n "checking for GTK configuration script""... $ac_c" 1>&6 -echo "configure:5130: checking for GTK configuration script" >&5 +echo "configure:5129: checking for GTK configuration script" >&5 for possible in gtk12-config gtk14-config gtk-config do possible_version=`${possible} --version 2> /dev/null` if test "x${possible_version}" != "x"; then GTK_CONFIG="${possible}" + case "${possible_version}" in + 1.0.*) echo "configure: warning: GTK 1.2 is required, please upgrade your version of GTK." 1>&2; with_gtk=no;; + 1.3.*) echo "configure: warning: GTK 1.3 is not supported right now" 1>&2; with_gtk=no;; + 1.2.*) + with_gtk=yes + break + ;; + *) echo "configure: warning: Found unsupported version of GTK: $possible_version" 1>&2;; + esac fi - case "${possible_version}" in - 1.0.*) echo "configure: warning: GTK 1.2 is required, please upgrade your version of GTK." 1>&2; with_gtk=no;; - 1.3.*) echo "configure: warning: GTK 1.3 is not supported right now" 1>&2; with_gtk=no;; - 1.2.*) - with_gtk=yes - break - ;; - *) echo "configure: warning: Found unsupported version of GTK: $possible_version" 1>&2;; - esac done echo "$ac_t""${GTK_CONFIG}" 1>&6 fi if test "${GTK_CONFIG}" != "no"; then echo $ac_n "checking gtk version""... $ac_c" 1>&6 -echo "configure:5152: checking gtk version" >&5 +echo "configure:5151: checking gtk version" >&5 GTK_VERSION=`${GTK_CONFIG} --version` echo "$ac_t""${GTK_VERSION}" 1>&6 echo $ac_n "checking gtk libs""... $ac_c" 1>&6 -echo "configure:5157: checking gtk libs" >&5 +echo "configure:5156: checking gtk libs" >&5 GTK_LIBS=`${GTK_CONFIG} --libs` libs_gtk="$libs_gtk ${GTK_LIBS}" && if test "$extra_verbose" = "yes"; then echo " Appending \"${GTK_LIBS}\" to \$libs_gtk"; fi echo "$ac_t""${GTK_LIBS}" 1>&6 echo $ac_n "checking gtk cflags""... $ac_c" 1>&6 -echo "configure:5163: checking gtk cflags" >&5 +echo "configure:5162: checking gtk cflags" >&5 GTK_CFLAGS=`${GTK_CONFIG} --cflags` if test "$GCC" = "yes"; then GTK_CFLAGS="${GTK_CFLAGS} -Wno-shadow" @@ -5169,19 +5168,19 @@ echo "configure:5163: checking gtk cflags" >&5 echo $ac_n "checking for main in -lgdk_imlib""... $ac_c" 1>&6 -echo "configure:5173: checking for main in -lgdk_imlib" >&5 +echo "configure:5172: checking for main in -lgdk_imlib" >&5 ac_lib_var=`echo gdk_imlib'_'main | sed 'y%./+-%__p_%'` xe_check_libs=" -lgdk_imlib " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5184: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5203,12 +5202,12 @@ fi echo $ac_n "checking for Imlib_init in -lImlib""... $ac_c" 1>&6 -echo "configure:5207: checking for Imlib_init in -lImlib" >&5 +echo "configure:5206: checking for Imlib_init in -lImlib" >&5 ac_lib_var=`echo Imlib'_'Imlib_init | sed 'y%./+-%__p_%'` xe_check_libs=" -lImlib " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5222: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5242,10 +5241,10 @@ fi for ac_func in gdk_imlib_init do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:5246: checking for $ac_func" >&5 +echo "configure:5245: checking for $ac_func" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5271: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -5347,15 +5346,15 @@ EOF do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:5351: checking for $ac_hdr" >&5 +echo "configure:5350: checking for $ac_hdr" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:5359: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:5358: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -5386,19 +5385,19 @@ done echo $ac_n "checking for main in -lxml""... $ac_c" 1>&6 -echo "configure:5390: checking for main in -lxml" >&5 +echo "configure:5389: checking for main in -lxml" >&5 ac_lib_var=`echo xml'_'main | sed 'y%./+-%__p_%'` xe_check_libs=" -lxml " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5401: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5420,19 +5419,19 @@ fi echo $ac_n "checking for main in -lglade""... $ac_c" 1>&6 -echo "configure:5424: checking for main in -lglade" >&5 +echo "configure:5423: checking for main in -lglade" >&5 ac_lib_var=`echo glade'_'main | sed 'y%./+-%__p_%'` xe_check_libs=" -lglade " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5435: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5454,19 +5453,19 @@ fi echo $ac_n "checking for main in -lglade-gnome""... $ac_c" 1>&6 -echo "configure:5458: checking for main in -lglade-gnome" >&5 +echo "configure:5457: checking for main in -lglade-gnome" >&5 ac_lib_var=`echo glade-gnome'_'main | sed 'y%./+-%__p_%'` xe_check_libs=" -lglade-gnome " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5469: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5487,7 +5486,7 @@ fi cat > conftest.$ac_ext < EOF @@ -5546,7 +5545,7 @@ if test "$with_x11" != "no"; then # Uses ac_ vars as temps to allow command line to override cache and checks. # --without-x overrides everything else, but does not touch the cache. echo $ac_n "checking for X""... $ac_c" 1>&6 -echo "configure:5550: checking for X" >&5 +echo "configure:5549: checking for X" >&5 # Check whether --with-x or --without-x was given. if test "${with_x+set}" = set; then @@ -5606,12 +5605,12 @@ if test "$ac_x_includes" = NO; then # First, try using that file with no special directory specified. cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:5615: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:5614: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -5680,14 +5679,14 @@ if test "$ac_x_libraries" = NO; then ac_save_LIBS="$LIBS" LIBS="-l$x_direct_test_library $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5690: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* LIBS="$ac_save_LIBS" # We can link X programs with no special library path. @@ -5796,17 +5795,17 @@ else case "`(uname -sr) 2>/dev/null`" in "SunOS 5"*) echo $ac_n "checking whether -R must be followed by a space""... $ac_c" 1>&6 -echo "configure:5800: checking whether -R must be followed by a space" >&5 +echo "configure:5799: checking whether -R must be followed by a space" >&5 ac_xsave_LIBS="$LIBS"; LIBS="$LIBS -R$x_libraries" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5809: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_R_nospace=yes else @@ -5822,14 +5821,14 @@ rm -f conftest* else LIBS="$ac_xsave_LIBS -R $x_libraries" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5832: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_R_space=yes else @@ -5865,12 +5864,12 @@ ac_cv_lib_dnet_dnet_ntoa=no else echo $ac_n "checking for dnet_ntoa in -ldnet""... $ac_c" 1>&6 -echo "configure:5869: checking for dnet_ntoa in -ldnet" >&5 +echo "configure:5868: checking for dnet_ntoa in -ldnet" >&5 ac_lib_var=`echo dnet'_'dnet_ntoa | sed 'y%./+-%__p_%'` xe_check_libs=" -ldnet " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5884: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5905,12 +5904,12 @@ fi if test $ac_cv_lib_dnet_dnet_ntoa = no; then echo $ac_n "checking for dnet_ntoa in -ldnet_stub""... $ac_c" 1>&6 -echo "configure:5909: checking for dnet_ntoa in -ldnet_stub" >&5 +echo "configure:5908: checking for dnet_ntoa in -ldnet_stub" >&5 ac_lib_var=`echo dnet_stub'_'dnet_ntoa | sed 'y%./+-%__p_%'` xe_check_libs=" -ldnet_stub " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5924: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5950,10 +5949,10 @@ fi # The nsl library prevents programs from opening the X display # on Irix 5.2, according to dickey@clark.net. echo $ac_n "checking for gethostbyname""... $ac_c" 1>&6 -echo "configure:5954: checking for gethostbyname" >&5 +echo "configure:5953: checking for gethostbyname" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5979: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_gethostbyname=yes" else @@ -5997,12 +5996,12 @@ fi if test $ac_cv_func_gethostbyname = no; then echo $ac_n "checking for gethostbyname in -lnsl""... $ac_c" 1>&6 -echo "configure:6001: checking for gethostbyname in -lnsl" >&5 +echo "configure:6000: checking for gethostbyname in -lnsl" >&5 ac_lib_var=`echo nsl'_'gethostbyname | sed 'y%./+-%__p_%'` xe_check_libs=" -lnsl " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6016: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -6043,10 +6042,10 @@ fi # -lsocket must be given before -lnsl if both are needed. # We assume that if connect needs -lnsl, so does gethostbyname. echo $ac_n "checking for connect""... $ac_c" 1>&6 -echo "configure:6047: checking for connect" >&5 +echo "configure:6046: checking for connect" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6072: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_connect=yes" else @@ -6092,12 +6091,12 @@ fi xe_msg_checking="for connect in -lsocket" test -n "$X_EXTRA_LIBS" && xe_msg_checking="$xe_msg_checking using extra libs $X_EXTRA_LIBS" echo $ac_n "checking "$xe_msg_checking"""... $ac_c" 1>&6 -echo "configure:6096: checking "$xe_msg_checking"" >&5 +echo "configure:6095: checking "$xe_msg_checking"" >&5 ac_lib_var=`echo socket'_'connect | sed 'y%./+-%__p_%'` xe_check_libs=" -lsocket $X_EXTRA_LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6111: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -6132,10 +6131,10 @@ fi # gomez@mi.uni-erlangen.de says -lposix is necessary on A/UX. echo $ac_n "checking for remove""... $ac_c" 1>&6 -echo "configure:6136: checking for remove" >&5 +echo "configure:6135: checking for remove" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6161: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_remove=yes" else @@ -6179,12 +6178,12 @@ fi if test $ac_cv_func_remove = no; then echo $ac_n "checking for remove in -lposix""... $ac_c" 1>&6 -echo "configure:6183: checking for remove in -lposix" >&5 +echo "configure:6182: checking for remove in -lposix" >&5 ac_lib_var=`echo posix'_'remove | sed 'y%./+-%__p_%'` xe_check_libs=" -lposix " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6198: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -6219,10 +6218,10 @@ fi # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay. echo $ac_n "checking for shmat""... $ac_c" 1>&6 -echo "configure:6223: checking for shmat" >&5 +echo "configure:6222: checking for shmat" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6248: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_shmat=yes" else @@ -6266,12 +6265,12 @@ fi if test $ac_cv_func_shmat = no; then echo $ac_n "checking for shmat in -lipc""... $ac_c" 1>&6 -echo "configure:6270: checking for shmat in -lipc" >&5 +echo "configure:6269: checking for shmat in -lipc" >&5 ac_lib_var=`echo ipc'_'shmat | sed 'y%./+-%__p_%'` xe_check_libs=" -lipc " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6285: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -6318,12 +6317,12 @@ fi xe_msg_checking="for IceConnectionNumber in -lICE" test -n "$X_EXTRA_LIBS" && xe_msg_checking="$xe_msg_checking using extra libs $X_EXTRA_LIBS" echo $ac_n "checking "$xe_msg_checking"""... $ac_c" 1>&6 -echo "configure:6322: checking "$xe_msg_checking"" >&5 +echo "configure:6321: checking "$xe_msg_checking"" >&5 ac_lib_var=`echo ICE'_'IceConnectionNumber | sed 'y%./+-%__p_%'` xe_check_libs=" -lICE $X_EXTRA_LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6337: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -6380,15 +6379,15 @@ EOF ac_safe=`echo "Xm/Xm.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for Xm/Xm.h""... $ac_c" 1>&6 -echo "configure:6384: checking for Xm/Xm.h" >&5 +echo "configure:6383: checking for Xm/Xm.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:6392: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:6391: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -6405,12 +6404,12 @@ if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then echo "$ac_t""yes" 1>&6 echo $ac_n "checking for XmStringFree in -lXm""... $ac_c" 1>&6 -echo "configure:6409: checking for XmStringFree in -lXm" >&5 +echo "configure:6408: checking for XmStringFree in -lXm" >&5 ac_lib_var=`echo Xm'_'XmStringFree | sed 'y%./+-%__p_%'` xe_check_libs=" -lXm " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6424: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -6573,7 +6572,7 @@ EOF echo "checking for X defines extracted by xmkmf" 1>&6 -echo "configure:6577: checking for X defines extracted by xmkmf" >&5 +echo "configure:6576: checking for X defines extracted by xmkmf" >&5 rm -fr conftestdir if mkdir conftestdir; then cd conftestdir @@ -6622,15 +6621,15 @@ EOF ac_safe=`echo "X11/Intrinsic.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for X11/Intrinsic.h""... $ac_c" 1>&6 -echo "configure:6626: checking for X11/Intrinsic.h" >&5 +echo "configure:6625: checking for X11/Intrinsic.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:6634: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:6633: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -6654,12 +6653,12 @@ fi echo $ac_n "checking for XOpenDisplay in -lX11""... $ac_c" 1>&6 -echo "configure:6658: checking for XOpenDisplay in -lX11" >&5 +echo "configure:6657: checking for XOpenDisplay in -lX11" >&5 ac_lib_var=`echo X11'_'XOpenDisplay | sed 'y%./+-%__p_%'` xe_check_libs=" -lX11 " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6673: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -6695,12 +6694,12 @@ fi xe_msg_checking="for XGetFontProperty in -lX11" test -n "-b i486-linuxaout" && xe_msg_checking="$xe_msg_checking using extra libs -b i486-linuxaout" echo $ac_n "checking "$xe_msg_checking"""... $ac_c" 1>&6 -echo "configure:6699: checking "$xe_msg_checking"" >&5 +echo "configure:6698: checking "$xe_msg_checking"" >&5 ac_lib_var=`echo X11'_'XGetFontProperty | sed 'y%./+-%__p_%'` xe_check_libs=" -lX11 -b i486-linuxaout" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6714: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -6738,12 +6737,12 @@ fi echo $ac_n "checking for XShapeSelectInput in -lXext""... $ac_c" 1>&6 -echo "configure:6742: checking for XShapeSelectInput in -lXext" >&5 +echo "configure:6741: checking for XShapeSelectInput in -lXext" >&5 ac_lib_var=`echo Xext'_'XShapeSelectInput | sed 'y%./+-%__p_%'` xe_check_libs=" -lXext " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6757: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -6777,12 +6776,12 @@ fi echo $ac_n "checking for XtOpenDisplay in -lXt""... $ac_c" 1>&6 -echo "configure:6781: checking for XtOpenDisplay in -lXt" >&5 +echo "configure:6780: checking for XtOpenDisplay in -lXt" >&5 ac_lib_var=`echo Xt'_'XtOpenDisplay | sed 'y%./+-%__p_%'` xe_check_libs=" -lXt " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6796: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -6816,14 +6815,14 @@ fi echo $ac_n "checking the version of X11 being used""... $ac_c" 1>&6 -echo "configure:6820: checking the version of X11 being used" >&5 +echo "configure:6819: checking the version of X11 being used" >&5 cat > conftest.$ac_ext < int main(int c, char *v[]) { return c>1 ? XlibSpecificationRelease : 0; } EOF -if { (eval echo configure:6827: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:6826: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 then ./conftest foobar; x11_release=$? else @@ -6854,10 +6853,10 @@ EOF for ac_func in XConvertCase do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:6858: checking for $ac_func" >&5 +echo "configure:6857: checking for $ac_func" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6883: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -6912,15 +6911,15 @@ done do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:6916: checking for $ac_hdr" >&5 +echo "configure:6915: checking for $ac_hdr" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:6924: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:6923: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -6953,10 +6952,10 @@ done for ac_func in XRegisterIMInstantiateCallback do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:6957: checking for $ac_func" >&5 +echo "configure:6956: checking for $ac_func" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6982: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -7007,9 +7006,9 @@ fi done echo $ac_n "checking for standard XRegisterIMInstantiateCallback prototype""... $ac_c" 1>&6 -echo "configure:7011: checking for standard XRegisterIMInstantiateCallback prototype" >&5 +echo "configure:7010: checking for standard XRegisterIMInstantiateCallback prototype" >&5 cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:7024: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* echo "$ac_t""yes" 1>&6 else @@ -7042,12 +7041,12 @@ rm -f conftest* test -z "$with_xmu" && { echo $ac_n "checking for XmuReadBitmapDataFromFile in -lXmu""... $ac_c" 1>&6 -echo "configure:7046: checking for XmuReadBitmapDataFromFile in -lXmu" >&5 +echo "configure:7045: checking for XmuReadBitmapDataFromFile in -lXmu" >&5 ac_lib_var=`echo Xmu'_'XmuReadBitmapDataFromFile | sed 'y%./+-%__p_%'` xe_check_libs=" -lXmu " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:7061: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -7097,19 +7096,19 @@ EOF echo $ac_n "checking for main in -lXbsd""... $ac_c" 1>&6 -echo "configure:7101: checking for main in -lXbsd" >&5 +echo "configure:7100: checking for main in -lXbsd" >&5 ac_lib_var=`echo Xbsd'_'main | sed 'y%./+-%__p_%'` xe_check_libs=" -lXbsd " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:7112: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -7133,7 +7132,7 @@ fi if test "$unexec" = "unexaix.o" -a "$x11_release" = "6"; then if test "$GCC" = "yes"; then echo $ac_n "checking for name of AIX gcc threads option""... $ac_c" 1>&6 -echo "configure:7137: checking for name of AIX gcc threads option" >&5 +echo "configure:7136: checking for name of AIX gcc threads option" >&5 case `$CC -v --help 2>&1` in *-mthreads*) aix_threads=-mthreads ;; *) aix_threads=-pthread ;; @@ -7147,10 +7146,10 @@ echo "configure:7137: checking for name of AIX gcc threads option" >&5 xe_save_CC="$CC" CC="${CC}_r" echo $ac_n "checking size of short""... $ac_c" 1>&6 -echo "configure:7151: checking size of short" >&5 +echo "configure:7150: checking size of short" >&5 cat > conftest.$ac_ext < main() @@ -7161,7 +7160,7 @@ main() exit(0); } EOF -if { (eval echo configure:7165: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:7164: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 then ac_cv_sizeof_short=`cat conftestval` else @@ -7190,22 +7189,22 @@ EOF fi if test "$with_msw" != "no"; then echo "checking for MS-Windows" 1>&6 -echo "configure:7194: checking for MS-Windows" >&5 +echo "configure:7193: checking for MS-Windows" >&5 echo $ac_n "checking for main in -lgdi32""... $ac_c" 1>&6 -echo "configure:7197: checking for main in -lgdi32" >&5 +echo "configure:7196: checking for main in -lgdi32" >&5 ac_lib_var=`echo gdi32'_'main | sed 'y%./+-%__p_%'` xe_check_libs=" -lgdi32 " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:7208: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -7278,12 +7277,12 @@ EOF fi fi cat > conftest.$ac_ext < int main() { return (open("/dev/windows", O_RDONLY, 0) > 0)? 0 : 1; } EOF -if { (eval echo configure:7287: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:7286: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 then need_event_unixoid=yes; { test "$extra_verbose" = "yes" && cat << \EOF Defining HAVE_MSG_SELECT @@ -7347,15 +7346,15 @@ fi if test "$with_x11" = "yes"; then ac_safe=`echo "X11/extensions/shape.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for X11/extensions/shape.h""... $ac_c" 1>&6 -echo "configure:7351: checking for X11/extensions/shape.h" >&5 +echo "configure:7350: checking for X11/extensions/shape.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:7359: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:7358: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -7407,7 +7406,7 @@ case "$x_libraries" in *X11R4* ) esac echo "checking for WM_COMMAND option" 1>&6 -echo "configure:7411: checking for WM_COMMAND option" >&5; +echo "configure:7410: checking for WM_COMMAND option" >&5; if test "$with_wmcommand" != "no"; then { test "$extra_verbose" = "yes" && cat << \EOF Defining HAVE_WMCOMMAND @@ -7422,15 +7421,15 @@ fi test -z "$with_xauth" && test "$window_system" = "none" && with_xauth=no test -z "$with_xauth" && { ac_safe=`echo "X11/Xauth.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for X11/Xauth.h""... $ac_c" 1>&6 -echo "configure:7426: checking for X11/Xauth.h" >&5 +echo "configure:7425: checking for X11/Xauth.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:7434: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:7433: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -7453,12 +7452,12 @@ fi } test -z "$with_xauth" && { echo $ac_n "checking for XauGetAuthByAddr in -lXau""... $ac_c" 1>&6 -echo "configure:7457: checking for XauGetAuthByAddr in -lXau" >&5 +echo "configure:7456: checking for XauGetAuthByAddr in -lXau" >&5 ac_lib_var=`echo Xau'_'XauGetAuthByAddr | sed 'y%./+-%__p_%'` xe_check_libs=" -lXau " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:7472: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -7514,15 +7513,15 @@ if test "$with_tooltalk" != "no" ; then for dir in "" "Tt/" "desktop/" ; do ac_safe=`echo "${dir}tt_c.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for ${dir}tt_c.h""... $ac_c" 1>&6 -echo "configure:7518: checking for ${dir}tt_c.h" >&5 +echo "configure:7517: checking for ${dir}tt_c.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:7526: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:7525: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -7558,12 +7557,12 @@ if test "$with_tooltalk" != "no" ; then xe_msg_checking="for tt_message_create in -ltt" test -n "$extra_libs" && xe_msg_checking="$xe_msg_checking using extra libs $extra_libs" echo $ac_n "checking "$xe_msg_checking"""... $ac_c" 1>&6 -echo "configure:7562: checking "$xe_msg_checking"" >&5 +echo "configure:7561: checking "$xe_msg_checking"" >&5 ac_lib_var=`echo tt'_'tt_message_create | sed 'y%./+-%__p_%'` xe_check_libs=" -ltt $extra_libs" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:7577: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -7631,15 +7630,15 @@ fi test -z "$with_cde" && { ac_safe=`echo "Dt/Dt.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for Dt/Dt.h""... $ac_c" 1>&6 -echo "configure:7635: checking for Dt/Dt.h" >&5 +echo "configure:7634: checking for Dt/Dt.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:7643: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:7642: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -7662,12 +7661,12 @@ fi } test -z "$with_cde" && { echo $ac_n "checking for DtDndDragStart in -lDtSvc""... $ac_c" 1>&6 -echo "configure:7666: checking for DtDndDragStart in -lDtSvc" >&5 +echo "configure:7665: checking for DtDndDragStart in -lDtSvc" >&5 ac_lib_var=`echo DtSvc'_'DtDndDragStart | sed 'y%./+-%__p_%'` xe_check_libs=" -lDtSvc " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:7681: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -7751,7 +7750,7 @@ fi if test "$with_dragndrop" != "no" ; then echo $ac_n "checking if drag and drop API is needed""... $ac_c" 1>&6 -echo "configure:7755: checking if drag and drop API is needed" >&5 +echo "configure:7754: checking if drag and drop API is needed" >&5 if test -n "$dragndrop_proto" ; then with_dragndrop=yes echo "$ac_t""yes (${dragndrop_proto} )" 1>&6 @@ -7771,18 +7770,18 @@ EOF fi echo "checking for LDAP" 1>&6 -echo "configure:7775: checking for LDAP" >&5 +echo "configure:7774: checking for LDAP" >&5 test -z "$with_ldap" && { ac_safe=`echo "ldap.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for ldap.h""... $ac_c" 1>&6 -echo "configure:7778: checking for ldap.h" >&5 +echo "configure:7777: checking for ldap.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:7786: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:7785: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -7805,15 +7804,15 @@ fi } test -z "$with_ldap" && { ac_safe=`echo "lber.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for lber.h""... $ac_c" 1>&6 -echo "configure:7809: checking for lber.h" >&5 +echo "configure:7808: checking for lber.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:7817: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:7816: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -7837,12 +7836,12 @@ fi if test "$with_ldap" != "no"; then echo $ac_n "checking for ldap_search in -lldap""... $ac_c" 1>&6 -echo "configure:7841: checking for ldap_search in -lldap" >&5 +echo "configure:7840: checking for ldap_search in -lldap" >&5 ac_lib_var=`echo ldap'_'ldap_search | sed 'y%./+-%__p_%'` xe_check_libs=" -lldap " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:7856: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -7867,23 +7866,22 @@ xe_check_libs="" if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes" ; then echo "$ac_t""yes" 1>&6 - with_ldap_nolber=yes + with_ldap=yes else echo "$ac_t""no" 1>&6 -with_ldap_nolber=no fi - test "$with_ldap_nolber" = "no" && { + test "$with_ldap" != "yes" && { xe_msg_checking="for ldap_open in -lldap" test -n "-llber" && xe_msg_checking="$xe_msg_checking using extra libs -llber" echo $ac_n "checking "$xe_msg_checking"""... $ac_c" 1>&6 -echo "configure:7882: checking "$xe_msg_checking"" >&5 +echo "configure:7880: checking "$xe_msg_checking"" >&5 ac_lib_var=`echo ldap'_'ldap_open | sed 'y%./+-%__p_%'` xe_check_libs=" -lldap -llber" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:7896: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -7908,23 +7906,22 @@ xe_check_libs="" if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes" ; then echo "$ac_t""yes" 1>&6 - with_ldap_lber=yes + with_ldap=yes with_ldap_lber=yes else echo "$ac_t""no" 1>&6 -with_ldap_lber=no fi } - test "$with_ldap_nolber" = "no" -a "$with_ldap_lber" = "no" && { + test "$with_ldap" != "yes" && { xe_msg_checking="for ldap_open in -lldap" test -n "-llber -lkrb" && xe_msg_checking="$xe_msg_checking using extra libs -llber -lkrb" echo $ac_n "checking "$xe_msg_checking"""... $ac_c" 1>&6 -echo "configure:7923: checking "$xe_msg_checking"" >&5 +echo "configure:7920: checking "$xe_msg_checking"" >&5 ac_lib_var=`echo ldap'_'ldap_open | sed 'y%./+-%__p_%'` xe_check_libs=" -lldap -llber -lkrb" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:7936: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -7949,23 +7946,22 @@ xe_check_libs="" if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes" ; then echo "$ac_t""yes" 1>&6 - with_ldap_krb=yes + with_ldap=yes with_ldap_lber=yes with_ldap_krb=yes else echo "$ac_t""no" 1>&6 -with_ldap_krb=no fi } - test "$with_ldap_nolber" = "no" -a "$with_ldap_lber" = "no" -a "$with_ldap_krb" = "no" && { + test "$with_ldap" != "yes" && { xe_msg_checking="for ldap_open in -lldap" test -n "-llber -lkrb -ldes" && xe_msg_checking="$xe_msg_checking using extra libs -llber -lkrb -ldes" echo $ac_n "checking "$xe_msg_checking"""... $ac_c" 1>&6 -echo "configure:7964: checking "$xe_msg_checking"" >&5 +echo "configure:7960: checking "$xe_msg_checking"" >&5 ac_lib_var=`echo ldap'_'ldap_open | sed 'y%./+-%__p_%'` xe_check_libs=" -lldap -llber -lkrb -ldes" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:7976: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; 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 + with_ldap=yes with_ldap_lber=yes with_ldap_krb=yes with_ldap_des=yes +else + echo "$ac_t""no" 1>&6 +fi + + } + test "$with_ldap_lber" != "yes" && { +echo $ac_n "checking for ber_pvt_opt_on in -llber""... $ac_c" 1>&6 +echo "configure:7998: checking for ber_pvt_opt_on in -llber" >&5 +ac_lib_var=`echo lber'_'ber_pvt_opt_on | sed 'y%./+-%__p_%'` + +xe_check_libs=" -llber " +cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -7990,14 +8024,12 @@ xe_check_libs="" if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes" ; then echo "$ac_t""yes" 1>&6 - with_ldap_krbdes=yes + with_ldap_lber=yes else echo "$ac_t""no" 1>&6 -with_ldap_krbdes=no fi } - test -z "$with_ldap" -a \( "$with_ldap_lber" = "yes" -o "$with_ldap_nolber" = "yes" -o "$with_ldap_krb" = "yes" -o "$with_ldap_krbdes" = "yes" \) && with_ldap=yes fi if test "$with_ldap" = "yes"; then { test "$extra_verbose" = "yes" && cat << \EOF @@ -8011,26 +8043,23 @@ EOF extra_objs="$extra_objs eldap.o" && if test "$extra_verbose" = "yes"; then echo " xemacs will be linked with \"eldap.o\"" fi - if test "$with_ldap_nolber" = "yes" ; then - LIBS="-lldap $LIBS" && if test "$extra_verbose" = "yes"; then echo " Prepending \"-lldap\" to \$LIBS"; fi - else - if test "$with_ldap_krb" = "yes" ; then - LIBS="-lkrb $LIBS" && if test "$extra_verbose" = "yes"; then echo " Prepending \"-lkrb\" to \$LIBS"; fi - fi - if test "$with_ldap_krbdes" = "yes" ; then - LIBS="-ldes $LIBS" && if test "$extra_verbose" = "yes"; then echo " Prepending \"-ldes\" to \$LIBS"; fi - LIBS="-lkrb $LIBS" && if test "$extra_verbose" = "yes"; then echo " Prepending \"-lkrb\" to \$LIBS"; fi - fi + if test "$with_ldap_des" = "yes" ; then + LIBS="-ldes $LIBS" && if test "$extra_verbose" = "yes"; then echo " Prepending \"-ldes\" to \$LIBS"; fi + fi + if test "$with_ldap_krb" = "yes" ; then + LIBS="-lkrb $LIBS" && if test "$extra_verbose" = "yes"; then echo " Prepending \"-lkrb\" to \$LIBS"; fi + fi + if test "$with_ldap_lber" = "yes" ; then LIBS="-llber $LIBS" && if test "$extra_verbose" = "yes"; then echo " Prepending \"-llber\" to \$LIBS"; fi - LIBS="-lldap $LIBS" && if test "$extra_verbose" = "yes"; then echo " Prepending \"-lldap\" to \$LIBS"; fi fi + LIBS="-lldap $LIBS" && if test "$extra_verbose" = "yes"; then echo " Prepending \"-lldap\" to \$LIBS"; fi for ac_func in ldap_set_option ldap_get_lderrno ldap_result2error ldap_parse_result do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:8031: checking for $ac_func" >&5 +echo "configure:8060: checking for $ac_func" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:8086: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -8084,20 +8113,20 @@ fi if test "$with_postgresql" != "no"; then echo "checking for PostgreSQL" 1>&6 -echo "configure:8088: checking for PostgreSQL" >&5 +echo "configure:8117: checking for PostgreSQL" >&5 for header_dir in "" "pgsql/" "postgresql/"; do ac_safe=`echo "${header_dir}libpq-fe.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for ${header_dir}libpq-fe.h""... $ac_c" 1>&6 -echo "configure:8093: checking for ${header_dir}libpq-fe.h" >&5 +echo "configure:8122: checking for ${header_dir}libpq-fe.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:8101: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:8130: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -8121,12 +8150,12 @@ fi test -n "$libpq_fe_h_file" && { echo $ac_n "checking for PQconnectdb in -lpq""... $ac_c" 1>&6 -echo "configure:8125: checking for PQconnectdb in -lpq" >&5 +echo "configure:8154: checking for PQconnectdb in -lpq" >&5 ac_lib_var=`echo pq'_'PQconnectdb | sed 'y%./+-%__p_%'` xe_check_libs=" -lpq " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:8170: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -8170,12 +8199,12 @@ EOF echo $ac_n "checking for PQconnectStart in -lpq""... $ac_c" 1>&6 -echo "configure:8174: checking for PQconnectStart in -lpq" >&5 +echo "configure:8203: checking for PQconnectStart in -lpq" >&5 ac_lib_var=`echo pq'_'PQconnectStart | sed 'y%./+-%__p_%'` xe_check_libs=" -lpq " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:8219: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -8234,7 +8263,7 @@ fi if test "$window_system" != "none"; then echo "checking for graphics libraries" 1>&6 -echo "configure:8238: checking for graphics libraries" >&5 +echo "configure:8267: checking for graphics libraries" >&5 libpath_xpm= incpath_xpm= @@ -8260,10 +8289,10 @@ echo "configure:8238: checking for graphics libraries" >&5 CFLAGS=""$incpath_xpm" $CFLAGS" && if test "$extra_verbose" = "yes"; then echo " Prepending \""$incpath_xpm"\" to \$CFLAGS"; fi LDFLAGS=""$libpath_xpm" $LDFLAGS" && if test "$extra_verbose" = "yes"; then echo " Prepending \""$libpath_xpm"\" to \$LDFLAGS"; fi echo $ac_n "checking for Xpm - no older than 3.4f""... $ac_c" 1>&6 -echo "configure:8264: checking for Xpm - no older than 3.4f" >&5 +echo "configure:8293: checking for Xpm - no older than 3.4f" >&5 xe_check_libs=-lXpm cat > conftest.$ac_ext < @@ -8272,7 +8301,7 @@ echo "configure:8264: checking for Xpm - no older than 3.4f" >&5 XpmIncludeVersion != XpmLibraryVersion() ? 1 : XpmIncludeVersion < 30406 ? 2 : 0 ;} EOF -if { (eval echo configure:8276: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:8305: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 then ./conftest dummy_arg; xpm_status=$?; if test "$xpm_status" = "0"; then @@ -8316,17 +8345,17 @@ EOF libs_x="-lXpm $libs_x" && if test "$extra_verbose" = "yes"; then echo " Prepending \"-lXpm\" to \$libs_x"; fi CFLAGS=""$incpath_xpm" $CFLAGS" && if test "$extra_verbose" = "yes"; then echo " Prepending \""$incpath_xpm"\" to \$CFLAGS"; fi echo $ac_n "checking for \"FOR_MSW\" xpm""... $ac_c" 1>&6 -echo "configure:8320: checking for \"FOR_MSW\" xpm" >&5 +echo "configure:8349: checking for \"FOR_MSW\" xpm" >&5 xe_check_libs=-lXpm cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:8359: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* xpm_for_msw=no else @@ -8352,15 +8381,15 @@ EOF 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:8356: checking for compface.h" >&5 +echo "configure:8385: checking for compface.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:8364: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:8393: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -8383,12 +8412,12 @@ fi } test -z "$with_xface" && { echo $ac_n "checking for UnGenFace in -lcompface""... $ac_c" 1>&6 -echo "configure:8387: checking for UnGenFace in -lcompface" >&5 +echo "configure:8416: checking for UnGenFace in -lcompface" >&5 ac_lib_var=`echo compface'_'UnGenFace | sed 'y%./+-%__p_%'` xe_check_libs=" -lcompface " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:8432: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -8451,12 +8480,12 @@ EOF if test "$with_png $with_tiff" != "no no"; then echo $ac_n "checking for inflate in -lc""... $ac_c" 1>&6 -echo "configure:8455: checking for inflate in -lc" >&5 +echo "configure:8484: checking for inflate in -lc" >&5 ac_lib_var=`echo c'_'inflate | sed 'y%./+-%__p_%'` xe_check_libs=" -lc " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:8500: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -8486,12 +8515,12 @@ else echo "$ac_t""no" 1>&6 echo $ac_n "checking for inflate in -lz""... $ac_c" 1>&6 -echo "configure:8490: checking for inflate in -lz" >&5 +echo "configure:8519: checking for inflate in -lz" >&5 ac_lib_var=`echo z'_'inflate | sed 'y%./+-%__p_%'` xe_check_libs=" -lz " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:8535: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -8521,12 +8550,12 @@ else echo "$ac_t""no" 1>&6 echo $ac_n "checking for inflate in -lgz""... $ac_c" 1>&6 -echo "configure:8525: checking for inflate in -lgz" >&5 +echo "configure:8554: checking for inflate in -lgz" >&5 ac_lib_var=`echo gz'_'inflate | sed 'y%./+-%__p_%'` xe_check_libs=" -lgz " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:8570: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -8567,15 +8596,15 @@ 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:8571: checking for jpeglib.h" >&5 +echo "configure:8600: checking for jpeglib.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:8579: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:8608: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -8598,12 +8627,12 @@ fi } test -z "$with_jpeg" && { echo $ac_n "checking for jpeg_destroy_decompress in -ljpeg""... $ac_c" 1>&6 -echo "configure:8602: checking for jpeg_destroy_decompress in -ljpeg" >&5 +echo "configure:8631: 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 <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:8647: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -8650,10 +8679,10 @@ EOF png_problem="" test -z "$with_png" && { echo $ac_n "checking for pow""... $ac_c" 1>&6 -echo "configure:8654: checking for pow" >&5 +echo "configure:8683: checking for pow" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:8709: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_pow=yes" else @@ -8697,15 +8726,15 @@ fi } test -z "$with_png" && { ac_safe=`echo "png.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for png.h""... $ac_c" 1>&6 -echo "configure:8701: checking for png.h" >&5 +echo "configure:8730: checking for png.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:8709: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:8738: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -8728,12 +8757,12 @@ fi } test -z "$with_png" && { echo $ac_n "checking for png_read_image in -lpng""... $ac_c" 1>&6 -echo "configure:8732: checking for png_read_image in -lpng" >&5 +echo "configure:8761: 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 <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:8777: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -8767,10 +8796,10 @@ fi } if test -z "$with_png"; then echo $ac_n "checking for workable png version information""... $ac_c" 1>&6 -echo "configure:8771: checking for workable png version information" >&5 +echo "configure:8800: checking for workable png version information" >&5 xe_check_libs="-lpng -lz" cat > conftest.$ac_ext < int main(int c, char **v) { @@ -8778,7 +8807,7 @@ echo "configure:8771: checking for workable png version information" >&5 if (strcmp(png_libpng_ver, PNG_LIBPNG_VER_STRING) != 0) return 1; return (PNG_LIBPNG_VER < 10002) ? 2 : 0 ;} EOF -if { (eval echo configure:8782: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:8811: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 then ./conftest dummy_arg; png_status=$?; if test "$png_status" = "0"; then @@ -8821,15 +8850,15 @@ EOF 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:8825: checking for tiffio.h" >&5 +echo "configure:8854: checking for tiffio.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:8833: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:8862: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -8852,12 +8881,12 @@ fi } test -z "$with_tiff" && { echo $ac_n "checking for TIFFClientOpen in -ltiff""... $ac_c" 1>&6 -echo "configure:8856: checking for TIFFClientOpen in -ltiff" >&5 +echo "configure:8885: checking for TIFFClientOpen in -ltiff" >&5 ac_lib_var=`echo tiff'_'TIFFClientOpen | sed 'y%./+-%__p_%'` xe_check_libs=" -ltiff " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:8901: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -8907,15 +8936,15 @@ fi if test "$with_gtk" = "yes"; then 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:8911: checking for compface.h" >&5 +echo "configure:8940: checking for compface.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:8919: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:8948: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -8938,12 +8967,12 @@ fi } test -z "$with_xface" && { echo $ac_n "checking for UnGenFace in -lcompface""... $ac_c" 1>&6 -echo "configure:8942: checking for UnGenFace in -lcompface" >&5 +echo "configure:8971: checking for UnGenFace in -lcompface" >&5 ac_lib_var=`echo compface'_'UnGenFace | sed 'y%./+-%__p_%'` xe_check_libs=" -lcompface " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:8987: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -8993,12 +9022,12 @@ fi if test "$with_x11" = "yes"; then echo "checking for X11 graphics libraries" 1>&6 -echo "configure:8997: checking for X11 graphics libraries" >&5 +echo "configure:9026: checking for X11 graphics libraries" >&5 fi if test "$with_x11" = "yes"; then echo "checking for the Athena widgets" 1>&6 -echo "configure:9002: checking for the Athena widgets" >&5 +echo "configure:9031: checking for the Athena widgets" >&5 case "$with_athena" in "xaw" | "") athena_variant=Xaw athena_3d=no ;; @@ -9014,12 +9043,12 @@ echo "configure:9002: checking for the Athena widgets" >&5 if test "$athena_3d" = "no"; then echo $ac_n "checking for XawScrollbarSetThumb in -l$athena_variant""... $ac_c" 1>&6 -echo "configure:9018: checking for XawScrollbarSetThumb in -l$athena_variant" >&5 +echo "configure:9047: checking for XawScrollbarSetThumb in -l$athena_variant" >&5 ac_lib_var=`echo $athena_variant'_'XawScrollbarSetThumb | sed 'y%./+-%__p_%'` xe_check_libs=" -l$athena_variant " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:9063: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -9046,12 +9075,12 @@ if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes" ; then echo "$ac_t""yes" 1>&6 echo $ac_n "checking for $athena_3d_function in -l$athena_variant""... $ac_c" 1>&6 -echo "configure:9050: checking for $athena_3d_function in -l$athena_variant" >&5 +echo "configure:9079: checking for $athena_3d_function in -l$athena_variant" >&5 ac_lib_var=`echo $athena_variant'_'$athena_3d_function | sed 'y%./+-%__p_%'` xe_check_libs=" -l$athena_variant " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:9095: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -9093,12 +9122,12 @@ fi else echo $ac_n "checking for $athena_3d_function in -l$athena_variant""... $ac_c" 1>&6 -echo "configure:9097: checking for $athena_3d_function in -l$athena_variant" >&5 +echo "configure:9126: checking for $athena_3d_function in -l$athena_variant" >&5 ac_lib_var=`echo $athena_variant'_'$athena_3d_function | sed 'y%./+-%__p_%'` xe_check_libs=" -l$athena_variant " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:9142: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -9127,12 +9156,12 @@ if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes" ; then else echo "$ac_t""no" 1>&6 echo $ac_n "checking for $athena_3d_function in -lXaw""... $ac_c" 1>&6 -echo "configure:9131: checking for $athena_3d_function in -lXaw" >&5 +echo "configure:9160: checking for $athena_3d_function in -lXaw" >&5 ac_lib_var=`echo Xaw'_'$athena_3d_function | sed 'y%./+-%__p_%'` xe_check_libs=" -lXaw " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:9176: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -9174,15 +9203,15 @@ fi if test "$athena_3d" = "no"; then ac_safe=`echo "X11/Xaw/ThreeD.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for X11/Xaw/ThreeD.h""... $ac_c" 1>&6 -echo "configure:9178: checking for X11/Xaw/ThreeD.h" >&5 +echo "configure:9207: checking for X11/Xaw/ThreeD.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:9186: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:9215: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -9202,15 +9231,15 @@ else echo "$ac_t""no" 1>&6 ac_safe=`echo "X11/Xaw/XawInit.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for X11/Xaw/XawInit.h""... $ac_c" 1>&6 -echo "configure:9206: checking for X11/Xaw/XawInit.h" >&5 +echo "configure:9235: checking for X11/Xaw/XawInit.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:9214: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:9243: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -9236,15 +9265,15 @@ fi else ac_safe=`echo "X11/$athena_variant/XawInit.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for X11/$athena_variant/XawInit.h""... $ac_c" 1>&6 -echo "configure:9240: checking for X11/$athena_variant/XawInit.h" >&5 +echo "configure:9269: checking for X11/$athena_variant/XawInit.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:9248: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:9277: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -9261,15 +9290,15 @@ if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then echo "$ac_t""yes" 1>&6 ac_safe=`echo "X11/$athena_variant/ThreeD.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for X11/$athena_variant/ThreeD.h""... $ac_c" 1>&6 -echo "configure:9265: checking for X11/$athena_variant/ThreeD.h" >&5 +echo "configure:9294: checking for X11/$athena_variant/ThreeD.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:9273: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:9302: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -9297,15 +9326,15 @@ fi if test -z "$athena_h_path"; then ac_safe=`echo "$athena_variant/XawInit.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $athena_variant/XawInit.h""... $ac_c" 1>&6 -echo "configure:9301: checking for $athena_variant/XawInit.h" >&5 +echo "configure:9330: checking for $athena_variant/XawInit.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:9309: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:9338: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -9322,15 +9351,15 @@ if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then echo "$ac_t""yes" 1>&6 ac_safe=`echo "$athena_variant/ThreeD.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $athena_variant/ThreeD.h""... $ac_c" 1>&6 -echo "configure:9326: checking for $athena_variant/ThreeD.h" >&5 +echo "configure:9355: checking for $athena_variant/ThreeD.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:9334: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:9363: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -9359,15 +9388,15 @@ fi if test -z "$athena_h_path" -a "$athena_variant" != "Xaw3d"; then ac_safe=`echo "X11/Xaw3d/XawInit.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for X11/Xaw3d/XawInit.h""... $ac_c" 1>&6 -echo "configure:9363: checking for X11/Xaw3d/XawInit.h" >&5 +echo "configure:9392: checking for X11/Xaw3d/XawInit.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:9371: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:9400: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -9384,15 +9413,15 @@ if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then echo "$ac_t""yes" 1>&6 ac_safe=`echo "X11/Xaw3d/ThreeD.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for X11/Xaw3d/ThreeD.h""... $ac_c" 1>&6 -echo "configure:9388: checking for X11/Xaw3d/ThreeD.h" >&5 +echo "configure:9417: checking for X11/Xaw3d/ThreeD.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:9396: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:9425: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -9424,15 +9453,15 @@ fi if test -z "$athena_h_path" -a "$athena_variant" != "Xaw3d"; then ac_safe=`echo "Xaw3d/XawInit.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for Xaw3d/XawInit.h""... $ac_c" 1>&6 -echo "configure:9428: checking for Xaw3d/XawInit.h" >&5 +echo "configure:9457: checking for Xaw3d/XawInit.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:9436: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:9465: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -9449,15 +9478,15 @@ if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then echo "$ac_t""yes" 1>&6 ac_safe=`echo "Xaw3d/ThreeD.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for Xaw3d/ThreeD.h""... $ac_c" 1>&6 -echo "configure:9453: checking for Xaw3d/ThreeD.h" >&5 +echo "configure:9482: checking for Xaw3d/ThreeD.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:9461: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:9490: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -9489,15 +9518,15 @@ fi if test -z "$athena_h_path"; then ac_safe=`echo "X11/Xaw/ThreeD.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for X11/Xaw/ThreeD.h""... $ac_c" 1>&6 -echo "configure:9493: checking for X11/Xaw/ThreeD.h" >&5 +echo "configure:9522: checking for X11/Xaw/ThreeD.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:9501: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:9530: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -9536,15 +9565,15 @@ fi if test "$with_x11" = "yes"; then ac_safe=`echo "Xm/Xm.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for Xm/Xm.h""... $ac_c" 1>&6 -echo "configure:9540: checking for Xm/Xm.h" >&5 +echo "configure:9569: checking for Xm/Xm.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:9548: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:9577: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -9561,12 +9590,12 @@ if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then echo "$ac_t""yes" 1>&6 echo $ac_n "checking for XmStringFree in -lXm""... $ac_c" 1>&6 -echo "configure:9565: checking for XmStringFree in -lXm" >&5 +echo "configure:9594: checking for XmStringFree in -lXm" >&5 ac_lib_var=`echo Xm'_'XmStringFree | sed 'y%./+-%__p_%'` xe_check_libs=" -lXm " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:9610: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -9606,9 +9635,9 @@ fi if test "$have_motif" = "yes"; then echo $ac_n "checking for Lesstif""... $ac_c" 1>&6 -echo "configure:9610: checking for Lesstif" >&5 +echo "configure:9639: checking for Lesstif" >&5 cat > conftest.$ac_ext < #ifdef LESSTIF_VERSION @@ -9632,8 +9661,8 @@ rm -f conftest* fi case "$opsys" in - *linux* ) lucid_prefers_motif = "no" ;; - * ) lucid_prefers_motif = "yes" ;; + *linux* ) lucid_prefers_motif="no" ;; + * ) lucid_prefers_motif="yes" ;; esac case "$with_menubars" in "" | "yes" | "athena" ) @@ -10061,7 +10090,7 @@ fi if test "$with_mule" = "yes" ; then echo "checking for Mule-related features" 1>&6 -echo "configure:10065: checking for Mule-related features" >&5 +echo "configure:10094: checking for Mule-related features" >&5 { test "$extra_verbose" = "yes" && cat << \EOF Defining MULE EOF @@ -10075,15 +10104,15 @@ EOF if test "$with_chise" != "no"; then ac_safe=`echo "chise.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for chise.h""... $ac_c" 1>&6 -echo "configure:10079: checking for chise.h" >&5 +echo "configure:10108: checking for chise.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:10087: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:10116: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -10111,15 +10140,15 @@ fi c_switch_site="$c_switch_site -I/usr/local/chise/include" ac_safe=`echo "chise.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for chise.h""... $ac_c" 1>&6 -echo "configure:10115: checking for chise.h" >&5 +echo "configure:10144: checking for chise.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:10123: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:10152: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -10198,15 +10227,15 @@ EOF do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:10202: checking for $ac_hdr" >&5 +echo "configure:10231: checking for $ac_hdr" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:10210: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:10239: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -10237,12 +10266,12 @@ done echo $ac_n "checking for strerror in -lintl""... $ac_c" 1>&6 -echo "configure:10241: checking for strerror in -lintl" >&5 +echo "configure:10270: checking for strerror in -lintl" >&5 ac_lib_var=`echo intl'_'strerror | sed 'y%./+-%__p_%'` xe_check_libs=" -lintl " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:10286: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -10307,18 +10336,18 @@ EOF fi echo "checking for Mule input methods" 1>&6 -echo "configure:10311: checking for Mule input methods" >&5 +echo "configure:10340: checking for Mule input methods" >&5 case "$with_xim" in "" | "yes" ) echo "checking for XIM" 1>&6 -echo "configure:10314: checking for XIM" >&5 +echo "configure:10343: checking for XIM" >&5 echo $ac_n "checking for XOpenIM in -lX11""... $ac_c" 1>&6 -echo "configure:10317: checking for XOpenIM in -lX11" >&5 +echo "configure:10346: checking for XOpenIM in -lX11" >&5 ac_lib_var=`echo X11'_'XOpenIM | sed 'y%./+-%__p_%'` xe_check_libs=" -lX11 " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:10362: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -10353,12 +10382,12 @@ fi if test "$need_motif $have_lesstif" = "yes no"; then echo $ac_n "checking for XmImMbLookupString in -lXm""... $ac_c" 1>&6 -echo "configure:10357: checking for XmImMbLookupString in -lXm" >&5 +echo "configure:10386: checking for XmImMbLookupString in -lXm" >&5 ac_lib_var=`echo Xm'_'XmImMbLookupString | sed 'y%./+-%__p_%'` xe_check_libs=" -lXm " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:10402: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -10392,12 +10421,12 @@ fi elif test "$have_motif $have_lesstif $with_xim" = "yes no no"; then echo $ac_n "checking for XmImMbLookupString in -lXm""... $ac_c" 1>&6 -echo "configure:10396: checking for XmImMbLookupString in -lXm" >&5 +echo "configure:10425: checking for XmImMbLookupString in -lXm" >&5 ac_lib_var=`echo Xm'_'XmImMbLookupString | sed 'y%./+-%__p_%'` xe_check_libs=" -lXm " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:10441: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -10473,15 +10502,15 @@ EOF if test "$with_xfs" = "yes" ; then echo "checking for XFontSet" 1>&6 -echo "configure:10477: checking for XFontSet" >&5 +echo "configure:10506: checking for XFontSet" >&5 echo $ac_n "checking for XmbDrawString in -lX11""... $ac_c" 1>&6 -echo "configure:10480: checking for XmbDrawString in -lX11" >&5 +echo "configure:10509: checking for XmbDrawString in -lX11" >&5 ac_lib_var=`echo X11'_'XmbDrawString | sed 'y%./+-%__p_%'` xe_check_libs=" -lX11 " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:10525: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -10532,15 +10561,15 @@ EOF 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:10536: checking for wnn/jllib.h" >&5 +echo "configure:10565: checking for wnn/jllib.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:10544: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:10573: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -10563,15 +10592,15 @@ fi } test -z "$with_wnn" && { ac_safe=`echo "wnn/commonhd.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for wnn/commonhd.h""... $ac_c" 1>&6 -echo "configure:10567: checking for wnn/commonhd.h" >&5 +echo "configure:10596: checking for wnn/commonhd.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:10575: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:10604: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -10596,10 +10625,10 @@ fi for ac_func in crypt do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:10600: checking for $ac_func" >&5 +echo "configure:10629: checking for $ac_func" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:10655: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -10651,12 +10680,12 @@ done test "$ac_cv_func_crypt" != "yes" && { echo $ac_n "checking for crypt in -lcrypt""... $ac_c" 1>&6 -echo "configure:10655: checking for crypt in -lcrypt" >&5 +echo "configure:10684: checking for crypt in -lcrypt" >&5 ac_lib_var=`echo crypt'_'crypt | sed 'y%./+-%__p_%'` xe_check_libs=" -lcrypt " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:10700: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -10702,12 +10731,12 @@ fi if test -z "$with_wnn" -o "$with_wnn" = "yes"; then echo $ac_n "checking for jl_dic_list_e in -lwnn""... $ac_c" 1>&6 -echo "configure:10706: checking for jl_dic_list_e in -lwnn" >&5 +echo "configure:10735: 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 <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:10751: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -10736,12 +10765,12 @@ if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes" ; then else echo "$ac_t""no" 1>&6 echo $ac_n "checking for jl_dic_list_e in -lwnn4""... $ac_c" 1>&6 -echo "configure:10740: checking for jl_dic_list_e in -lwnn4" >&5 +echo "configure:10769: checking for jl_dic_list_e in -lwnn4" >&5 ac_lib_var=`echo wnn4'_'jl_dic_list_e | sed 'y%./+-%__p_%'` xe_check_libs=" -lwnn4 " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:10785: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -10770,12 +10799,12 @@ if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes" ; then else echo "$ac_t""no" 1>&6 echo $ac_n "checking for jl_dic_list_e in -lwnn6""... $ac_c" 1>&6 -echo "configure:10774: checking for jl_dic_list_e in -lwnn6" >&5 +echo "configure:10803: checking for jl_dic_list_e in -lwnn6" >&5 ac_lib_var=`echo wnn6'_'jl_dic_list_e | sed 'y%./+-%__p_%'` xe_check_libs=" -lwnn6 " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:10819: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -10804,12 +10833,12 @@ if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes" ; then else echo "$ac_t""no" 1>&6 echo $ac_n "checking for dic_list_e in -lwnn6_fromsrc""... $ac_c" 1>&6 -echo "configure:10808: checking for dic_list_e in -lwnn6_fromsrc" >&5 +echo "configure:10837: checking for dic_list_e in -lwnn6_fromsrc" >&5 ac_lib_var=`echo wnn6_fromsrc'_'dic_list_e | sed 'y%./+-%__p_%'` xe_check_libs=" -lwnn6_fromsrc " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:10853: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -10868,12 +10897,12 @@ EOF if test "$with_wnn6" != "no"; then echo $ac_n "checking for jl_fi_dic_list in -l$libwnn""... $ac_c" 1>&6 -echo "configure:10872: checking for jl_fi_dic_list in -l$libwnn" >&5 +echo "configure:10901: checking for jl_fi_dic_list in -l$libwnn" >&5 ac_lib_var=`echo $libwnn'_'jl_fi_dic_list | sed 'y%./+-%__p_%'` xe_check_libs=" -l$libwnn " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:10917: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -10919,15 +10948,15 @@ EOF 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:10923: checking for canna/jrkanji.h" >&5 +echo "configure:10952: checking for canna/jrkanji.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:10931: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:10960: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -10954,15 +10983,15 @@ fi 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:10958: checking for canna/jrkanji.h" >&5 +echo "configure:10987: checking for canna/jrkanji.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:10966: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:10995: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -10990,15 +11019,15 @@ fi 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:10994: checking for canna/RK.h" >&5 +echo "configure:11023: checking for canna/RK.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:11002: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:11031: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -11021,12 +11050,12 @@ fi } test -z "$with_canna" && { echo $ac_n "checking for RkBgnBun in -lRKC""... $ac_c" 1>&6 -echo "configure:11025: checking for RkBgnBun in -lRKC" >&5 +echo "configure:11054: checking for RkBgnBun in -lRKC" >&5 ac_lib_var=`echo RKC'_'RkBgnBun | sed 'y%./+-%__p_%'` xe_check_libs=" -lRKC " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:11070: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -11060,12 +11089,12 @@ fi } test -z "$with_canna" && { echo $ac_n "checking for jrKanjiControl in -lcanna""... $ac_c" 1>&6 -echo "configure:11064: checking for jrKanjiControl in -lcanna" >&5 +echo "configure:11093: checking for jrKanjiControl in -lcanna" >&5 ac_lib_var=`echo canna'_'jrKanjiControl | sed 'y%./+-%__p_%'` xe_check_libs=" -lcanna " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:11109: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -11125,12 +11154,12 @@ if test "$need_motif" = "yes" ; then 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:11129: checking for layout_object_getvalue in -li18n" >&5 +echo "configure:11158: 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 <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:11174: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -11228,10 +11257,10 @@ fi for ac_func in cbrt closedir dup2 eaccess fmod fpathconf frexp ftime getaddrinfo gethostname getnameinfo 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 stpcpy strerror tzset ulimit usleep waitpid vsnprintf fsync ftruncate umask do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:11232: checking for $ac_func" >&5 +echo "configure:11261: checking for $ac_func" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:11287: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -11295,10 +11324,10 @@ fi for ac_func in getpt _getpty grantpt unlockpt ptsname killpg tcgetpgrp do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:11299: checking for $ac_func" >&5 +echo "configure:11328: checking for $ac_func" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:11354: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -11350,10 +11379,10 @@ done echo $ac_n "checking for openpty""... $ac_c" 1>&6 -echo "configure:11354: checking for openpty" >&5 +echo "configure:11383: checking for openpty" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:11409: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_openpty=yes" else @@ -11395,12 +11424,12 @@ else echo $ac_n "checking for openpty in -lutil""... $ac_c" 1>&6 -echo "configure:11399: checking for openpty in -lutil" >&5 +echo "configure:11428: checking for openpty in -lutil" >&5 ac_lib_var=`echo util'_'openpty | sed 'y%./+-%__p_%'` xe_check_libs=" -lutil " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:11444: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -11446,15 +11475,15 @@ EOF do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:11450: checking for $ac_hdr" >&5 +echo "configure:11479: checking for $ac_hdr" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:11458: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:11487: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -11490,15 +11519,15 @@ for ac_hdr in stropts.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:11494: checking for $ac_hdr" >&5 +echo "configure:11523: checking for $ac_hdr" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:11502: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:11531: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -11531,10 +11560,10 @@ if test "$ac_cv_header_stropts_h" = "yes"; then for ac_func in isastream do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:11535: checking for $ac_func" >&5 +echo "configure:11564: checking for $ac_func" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:11590: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -11588,15 +11617,15 @@ done do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:11592: checking for $ac_hdr" >&5 +echo "configure:11621: checking for $ac_hdr" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:11600: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:11629: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -11633,10 +11662,10 @@ extra_objs="$extra_objs realpath.o" && if test "$extra_verbose" = "yes"; then for ac_func in getloadavg do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:11637: checking for $ac_func" >&5 +echo "configure:11666: checking for $ac_func" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:11692: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -11692,15 +11721,15 @@ if test "$ac_cv_func_getloadavg" = "yes"; then do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:11696: checking for $ac_hdr" >&5 +echo "configure:11725: checking for $ac_hdr" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:11704: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:11733: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -11736,12 +11765,12 @@ else echo $ac_n "checking for kstat_open in -lkstat""... $ac_c" 1>&6 -echo "configure:11740: checking for kstat_open in -lkstat" >&5 +echo "configure:11769: checking for kstat_open in -lkstat" >&5 ac_lib_var=`echo kstat'_'kstat_open | sed 'y%./+-%__p_%'` xe_check_libs=" -lkstat " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:11785: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -11787,15 +11816,15 @@ fi do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:11791: checking for $ac_hdr" >&5 +echo "configure:11820: checking for $ac_hdr" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:11799: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:11828: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -11827,12 +11856,12 @@ done echo $ac_n "checking for kvm_read in -lkvm""... $ac_c" 1>&6 -echo "configure:11831: checking for kvm_read in -lkvm" >&5 +echo "configure:11860: checking for kvm_read in -lkvm" >&5 ac_lib_var=`echo kvm'_'kvm_read | sed 'y%./+-%__p_%'` xe_check_libs=" -lkvm " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:11876: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -11877,16 +11906,16 @@ fi fi echo $ac_n "checking whether netdb declares h_errno""... $ac_c" 1>&6 -echo "configure:11881: checking whether netdb declares h_errno" >&5 +echo "configure:11910: checking whether netdb declares h_errno" >&5 cat > conftest.$ac_ext < int main() { return h_errno; ; return 0; } EOF -if { (eval echo configure:11890: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:11919: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* echo "$ac_t""yes" 1>&6 { test "$extra_verbose" = "yes" && cat << \EOF @@ -11906,16 +11935,16 @@ fi rm -f conftest* echo $ac_n "checking for sigsetjmp""... $ac_c" 1>&6 -echo "configure:11910: checking for sigsetjmp" >&5 +echo "configure:11939: checking for sigsetjmp" >&5 cat > conftest.$ac_ext < int main() { sigjmp_buf bar; sigsetjmp (bar, 0); ; return 0; } EOF -if { (eval echo configure:11919: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:11948: \"$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 @@ -11935,11 +11964,11 @@ fi rm -f conftest* echo $ac_n "checking whether localtime caches TZ""... $ac_c" 1>&6 -echo "configure:11939: checking whether localtime caches TZ" >&5 +echo "configure:11968: checking whether localtime caches TZ" >&5 if test "$ac_cv_func_tzset" = "yes"; then cat > conftest.$ac_ext < #if STDC_HEADERS @@ -11974,7 +12003,7 @@ main() exit (0); } EOF -if { (eval echo configure:11978: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:12007: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 then emacs_cv_localtime_cache=no else @@ -12004,9 +12033,9 @@ fi if test "$HAVE_TIMEVAL" = "yes"; then echo $ac_n "checking whether gettimeofday accepts one or two arguments""... $ac_c" 1>&6 -echo "configure:12008: checking whether gettimeofday accepts one or two arguments" >&5 +echo "configure:12037: checking whether gettimeofday accepts one or two arguments" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:12060: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* echo "$ac_t""two" 1>&6 else @@ -12049,19 +12078,19 @@ fi echo $ac_n "checking for inline""... $ac_c" 1>&6 -echo "configure:12053: checking for inline" >&5 +echo "configure:12082: checking for inline" >&5 ac_cv_c_inline=no for ac_kw in inline __inline__ __inline; do cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:12094: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_inline=$ac_kw; break else @@ -12102,17 +12131,17 @@ if test "$__DECC" != "yes"; then # 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:12106: checking for working alloca.h" >&5 +echo "configure:12135: checking for working alloca.h" >&5 cat > conftest.$ac_ext < int main() { char *p = alloca(2 * sizeof(int)); ; return 0; } EOF -if { (eval echo configure:12116: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:12145: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_header_alloca_h=yes else @@ -12136,10 +12165,10 @@ EOF fi echo $ac_n "checking for alloca""... $ac_c" 1>&6 -echo "configure:12140: checking for alloca" >&5 +echo "configure:12169: checking for alloca" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:12200: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_func_alloca_works=yes else @@ -12206,10 +12235,10 @@ EOF echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6 -echo "configure:12210: checking whether alloca needs Cray hooks" >&5 +echo "configure:12239: checking whether alloca needs Cray hooks" >&5 cat > conftest.$ac_ext <&6 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:12237: checking for $ac_func" >&5 +echo "configure:12266: checking for $ac_func" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:12292: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -12289,10 +12318,10 @@ done fi echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6 -echo "configure:12293: checking stack direction for C alloca" >&5 +echo "configure:12322: checking stack direction for C alloca" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:12344: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 then ac_cv_c_stack_direction=1 else @@ -12341,15 +12370,15 @@ fi ac_safe=`echo "vfork.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for vfork.h""... $ac_c" 1>&6 -echo "configure:12345: checking for vfork.h" >&5 +echo "configure:12374: checking for vfork.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:12353: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:12382: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -12377,10 +12406,10 @@ else fi echo $ac_n "checking for working vfork""... $ac_c" 1>&6 -echo "configure:12381: checking for working vfork" >&5 +echo "configure:12410: checking for working vfork" >&5 cat > conftest.$ac_ext < @@ -12475,7 +12504,7 @@ main() { } } EOF -if { (eval echo configure:12479: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:12508: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 then ac_cv_func_vfork_works=yes else @@ -12501,10 +12530,10 @@ fi echo $ac_n "checking for working strcoll""... $ac_c" 1>&6 -echo "configure:12505: checking for working strcoll" >&5 +echo "configure:12534: checking for working strcoll" >&5 cat > conftest.$ac_ext < main () @@ -12514,7 +12543,7 @@ main () strcoll ("123", "456") >= 0); } EOF -if { (eval echo configure:12518: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:12547: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 then ac_cv_func_strcoll_works=yes else @@ -12542,10 +12571,10 @@ fi for ac_func in getpgrp do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:12546: checking for $ac_func" >&5 +echo "configure:12575: checking for $ac_func" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:12601: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -12596,10 +12625,10 @@ fi done echo $ac_n "checking whether getpgrp takes no argument""... $ac_c" 1>&6 -echo "configure:12600: checking whether getpgrp takes no argument" >&5 +echo "configure:12629: checking whether getpgrp takes no argument" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:12687: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 then ac_cv_func_getpgrp_void=yes else @@ -12681,10 +12710,10 @@ fi echo $ac_n "checking for working mmap""... $ac_c" 1>&6 -echo "configure:12685: checking for working mmap" >&5 +echo "configure:12714: checking for working mmap" >&5 case "$opsys" in ultrix* ) have_mmap=no ;; *) cat > conftest.$ac_ext < #include @@ -12717,7 +12746,7 @@ int main (int argc, char *argv[]) return 1; } EOF -if { (eval echo configure:12721: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:12750: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 then have_mmap=yes else @@ -12746,9 +12775,9 @@ test "$GNU_MALLOC" != "yes" -a "$have_mmap" != "yes" && rel_alloc=no if test "$rel_alloc $have_mmap" = "default yes"; then if test "$doug_lea_malloc" = "yes"; then echo $ac_n "checking for M_MMAP_THRESHOLD""... $ac_c" 1>&6 -echo "configure:12750: checking for M_MMAP_THRESHOLD" >&5 +echo "configure:12779: checking for M_MMAP_THRESHOLD" >&5 cat > conftest.$ac_ext < int main() { @@ -12760,7 +12789,7 @@ int main() { ; return 0; } EOF -if { (eval echo configure:12764: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:12793: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* rel_alloc=no; echo "$ac_t""yes" 1>&6; else @@ -12785,15 +12814,15 @@ EOF ac_safe=`echo "termios.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for termios.h""... $ac_c" 1>&6 -echo "configure:12789: checking for termios.h" >&5 +echo "configure:12818: checking for termios.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:12797: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:12826: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -12836,15 +12865,15 @@ else 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:12840: checking for termio.h" >&5 +echo "configure:12869: checking for termio.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:12848: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:12877: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -12876,10 +12905,10 @@ fi echo $ac_n "checking for socket""... $ac_c" 1>&6 -echo "configure:12880: checking for socket" >&5 +echo "configure:12909: checking for socket" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:12935: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_socket=yes" else @@ -12917,15 +12946,15 @@ if eval "test \"`echo '$ac_cv_func_'socket`\" = yes"; then 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:12921: checking for netinet/in.h" >&5 +echo "configure:12950: checking for netinet/in.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:12929: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:12958: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -12942,15 +12971,15 @@ if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then 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:12946: checking for arpa/inet.h" >&5 +echo "configure:12975: checking for arpa/inet.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:12954: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:12983: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -12975,9 +13004,9 @@ EOF } echo $ac_n "checking "for sun_len member in struct sockaddr_un"""... $ac_c" 1>&6 -echo "configure:12979: checking "for sun_len member in struct sockaddr_un"" >&5 +echo "configure:13008: checking "for sun_len member in struct sockaddr_un"" >&5 cat > conftest.$ac_ext < @@ -12988,7 +13017,7 @@ int main() { static struct sockaddr_un x; x.sun_len = 1; ; return 0; } EOF -if { (eval echo configure:12992: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:13021: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* echo "$ac_t""yes" 1>&6; { test "$extra_verbose" = "yes" && cat << \EOF Defining HAVE_SOCKADDR_SUN_LEN @@ -13006,9 +13035,9 @@ else fi rm -f conftest* echo $ac_n "checking "for ip_mreq struct in netinet/in.h"""... $ac_c" 1>&6 -echo "configure:13010: checking "for ip_mreq struct in netinet/in.h"" >&5 +echo "configure:13039: checking "for ip_mreq struct in netinet/in.h"" >&5 cat > conftest.$ac_ext < @@ -13018,7 +13047,7 @@ int main() { static struct ip_mreq x; ; return 0; } EOF -if { (eval echo configure:13022: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:13051: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* echo "$ac_t""yes" 1>&6; { test "$extra_verbose" = "yes" && cat << \EOF Defining HAVE_MULTICAST @@ -13049,10 +13078,10 @@ fi echo $ac_n "checking for msgget""... $ac_c" 1>&6 -echo "configure:13053: checking for msgget" >&5 +echo "configure:13082: checking for msgget" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:13108: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_msgget=yes" else @@ -13090,15 +13119,15 @@ if eval "test \"`echo '$ac_cv_func_'msgget`\" = yes"; then 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:13094: checking for sys/ipc.h" >&5 +echo "configure:13123: checking for sys/ipc.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:13102: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:13131: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -13115,15 +13144,15 @@ if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then 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:13119: checking for sys/msg.h" >&5 +echo "configure:13148: checking for sys/msg.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:13127: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:13156: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -13161,15 +13190,15 @@ fi ac_safe=`echo "dirent.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for dirent.h""... $ac_c" 1>&6 -echo "configure:13165: checking for dirent.h" >&5 +echo "configure:13194: checking for dirent.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:13173: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:13202: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -13196,15 +13225,15 @@ else 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:13200: checking for sys/dir.h" >&5 +echo "configure:13229: checking for sys/dir.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:13208: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:13237: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -13237,15 +13266,15 @@ fi ac_safe=`echo "nlist.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for nlist.h""... $ac_c" 1>&6 -echo "configure:13241: checking for nlist.h" >&5 +echo "configure:13270: checking for nlist.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:13249: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:13278: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -13275,22 +13304,22 @@ fi echo "checking "for sound support"" 1>&6 -echo "configure:13279: checking "for sound support"" >&5 +echo "configure:13308: checking "for sound support"" >&5 test -z "$with_native_sound" -a -n "$native_sound_lib" && with_native_sound=yes if test "$with_native_sound" != "no"; then 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:13286: checking for multimedia/audio_device.h" >&5 +echo "configure:13315: checking for multimedia/audio_device.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:13294: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:13323: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -13346,12 +13375,12 @@ fi if test -z "$native_sound_lib"; then echo $ac_n "checking for ALopenport in -laudio""... $ac_c" 1>&6 -echo "configure:13350: checking for ALopenport in -laudio" >&5 +echo "configure:13379: checking for ALopenport in -laudio" >&5 ac_lib_var=`echo audio'_'ALopenport | sed 'y%./+-%__p_%'` xe_check_libs=" -laudio " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:13395: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -13393,12 +13422,12 @@ fi if test -z "$native_sound_lib"; then echo $ac_n "checking for AOpenAudio in -lAlib""... $ac_c" 1>&6 -echo "configure:13397: checking for AOpenAudio in -lAlib" >&5 +echo "configure:13426: checking for AOpenAudio in -lAlib" >&5 ac_lib_var=`echo Alib'_'AOpenAudio | sed 'y%./+-%__p_%'` xe_check_libs=" -lAlib " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:13442: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -13454,15 +13483,15 @@ fi 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:13458: checking for ${dir}/soundcard.h" >&5 +echo "configure:13487: checking for ${dir}/soundcard.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:13466: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:13495: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -13516,15 +13545,15 @@ fi if test "$with_nas_sound" != "no"; then ac_safe=`echo "audio/audiolib.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for audio/audiolib.h""... $ac_c" 1>&6 -echo "configure:13520: checking for audio/audiolib.h" >&5 +echo "configure:13549: checking for audio/audiolib.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:13528: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:13557: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -13542,12 +13571,12 @@ if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then echo $ac_n "checking for AuOpenServer in -laudio""... $ac_c" 1>&6 -echo "configure:13546: checking for AuOpenServer in -laudio" >&5 +echo "configure:13575: checking for AuOpenServer in -laudio" >&5 ac_lib_var=`echo audio'_'AuOpenServer | sed 'y%./+-%__p_%'` xe_check_libs=" -laudio " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:13591: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -13597,7 +13626,7 @@ EOF fi libs_x="-laudio $libs_x" && if test "$extra_verbose" = "yes"; then echo " Prepending \"-laudio\" to \$libs_x"; fi cat > conftest.$ac_ext < EOF @@ -13628,7 +13657,7 @@ if test "$with_esd_sound" != "no"; then # Extract the first word of "esd-config", so it can be a program name with args. set dummy esd-config; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:13632: checking for $ac_word" >&5 +echo "configure:13661: checking for $ac_word" >&5 if test -n "$have_esd_config"; then ac_cv_prog_have_esd_config="$have_esd_config" # Let the user override the test. @@ -13657,10 +13686,10 @@ fi c_switch_site="$c_switch_site `esd-config --cflags`" && if test "$extra_verbose" = "yes"; then echo " Appending \"`esd-config --cflags`\" to \$c_switch_site"; fi LIBS="`esd-config --libs` $LIBS" && if test "$extra_verbose" = "yes"; then echo " Prepending \"`esd-config --libs`\" to \$LIBS"; fi echo $ac_n "checking for esd_play_stream""... $ac_c" 1>&6 -echo "configure:13661: checking for esd_play_stream" >&5 +echo "configure:13690: checking for esd_play_stream" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:13716: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_esd_play_stream=yes" else @@ -13734,7 +13763,7 @@ test -z "$with_tty" && with_tty=yes if test "$with_tty" = "yes" ; then echo "checking for TTY-related features" 1>&6 -echo "configure:13738: checking for TTY-related features" >&5 +echo "configure:13767: checking for TTY-related features" >&5 { test "$extra_verbose" = "yes" && cat << \EOF Defining HAVE_TTY EOF @@ -13750,12 +13779,12 @@ EOF if test -z "$with_ncurses"; then echo $ac_n "checking for tgetent in -lncurses""... $ac_c" 1>&6 -echo "configure:13754: checking for tgetent in -lncurses" >&5 +echo "configure:13783: checking for tgetent in -lncurses" >&5 ac_lib_var=`echo ncurses'_'tgetent | sed 'y%./+-%__p_%'` xe_check_libs=" -lncurses " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:13799: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -13799,15 +13828,15 @@ EOF ac_safe=`echo "ncurses/curses.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for ncurses/curses.h""... $ac_c" 1>&6 -echo "configure:13803: checking for ncurses/curses.h" >&5 +echo "configure:13832: checking for ncurses/curses.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:13811: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:13840: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -13829,15 +13858,15 @@ fi ac_safe=`echo "ncurses/term.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for ncurses/term.h""... $ac_c" 1>&6 -echo "configure:13833: checking for ncurses/term.h" >&5 +echo "configure:13862: checking for ncurses/term.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:13841: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:13870: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -13867,15 +13896,15 @@ fi 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:13871: checking for ncurses/curses.h" >&5 +echo "configure:13900: checking for ncurses/curses.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:13879: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:13908: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -13910,12 +13939,12 @@ fi for lib in curses termlib termcap; do echo $ac_n "checking for tgetent in -l$lib""... $ac_c" 1>&6 -echo "configure:13914: checking for tgetent in -l$lib" >&5 +echo "configure:13943: 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 <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:13959: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -13951,12 +13980,12 @@ fi else if test -n "$libs_termcap" -a "$opsys" = "openbsd"; then echo $ac_n "checking for tgoto in -ltermcap""... $ac_c" 1>&6 -echo "configure:13955: checking for tgoto in -ltermcap" >&5 +echo "configure:13984: checking for tgoto in -ltermcap" >&5 ac_lib_var=`echo termcap'_'tgoto | sed 'y%./+-%__p_%'` xe_check_libs=" -ltermcap " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:14000: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -14012,12 +14041,12 @@ fi else echo $ac_n "checking for tgetent in -lcurses""... $ac_c" 1>&6 -echo "configure:14016: checking for tgetent in -lcurses" >&5 +echo "configure:14045: checking for tgetent in -lcurses" >&5 ac_lib_var=`echo curses'_'tgetent | sed 'y%./+-%__p_%'` xe_check_libs=" -lcurses " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:14061: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -14046,12 +14075,12 @@ if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes" ; then else echo "$ac_t""no" 1>&6 echo $ac_n "checking for tgetent in -ltermcap""... $ac_c" 1>&6 -echo "configure:14050: checking for tgetent in -ltermcap" >&5 +echo "configure:14079: checking for tgetent in -ltermcap" >&5 ac_lib_var=`echo termcap'_'tgetent | sed 'y%./+-%__p_%'` xe_check_libs=" -ltermcap " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:14095: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -14108,17 +14137,18 @@ EOF } - test -z "$with_gpm" && { ac_safe=`echo "gpm.h" | sed 'y%./+-%__p_%'` + if test "$with_gpm" != "no"; then + ac_safe=`echo "gpm.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for gpm.h""... $ac_c" 1>&6 -echo "configure:14114: checking for gpm.h" >&5 +echo "configure:14144: checking for gpm.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:14122: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:14152: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -14133,20 +14163,15 @@ 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_gpm=no -fi - } - test -z "$with_gpm" && { + + echo $ac_n "checking for Gpm_Open in -lgpm""... $ac_c" 1>&6 -echo "configure:14145: checking for Gpm_Open in -lgpm" >&5 +echo "configure:14170: 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 <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:14186: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -14171,15 +14196,19 @@ xe_check_libs="" if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes" ; then echo "$ac_t""yes" 1>&6 - with_gpm=yes + have_gpm=yes else echo "$ac_t""no" 1>&6 -with_gpm=no fi - } - if test "$with_gpm" = "yes"; then - { test "$extra_verbose" = "yes" && cat << \EOF + +else + echo "$ac_t""no" 1>&6 +fi + + if test "$have_gpm" = "yes"; then + with_gpm=yes + { test "$extra_verbose" = "yes" && cat << \EOF Defining HAVE_GPM EOF cat >> confdefs.h <<\EOF @@ -14187,10 +14216,15 @@ cat >> confdefs.h <<\EOF EOF } - extra_objs="$extra_objs gpmevent.o" && if test "$extra_verbose" = "yes"; then + extra_objs="$extra_objs gpmevent.o" && if test "$extra_verbose" = "yes"; then echo " xemacs will be linked with \"gpmevent.o\"" fi - LIBS="-lgpm $LIBS" && if test "$extra_verbose" = "yes"; then echo " Prepending \"-lgpm\" to \$LIBS"; fi + LIBS="-lgpm $LIBS" && if test "$extra_verbose" = "yes"; then echo " Prepending \"-lgpm\" to \$LIBS"; fi + elif test "$with_gpm" = "yes"; then + { echo "Error:" "GPM requested, but gpm.h or libgpm seems to be missing." >&2; exit 1; } + else + with_gpm=no + fi fi else for feature in ncurses gpm; do @@ -14207,20 +14241,20 @@ test "$with_x11" = "yes" -o "$with_tty" = "yes" -o "$need_event_unixoid" = "yes" test "$with_database_gdbm $with_database_dbm $with_database_berkdb" \ != "no no no" && echo "checking for database support" 1>&6 -echo "configure:14211: checking for database support" >&5 +echo "configure:14245: checking for database support" >&5 if test "$with_database_gdbm $with_database_dbm" != "no no"; then ac_safe=`echo "ndbm.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for ndbm.h""... $ac_c" 1>&6 -echo "configure:14216: checking for ndbm.h" >&5 +echo "configure:14250: checking for ndbm.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:14224: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:14258: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -14250,12 +14284,12 @@ fi if test "$with_database_gdbm" != "no"; then echo $ac_n "checking for dbm_open in -lgdbm""... $ac_c" 1>&6 -echo "configure:14254: checking for dbm_open in -lgdbm" >&5 +echo "configure:14288: 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 <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:14304: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -14294,10 +14328,10 @@ fi if test "$with_database_dbm" != "no"; then echo $ac_n "checking for dbm_open""... $ac_c" 1>&6 -echo "configure:14298: checking for dbm_open" >&5 +echo "configure:14332: checking for dbm_open" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:14358: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_dbm_open=yes" else @@ -14339,12 +14373,12 @@ else echo $ac_n "checking for dbm_open in -ldbm""... $ac_c" 1>&6 -echo "configure:14343: checking for dbm_open in -ldbm" >&5 +echo "configure:14377: 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 <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:14393: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -14396,12 +14430,12 @@ EOF if test "$with_database_berkdb" != "no"; then echo $ac_n "checking for Berkeley db.h""... $ac_c" 1>&6 -echo "configure:14400: checking for Berkeley db.h" >&5 +echo "configure:14434: checking for Berkeley db.h" >&5 for header in "db/db.h" "db.h"; do case "$opsys" in *freebsd*) cat > conftest.$ac_ext < @@ -14417,7 +14451,7 @@ int main() { ; return 0; } EOF -if { (eval echo configure:14421: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:14455: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* db_h_file="$header"; break else @@ -14428,7 +14462,7 @@ rm -f conftest* ;; *) cat > conftest.$ac_ext < @@ -14450,7 +14484,7 @@ int main() { ; return 0; } EOF -if { (eval echo configure:14454: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:14488: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* db_h_file="$header"; break else @@ -14468,9 +14502,9 @@ rm -f conftest* if test "$with_database_berkdb" != "no"; then echo $ac_n "checking for Berkeley DB version""... $ac_c" 1>&6 -echo "configure:14472: checking for Berkeley DB version" >&5 +echo "configure:14506: checking for Berkeley DB version" >&5 cat > conftest.$ac_ext < #if DB_VERSION_MAJOR > 1 @@ -14482,7 +14516,7 @@ if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | egrep "yes" >/dev/null 2>&1; then rm -rf conftest* cat > conftest.$ac_ext < #if DB_VERSION_MAJOR > 2 @@ -14509,10 +14543,10 @@ fi rm -f conftest* echo $ac_n "checking for $dbfunc""... $ac_c" 1>&6 -echo "configure:14513: checking for $dbfunc" >&5 +echo "configure:14547: checking for $dbfunc" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:14573: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$dbfunc=yes" else @@ -14554,12 +14588,12 @@ else echo $ac_n "checking for $dbfunc in -ldb""... $ac_c" 1>&6 -echo "configure:14558: checking for $dbfunc in -ldb" >&5 +echo "configure:14592: checking for $dbfunc in -ldb" >&5 ac_lib_var=`echo db'_'$dbfunc | sed 'y%./+-%__p_%'` xe_check_libs=" -ldb " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:14608: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -14644,12 +14678,12 @@ fi if test "$with_socks" = "yes"; then echo $ac_n "checking for SOCKSinit in -lsocks""... $ac_c" 1>&6 -echo "configure:14648: checking for SOCKSinit in -lsocks" >&5 +echo "configure:14682: checking for SOCKSinit in -lsocks" >&5 ac_lib_var=`echo socks'_'SOCKSinit | sed 'y%./+-%__p_%'` xe_check_libs=" -lsocks " cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:14698: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -14715,7 +14749,7 @@ fi if test "$with_modules" != "no"; then echo "checking for module support" 1>&6 -echo "configure:14719: checking for module support" >&5 +echo "configure:14753: checking for module support" >&5 if test "$with_msw" = "yes"; then have_dl=yes; @@ -14731,15 +14765,15 @@ EOF ;; *) ac_safe=`echo "dlfcn.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for dlfcn.h""... $ac_c" 1>&6 -echo "configure:14735: checking for dlfcn.h" >&5 +echo "configure:14769: checking for dlfcn.h" >&5 cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:14743: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:14777: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -14756,16 +14790,16 @@ if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then echo "$ac_t""yes" 1>&6 echo $ac_n "checking for dlopen in -lc""... $ac_c" 1>&6 -echo "configure:14760: checking for dlopen in -lc" >&5 +echo "configure:14794: checking for dlopen in -lc" >&5 cat > conftest.$ac_ext < int main() { dlopen ("", 0); ; return 0; } EOF -if { (eval echo configure:14769: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:14803: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* have_dl=yes else @@ -14774,18 +14808,18 @@ else rm -rf conftest* echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6 -echo "configure:14778: checking for dlopen in -ldl" >&5 +echo "configure:14812: checking for dlopen in -ldl" >&5 ac_save_LIBS="$LIBS" LIBS="-ldl $LIBS" cat > conftest.$ac_ext < int main() { dlopen ("", 0); ; return 0; } EOF -if { (eval echo configure:14789: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:14823: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* have_dl=yes else @@ -14814,12 +14848,12 @@ EOF else echo $ac_n "checking for shl_load in -ldld""... $ac_c" 1>&6 -echo "configure:14818: checking for shl_load in -ldld" >&5 +echo "configure:14852: 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 <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:14868: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -14857,12 +14891,12 @@ else echo "$ac_t""no" 1>&6 echo $ac_n "checking for dld_init in -ldld""... $ac_c" 1>&6 -echo "configure:14861: checking for dld_init in -ldld" >&5 +echo "configure:14895: 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 <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:14911: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -14920,7 +14954,7 @@ xehost=$canonical xealias=$internal_configuration echo "checking how to build dynamic libraries for ${xehost}" 1>&6 -echo "configure:14924: checking how to build dynamic libraries for ${xehost}" >&5 +echo "configure:14958: checking how to build dynamic libraries for ${xehost}" >&5 # Transform *-*-linux* to *-*-linux-gnu*, to support old configure scripts. case "$xehost" in *-*-linux-gnu*) ;; @@ -14948,9 +14982,9 @@ if test "$GCC" = "yes"; then XEGCC=yes else echo $ac_n "checking checking whether we are using GNU C""... $ac_c" 1>&6 -echo "configure:14952: checking checking whether we are using GNU C" >&5 +echo "configure:14986: checking checking whether we are using GNU C" >&5 cat > conftest.$ac_ext <&6 -echo "configure:14976: checking how to produce PIC code" >&5 +echo "configure:15010: checking how to produce PIC code" >&5 wl= can_build_shared=yes @@ -15073,18 +15107,18 @@ if test -n "$dll_cflags"; then # Check to make sure the dll_cflags actually works. echo $ac_n "checking if PIC flag ${dll_cflags} really works""... $ac_c" 1>&6 -echo "configure:15077: checking if PIC flag ${dll_cflags} really works" >&5 +echo "configure:15111: checking if PIC flag ${dll_cflags} really works" >&5 save_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS $dll_cflags -DPIC" cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:15122: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* # On HP-UX, the stripped-down bundled CC doesn't accept +Z, but also @@ -15115,7 +15149,7 @@ cc_produces_so=no xldf= xcldf= echo $ac_n "checking if C compiler can produce shared libraries""... $ac_c" 1>&6 -echo "configure:15119: checking if C compiler can produce shared libraries" >&5 +echo "configure:15153: checking if C compiler can produce shared libraries" >&5 if test "$XEGCC" = yes -o "$__ICC" = yes; then xcldf="-shared" xldf="-shared" @@ -15166,14 +15200,14 @@ if test -n "$xcldf"; then xe_libs= ac_link='${CC-cc} -o conftest $CFLAGS '"$xe_cppflags $xe_ldflags"' conftest.$ac_ext '"$xe_libs"' 1>&5' cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:15211: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* cc_produces_so=yes else @@ -15198,7 +15232,7 @@ if test -z "$LTLD"; then if test "$XEGCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. echo $ac_n "checking for ld used by GCC""... $ac_c" 1>&6 -echo "configure:15202: checking for ld used by GCC" >&5 +echo "configure:15236: checking for ld used by GCC" >&5 ac_prog=`($CC -print-prog-name=ld) 2>&5` case "$ac_prog" in # Accept absolute paths. @@ -15224,7 +15258,7 @@ echo "configure:15202: checking for ld used by GCC" >&5 esac else echo $ac_n "checking for GNU ld""... $ac_c" 1>&6 -echo "configure:15228: checking for GNU ld" >&5 +echo "configure:15262: checking for GNU ld" >&5 fi if test -z "$LTLD"; then @@ -15262,7 +15296,7 @@ ld_dynamic_link_flags= # Check to see if it really is or isn't GNU ld. echo $ac_n "checking if the linker is GNU ld""... $ac_c" 1>&6 -echo "configure:15266: checking if the linker is GNU ld" >&5 +echo "configure:15300: checking if the linker is GNU ld" >&5 # I'd rather use --version here, but apparently some GNU ld's only accept -v. if $LTLD -v 2>&1 &5; then xe_gnu_ld=yes @@ -15290,7 +15324,7 @@ else # OK - only NOW do we futz about with ld. # See if the linker supports building shared libraries. echo $ac_n "checking whether the linker supports shared libraries""... $ac_c" 1>&6 -echo "configure:15294: checking whether the linker supports shared libraries" >&5 +echo "configure:15328: checking whether the linker supports shared libraries" >&5 dll_ld=$CC dll_ldflags=$LDFLAGS ld_shlibs=yes @@ -15501,10 +15535,10 @@ EOF for ac_func in dlerror _dlerror do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:15505: checking for $ac_func" >&5 +echo "configure:15539: checking for $ac_func" >&5 cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:15565: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -15566,11 +15600,11 @@ done fi cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 +if { (eval echo configure:15608: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5 then : else @@ -15911,7 +15945,7 @@ done -RECURSIVE_MAKE="\$(MAKE) \$(MFLAGS) CC='\$(CC)' CFLAGS='\$(CFLAGS)' LDFLAGS='\$(LDFLAGS)' CPPFLAGS='\$(CPPFLAGS)'" +RECURSIVE_MAKE_ARGS="\$(MFLAGS) CC='\$(CC)' CFLAGS='\$(CFLAGS)' LDFLAGS='\$(LDFLAGS)' CPPFLAGS='\$(CPPFLAGS)'" @@ -16700,7 +16734,7 @@ s%@ld_switch_all@%$ld_switch_all%g s%@ld_libs_general@%$ld_libs_general%g s%@ld_libs_window_system@%$ld_libs_window_system%g s%@ld_libs_all@%$ld_libs_all%g -s%@RECURSIVE_MAKE@%$RECURSIVE_MAKE%g +s%@RECURSIVE_MAKE_ARGS@%$RECURSIVE_MAKE_ARGS%g s%@native_sound_lib@%$native_sound_lib%g s%@sound_cflags@%$sound_cflags%g s%@dynodump_arch@%$dynodump_arch%g diff --git a/configure.in b/configure.in index 2d1847b..04d718c 100644 --- a/configure.in +++ b/configure.in @@ -6,7 +6,7 @@ define([AC_INIT_NOTICE], #### Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc. #### Copyright (C) 1993-1995 Board of Trustees, University of Illinois. #### Copyright (C) 1996, 1997 Sun Microsystems, Inc. -#### Copyright (C) 1995, 1996 Ben Wing. +#### Copyright (C) 1995, 1996, 2005 Ben Wing. #### Copyright (C) 2000, 2001 Martin Buchholz. #### Copyright (C) 1998, 1999 J. Kean Johnston. @@ -1592,6 +1592,7 @@ if test -z "$pdump"; then case "$opsys" in linux* ) pdump=yes ;; dnl glibc 2.3.1 seems to hose unexec darwin ) pdump=yes ;; dnl No "native" working dumper available + cygwin* ) pdump=yes ;; dnl unexec is broken *) pdump=no ;; esac fi @@ -2099,7 +2100,9 @@ fi dnl Feed s&m crud to src/Makefile dnl Linux/powerpc needs the following magic for some reason -test "$machine$opsys" = "powerpclinux" && start_flags="-T $srcdir/src/ppc.ldscript" +dnl [Not needed with YellowDog 2.3 and causes link problems with YellowDog 3.0, +dnl the two most popular PowerPC distributions.] +dnl test "$machine$opsys" = "powerpclinux" && start_flags="-T $srcdir/src/ppc.ldscript" if test "$unexec" = "unexaix.o"; then dnl AIX needs various hacks to make static linking work. @@ -2635,16 +2638,16 @@ if test "$with_gtk" != "no";then possible_version=`${possible} --version 2> /dev/null` if test "x${possible_version}" != "x"; then GTK_CONFIG="${possible}" + case "${possible_version}" in + 1.0.*) AC_MSG_WARN([GTK 1.2 is required, please upgrade your version of GTK.]); with_gtk=no;; + 1.3.*) AC_MSG_WARN([GTK 1.3 is not supported right now]); with_gtk=no;; + 1.2.*) + with_gtk=yes + break + ;; + *) AC_MSG_WARN([Found unsupported version of GTK: $possible_version]);; + esac fi - case "${possible_version}" in - 1.0.*) AC_MSG_WARN([GTK 1.2 is required, please upgrade your version of GTK.]); with_gtk=no;; - 1.3.*) AC_MSG_WARN([GTK 1.3 is not supported right now]); with_gtk=no;; - 1.2.*) - with_gtk=yes - break - ;; - *) AC_MSG_WARN([Found unsupported version of GTK: $possible_version]);; - esac done AC_MSG_RESULT([${GTK_CONFIG}]) fi @@ -3209,28 +3212,32 @@ AC_CHECKING(for LDAP) test -z "$with_ldap" && { AC_CHECK_HEADER(ldap.h, ,with_ldap=no) } test -z "$with_ldap" && { AC_CHECK_HEADER(lber.h, ,with_ldap=no) } if test "$with_ldap" != "no"; then - AC_CHECK_LIB(ldap, ldap_search, with_ldap_nolber=yes, with_ldap_nolber=no) - test "$with_ldap_nolber" = "no" && { AC_CHECK_LIB(ldap, ldap_open, with_ldap_lber=yes, with_ldap_lber=no, -llber) } - test "$with_ldap_nolber" = "no" -a "$with_ldap_lber" = "no" && { AC_CHECK_LIB(ldap, ldap_open, with_ldap_krb=yes, with_ldap_krb=no, -llber -lkrb) } - test "$with_ldap_nolber" = "no" -a "$with_ldap_lber" = "no" -a "$with_ldap_krb" = "no" && { AC_CHECK_LIB(ldap, ldap_open, with_ldap_krbdes=yes, with_ldap_krbdes=no, -llber -lkrb -ldes) } - test -z "$with_ldap" -a \( "$with_ldap_lber" = "yes" -o "$with_ldap_nolber" = "yes" -o "$with_ldap_krb" = "yes" -o "$with_ldap_krbdes" = "yes" \) && with_ldap=yes + AC_CHECK_LIB(ldap, ldap_search, with_ldap=yes) + dnl Check for other libraries we need to link with to get the main routines. + test "$with_ldap" != "yes" && { AC_CHECK_LIB(ldap, ldap_open, [with_ldap=yes with_ldap_lber=yes], , -llber) } + test "$with_ldap" != "yes" && { AC_CHECK_LIB(ldap, ldap_open, [with_ldap=yes with_ldap_lber=yes with_ldap_krb=yes], , -llber -lkrb) } + test "$with_ldap" != "yes" && { AC_CHECK_LIB(ldap, ldap_open, [with_ldap=yes with_ldap_lber=yes with_ldap_krb=yes with_ldap_des=yes], , -llber -lkrb -ldes) } + dnl Recently, we need -lber even though the main routines are elsewhere, + dnl because otherwise be get link errors w.r.t. ber_pvt_opt_on. So just + dnl check for that (it's a variable not a fun but that doesn't seem to + dnl matter in these checks) and stick in -lber if so. Can't hurt (even to + dnl stick it in always shouldn't hurt, I don't think) ... #### Someone who + dnl #### understands LDAP needs to fix this properly. + test "$with_ldap_lber" != "yes" && { AC_CHECK_LIB(lber, ber_pvt_opt_on, with_ldap_lber=yes) } fi if test "$with_ldap" = "yes"; then AC_DEFINE(HAVE_LDAP) XE_ADD_OBJS(eldap.o) - if test "$with_ldap_nolber" = "yes" ; then - XE_PREPEND(-lldap, LIBS) - else - if test "$with_ldap_krb" = "yes" ; then - XE_PREPEND(-lkrb, LIBS) - fi - if test "$with_ldap_krbdes" = "yes" ; then - XE_PREPEND(-ldes, LIBS) - XE_PREPEND(-lkrb, LIBS) - fi + if test "$with_ldap_des" = "yes" ; then + XE_PREPEND(-ldes, LIBS) + fi + if test "$with_ldap_krb" = "yes" ; then + XE_PREPEND(-lkrb, LIBS) + fi + if test "$with_ldap_lber" = "yes" ; then XE_PREPEND(-llber, LIBS) - XE_PREPEND(-lldap, LIBS) fi + XE_PREPEND(-lldap, LIBS) AC_CHECK_FUNCS(ldap_set_option ldap_get_lderrno ldap_result2error ldap_parse_result) fi @@ -3590,8 +3597,8 @@ dnl Not all toolkits support all widgets dnl Avoid using Motif :-( case "$opsys" in - *linux* ) lucid_prefers_motif = "no" ;; - * ) lucid_prefers_motif = "yes" ;; + *linux* ) lucid_prefers_motif="no" ;; + * ) lucid_prefers_motif="yes" ;; esac case "$with_menubars" in "" | "yes" | "athena" ) @@ -4423,13 +4430,20 @@ if test "$with_tty" = "yes" ; then AC_DEFINE_UNQUOTED(CURSES_H_FILE, "${curses_h_file-curses.h}") AC_DEFINE_UNQUOTED(TERM_H_FILE, "${term_h_file-term.h}") - dnl Autodetect gpm - test -z "$with_gpm" && { AC_CHECK_HEADER(gpm.h, , with_gpm=no) } - test -z "$with_gpm" && { AC_CHECK_LIB(gpm, Gpm_Open, with_gpm=yes, with_gpm=no) } - if test "$with_gpm" = "yes"; then - AC_DEFINE(HAVE_GPM) - XE_ADD_OBJS(gpmevent.o) - XE_PREPEND(-lgpm, LIBS) + dnl General Purpose Mouse (libgpm) support + if test "$with_gpm" != "no"; then + AC_CHECK_HEADER(gpm.h, [ + AC_CHECK_LIB(gpm, Gpm_Open, have_gpm=yes)]) + if test "$have_gpm" = "yes"; then + with_gpm=yes + AC_DEFINE(HAVE_GPM) + XE_ADD_OBJS(gpmevent.o) + XE_PREPEND(-lgpm, LIBS) + elif test "$with_gpm" = "yes"; then + XE_DIE(["GPM requested, but gpm.h or libgpm seems to be missing."]) + else + with_gpm=no + fi fi else dnl "$with_tty" = "no" @@ -4940,8 +4954,8 @@ AC_SUBST(ld_libs_all) AC_SUBST(CFLAGS) AC_SUBST(CPPFLAGS) AC_SUBST(LDFLAGS) -RECURSIVE_MAKE="\$(MAKE) \$(MFLAGS) CC='\$(CC)' CFLAGS='\$(CFLAGS)' LDFLAGS='\$(LDFLAGS)' CPPFLAGS='\$(CPPFLAGS)'" -AC_SUBST(RECURSIVE_MAKE) +RECURSIVE_MAKE_ARGS="\$(MFLAGS) CC='\$(CC)' CFLAGS='\$(CFLAGS)' LDFLAGS='\$(LDFLAGS)' CPPFLAGS='\$(CPPFLAGS)'" +AC_SUBST(RECURSIVE_MAKE_ARGS) AC_SUBST(native_sound_lib) AC_SUBST(sound_cflags) diff --git a/etc/OXYMORONS b/etc/OXYMORONS index 6eaad69..6005b5c 100644 --- a/etc/OXYMORONS +++ b/etc/OXYMORONS @@ -37,14 +37,15 @@ theme for the releases following the promotion of 21.4 from "gamma" to 21.4.14: Reasonable Discussion 21.4.15: Security Through Obscurity 21.4.16: Corporate Culture -21.4.17: Social Property -21.4.18: Stable Release Maintainer -21.4.19: Standard C -21.4.20: Successful IPO -21.4.21: Sufficiently Smart Compiler -21.4.22: The Gift Economy -21.4.23: Too Much Mozart -21.4.24: UTF-8 BOM +21.4.17: Jumbo Shrimp +21.4.18: Social Property +21.4.19: Stable Release Maintainer +21.4.20: Standard C +21.4.21: Successful IPO +21.4.22: Sufficiently Smart Compiler +21.4.23: The Gift Economy +21.4.24: Too Much Mozart +21.4.25: UTF-8 BOM N.B. Only incredibly redeeming suggestions can be accepted now. diff --git a/etc/sample.init.el b/etc/sample.init.el index 538308a..2c610bf 100644 --- a/etc/sample.init.el +++ b/etc/sample.init.el @@ -273,7 +273,7 @@ Non-nil if we need to inhibit XEmacs from loading custom.el after init.el.") ;; and in fact all we've done is copied the definition. Note again ;; how we check to avoid clobbering an existing definition. (It's good ;; style to do this, in case some improvement was made to the -;; already-existing function -- otherwise we might subsitute an older +;; already-existing function -- otherwise we might substitute an older ;; definition and possibly break some code elsewhere.) ;; ;; NOTE ALSO: It is in general *NOT* a good idea to do what we're @@ -735,7 +735,10 @@ backward, and defaults to 1. Buffers whose name begins with a space ;; File menu. (when (console-on-window-system-p) - (global-set-key "\C-x\C-c" nil)) + (global-set-key "\C-x\C-c" + #'(lambda () (interactive) + (beep) + (message "Use the \"File/Exit XEmacs\" menu item to exit XEmacs")))) ;; Make C-k always delete the whole line, which is what most people want, ;; anyway. @@ -1390,7 +1393,7 @@ previous with \\[backward-sexp]." ;;; ******************** -;;; Filladapt is a syntax-highlighting package. When it is enabled it +;;; Filladapt is an adaptive text-filling package. When it is enabled it ;;; makes filling (e.g. using M-q) much much smarter about paragraphs ;;; that are indented and/or are set off with semicolons, dashes, etc. diff --git a/lib-src/winclient.c b/lib-src/winclient.c index 0399d99..7715882 100644 --- a/lib-src/winclient.c +++ b/lib-src/winclient.c @@ -1,490 +1,490 @@ -/* DDE client for XEmacs. - Copyright (C) 2002 Alastair J. Houghton - - This file is part of XEmacs. - - XEmacs is free software; you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by the - Free Software Foundation; either version 2, or (at your option) any - later version. - - XEmacs is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - for more details. - - You should have received a copy of the GNU General Public License - along with XEmacs; see the file COPYING. If not, write to - the Free Software Foundation, Inc., 59 Temple Place - Suite 330, - Boston, MA 02111-1307, USA. */ - -/* Synched up with: Not in FSF. */ - -/* -- Pre-Include Defines --------------------------------------------------- */ - -#define STRICT - -/* -- Includes -------------------------------------------------------------- */ - -#include -#ifdef HAVE_CONFIG_H -# include -#endif -#include -#include -#include -#include - -static void error (const char* s1, const char* s2); -static void fatal (const char *s1, const char *s2); -static void * xmalloc (size_t size); -static char * getNextArg (const char **ptr, unsigned *len); - -/* -- Post-Include Defines -------------------------------------------------- */ - -/* Timeouts & delays */ -#define CONNECT_DELAY 500 /* ms */ -#define TRANSACTION_TIMEOUT 5000 /* ms */ -#define MAX_INPUT_IDLE_WAIT INFINITE /* ms */ - -/* DDE Strings */ -#define SERVICE_NAME "XEmacs" -#define TOPIC_NAME "System" -#define COMMAND_FORMAT "[open(\"%s%s\")]" - -/* XEmacs program name */ -#define PROGRAM_TO_RUN "xemacs.exe" - -/* -- Constants ------------------------------------------------------------- */ - -/* -- Global Variables ------------------------------------------------------ */ - -HINSTANCE hInstance; -DWORD idInst = 0; - -/* -- Function Declarations ------------------------------------------------- */ - -HDDEDATA CALLBACK ddeCallback (UINT uType, UINT uFmt, HCONV hconv, - HSZ hsz1, HSZ hsz2, HDDEDATA hdata, - DWORD dwData1, DWORD dwData2); - -int WINAPI WinMain (HINSTANCE hInst, - HINSTANCE hPrev, - LPSTR lpCmdLine, - int nCmdShow); - -static HCONV openConversation (void); -static void closeConversation (HCONV hConv); -static int doFile (HCONV hConv, LPSTR lpszFileName1, LPSTR lpszFileName2); -static int parseCommandLine (HCONV hConv, LPSTR lpszCommandLine); - -/* -- Function Definitions -------------------------------------------------- */ - -/* - * Name : ddeCallback - * Function: Gets called by DDEML. - * - */ - -HDDEDATA CALLBACK -ddeCallback (UINT uType, UINT uFmt, HCONV hconv, - HSZ hsz1, HSZ hsz2, HDDEDATA hdata, - DWORD dwData1, DWORD dwData2) -{ - return (HDDEDATA) NULL; -} - -/* - * Name : WinMain - * Function: The program's entry point function. - * - */ - -int WINAPI -WinMain (HINSTANCE hInst, - HINSTANCE hPrev, - LPSTR lpCmdLine, - int nCmdShow) -{ - HCONV hConv; - int ret = 0; - UINT uiRet; - - /* Initialise the DDEML library */ - uiRet = DdeInitialize (&idInst, - (PFNCALLBACK) ddeCallback, - APPCMD_CLIENTONLY - |CBF_FAIL_ALLSVRXACTIONS, - 0); - - if (uiRet != DMLERR_NO_ERROR) - { - MessageBox (NULL, "Could not initialise DDE management library.", - "winclient", MB_ICONEXCLAMATION | MB_OK); - - return 1; - } - - /* Open a conversation */ - hConv = openConversation (); - - if (hConv) - { - /* OK. Next, we need to parse the command line. */ - ret = parseCommandLine (hConv, lpCmdLine); - - /* Close the conversation */ - closeConversation (hConv); - } - - DdeUninitialize (idInst); - - return ret; -} - -/* - * Name : openConversation - * Function: Start a conversation. - * - */ - -static HCONV -openConversation (void) -{ - HSZ hszService = NULL, hszTopic = NULL; - HCONV hConv = NULL; - - /* Get the application (service) name */ - hszService = DdeCreateStringHandle (idInst, - SERVICE_NAME, - CP_WINANSI); - - if (!hszService) - { - MessageBox (NULL, "Could not create string handle for service.", - "winclient", MB_ICONEXCLAMATION | MB_OK); - - goto error; - } - - /* Get the topic name */ - hszTopic = DdeCreateStringHandle (idInst, - TOPIC_NAME, - CP_WINANSI); - - if (!hszTopic) - { - MessageBox (NULL, "Could not create string handle for topic.", - "winclient", MB_ICONEXCLAMATION | MB_OK); - - goto error; - } - - /* Try to connect */ - hConv = DdeConnect (idInst, hszService, hszTopic, NULL); - - if (!hConv) - { - STARTUPINFO sti; - PROCESS_INFORMATION pi; - int n; - - /* Try to start the program */ - ZeroMemory (&sti, sizeof (sti)); - sti.cb = sizeof (sti); - if (!CreateProcess (NULL, PROGRAM_TO_RUN, NULL, NULL, FALSE, 0, - NULL, NULL, &sti, &pi)) - { - MessageBox (NULL, "Could not start process.", - "winclient", MB_ICONEXCLAMATION | MB_OK); - - goto error; - } - - /* Wait for the process to enter an idle state */ - WaitForInputIdle (pi.hProcess, MAX_INPUT_IDLE_WAIT); - - /* Close the handles */ - CloseHandle (pi.hThread); - CloseHandle (pi.hProcess); - - /* Try to connect */ - for (n = 0; n < 5; n++) - { - Sleep (CONNECT_DELAY); - - hConv = DdeConnect (idInst, hszService, hszTopic, NULL); - - if (hConv) - break; - } - - if (!hConv) - { - /* Still couldn't connect. */ - MessageBox (NULL, "Could not connect to DDE server.", - "winclient", MB_ICONEXCLAMATION | MB_OK); - - goto error; - } - } - - /* Release the string handles */ - DdeFreeStringHandle (idInst, hszService); - DdeFreeStringHandle (idInst, hszTopic); - - return hConv; - - error: - if (hConv) - DdeDisconnect (hConv); - if (hszService) - DdeFreeStringHandle (idInst, hszService); - if (hszTopic) - DdeFreeStringHandle (idInst, hszTopic); - - return NULL; -} - -/* - * Name : closeConversation - * Function: Close a conversation. - * - */ - -static void -closeConversation (HCONV hConv) -{ - /* Shut down */ - DdeDisconnect (hConv); -} - -/* - * Name : doFile - * Function: Process a file. - * - */ - -int -doFile (HCONV hConv, LPSTR lpszFileName1, LPSTR lpszFileName2) -{ - char *buf = NULL; - unsigned len; - - /* Calculate the buffer length */ - len = strlen (lpszFileName1) + strlen (lpszFileName2) - + strlen (COMMAND_FORMAT); - - /* Allocate a buffer */ - buf = (char *) xmalloc (len); - - if (!buf) - { - MessageBox (NULL, "Not enough memory.", - "winclient", MB_ICONEXCLAMATION | MB_OK); - - return 1; - } - - /* Build the command */ - len = wsprintf (buf, COMMAND_FORMAT, lpszFileName1, lpszFileName2); - - len++; - - /* OK. We're connected. Send the message. */ - DdeClientTransaction (buf, len, hConv, NULL, - 0, XTYP_EXECUTE, TRANSACTION_TIMEOUT, NULL); - - free (buf); - - return 0; -} - -/* - * Name : getNextArg - * Function: Retrieve the next command line argument. - * - */ - -static char * -getNextArg (const char **ptr, unsigned *len) -{ - int in_quotes = 0, quit = 0, all_in_quotes = 0; - const char *p = *ptr, *start; - char *buf = NULL; - unsigned length = 0; - - /* Skip whitespace */ - while (*p && isspace (*p)) - p++; - - /* If this is the end, return NULL */ - if (!*p) - return NULL; - - /* Remember where we are */ - start = p; - - /* Find the next whitespace character outside quotes */ - if (*p == '"') - all_in_quotes = 1; - - while (*p && !quit) - { - switch (*p) - { - case '"': - in_quotes = 1 - in_quotes; - p++; - break; - - case '\\': - if (!in_quotes) - all_in_quotes = 0; - - p++; - - if (!*p) - break; - - p++; - break; - - default: - if (isspace (*p) && !in_quotes) - quit = 1; - else if (!in_quotes) - all_in_quotes = 0; - - if (!quit) - p++; - } - } - - /* Work out the length */ - length = p - start; - - /* Strip quotes if the argument is completely quoted */ - if (all_in_quotes) - { - start++; - length -= 2; - } - - /* Copy */ - buf = (char *) xmalloc (length + 1); - - if (!buf) - return NULL; - - strncpy (buf, start, length); - buf[length] = '\0'; - - /* Return the pointer and length */ - *ptr = p; - *len = length; - - return buf; -} - -/* - * Name : parseCommandLine - * Function: Process the command line. This program accepts a list of strings - * : (which may contain wildcards) representing filenames. - * - */ - -int -parseCommandLine (HCONV hConv, LPSTR lpszCommandLine) -{ - char *fullpath, *filepart; - char *arg; - unsigned len, pathlen; - int ret = 0; - HANDLE hFindFile = NULL; - WIN32_FIND_DATA wfd; - - /* Retrieve arguments */ - while ((arg = getNextArg ((const char**)&lpszCommandLine, &len)) != NULL) - { - /* First find the canonical path name */ - fullpath = filepart = NULL; - pathlen = GetFullPathName (arg, 0, fullpath, &filepart); - - fullpath = (char *) xmalloc (pathlen); - - if (!fullpath) - { - MessageBox (NULL, "Not enough memory.", "winclient", - MB_ICONEXCLAMATION | MB_OK); - - ret = 1; - free (arg); - - break; - } - - GetFullPathName (arg, pathlen, fullpath, &filepart); - - /* Find the first matching file */ - hFindFile = FindFirstFile (arg, &wfd); - - if (hFindFile == INVALID_HANDLE_VALUE) - ret = doFile (hConv, fullpath, ""); - else - { - /* Chop off the file part from the full path name */ - if (filepart) - *filepart = '\0'; - - /* For each matching file */ - do - { - /* Process it */ - ret = doFile (hConv, fullpath, wfd.cFileName); - - if (ret) - break; - } - while (FindNextFile (hFindFile, &wfd)); - - FindClose (hFindFile); - } - - /* Release the path name buffers */ - free (fullpath); - free (arg); - - if (ret) - break; - } - - return ret; -} - -static void -fatal (const char *s1, const char *s2) -{ - error (s1, s2); - exit (1); -} - -/* Print error message. `s1' is printf control string, `s2' is arg for it. */ -static void -error (const char* s1, const char* s2) -{ - fprintf (stderr, "winclient: "); - fprintf (stderr, s1, s2); - fprintf (stderr, "\n"); -} - -/* Like malloc but get fatal error if memory is exhausted. */ - -static void * -xmalloc (size_t size) -{ - void *result = malloc (size); - if (result == NULL) - fatal ("virtual memory exhausted", (char *) 0); - return result; -} +/* DDE client for XEmacs. + Copyright (C) 2002 Alastair J. Houghton + + This file is part of XEmacs. + + XEmacs is free software; you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by the + Free Software Foundation; either version 2, or (at your option) any + later version. + + XEmacs is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with XEmacs; see the file COPYING. If not, write to + the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +/* Synched up with: Not in FSF. */ + +/* -- Pre-Include Defines --------------------------------------------------- */ + +#define STRICT + +/* -- Includes -------------------------------------------------------------- */ + +#include +#ifdef HAVE_CONFIG_H +# include +#endif +#include +#include +#include +#include + +static void error (const char* s1, const char* s2); +static void fatal (const char *s1, const char *s2); +static void * xmalloc (size_t size); +static char * getNextArg (const char **ptr, unsigned *len); + +/* -- Post-Include Defines -------------------------------------------------- */ + +/* Timeouts & delays */ +#define CONNECT_DELAY 500 /* ms */ +#define TRANSACTION_TIMEOUT 5000 /* ms */ +#define MAX_INPUT_IDLE_WAIT INFINITE /* ms */ + +/* DDE Strings */ +#define SERVICE_NAME "XEmacs" +#define TOPIC_NAME "System" +#define COMMAND_FORMAT "[open(\"%s%s\")]" + +/* XEmacs program name */ +#define PROGRAM_TO_RUN "xemacs.exe" + +/* -- Constants ------------------------------------------------------------- */ + +/* -- Global Variables ------------------------------------------------------ */ + +HINSTANCE hInstance; +DWORD idInst = 0; + +/* -- Function Declarations ------------------------------------------------- */ + +HDDEDATA CALLBACK ddeCallback (UINT uType, UINT uFmt, HCONV hconv, + HSZ hsz1, HSZ hsz2, HDDEDATA hdata, + DWORD dwData1, DWORD dwData2); + +int WINAPI WinMain (HINSTANCE hInst, + HINSTANCE hPrev, + LPSTR lpCmdLine, + int nCmdShow); + +static HCONV openConversation (void); +static void closeConversation (HCONV hConv); +static int doFile (HCONV hConv, LPSTR lpszFileName1, LPSTR lpszFileName2); +static int parseCommandLine (HCONV hConv, LPSTR lpszCommandLine); + +/* -- Function Definitions -------------------------------------------------- */ + +/* + * Name : ddeCallback + * Function: Gets called by DDEML. + * + */ + +HDDEDATA CALLBACK +ddeCallback (UINT uType, UINT uFmt, HCONV hconv, + HSZ hsz1, HSZ hsz2, HDDEDATA hdata, + DWORD dwData1, DWORD dwData2) +{ + return (HDDEDATA) NULL; +} + +/* + * Name : WinMain + * Function: The program's entry point function. + * + */ + +int WINAPI +WinMain (HINSTANCE hInst, + HINSTANCE hPrev, + LPSTR lpCmdLine, + int nCmdShow) +{ + HCONV hConv; + int ret = 0; + UINT uiRet; + + /* Initialise the DDEML library */ + uiRet = DdeInitialize (&idInst, + (PFNCALLBACK) ddeCallback, + APPCMD_CLIENTONLY + |CBF_FAIL_ALLSVRXACTIONS, + 0); + + if (uiRet != DMLERR_NO_ERROR) + { + MessageBox (NULL, "Could not initialise DDE management library.", + "winclient", MB_ICONEXCLAMATION | MB_OK); + + return 1; + } + + /* Open a conversation */ + hConv = openConversation (); + + if (hConv) + { + /* OK. Next, we need to parse the command line. */ + ret = parseCommandLine (hConv, lpCmdLine); + + /* Close the conversation */ + closeConversation (hConv); + } + + DdeUninitialize (idInst); + + return ret; +} + +/* + * Name : openConversation + * Function: Start a conversation. + * + */ + +static HCONV +openConversation (void) +{ + HSZ hszService = NULL, hszTopic = NULL; + HCONV hConv = NULL; + + /* Get the application (service) name */ + hszService = DdeCreateStringHandle (idInst, + SERVICE_NAME, + CP_WINANSI); + + if (!hszService) + { + MessageBox (NULL, "Could not create string handle for service.", + "winclient", MB_ICONEXCLAMATION | MB_OK); + + goto error; + } + + /* Get the topic name */ + hszTopic = DdeCreateStringHandle (idInst, + TOPIC_NAME, + CP_WINANSI); + + if (!hszTopic) + { + MessageBox (NULL, "Could not create string handle for topic.", + "winclient", MB_ICONEXCLAMATION | MB_OK); + + goto error; + } + + /* Try to connect */ + hConv = DdeConnect (idInst, hszService, hszTopic, NULL); + + if (!hConv) + { + STARTUPINFO sti; + PROCESS_INFORMATION pi; + int n; + + /* Try to start the program */ + ZeroMemory (&sti, sizeof (sti)); + sti.cb = sizeof (sti); + if (!CreateProcess (NULL, PROGRAM_TO_RUN, NULL, NULL, FALSE, 0, + NULL, NULL, &sti, &pi)) + { + MessageBox (NULL, "Could not start process.", + "winclient", MB_ICONEXCLAMATION | MB_OK); + + goto error; + } + + /* Wait for the process to enter an idle state */ + WaitForInputIdle (pi.hProcess, MAX_INPUT_IDLE_WAIT); + + /* Close the handles */ + CloseHandle (pi.hThread); + CloseHandle (pi.hProcess); + + /* Try to connect */ + for (n = 0; n < 5; n++) + { + Sleep (CONNECT_DELAY); + + hConv = DdeConnect (idInst, hszService, hszTopic, NULL); + + if (hConv) + break; + } + + if (!hConv) + { + /* Still couldn't connect. */ + MessageBox (NULL, "Could not connect to DDE server.", + "winclient", MB_ICONEXCLAMATION | MB_OK); + + goto error; + } + } + + /* Release the string handles */ + DdeFreeStringHandle (idInst, hszService); + DdeFreeStringHandle (idInst, hszTopic); + + return hConv; + + error: + if (hConv) + DdeDisconnect (hConv); + if (hszService) + DdeFreeStringHandle (idInst, hszService); + if (hszTopic) + DdeFreeStringHandle (idInst, hszTopic); + + return NULL; +} + +/* + * Name : closeConversation + * Function: Close a conversation. + * + */ + +static void +closeConversation (HCONV hConv) +{ + /* Shut down */ + DdeDisconnect (hConv); +} + +/* + * Name : doFile + * Function: Process a file. + * + */ + +int +doFile (HCONV hConv, LPSTR lpszFileName1, LPSTR lpszFileName2) +{ + char *buf = NULL; + unsigned len; + + /* Calculate the buffer length */ + len = strlen (lpszFileName1) + strlen (lpszFileName2) + + strlen (COMMAND_FORMAT); + + /* Allocate a buffer */ + buf = (char *) xmalloc (len); + + if (!buf) + { + MessageBox (NULL, "Not enough memory.", + "winclient", MB_ICONEXCLAMATION | MB_OK); + + return 1; + } + + /* Build the command */ + len = wsprintf (buf, COMMAND_FORMAT, lpszFileName1, lpszFileName2); + + len++; + + /* OK. We're connected. Send the message. */ + DdeClientTransaction (buf, len, hConv, NULL, + 0, XTYP_EXECUTE, TRANSACTION_TIMEOUT, NULL); + + free (buf); + + return 0; +} + +/* + * Name : getNextArg + * Function: Retrieve the next command line argument. + * + */ + +static char * +getNextArg (const char **ptr, unsigned *len) +{ + int in_quotes = 0, quit = 0, all_in_quotes = 0; + const char *p = *ptr, *start; + char *buf = NULL; + unsigned length = 0; + + /* Skip whitespace */ + while (*p && isspace (*p)) + p++; + + /* If this is the end, return NULL */ + if (!*p) + return NULL; + + /* Remember where we are */ + start = p; + + /* Find the next whitespace character outside quotes */ + if (*p == '"') + all_in_quotes = 1; + + while (*p && !quit) + { + switch (*p) + { + case '"': + in_quotes = 1 - in_quotes; + p++; + break; + + case '\\': + if (!in_quotes) + all_in_quotes = 0; + + p++; + + if (!*p) + break; + + p++; + break; + + default: + if (isspace (*p) && !in_quotes) + quit = 1; + else if (!in_quotes) + all_in_quotes = 0; + + if (!quit) + p++; + } + } + + /* Work out the length */ + length = p - start; + + /* Strip quotes if the argument is completely quoted */ + if (all_in_quotes) + { + start++; + length -= 2; + } + + /* Copy */ + buf = (char *) xmalloc (length + 1); + + if (!buf) + return NULL; + + strncpy (buf, start, length); + buf[length] = '\0'; + + /* Return the pointer and length */ + *ptr = p; + *len = length; + + return buf; +} + +/* + * Name : parseCommandLine + * Function: Process the command line. This program accepts a list of strings + * : (which may contain wildcards) representing filenames. + * + */ + +int +parseCommandLine (HCONV hConv, LPSTR lpszCommandLine) +{ + char *fullpath, *filepart; + char *arg; + unsigned len, pathlen; + int ret = 0; + HANDLE hFindFile = NULL; + WIN32_FIND_DATA wfd; + + /* Retrieve arguments */ + while ((arg = getNextArg ((const char**)&lpszCommandLine, &len)) != NULL) + { + /* First find the canonical path name */ + fullpath = filepart = NULL; + pathlen = GetFullPathName (arg, 0, fullpath, &filepart); + + fullpath = (char *) xmalloc (pathlen); + + if (!fullpath) + { + MessageBox (NULL, "Not enough memory.", "winclient", + MB_ICONEXCLAMATION | MB_OK); + + ret = 1; + free (arg); + + break; + } + + GetFullPathName (arg, pathlen, fullpath, &filepart); + + /* Find the first matching file */ + hFindFile = FindFirstFile (arg, &wfd); + + if (hFindFile == INVALID_HANDLE_VALUE) + ret = doFile (hConv, fullpath, ""); + else + { + /* Chop off the file part from the full path name */ + if (filepart) + *filepart = '\0'; + + /* For each matching file */ + do + { + /* Process it */ + ret = doFile (hConv, fullpath, wfd.cFileName); + + if (ret) + break; + } + while (FindNextFile (hFindFile, &wfd)); + + FindClose (hFindFile); + } + + /* Release the path name buffers */ + free (fullpath); + free (arg); + + if (ret) + break; + } + + return ret; +} + +static void +fatal (const char *s1, const char *s2) +{ + error (s1, s2); + exit (1); +} + +/* Print error message. `s1' is printf control string, `s2' is arg for it. */ +static void +error (const char* s1, const char* s2) +{ + fprintf (stderr, "winclient: "); + fprintf (stderr, s1, s2); + fprintf (stderr, "\n"); +} + +/* Like malloc but get fatal error if memory is exhausted. */ + +static void * +xmalloc (size_t size) +{ + void *result = malloc (size); + if (result == NULL) + fatal ("virtual memory exhausted", (char *) 0); + return result; +} diff --git a/lisp/ChangeLog b/lisp/ChangeLog index ec4df0c..6199d06 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1332,6 +1332,259 @@ * files.el (insert-file-contents-literally): Treat file as binary; call file-name-handlers. [sync with Emacs 20.3.10] +2005-02-06 Vin Shelton + + * XEmacs 21.4.17 is released + +2005-01-29 Ben Wing + + * shadow.el (find-emacs-lisp-shadows): + Add custom-defines to list of ignored files. + +2005-01-17 Adrian Aichner + + * simple.el (shifted-motion-keys-select-region): Fix statement + about unshifted-motion-keys-deselect-region. + +2004-12-15 Ville Skyttä + + * bytecomp-runtime.el (make-obsolete): Add 3rd argument (no-op for + now) for GNU Emacs compatibility. + (make-obsolete-variable): Ditto. + +2004-01-08 Ben Wing + + * code-files.el (load): + File positions are 0 based not 1 based. Thanks to Steve Youngs. + +2004-12-05 Vin Shelton + + * XEmacs 21.4.16 is released + +2004-12-04 Vin Shelton + + * auto-autoloads.el: Regenerated. + + * custom-load.el: Regenerated. + +2004-09-15 Stephen J. Turnbull + + Fix bug: apropos errors if a defalias refers to an undefined + function. <87pt4pmdcs.fsf@tleepslib.sk.tsukuba.ac.jp> + + * apropos.el (apropos): + (apropos-command): + * help.el (frob-help-extents): + * help-macro.el (make-help-screen): + * hyper-apropos.el (hyper-apropos-grok-functions): + (hyper-apropos-get-doc): + Catch void-function error thrown by `documentation'. + +2004-09-02 Steve Youngs + + * packages.el (package-require): Fix incorrect arg to format. + This fixes a `format specifier' error. + +2004-08-13 Jerry James + + * bytecomp.el (forward-word): Tell the byte compiler the correct + number of arguments to forward-word. + +2004-08-12 Sven Grundmann + + * etags.el: Fixed loading of include files for tag completion. Now + you can make a tag file for a library, include it into your + project and it will be reloaded only if it changed. Infinte + include loops are detected and the correct tag files are loaded. + * etags.el (buffer-tag-table-list): Load and verify tag files in + the external function buffer-tag-table-list-load. + * etags.el (buffer-tag-table-list-load): New. Load and verify the + tag files. Also load the included tag files. The priority of the + included files is right below their parent file. If multiple + matches occur then the symbols from the parent file are found + first. + * etags.el (tag-table-include-files): Corrected comment + string. Switched to pattern constant tags-include-pattern to have + it at a central location. + * etags.el (tags-include-pattern): Added doc string. + * etags.el (add-to-tag-completion-table): Removed obsolete + comments as the include files are allready returned by + buffer-tag-table-list and loaded. + * etags.el (find-tag-internal): The include files are allready + included in tag-tables as buffer-tag-table-list returns them now. + +2004-07-02 Malcolm Purvis + + * widgets-gtk.el (gtk-widget-instantiate-notebook-internal): + Loading items into the notebook is now done by C code. + * widgets-gtk.el (gtk-widget-instantiate-internal): + Style no longer changed. + +2004-06-28 Nix + + * cmdloop.el (truncate-command-history-for-gc): Delay + execution of all things that look up variable bindings, + via `enqueue-eval-event'. + +2004-06-24 Vin Shelton + + * package-get.el (package-get-require-signed-base-updates): + now defaults to nil. + +2004-06-09 Stephen J. Turnbull + + * subr.el (split-string): Clean up docstring. + +2002-01-24 John Paul Wallington + + * faces.el (zmacs-region): fix typo in docstring. + +2004-06-07 Jerry James + + * derived.el: Synch with Emacs 21.3. + * subr.el (with-local-quit): New, from Emacs 21.3. + * subr.el (delayed-mode-hooks): New variable, from Emacs 21.3. + * subr.el (run-mode-hooks): New function, from Emacs 21.3. + * subr.el (delay-mode-hooks): New macro, from Emacs 21.3. + +2004-06-16 Jerry James + + * cl.el (cl-set-substring): Increment start by the length of the + string, not the string itself. + +2004-05-19 Malcolm Purvis + + * etags.el (tag-table-include-files): Expand included TAGS file + paths to avoid problems with relative paths. Thanks to Peter + Chubb . + * etags.el (tags-include-pattern): New. + * etags.el (add-to-tag-completion-table): Parse and ignore + trailing include lines. + +2004-06-21 Adrian Aichner + + * package-ui.el (pui-help-echo): Fix false cvs conflict by + avoiding line solely composed of equal signs. + +2004-06-10 Adrian Aichner + + * cus-edit.el (alloc): Typo fix. + * cus-edit.el (custom-browse-visibility): Ditto. + * cus-edit.el (custom-variable-value-create): Ditto. + * cus-edit.el (custom-variable-pre-reset-standard): Ditto. + * cus-edit.el (custom-save-variables): Bind print-length and + print-level to nil to avoid value abbreviation. + * cus-edit.el (custom-save-face-internal): Ditto. + * cus-edit.el (custom-save-faces): Save in sorted order. + * cus-edit.el (custom-save-resets): Bind print-length and + print-level to nil to avoid value abbreviation. + * cus-edit.el (custom-save-loaded-themes): Ditto. + +2004-06-09 Stephen J. Turnbull + + * subr.el (split-string-default-separators): New. + (split-string): Synch to 21.5/GNU Emacs version. *New semantics*, + see comment in source. + +2004-01-29 Stephen J. Turnbull + + * mule/japanese.el (paragraph-start, paragraph-separate): + Remove anchor to BOL. + +2004-04-30 Stephen J. Turnbull + + * cl.el (gensym, gentemp): Improve docstrings. + +2004-05-10 Vin Shelton + + * etags.el: Sync with 21.5 version. + +2004-04-21 Sven Grundmann + + * etags.el: + * etags.el (tags-exuberant-ctags-optimization-p): Enable optimization + only for use with exuberant ctags. This will also enable building of + completion tables with exuberant ctags. This will not work with + xemacs ctags. + * etags.el (get-tag-table-buffer): New function for creating of + completion table is used if tags-exuberant-ctags-optimization-p ist t + * etags.el (tags-explicit-name-pattern): Hold the name pattern for + finding the tag names. New. + * etags.el (add-to-tag-completion-table-exuberant-ctags): Defun for + building tag completion table with exuberant ctags. New. + * etags.el (find-tag-internal): Improve exact tag matching for tags + with name fields. Before the patch return types of functions or + function parameters (with exuberant ctags) were found as matches. + +2004-04-21 Sven Grundmann + + * list-mode.el (display-completion-list): Fixed completion list was + taking the width of the frame and not of the window for displaying + the selection methods. + +2004-04-18 Stephen J. Turnbull + + * menubar-items.el (default-menubar): Options are saved to custom.el. + + +2004-02-23 Stephen J. Turnbull + + * isearch-mode.el (isearch-abort): Preserve successful search target. + +2004-03-27 Adrian Aichner + + * gnuserv.el: Sync with 21.5 version, inspired by bugreport and + (make-variable-buffer-local 'gnuserv-minor-mode) patch by Robert + Bihlmeyer. + * gnuserv.el (gnuserv-mode-line-string): New. + * gnuserv.el (gnuserv-minor-mode): Make it buffer-local, not + gnuserv-mode. + * gnuserv.el (make-x-device-with-gtk-fallback): New. + * gnuserv.el (gnuserv-edit-files): Use + make-x-device-with-gtk-fallback. + +2004-03-23 Malcolm Purvis + + * gtk-widgets.el: New import: gtk-accel-group-new. + * dialog-gtk.el: + * dialog-gtk.el (gtk-popup-convert-underscores): New. + * dialog-gtk.el (popup-builtin-question-dialog): + Added support for dialog button mnemonics. + +2004-03-22 Chris Green + + * process.el (shell-command): Output buffer was ignored when a + background process was run via shell-command. + +2004-03-19 Hrvoje Niksic + + * cus-edit.el (custom-save-variables): Retrieve a list of + variables to save first, sort it, and make sure the variables are + saved in sorted order. + +2004-02-23 Steve Youngs + + * package-get.el (package-get-update-base-from-buffer): Force + binary coding system for verifying GnuPG signature in the + package-index file. + +2003-07-06 Adrian Aichner + + * package-get.el (package-get-package-index-file-location): Handle + missing "EMACSPACKAGEPATH" environment variable. + +2003-07-05 Adrian Aichner + + * package-admin.el (package-admin-find-top-directory): Simplify + directory comparisions and fix substring errors on short path + components. + * package-get.el (package-get-package-index-file-location): + Default to first component of "EMACSPACKAGEPATH", if set. + +2004-02-16 Steve Youngs + + * package-get.el (process-error): New error datum. + 2004-02-02 Vin Shelton * XEmacs 21.4.15 is released diff --git a/lisp/auto-autoloads.el b/lisp/auto-autoloads.el index 4dc16b8..670a8c8 100644 --- a/lisp/auto-autoloads.el +++ b/lisp/auto-autoloads.el @@ -864,8 +864,7 @@ in the tag table that matches the tagname used in the previous find-tag. the tag. This version of this function supports multiple active tags tables, -and completion. See also the commands `\\[push-tag-mark]' and -`\\[pop-tag-mark]'. +and completion. Variables of note: @@ -1248,6 +1247,8 @@ Return a font descriptor object for FONTNAME, appropriate for DEVICE." nil nil) ;;;### (autoloads (gnuserv-start gnuserv-running-p) "gnuserv" "lisp/gnuserv.el") +(defcustom gnuserv-mode-line-string " Server" "*String to display in the modeline when Gnuserv is active.\nSet this to nil if you don't want a modeline indicator." :type '(choice string (const :tag "none" nil)) :group 'gnuserv) + (defcustom gnuserv-frame nil "*The frame to be used to display all edited files.\nIf nil, then a new frame is created for each file edited.\nIf t, then the currently selected frame will be used.\nIf a function, then this will be called with a symbol `x' or `tty' as the\nonly argument, and its return value will be interpreted as above." :tag "Gnuserv Frame" :type '(radio (const :tag "Create new frame each time" nil) (const :tag "Use selected frame" t) (function-item :tag "Use main Emacs frame" gnuserv-main-frame-function) (function-item :tag "Use visible frame, otherwise create new" gnuserv-visible-frame-function) (function-item :tag "Create special Gnuserv frame and use it" gnuserv-special-frame-function) (function :tag "Other")) :group 'gnuserv :group 'frames) (autoload 'gnuserv-running-p "gnuserv" "\ @@ -1501,7 +1502,7 @@ recent to least recent -- in other words, the version names don't have to be lexically ordered. It is debatable if it makes sense to have more than one version of a package available.") -(defcustom package-get-package-index-file-location (or (getenv "EMACSPACKAGEPATH") user-init-directory) "*The directory where the package-index file can be found." :type 'directory :group 'package-get) +(defcustom package-get-package-index-file-location (car (split-path (or (getenv "EMACSPACKAGEPATH") user-init-directory))) "*The directory where the package-index file can be found." :type 'directory :group 'package-get) (defcustom package-get-install-to-user-init-directory nil "*If non-nil install packages under `user-init-directory'." :type 'boolean :group 'package-get) diff --git a/lisp/bytecomp.el b/lisp/bytecomp.el index f5be73d..a7bbe8d 100644 --- a/lisp/bytecomp.el +++ b/lisp/bytecomp.el @@ -2946,7 +2946,7 @@ If FORM is a lambda or a macro, byte-compile it as a function." (byte-defop-compiler char-after 0-1+1) (byte-defop-compiler set-buffer 1) ;;(byte-defop-compiler set-mark 1) ;; obsolete -(byte-defop-compiler forward-word 1+1) +(byte-defop-compiler forward-word 0-1+1) (byte-defop-compiler char-syntax 1+1) (byte-defop-compiler nreverse 1) (byte-defop-compiler car-safe 1) diff --git a/lisp/dialog-gtk.el b/lisp/dialog-gtk.el index cb69ba7..1cfdaf2 100644 --- a/lisp/dialog-gtk.el +++ b/lisp/dialog-gtk.el @@ -32,6 +32,31 @@ (require 'gtk-password-dialog) (require 'gtk-file-dialog) +(defun gtk-popup-convert-underscores (str) + ;; Convert the XEmacs button accelerator representation to Gtk mnemonic + ;; form. If no accelerator has been provided, put one at the start of the + ;; string (this mirrors the behaviour under X). This algorithm is also found + ;; in menubar-gtk.c:convert_underscores(). + (let ((new-str (string)) + (i 0) + (found-accel nil)) + (while (< i (length str)) + (let ((c (aref str i))) + (cond ((eq c ?%) + (setq i (1+ i)) + (if (and (not (eq (aref str i) ?_)) (not (eq (aref str i) ?%))) + (setq i (1- i))) + (setq found-accel 1) + ) + ((eq c ?_) + (setq new-str (concat new-str "_"))) + )) + (setq new-str (concat new-str (string (aref str i)))) + (setq i (1+ i)) + ) + (if found-accel new-str (concat "_" new-str)) + )) + (defun popup-builtin-open-dialog (keys) ;; Allowed keywords are: ;; @@ -183,6 +208,10 @@ (callback nil) (flushrightp nil) (length nil) + (label nil) + (gui-button nil) + (accel-group (gtk-accel-group-new)) + (accel-key nil) (errp t)) (if (not buttons-descr) (error 'syntax-error @@ -230,7 +259,22 @@ (setq activep (plist-get plist :active) callback (plist-get plist :callback))))) - (push (gtk-button-new-with-label (aref button 0)) buttons) + ;; Create the label and determine what the mnemonic key is. + (setq label (gtk-label-new "")) + (setq accel-key (gtk-label-parse-uline label + (gtk-popup-convert-underscores (aref button 0)))) + ;; Place the label in the button. + (gtk-misc-set-alignment label 0.5 0.5) + (setq gui-button (gtk-button-new)) + (gtk-container-add gui-button label) + ;; Add ALT-mnemonic to the dialog's accelerator group. + (gtk-widget-add-accelerator gui-button "clicked" accel-group + accel-key + 8 ; GDK_MOD1_MASK + 4 ; GTK_ACCEL_LOCKED + ) + + (push gui-button buttons) (gtk-widget-set-sensitive (car buttons) (eval activep)) ;; Apply the callback @@ -259,6 +303,9 @@ (gtk-window-set-transient-for dialog (frame-property nil 'shell-widget)) (put dialog 'type 'dialog) (put dialog 'modal t) + ;; Make the dialog listen for global mnemonic keys. + (gtk-window-add-accel-group dialog accel-group) + (gtk-widget-show-all dialog) (gtk-main) (gtk-widget-destroy dialog) diff --git a/lisp/gtk-widgets.el b/lisp/gtk-widgets.el index 075594c..d590007 100644 --- a/lisp/gtk-widgets.el +++ b/lisp/gtk-widgets.el @@ -31,6 +31,8 @@ (eval-and-compile (require 'gtk-ffi)) +(gtk-import-function GtkAccelGroup gtk_accel_group_new) + (gtk-import-function GtkType gtk_accel_label_get_type) (gtk-import-function GtkWidget gtk_accel_label_new GtkString) (gtk-import-function guint gtk_accel_label_get_accel_width GtkAccelLabel) diff --git a/lisp/mule/japanese.el b/lisp/mule/japanese.el index b8b4e25..02ef1d3 100644 --- a/lisp/mule/japanese.el +++ b/lisp/mule/japanese.el @@ -97,8 +97,10 @@ "$B!#(B" "\\)" "[ \t\n]*")) -(setq paragraph-start "^[ $B!!(B\t\n\f]") -(setq paragraph-separate "^[ $B!!(B\t\f]*$") + +;; allow paragraphs to start with a zenkaku space +(setq paragraph-start "[ $B!!(B\t\n\f]") +(setq paragraph-separate "[ $B!!(B\t\f]*$") ;; EGG specific setup (define-egg-environment 'japanese diff --git a/lisp/utf-2000/README.en b/lisp/utf-2000/README.en index 661a84c..c85c55d 100644 --- a/lisp/utf-2000/README.en +++ b/lisp/utf-2000/README.en @@ -56,9 +56,10 @@ describes meaning of keys: kangxi $B9/_f;zE5(B guangyun (kouin) $B9-1$(B daikanwa (morohashi-daikanwa) $BBg4AOB<-E5(B + (goonruiju) $B8^2;N`f\(B ruijumyougishou (ruishuu-meigishou) $BN`f\L>5A>6(B zhengyun (seiin) $B@51$(B - zhengzi-tong (seiji-tsuu) $B@5;z$(CwW(B + zhengzitong (zhengzi-tong, seiji-tsuu) $B@5;z$(CwW(B shuowen-tongxun-dingsheng (setsumon-tsuukun-teisei) $B@bJ8DL71Djfa(B shuowen $B@bJ8(B diff --git a/lisp/widgets-gtk.el b/lisp/widgets-gtk.el index 38a151a..06b74d7 100644 --- a/lisp/widgets-gtk.el +++ b/lisp/widgets-gtk.el @@ -30,18 +30,34 @@ (defvar foo) -(defun gtk-widget-instantiate-button-internal (plist callback) +(defun gtk-widget-get-callback (widget plist instance) + (let ((cb (plist-get plist :callback)) + (ex (plist-get plist :callback-ex)) + (real-cb nil)) + (cond + (ex + (gtk-signal-connect widget 'button-release-event + (lambda (widget event data) + (put widget 'last-event event))) + `(lambda (widget &rest ignored) + (funcall ,ex ,instance (get widget 'last-event)))) + (cb + `(lambda (widget &rest ignored) + (if (functionp ,real-cb) + (funcall ,real-cb) + (eval ,real-cb)))) + (t + nil)))) + +(defun gtk-widget-instantiate-button-internal (plist instance) (let* ((type (or (plist-get plist :style) 'button)) (label (or (plist-get plist :descriptor) (symbol-name type))) (widget nil)) (case type (button (setq widget (gtk-button-new-with-label label)) - (gtk-signal-connect widget 'clicked (lambda (wid real-cb) - (if (functionp real-cb) - (funcall real-cb) - (eval real-cb))) - callback)) + (gtk-signal-connect widget 'clicked + (gtk-widget-get-callback widget plist instance))) (radio (let ((aux nil) (selected-p (plist-get plist :selected))) @@ -51,33 +67,25 @@ "bogus sibling")) (gtk-toggle-button-set-active widget (eval selected-p)) (gtk-signal-connect widget 'toggled - (lambda (wid data) - ;; data is (real-cb . sibling) - ) - (cons callback aux)))) + (gtk-widget-get-callback widget plist instance) aux))) (otherwise ;; Check boxes (setq widget (gtk-check-button-new-with-label label)) (gtk-toggle-button-set-active widget (eval (plist-get plist :selected))) (gtk-signal-connect widget 'toggled - (lambda (wid real-cb) - (if (functionp real-cb) - (funcall real-cb) - (eval real-cb))) - callback))) - + (gtk-widget-get-callback widget plist instance)))) (gtk-widget-show-all widget) widget)) (defun gtk-widget-instantiate-notebook-internal (plist callback) (let ((widget (gtk-notebook-new)) (items (plist-get plist :items))) - (while items - (gtk-notebook-append-page widget - (gtk-vbox-new nil 3) - (gtk-label-new (aref (car items) 0))) - (setq items (cdr items))) +; (while items +; (gtk-notebook-append-page widget +; (gtk-vbox-new nil 3) +; (gtk-label-new (aref (car items) 0))) +; (setq items (cdr items))) widget)) (defun gtk-widget-instantiate-progress-internal (plist callback) @@ -117,12 +125,12 @@ (let* ((type (aref instantiator 0)) (plist (cdr (map 'list 'identity instantiator))) (widget (funcall (or (get type 'instantiator) 'ignore) - plist (or (plist-get plist :callback) 'ignore)))) - (add-timeout 0.1 (lambda (obj) - (gtk-widget-set-style obj - (gtk-widget-get-style - (frame-property nil 'text-widget)))) - widget) + plist instance))) +; (add-timeout 0.1 (lambda (obj) +; (gtk-widget-set-style obj +; (gtk-widget-get-style +; (frame-property nil 'text-widget)))) +; widget) (setq x widget) widget)) diff --git a/lwlib/xlwradio.c b/lwlib/xlwradio.c index 207a1ff..cfb0e54 100644 --- a/lwlib/xlwradio.c +++ b/lwlib/xlwradio.c @@ -305,13 +305,6 @@ RadioExpose (Widget w, * but it bears thinking on. */ - /* Command widget may sometimes override the label GC in order - * to draw inverse video. We don't use inverse video, so we need - * to restore the label's normal GC. - */ - rw->label.normal_GC = rw->command.normal_GC ; - - /* Let label widget draw the label. If there was an lbm_x * field, we could let Label draw the bitmap too. But there * isn't, so we need to temporarily remove the bitmap and diff --git a/netinstall/ChangeLog b/netinstall/ChangeLog index 7a19f38..dcdfabf 100644 --- a/netinstall/ChangeLog +++ b/netinstall/ChangeLog @@ -1,3 +1,11 @@ +2005-02-06 Vin Shelton + + * XEmacs 21.4.17 is released + +2004-12-05 Vin Shelton + + * XEmacs 21.4.16 is released + 2004-02-02 Vin Shelton * XEmacs 21.4.15 is released diff --git a/netinstall/res.rc b/netinstall/res.rc index 4a7520b..fe58c57 100644 --- a/netinstall/res.rc +++ b/netinstall/res.rc @@ -1,546 +1,546 @@ -//Microsoft Developer Studio generated resource script. -// -#include "resource.h" - -#define APSTUDIO_READONLY_SYMBOLS -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 2 resource. -// -#define APSTUDIO_HIDDEN_SYMBOLS -#include "windows.h" -#undef APSTUDIO_HIDDEN_SYMBOLS - -///////////////////////////////////////////////////////////////////////////// -#undef APSTUDIO_READONLY_SYMBOLS - -///////////////////////////////////////////////////////////////////////////// -// English (U.S.) resources - -#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) -#ifdef _WIN32 -LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US -#pragma code_page(1252) -#endif //_WIN32 - -///////////////////////////////////////////////////////////////////////////// -// -// Dialog -// - -IDD_SOURCE DIALOG DISCARDABLE 0, 0, 311, 201 -STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "XEmacs Setup" -FONT 8, "MS Sans Serif" -BEGIN - PUSHBUTTON "Next >",IDOK,199,176,45,15,WS_GROUP - PUSHBUTTON "Cancel",IDCANCEL,256,176,45,15 - CONTROL "Download from the Internet",IDC_SOURCE_DOWNLOAD,"Button", - BS_AUTORADIOBUTTON | WS_TABSTOP,127,102,152,10 - CONTROL "Install from the Internet",IDC_SOURCE_NETINST,"Button", - BS_AUTORADIOBUTTON | WS_TABSTOP,127,121,87,10 - CONTROL "Install from Local Directory",IDC_SOURCE_CWD,"Button", - BS_AUTORADIOBUTTON | WS_TABSTOP,127,140,104,10 - LTEXT "",IDC_STATIC,10,10,87,151,SS_SUNKEN | NOT WS_GROUP - LTEXT "",IDC_STATIC,10,169,291,1,SS_SUNKEN | NOT WS_GROUP - LTEXT "Setup will use the following installation method.", - IDC_STATIC,112,11,170,17 - LTEXT "To exit setup click Cancel at any time.",IDC_STATIC,112, - 32,166,17 - GROUPBOX "Installation method",IDC_STATIC,113,84,188,77 - CONTROL "GNU",IDC_STATIC,"Static",SS_BITMAP,19,36,69,62 -END - -IDD_LOCAL_DIR DIALOG DISCARDABLE 0, 0, 311, 201 -STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Local package directory" -FONT 8, "MS Sans Serif" -BEGIN - DEFPUSHBUTTON "Next >",IDOK,199,176,45,15,WS_DISABLED - PUSHBUTTON "< Back",IDC_BACK,154,176,45,15 - PUSHBUTTON "Cancel",IDCANCEL,256,176,45,15 - LTEXT "",IDC_STATIC,10,10,87,151,SS_SUNKEN | NOT WS_GROUP - LTEXT "",IDC_STATIC,10,169,291,1,SS_SUNKEN | NOT WS_GROUP - EDITTEXT IDC_LOCAL_DIR,120,138,122,12,ES_AUTOHSCROLL - PUSHBUTTON "Browse...",IDC_LOCAL_DIR_BROWSE,252,137,38,14 - LTEXT "Setup will use the following folder to install XEmacs and / or packages from.", - IDC_STATIC,112,10,170,17 - LTEXT "To select a different folder, click Browse and select another folder.", - IDC_STATIC,112,36,170,18 - LTEXT "To exit setup click Cancel at any time.",IDC_STATIC,112, - 63,166,17 - GROUPBOX "Local Package Directory",IDC_STATIC,112,126,186,31 - CONTROL "GNU",IDC_STATIC,"Static",SS_BITMAP,19,36,69,62 -END - -IDD_ROOT DIALOG DISCARDABLE 0, 0, 311, 201 -STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "XEmacs Setup" -FONT 8, "MS Sans Serif" -BEGIN - DEFPUSHBUTTON "Next >",IDOK,199,176,45,15 - PUSHBUTTON "< Back",IDC_BACK,154,176,45,15 - PUSHBUTTON "Cancel",IDCANCEL,256,176,45,15 - LTEXT "",IDC_STATIC,10,10,87,151,SS_SUNKEN | NOT WS_GROUP - LTEXT "",IDC_STATIC,10,169,291,1,SS_SUNKEN | NOT WS_GROUP - EDITTEXT IDC_ROOT_DIR,120,138,122,12,ES_AUTOHSCROLL - PUSHBUTTON "Browse...",IDC_ROOT_BROWSE,252,137,38,14 - LTEXT "Setup will use the following folder in which to install XEmacs and / or packages.", - IDC_STATIC,112,10,170,17 - LTEXT "To select a different folder, click Browse and select another folder.", - IDC_STATIC,112,35,170,18 - LTEXT "To exit setup click Cancel at any time.",IDC_STATIC,112, - 63,166,17 - GROUPBOX "Installation Root Directory",IDC_STATIC,112,126,186,31 - CONTROL "All",IDC_ROOT_SYSTEM,"Button",BS_AUTORADIOBUTTON | - WS_GROUP,177,110,25,8 - CONTROL "Just Me",IDC_ROOT_USER,"Button",BS_AUTORADIOBUTTON,220, - 110,50,8 - LTEXT "Installation Type :",IDC_STATIC,112,95,60,8 - LTEXT "Install For :",IDC_STATIC,112,110,43,8 - CONTROL "Native",IDC_INSTALL_NATIVE,"Button",BS_AUTORADIOBUTTON, - 177,93,37,10 - CONTROL "Cygwin",IDC_INSTALL_CYGWIN,"Button",BS_AUTORADIOBUTTON, - 220,93,39,10 - CONTROL "GNU",IDC_STATIC,"Static",SS_BITMAP,19,36,69,62 -END - -IDD_SITE DIALOG DISCARDABLE 0, 0, 311, 201 -STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "XEmacs Setup" -FONT 8, "MS Sans Serif" -BEGIN - DEFPUSHBUTTON "Next >",IDOK,199,176,45,15 - PUSHBUTTON "< Back",IDC_BACK,154,176,45,15 - PUSHBUTTON "Cancel",IDCANCEL,256,176,45,15 - LTEXT "",IDC_STATIC,10,10,87,151,SS_SUNKEN | NOT WS_GROUP - LTEXT "",IDC_STATIC,10,169,291,1,SS_SUNKEN | NOT WS_GROUP - LTEXT "Select Download Site",IDC_STATIC,113,11,135,11 - LISTBOX IDC_URL_LIST,121,24,179,136,LBS_NOINTEGRALHEIGHT | - WS_VSCROLL | WS_HSCROLL | WS_TABSTOP - CONTROL "GNU",IDC_STATIC,"Static",SS_BITMAP,19,36,69,62 -END - -IDD_OTHER_URL DIALOG DISCARDABLE 0, 0, 311, 201 -STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "XEmacs Setup" -FONT 8, "MS Sans Serif" -BEGIN - DEFPUSHBUTTON "Next >",IDOK,199,176,45,15 - PUSHBUTTON "< Back",IDC_BACK,154,176,45,15 - PUSHBUTTON "Cancel",IDCANCEL,256,176,45,15 - LTEXT "",IDC_STATIC,10,10,87,151,SS_SUNKEN | NOT WS_GROUP - LTEXT "",IDC_STATIC,10,169,291,1,SS_SUNKEN | NOT WS_GROUP - EDITTEXT IDC_OTHER_URL,120,138,170,12,ES_AUTOHSCROLL - LTEXT "Setup will use the following URL to install XEmacs and / or packages from.", - IDC_STATIC,112,10,170,17 - LTEXT "To select a different URL, edit the text.",IDC_STATIC, - 112,36,170,18 - LTEXT "To exit setup click Cancel at any time.",IDC_STATIC,112, - 58,166,17 - GROUPBOX "Select URL to download from",IDC_STATIC,112,126,186,31 - CONTROL "GNU",IDC_STATIC,"Static",SS_BITMAP,19,36,69,62 -END - -IDD_NET DIALOG DISCARDABLE 0, 0, 311, 201 -STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "XEmacs Setup" -FONT 8, "MS Sans Serif" -BEGIN - PUSHBUTTON "Next >",IDOK,199,176,45,15,WS_GROUP - PUSHBUTTON "< Back",IDC_BACK,154,176,45,15 - PUSHBUTTON "Cancel",IDCANCEL,256,176,45,15 - LTEXT "",IDC_STATIC,10,10,87,151,SS_SUNKEN | NOT WS_GROUP - LTEXT "",IDC_STATIC,10,169,291,1,SS_SUNKEN | NOT WS_GROUP - LTEXT "Setup will use the following connection method.", - IDC_STATIC,112,11,170,17,NOT WS_GROUP - LTEXT "To exit setup click Cancel at any time.",IDC_STATIC,112, - 32,166,17,NOT WS_GROUP - CONTROL "Use IE5 Settings",IDC_NET_IE5,"Button", - BS_AUTORADIOBUTTON | WS_TABSTOP,128,93,69,10 - CONTROL "Direct Connection",IDC_NET_DIRECT,"Button", - BS_AUTORADIOBUTTON | WS_TABSTOP,128,109,73,10 - CONTROL "Use HTTP/FTP Proxy:",IDC_NET_PROXY,"Button", - BS_AUTORADIOBUTTON | WS_TABSTOP,128,124,88,10 - EDITTEXT IDC_PROXY_HOST,128,141,80,12,ES_AUTOHSCROLL | - WS_DISABLED - LTEXT "Proxy",IDC_STATIC,10,55,50,15,SS_CENTERIMAGE, - WS_EX_RIGHT - LTEXT "Port",IDC_STATIC,229,139,20,15,SS_CENTERIMAGE, - WS_EX_RIGHT - EDITTEXT IDC_PROXY_PORT,257,141,30,12,ES_AUTOHSCROLL | - WS_DISABLED - GROUPBOX "Installation method",IDC_STATIC,113,78,188,83 - CONTROL "GNU",IDC_STATIC,"Static",SS_BITMAP,19,36,69,62 -END - -IDD_DLSTATUS DIALOG DISCARDABLE 0, 0, 311, 201 -STYLE DS_MODALFRAME | DS_SETFOREGROUND | DS_CENTER | WS_POPUP | WS_VISIBLE | - WS_CAPTION | WS_SYSMENU -CAPTION "XEmacs Setup" -FONT 8, "MS Sans Serif" -BEGIN - PUSHBUTTON "Cancel",IDCANCEL,256,176,45,15 - LTEXT "",IDC_STATIC,10,10,87,151,SS_SUNKEN | NOT WS_GROUP - LTEXT "",IDC_STATIC,10,169,291,1,SS_SUNKEN | NOT WS_GROUP - LTEXT "Downloading Packages",IDC_STATIC,112,10,170,17 - LTEXT "(URL)",IDC_DLS_URL,112,26,170,11 - LTEXT "(RATE)",IDC_DLS_RATE,112,41,166,11 - CONTROL "Progress1",IDC_DLS_PROGRESS,"msctls_progress32", - WS_BORDER,123,143,165,10 - GROUPBOX "Progress",IDC_STATIC,112,130,186,31 - CONTROL "GNU",IDC_STATIC,"Static",SS_BITMAP,19,36,69,62 -END - -IDD_INSTATUS DIALOG DISCARDABLE 0, 0, 311, 201 -STYLE DS_MODALFRAME | DS_SETFOREGROUND | DS_CENTER | WS_POPUP | WS_VISIBLE | - WS_CAPTION | WS_SYSMENU -CAPTION "XEmacs Setup" -FONT 8, "MS Sans Serif" -BEGIN - PUSHBUTTON "Cancel",IDCANCEL,256,176,45,15 - LTEXT "",IDC_STATIC,10,10,87,151,SS_SUNKEN | NOT WS_GROUP - LTEXT "",IDC_STATIC,10,169,291,1,SS_SUNKEN | NOT WS_GROUP - LTEXT "Installing Packages",IDC_STATIC,112,10,170,17 - LTEXT "(PKG)",IDC_INS_PKG,112,26,170,11 - LTEXT "(FILE)",IDC_INS_FILE,112,41,183,11 - CONTROL "Progress1",IDC_INS_DISKFULL,"msctls_progress32", - WS_BORDER,123,143,165,10 - CONTROL "Progress1",IDC_INS_IPROGRESS,"msctls_progress32", - WS_BORDER,125,106,163,10 - CONTROL "Progress1",IDC_INS_PPROGRESS,"msctls_progress32", - WS_BORDER,125,67,163,10 - GROUPBOX "Disk",IDC_STATIC,112,130,186,31 - GROUPBOX "Package",IDC_STATIC,112,54,186,31 - GROUPBOX "Total",IDC_STATIC,112,93,186,31 - CONTROL "GNU",IDC_STATIC,"Static",SS_BITMAP,19,36,69,62 -END - -IDD_UNINSTALL DIALOG DISCARDABLE 0, 0, 311, 201 -STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Uninstall XEmacs" -FONT 8, "MS Sans Serif" -BEGIN - PUSHBUTTON "Cancel",IDCANCEL,199,176,45,15 - DEFPUSHBUTTON "Uninstall",IDOK,256,176,45,15 - LTEXT "",IDC_STATIC,10,10,87,151,SS_SUNKEN | NOT WS_GROUP - LTEXT "",IDC_STATIC,10,169,291,1,SS_SUNKEN | NOT WS_GROUP - LTEXT "Uninstalling Packages",IDC_STATIC,112,10,170,17 - LTEXT "(PKG)",IDC_UNINS_PKG,112,26,170,11 - LTEXT "(FILE)",IDC_UNINS_FILE,112,41,166,11 - CONTROL "Progress1",IDC_UNINS_DISKFULL,"msctls_progress32", - WS_BORDER,123,143,165,10 - CONTROL "Progress1",IDC_UNINS_IPROGRESS,"msctls_progress32", - WS_BORDER,125,106,163,10 - CONTROL "Progress1",IDC_UNINS_PPROGRESS,"msctls_progress32", - WS_BORDER,125,67,163,10 - GROUPBOX "Disk",IDC_STATIC,112,130,186,31 - GROUPBOX "Package",IDC_STATIC,112,54,186,31 - GROUPBOX "Total",IDC_STATIC,112,93,186,31 - CONTROL "GNU",IDC_STATIC,"Static",SS_BITMAP,19,36,69,62 -END - -IDD_PROXY_AUTH DIALOG DISCARDABLE 0, 0, 215, 95 -STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "XEmacs Setup" -FONT 8, "MS Sans Serif" -BEGIN - ICON IDI_XEMACS,IDC_STATIC,5,5,20,20 - EDITTEXT IDC_NET_USER,65,28,145,12,ES_AUTOHSCROLL - LTEXT "Proxy User ID",IDC_STATIC,5,28,55,15,SS_CENTERIMAGE, - WS_EX_RIGHT - EDITTEXT IDC_NET_PASSWD,65,43,145,12,ES_PASSWORD | ES_AUTOHSCROLL - LTEXT "Password",IDC_STATIC,10,43,50,15,SS_CENTERIMAGE, - WS_EX_RIGHT - LTEXT "Proxy Authorization Required",IDC_STATIC,65,10,145,10 - DEFPUSHBUTTON "OK",IDOK,100,75,45,15,WS_DISABLED - PUSHBUTTON "Cancel",IDCANCEL,165,75,45,15 -END - -IDD_NET_AUTH DIALOG DISCARDABLE 0, 0, 215, 95 -STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "XEmacs Setup" -FONT 8, "MS Sans Serif" -BEGIN - ICON IDI_XEMACS,IDC_STATIC,5,5,20,20 - EDITTEXT IDC_NET_USER,65,28,145,12,ES_AUTOHSCROLL - LTEXT "User ID",IDC_STATIC,5,28,55,15,SS_CENTERIMAGE, - WS_EX_RIGHT - EDITTEXT IDC_NET_PASSWD,65,43,145,12,ES_PASSWORD | ES_AUTOHSCROLL - LTEXT "Password",IDC_STATIC,10,43,50,15,SS_CENTERIMAGE, - WS_EX_RIGHT - LTEXT "Server Authorization Required",IDC_STATIC,65,10,145,10 - DEFPUSHBUTTON "OK",IDOK,100,75,45,15,WS_DISABLED - PUSHBUTTON "Cancel",IDCANCEL,165,75,45,15 -END - -IDD_SPLASH DIALOG DISCARDABLE 0, 0, 311, 201 -STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "XEmacs Setup" -FONT 8, "MS Sans Serif" -BEGIN - DEFPUSHBUTTON "Next >",IDOK,199,176,45,15 - PUSHBUTTON "Cancel",IDCANCEL,256,176,45,15 - ICON IDI_XEMACS,IDC_STATIC,107,10,20,20 - LTEXT "Welcome to the XEmacs Net Release Setup Program. This will install XEmacs and/or associated packages on your computer.", - IDC_STATIC,133,10,158,29 - LTEXT "Version (unknown)",IDC_VERSION,112,117,120,10 - LTEXT "Copyright (C) 2000 Red Hat Inc",IDC_STATIC,111,132,135, - 8 - LTEXT "http://www.xemacs.org/",IDC_STATIC,111,147,150,10 - LTEXT "It is strongly recommended that you exit all Windows programs before running this utility.", - IDC_STATIC,110,43,191,19 - LTEXT "",IDC_STATIC,10,169,291,1,SS_SUNKEN | NOT WS_GROUP - LTEXT "",IDC_STATIC,10,10,87,151,SS_SUNKEN | NOT WS_GROUP - CONTROL "GNU",IDC_STATIC,"Static",SS_BITMAP,19,36,69,62 -END - -IDD_CHOOSE DIALOG DISCARDABLE 0, 0, 311, 239 -STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "XEmacs Setup" -FONT 8, "MS Sans Serif" -BEGIN - DEFPUSHBUTTON "Next >",IDOK,199,214,45,15 - PUSHBUTTON "< Back",IDC_BACK,154,214,45,15 - PUSHBUTTON "Cancel",IDCANCEL,256,214,45,15 - LTEXT "",IDC_STATIC,10,201,291,1,SS_SUNKEN | NOT WS_GROUP - LTEXT "Select packages to install",IDC_STATIC,55,5,85,8 - ICON IDI_XEMACS,IDC_STATIC,5,5,21,20 - LTEXT "",IDC_LISTVIEW_POS,55,15,230,155,SS_SUNKEN | NOT - WS_VISIBLE | NOT WS_GROUP - CONTROL "SPIN",IDC_STATIC,"Static",SS_BITMAP,55,170,15,13 - LTEXT "= click to choose action, (p) = previous version, (x) = experimental", - IDC_STATIC,65,170,220,8 - PUSHBUTTON "Full/Part",IDC_CHOOSE_FULLPART,250,5,35,10 - PUSHBUTTON "Exp",IDC_CHOOSE_EXP,215,5,25,10 - PUSHBUTTON "Curr",IDC_CHOOSE_CURR,190,5,25,10 - PUSHBUTTON "Prev",IDC_CHOOSE_PREV,165,5,25,10 -END - -IDD_DESKTOP DIALOG DISCARDABLE 0, 0, 311, 201 -STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "XEmacs Setup" -FONT 8, "MS Sans Serif" -BEGIN - DEFPUSHBUTTON "Finish",IDOK,199,176,45,15 - PUSHBUTTON "< Back",IDC_BACK,154,176,45,15 - PUSHBUTTON "Cancel",IDCANCEL,256,176,45,15 - LTEXT "Setup has now finished. To create desktop shortcuts, please select from the following options.", - IDC_STATIC,112,11,170,17 - LTEXT "To complete setup click Finish.",IDC_STATIC,112,32,166, - 17 - CONTROL "Create Desktop Icon",IDC_ROOT_DESKTOP,"Button", - BS_AUTOCHECKBOX,113,50,100,8 - CONTROL "Add to Start Menu",IDC_ROOT_MENU,"Button", - BS_AUTOCHECKBOX,113,66,100,8 - CONTROL "GNU",IDC_STATIC,"Static",SS_BITMAP,19,36,69,62 - CONTROL "Text",IDC_TXT_TYPE,"Button",BS_AUTOCHECKBOX,209,101,38, - 8 - CONTROL "Java",IDC_JAVA_TYPE,"Button",BS_AUTOCHECKBOX,113,100,50, - 8 - CONTROL "C",IDC_C_TYPE,"Button",BS_AUTOCHECKBOX,113,116,41,8 - CONTROL "C++",IDC_CPP_TYPE,"Button",BS_AUTOCHECKBOX,113,133,38,8 - CONTROL "E-Lisp",IDC_ELISP_TYPE,"Button",BS_AUTOCHECKBOX,113,148, - 38,8 - LTEXT "Register XEmacs for these file types:",IDC_STATIC,113, - 84,166,13 - LTEXT "",IDC_STATIC,10,169,291,1,SS_SUNKEN | NOT WS_GROUP - LTEXT "",IDC_STATIC,10,10,87,151,SS_SUNKEN | NOT WS_GROUP - CONTROL "GNU",IDC_STATIC,"Static",SS_BITMAP,19,36,69,62 - CONTROL "IDL",IDC_IDL_TYPE,"Button",BS_AUTOCHECKBOX,209,116,38,8 -END - - -#ifdef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// TEXTINCLUDE -// - -1 TEXTINCLUDE DISCARDABLE -BEGIN - "resource.h\0" -END - -2 TEXTINCLUDE DISCARDABLE -BEGIN - "#define APSTUDIO_HIDDEN_SYMBOLS\r\n" - "#include ""windows.h""\r\n" - "#undef APSTUDIO_HIDDEN_SYMBOLS\r\n" - "\0" -END - -3 TEXTINCLUDE DISCARDABLE -BEGIN - "\r\n" - "\0" -END - -#endif // APSTUDIO_INVOKED - - -///////////////////////////////////////////////////////////////////////////// -// -// Icon -// - -// Icon with lowest ID value placed first to ensure application icon -// remains consistent on all systems. -IDI_XEMACS ICON DISCARDABLE "xemacs.ico" - -///////////////////////////////////////////////////////////////////////////// -// -// FILE -// - -XEMACS.ICON FILE DISCARDABLE "xemacs.ico" - -///////////////////////////////////////////////////////////////////////////// -// -// DESIGNINFO -// - -#ifdef APSTUDIO_INVOKED -GUIDELINES DESIGNINFO DISCARDABLE -BEGIN - IDD_SOURCE, DIALOG - BEGIN - VERTGUIDE, 113 - VERTGUIDE, 127 - END - - IDD_LOCAL_DIR, DIALOG - BEGIN - VERTGUIDE, 112 - HORZGUIDE, 10 - END - - IDD_ROOT, DIALOG - BEGIN - VERTGUIDE, 112 - HORZGUIDE, 103 - HORZGUIDE, 118 - END - - IDD_SITE, DIALOG - BEGIN - HORZGUIDE, 11 - HORZGUIDE, 161 - END - - IDD_NET, DIALOG - BEGIN - VERTGUIDE, 128 - BOTTOMMARGIN, 191 - HORZGUIDE, 153 - END - - IDD_INSTATUS, DIALOG - BEGIN - VERTGUIDE, 112 - VERTGUIDE, 125 - VERTGUIDE, 288 - END - - IDD_PROXY_AUTH, DIALOG - BEGIN - BOTTOMMARGIN, 49 - END - - IDD_NET_AUTH, DIALOG - BEGIN - BOTTOMMARGIN, 49 - END - - IDD_SPLASH, DIALOG - BEGIN - LEFTMARGIN, 10 - RIGHTMARGIN, 301 - TOPMARGIN, 10 - BOTTOMMARGIN, 191 - END - - IDD_CHOOSE, DIALOG - BEGIN - BOTTOMMARGIN, 229 - HORZGUIDE, 214 - END - - IDD_DESKTOP, DIALOG - BEGIN - VERTGUIDE, 113 - VERTGUIDE, 209 - HORZGUIDE, 124 - END -END -#endif // APSTUDIO_INVOKED - - -///////////////////////////////////////////////////////////////////////////// -// -// Bitmap -// - -SPIN BITMAP DISCARDABLE "choose-spin.bmp" -IDB_SPIN BITMAP DISCARDABLE "choose-spin.bmp" -IDB_RTARROW BITMAP DISCARDABLE "choose-rtarrow.bmp" -IDB_CHECK_YES BITMAP DISCARDABLE "check-yes.bmp" -IDB_CHECK_NO BITMAP DISCARDABLE "check-no.bmp" -IDB_CHECK_NA BITMAP DISCARDABLE "check-na.bmp" -GNU BITMAP DISCARDABLE "gnu.bmp" -IDB_GNU BITMAP DISCARDABLE "gnu.bmp" - -///////////////////////////////////////////////////////////////////////////// -// -// String Table -// - -STRINGTABLE DISCARDABLE -BEGIN - IDS_ROOT_SLASH "Warning: we recommend you do NOT use the root of your hard drive as the XEmacs root. Proceed anyway?" - IDS_ROOT_SPACE "You should not choose a root path that include spaces in directory names. Proceed anyway?" - IDS_MIRROR_LST "http://www.xemacs.org/Download/mirrors.lst" - IDS_DIALOG_FAILED "Unable to create Dialog Box" - IDS_CYGWIN_FUNC_MISSING "Error: unable to find function `%s' in %s" - IDS_DOWNLOAD_SHORT "Download error: %s too short (%d, wanted %d)" - IDS_ERR_OPEN_WRITE "Can't open %s for writing: %s" - IDS_SETUPINI_MISSING "Unable to get setup.ini from %s" - IDS_OLD_SETUPINI "This setup.ini is older than the one you used last time you installed cygwin. Proceed anyway?" - IDS_ERR_RENAME "Can't rename %s to %s: %s" - IDS_NOTHING_INSTALLED "Nothing needed to be installed" - IDS_INSTALL_COMPLETE "Installation Complete" -END - -STRINGTABLE DISCARDABLE -BEGIN - IDS_ERR_OPEN_READ "Can't open %s for reading: %s" - IDS_ROOT_ABSOLUTE "The install directory must be absolute, with both a drive letter and leading slash, like C:\\Cygwin" - IDS_DOWNLOAD_COMPLETE "Download Complete" - IDS_CVSID "\n%%% $Id: res.rc,v 1.2.2.1.2.1 2002/05/18 07:47:27 stephent Exp $\n" - IDS_NOLOGFILE "Cannot open log file %s for writing" - IDS_UNINSTALL_COMPLETE "Uninstalls complete." - IDS_WININET "Unable to find or load the Internet Explorer 5 DLLs" - IDS_ERR_CHDIR "Could not change dir to %s" - IDS_OLD_SETUP_VERSION "This setup is version %s, but setup.ini claims version %s is available.\nYou might want to upgrade to get the latest features and bug fixes." - IDS_DOWNLOAD_FAILED "Unable to download %s" - IDS_DOWNLOAD_INCOMPLETE "Download Incomplete. Try again?" - IDS_INSTALL_INCOMPLETE "Installation incomplete. Check /setup.log.full for details" - IDS_ROOT_NOCYGWIN "You should not install the Cygwin version without Cygwin installed. Proceed anyway?" - IDS_CREATE_DIR "The directory %s does not exist, create it?" -END - -#endif // English (U.S.) resources -///////////////////////////////////////////////////////////////////////////// - - - -#ifndef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 3 resource. -// - - -///////////////////////////////////////////////////////////////////////////// -#endif // not APSTUDIO_INVOKED - +//Microsoft Developer Studio generated resource script. +// +#include "resource.h" + +#define APSTUDIO_READONLY_SYMBOLS +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 2 resource. +// +#define APSTUDIO_HIDDEN_SYMBOLS +#include "windows.h" +#undef APSTUDIO_HIDDEN_SYMBOLS + +///////////////////////////////////////////////////////////////////////////// +#undef APSTUDIO_READONLY_SYMBOLS + +///////////////////////////////////////////////////////////////////////////// +// English (U.S.) resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) +#ifdef _WIN32 +LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US +#pragma code_page(1252) +#endif //_WIN32 + +///////////////////////////////////////////////////////////////////////////// +// +// Dialog +// + +IDD_SOURCE DIALOG DISCARDABLE 0, 0, 311, 201 +STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "XEmacs Setup" +FONT 8, "MS Sans Serif" +BEGIN + PUSHBUTTON "Next >",IDOK,199,176,45,15,WS_GROUP + PUSHBUTTON "Cancel",IDCANCEL,256,176,45,15 + CONTROL "Download from the Internet",IDC_SOURCE_DOWNLOAD,"Button", + BS_AUTORADIOBUTTON | WS_TABSTOP,127,102,152,10 + CONTROL "Install from the Internet",IDC_SOURCE_NETINST,"Button", + BS_AUTORADIOBUTTON | WS_TABSTOP,127,121,87,10 + CONTROL "Install from Local Directory",IDC_SOURCE_CWD,"Button", + BS_AUTORADIOBUTTON | WS_TABSTOP,127,140,104,10 + LTEXT "",IDC_STATIC,10,10,87,151,SS_SUNKEN | NOT WS_GROUP + LTEXT "",IDC_STATIC,10,169,291,1,SS_SUNKEN | NOT WS_GROUP + LTEXT "Setup will use the following installation method.", + IDC_STATIC,112,11,170,17 + LTEXT "To exit setup click Cancel at any time.",IDC_STATIC,112, + 32,166,17 + GROUPBOX "Installation method",IDC_STATIC,113,84,188,77 + CONTROL "GNU",IDC_STATIC,"Static",SS_BITMAP,19,36,69,62 +END + +IDD_LOCAL_DIR DIALOG DISCARDABLE 0, 0, 311, 201 +STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Local package directory" +FONT 8, "MS Sans Serif" +BEGIN + DEFPUSHBUTTON "Next >",IDOK,199,176,45,15,WS_DISABLED + PUSHBUTTON "< Back",IDC_BACK,154,176,45,15 + PUSHBUTTON "Cancel",IDCANCEL,256,176,45,15 + LTEXT "",IDC_STATIC,10,10,87,151,SS_SUNKEN | NOT WS_GROUP + LTEXT "",IDC_STATIC,10,169,291,1,SS_SUNKEN | NOT WS_GROUP + EDITTEXT IDC_LOCAL_DIR,120,138,122,12,ES_AUTOHSCROLL + PUSHBUTTON "Browse...",IDC_LOCAL_DIR_BROWSE,252,137,38,14 + LTEXT "Setup will use the following folder to install XEmacs and / or packages from.", + IDC_STATIC,112,10,170,17 + LTEXT "To select a different folder, click Browse and select another folder.", + IDC_STATIC,112,36,170,18 + LTEXT "To exit setup click Cancel at any time.",IDC_STATIC,112, + 63,166,17 + GROUPBOX "Local Package Directory",IDC_STATIC,112,126,186,31 + CONTROL "GNU",IDC_STATIC,"Static",SS_BITMAP,19,36,69,62 +END + +IDD_ROOT DIALOG DISCARDABLE 0, 0, 311, 201 +STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "XEmacs Setup" +FONT 8, "MS Sans Serif" +BEGIN + DEFPUSHBUTTON "Next >",IDOK,199,176,45,15 + PUSHBUTTON "< Back",IDC_BACK,154,176,45,15 + PUSHBUTTON "Cancel",IDCANCEL,256,176,45,15 + LTEXT "",IDC_STATIC,10,10,87,151,SS_SUNKEN | NOT WS_GROUP + LTEXT "",IDC_STATIC,10,169,291,1,SS_SUNKEN | NOT WS_GROUP + EDITTEXT IDC_ROOT_DIR,120,138,122,12,ES_AUTOHSCROLL + PUSHBUTTON "Browse...",IDC_ROOT_BROWSE,252,137,38,14 + LTEXT "Setup will use the following folder in which to install XEmacs and / or packages.", + IDC_STATIC,112,10,170,17 + LTEXT "To select a different folder, click Browse and select another folder.", + IDC_STATIC,112,35,170,18 + LTEXT "To exit setup click Cancel at any time.",IDC_STATIC,112, + 63,166,17 + GROUPBOX "Installation Root Directory",IDC_STATIC,112,126,186,31 + CONTROL "All",IDC_ROOT_SYSTEM,"Button",BS_AUTORADIOBUTTON | + WS_GROUP,177,110,25,8 + CONTROL "Just Me",IDC_ROOT_USER,"Button",BS_AUTORADIOBUTTON,220, + 110,50,8 + LTEXT "Installation Type :",IDC_STATIC,112,95,60,8 + LTEXT "Install For :",IDC_STATIC,112,110,43,8 + CONTROL "Native",IDC_INSTALL_NATIVE,"Button",BS_AUTORADIOBUTTON, + 177,93,37,10 + CONTROL "Cygwin",IDC_INSTALL_CYGWIN,"Button",BS_AUTORADIOBUTTON, + 220,93,39,10 + CONTROL "GNU",IDC_STATIC,"Static",SS_BITMAP,19,36,69,62 +END + +IDD_SITE DIALOG DISCARDABLE 0, 0, 311, 201 +STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "XEmacs Setup" +FONT 8, "MS Sans Serif" +BEGIN + DEFPUSHBUTTON "Next >",IDOK,199,176,45,15 + PUSHBUTTON "< Back",IDC_BACK,154,176,45,15 + PUSHBUTTON "Cancel",IDCANCEL,256,176,45,15 + LTEXT "",IDC_STATIC,10,10,87,151,SS_SUNKEN | NOT WS_GROUP + LTEXT "",IDC_STATIC,10,169,291,1,SS_SUNKEN | NOT WS_GROUP + LTEXT "Select Download Site",IDC_STATIC,113,11,135,11 + LISTBOX IDC_URL_LIST,121,24,179,136,LBS_NOINTEGRALHEIGHT | + WS_VSCROLL | WS_HSCROLL | WS_TABSTOP + CONTROL "GNU",IDC_STATIC,"Static",SS_BITMAP,19,36,69,62 +END + +IDD_OTHER_URL DIALOG DISCARDABLE 0, 0, 311, 201 +STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "XEmacs Setup" +FONT 8, "MS Sans Serif" +BEGIN + DEFPUSHBUTTON "Next >",IDOK,199,176,45,15 + PUSHBUTTON "< Back",IDC_BACK,154,176,45,15 + PUSHBUTTON "Cancel",IDCANCEL,256,176,45,15 + LTEXT "",IDC_STATIC,10,10,87,151,SS_SUNKEN | NOT WS_GROUP + LTEXT "",IDC_STATIC,10,169,291,1,SS_SUNKEN | NOT WS_GROUP + EDITTEXT IDC_OTHER_URL,120,138,170,12,ES_AUTOHSCROLL + LTEXT "Setup will use the following URL to install XEmacs and / or packages from.", + IDC_STATIC,112,10,170,17 + LTEXT "To select a different URL, edit the text.",IDC_STATIC, + 112,36,170,18 + LTEXT "To exit setup click Cancel at any time.",IDC_STATIC,112, + 58,166,17 + GROUPBOX "Select URL to download from",IDC_STATIC,112,126,186,31 + CONTROL "GNU",IDC_STATIC,"Static",SS_BITMAP,19,36,69,62 +END + +IDD_NET DIALOG DISCARDABLE 0, 0, 311, 201 +STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "XEmacs Setup" +FONT 8, "MS Sans Serif" +BEGIN + PUSHBUTTON "Next >",IDOK,199,176,45,15,WS_GROUP + PUSHBUTTON "< Back",IDC_BACK,154,176,45,15 + PUSHBUTTON "Cancel",IDCANCEL,256,176,45,15 + LTEXT "",IDC_STATIC,10,10,87,151,SS_SUNKEN | NOT WS_GROUP + LTEXT "",IDC_STATIC,10,169,291,1,SS_SUNKEN | NOT WS_GROUP + LTEXT "Setup will use the following connection method.", + IDC_STATIC,112,11,170,17,NOT WS_GROUP + LTEXT "To exit setup click Cancel at any time.",IDC_STATIC,112, + 32,166,17,NOT WS_GROUP + CONTROL "Use IE5 Settings",IDC_NET_IE5,"Button", + BS_AUTORADIOBUTTON | WS_TABSTOP,128,93,69,10 + CONTROL "Direct Connection",IDC_NET_DIRECT,"Button", + BS_AUTORADIOBUTTON | WS_TABSTOP,128,109,73,10 + CONTROL "Use HTTP/FTP Proxy:",IDC_NET_PROXY,"Button", + BS_AUTORADIOBUTTON | WS_TABSTOP,128,124,88,10 + EDITTEXT IDC_PROXY_HOST,128,141,80,12,ES_AUTOHSCROLL | + WS_DISABLED + LTEXT "Proxy",IDC_STATIC,10,55,50,15,SS_CENTERIMAGE, + WS_EX_RIGHT + LTEXT "Port",IDC_STATIC,229,139,20,15,SS_CENTERIMAGE, + WS_EX_RIGHT + EDITTEXT IDC_PROXY_PORT,257,141,30,12,ES_AUTOHSCROLL | + WS_DISABLED + GROUPBOX "Installation method",IDC_STATIC,113,78,188,83 + CONTROL "GNU",IDC_STATIC,"Static",SS_BITMAP,19,36,69,62 +END + +IDD_DLSTATUS DIALOG DISCARDABLE 0, 0, 311, 201 +STYLE DS_MODALFRAME | DS_SETFOREGROUND | DS_CENTER | WS_POPUP | WS_VISIBLE | + WS_CAPTION | WS_SYSMENU +CAPTION "XEmacs Setup" +FONT 8, "MS Sans Serif" +BEGIN + PUSHBUTTON "Cancel",IDCANCEL,256,176,45,15 + LTEXT "",IDC_STATIC,10,10,87,151,SS_SUNKEN | NOT WS_GROUP + LTEXT "",IDC_STATIC,10,169,291,1,SS_SUNKEN | NOT WS_GROUP + LTEXT "Downloading Packages",IDC_STATIC,112,10,170,17 + LTEXT "(URL)",IDC_DLS_URL,112,26,170,11 + LTEXT "(RATE)",IDC_DLS_RATE,112,41,166,11 + CONTROL "Progress1",IDC_DLS_PROGRESS,"msctls_progress32", + WS_BORDER,123,143,165,10 + GROUPBOX "Progress",IDC_STATIC,112,130,186,31 + CONTROL "GNU",IDC_STATIC,"Static",SS_BITMAP,19,36,69,62 +END + +IDD_INSTATUS DIALOG DISCARDABLE 0, 0, 311, 201 +STYLE DS_MODALFRAME | DS_SETFOREGROUND | DS_CENTER | WS_POPUP | WS_VISIBLE | + WS_CAPTION | WS_SYSMENU +CAPTION "XEmacs Setup" +FONT 8, "MS Sans Serif" +BEGIN + PUSHBUTTON "Cancel",IDCANCEL,256,176,45,15 + LTEXT "",IDC_STATIC,10,10,87,151,SS_SUNKEN | NOT WS_GROUP + LTEXT "",IDC_STATIC,10,169,291,1,SS_SUNKEN | NOT WS_GROUP + LTEXT "Installing Packages",IDC_STATIC,112,10,170,17 + LTEXT "(PKG)",IDC_INS_PKG,112,26,170,11 + LTEXT "(FILE)",IDC_INS_FILE,112,41,183,11 + CONTROL "Progress1",IDC_INS_DISKFULL,"msctls_progress32", + WS_BORDER,123,143,165,10 + CONTROL "Progress1",IDC_INS_IPROGRESS,"msctls_progress32", + WS_BORDER,125,106,163,10 + CONTROL "Progress1",IDC_INS_PPROGRESS,"msctls_progress32", + WS_BORDER,125,67,163,10 + GROUPBOX "Disk",IDC_STATIC,112,130,186,31 + GROUPBOX "Package",IDC_STATIC,112,54,186,31 + GROUPBOX "Total",IDC_STATIC,112,93,186,31 + CONTROL "GNU",IDC_STATIC,"Static",SS_BITMAP,19,36,69,62 +END + +IDD_UNINSTALL DIALOG DISCARDABLE 0, 0, 311, 201 +STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Uninstall XEmacs" +FONT 8, "MS Sans Serif" +BEGIN + PUSHBUTTON "Cancel",IDCANCEL,199,176,45,15 + DEFPUSHBUTTON "Uninstall",IDOK,256,176,45,15 + LTEXT "",IDC_STATIC,10,10,87,151,SS_SUNKEN | NOT WS_GROUP + LTEXT "",IDC_STATIC,10,169,291,1,SS_SUNKEN | NOT WS_GROUP + LTEXT "Uninstalling Packages",IDC_STATIC,112,10,170,17 + LTEXT "(PKG)",IDC_UNINS_PKG,112,26,170,11 + LTEXT "(FILE)",IDC_UNINS_FILE,112,41,166,11 + CONTROL "Progress1",IDC_UNINS_DISKFULL,"msctls_progress32", + WS_BORDER,123,143,165,10 + CONTROL "Progress1",IDC_UNINS_IPROGRESS,"msctls_progress32", + WS_BORDER,125,106,163,10 + CONTROL "Progress1",IDC_UNINS_PPROGRESS,"msctls_progress32", + WS_BORDER,125,67,163,10 + GROUPBOX "Disk",IDC_STATIC,112,130,186,31 + GROUPBOX "Package",IDC_STATIC,112,54,186,31 + GROUPBOX "Total",IDC_STATIC,112,93,186,31 + CONTROL "GNU",IDC_STATIC,"Static",SS_BITMAP,19,36,69,62 +END + +IDD_PROXY_AUTH DIALOG DISCARDABLE 0, 0, 215, 95 +STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "XEmacs Setup" +FONT 8, "MS Sans Serif" +BEGIN + ICON IDI_XEMACS,IDC_STATIC,5,5,20,20 + EDITTEXT IDC_NET_USER,65,28,145,12,ES_AUTOHSCROLL + LTEXT "Proxy User ID",IDC_STATIC,5,28,55,15,SS_CENTERIMAGE, + WS_EX_RIGHT + EDITTEXT IDC_NET_PASSWD,65,43,145,12,ES_PASSWORD | ES_AUTOHSCROLL + LTEXT "Password",IDC_STATIC,10,43,50,15,SS_CENTERIMAGE, + WS_EX_RIGHT + LTEXT "Proxy Authorization Required",IDC_STATIC,65,10,145,10 + DEFPUSHBUTTON "OK",IDOK,100,75,45,15,WS_DISABLED + PUSHBUTTON "Cancel",IDCANCEL,165,75,45,15 +END + +IDD_NET_AUTH DIALOG DISCARDABLE 0, 0, 215, 95 +STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "XEmacs Setup" +FONT 8, "MS Sans Serif" +BEGIN + ICON IDI_XEMACS,IDC_STATIC,5,5,20,20 + EDITTEXT IDC_NET_USER,65,28,145,12,ES_AUTOHSCROLL + LTEXT "User ID",IDC_STATIC,5,28,55,15,SS_CENTERIMAGE, + WS_EX_RIGHT + EDITTEXT IDC_NET_PASSWD,65,43,145,12,ES_PASSWORD | ES_AUTOHSCROLL + LTEXT "Password",IDC_STATIC,10,43,50,15,SS_CENTERIMAGE, + WS_EX_RIGHT + LTEXT "Server Authorization Required",IDC_STATIC,65,10,145,10 + DEFPUSHBUTTON "OK",IDOK,100,75,45,15,WS_DISABLED + PUSHBUTTON "Cancel",IDCANCEL,165,75,45,15 +END + +IDD_SPLASH DIALOG DISCARDABLE 0, 0, 311, 201 +STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "XEmacs Setup" +FONT 8, "MS Sans Serif" +BEGIN + DEFPUSHBUTTON "Next >",IDOK,199,176,45,15 + PUSHBUTTON "Cancel",IDCANCEL,256,176,45,15 + ICON IDI_XEMACS,IDC_STATIC,107,10,20,20 + LTEXT "Welcome to the XEmacs Net Release Setup Program. This will install XEmacs and/or associated packages on your computer.", + IDC_STATIC,133,10,158,29 + LTEXT "Version (unknown)",IDC_VERSION,112,117,120,10 + LTEXT "Copyright (C) 2000 Red Hat Inc",IDC_STATIC,111,132,135, + 8 + LTEXT "http://www.xemacs.org/",IDC_STATIC,111,147,150,10 + LTEXT "It is strongly recommended that you exit all Windows programs before running this utility.", + IDC_STATIC,110,43,191,19 + LTEXT "",IDC_STATIC,10,169,291,1,SS_SUNKEN | NOT WS_GROUP + LTEXT "",IDC_STATIC,10,10,87,151,SS_SUNKEN | NOT WS_GROUP + CONTROL "GNU",IDC_STATIC,"Static",SS_BITMAP,19,36,69,62 +END + +IDD_CHOOSE DIALOG DISCARDABLE 0, 0, 311, 239 +STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "XEmacs Setup" +FONT 8, "MS Sans Serif" +BEGIN + DEFPUSHBUTTON "Next >",IDOK,199,214,45,15 + PUSHBUTTON "< Back",IDC_BACK,154,214,45,15 + PUSHBUTTON "Cancel",IDCANCEL,256,214,45,15 + LTEXT "",IDC_STATIC,10,201,291,1,SS_SUNKEN | NOT WS_GROUP + LTEXT "Select packages to install",IDC_STATIC,55,5,85,8 + ICON IDI_XEMACS,IDC_STATIC,5,5,21,20 + LTEXT "",IDC_LISTVIEW_POS,55,15,230,155,SS_SUNKEN | NOT + WS_VISIBLE | NOT WS_GROUP + CONTROL "SPIN",IDC_STATIC,"Static",SS_BITMAP,55,170,15,13 + LTEXT "= click to choose action, (p) = previous version, (x) = experimental", + IDC_STATIC,65,170,220,8 + PUSHBUTTON "Full/Part",IDC_CHOOSE_FULLPART,250,5,35,10 + PUSHBUTTON "Exp",IDC_CHOOSE_EXP,215,5,25,10 + PUSHBUTTON "Curr",IDC_CHOOSE_CURR,190,5,25,10 + PUSHBUTTON "Prev",IDC_CHOOSE_PREV,165,5,25,10 +END + +IDD_DESKTOP DIALOG DISCARDABLE 0, 0, 311, 201 +STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "XEmacs Setup" +FONT 8, "MS Sans Serif" +BEGIN + DEFPUSHBUTTON "Finish",IDOK,199,176,45,15 + PUSHBUTTON "< Back",IDC_BACK,154,176,45,15 + PUSHBUTTON "Cancel",IDCANCEL,256,176,45,15 + LTEXT "Setup has now finished. To create desktop shortcuts, please select from the following options.", + IDC_STATIC,112,11,170,17 + LTEXT "To complete setup click Finish.",IDC_STATIC,112,32,166, + 17 + CONTROL "Create Desktop Icon",IDC_ROOT_DESKTOP,"Button", + BS_AUTOCHECKBOX,113,50,100,8 + CONTROL "Add to Start Menu",IDC_ROOT_MENU,"Button", + BS_AUTOCHECKBOX,113,66,100,8 + CONTROL "GNU",IDC_STATIC,"Static",SS_BITMAP,19,36,69,62 + CONTROL "Text",IDC_TXT_TYPE,"Button",BS_AUTOCHECKBOX,209,101,38, + 8 + CONTROL "Java",IDC_JAVA_TYPE,"Button",BS_AUTOCHECKBOX,113,100,50, + 8 + CONTROL "C",IDC_C_TYPE,"Button",BS_AUTOCHECKBOX,113,116,41,8 + CONTROL "C++",IDC_CPP_TYPE,"Button",BS_AUTOCHECKBOX,113,133,38,8 + CONTROL "E-Lisp",IDC_ELISP_TYPE,"Button",BS_AUTOCHECKBOX,113,148, + 38,8 + LTEXT "Register XEmacs for these file types:",IDC_STATIC,113, + 84,166,13 + LTEXT "",IDC_STATIC,10,169,291,1,SS_SUNKEN | NOT WS_GROUP + LTEXT "",IDC_STATIC,10,10,87,151,SS_SUNKEN | NOT WS_GROUP + CONTROL "GNU",IDC_STATIC,"Static",SS_BITMAP,19,36,69,62 + CONTROL "IDL",IDC_IDL_TYPE,"Button",BS_AUTOCHECKBOX,209,116,38,8 +END + + +#ifdef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// TEXTINCLUDE +// + +1 TEXTINCLUDE DISCARDABLE +BEGIN + "resource.h\0" +END + +2 TEXTINCLUDE DISCARDABLE +BEGIN + "#define APSTUDIO_HIDDEN_SYMBOLS\r\n" + "#include ""windows.h""\r\n" + "#undef APSTUDIO_HIDDEN_SYMBOLS\r\n" + "\0" +END + +3 TEXTINCLUDE DISCARDABLE +BEGIN + "\r\n" + "\0" +END + +#endif // APSTUDIO_INVOKED + + +///////////////////////////////////////////////////////////////////////////// +// +// Icon +// + +// Icon with lowest ID value placed first to ensure application icon +// remains consistent on all systems. +IDI_XEMACS ICON DISCARDABLE "xemacs.ico" + +///////////////////////////////////////////////////////////////////////////// +// +// FILE +// + +XEMACS.ICON FILE DISCARDABLE "xemacs.ico" + +///////////////////////////////////////////////////////////////////////////// +// +// DESIGNINFO +// + +#ifdef APSTUDIO_INVOKED +GUIDELINES DESIGNINFO DISCARDABLE +BEGIN + IDD_SOURCE, DIALOG + BEGIN + VERTGUIDE, 113 + VERTGUIDE, 127 + END + + IDD_LOCAL_DIR, DIALOG + BEGIN + VERTGUIDE, 112 + HORZGUIDE, 10 + END + + IDD_ROOT, DIALOG + BEGIN + VERTGUIDE, 112 + HORZGUIDE, 103 + HORZGUIDE, 118 + END + + IDD_SITE, DIALOG + BEGIN + HORZGUIDE, 11 + HORZGUIDE, 161 + END + + IDD_NET, DIALOG + BEGIN + VERTGUIDE, 128 + BOTTOMMARGIN, 191 + HORZGUIDE, 153 + END + + IDD_INSTATUS, DIALOG + BEGIN + VERTGUIDE, 112 + VERTGUIDE, 125 + VERTGUIDE, 288 + END + + IDD_PROXY_AUTH, DIALOG + BEGIN + BOTTOMMARGIN, 49 + END + + IDD_NET_AUTH, DIALOG + BEGIN + BOTTOMMARGIN, 49 + END + + IDD_SPLASH, DIALOG + BEGIN + LEFTMARGIN, 10 + RIGHTMARGIN, 301 + TOPMARGIN, 10 + BOTTOMMARGIN, 191 + END + + IDD_CHOOSE, DIALOG + BEGIN + BOTTOMMARGIN, 229 + HORZGUIDE, 214 + END + + IDD_DESKTOP, DIALOG + BEGIN + VERTGUIDE, 113 + VERTGUIDE, 209 + HORZGUIDE, 124 + END +END +#endif // APSTUDIO_INVOKED + + +///////////////////////////////////////////////////////////////////////////// +// +// Bitmap +// + +SPIN BITMAP DISCARDABLE "choose-spin.bmp" +IDB_SPIN BITMAP DISCARDABLE "choose-spin.bmp" +IDB_RTARROW BITMAP DISCARDABLE "choose-rtarrow.bmp" +IDB_CHECK_YES BITMAP DISCARDABLE "check-yes.bmp" +IDB_CHECK_NO BITMAP DISCARDABLE "check-no.bmp" +IDB_CHECK_NA BITMAP DISCARDABLE "check-na.bmp" +GNU BITMAP DISCARDABLE "gnu.bmp" +IDB_GNU BITMAP DISCARDABLE "gnu.bmp" + +///////////////////////////////////////////////////////////////////////////// +// +// String Table +// + +STRINGTABLE DISCARDABLE +BEGIN + IDS_ROOT_SLASH "Warning: we recommend you do NOT use the root of your hard drive as the XEmacs root. Proceed anyway?" + IDS_ROOT_SPACE "You should not choose a root path that include spaces in directory names. Proceed anyway?" + IDS_MIRROR_LST "http://www.xemacs.org/Download/mirrors.lst" + IDS_DIALOG_FAILED "Unable to create Dialog Box" + IDS_CYGWIN_FUNC_MISSING "Error: unable to find function `%s' in %s" + IDS_DOWNLOAD_SHORT "Download error: %s too short (%d, wanted %d)" + IDS_ERR_OPEN_WRITE "Can't open %s for writing: %s" + IDS_SETUPINI_MISSING "Unable to get setup.ini from %s" + IDS_OLD_SETUPINI "This setup.ini is older than the one you used last time you installed cygwin. Proceed anyway?" + IDS_ERR_RENAME "Can't rename %s to %s: %s" + IDS_NOTHING_INSTALLED "Nothing needed to be installed" + IDS_INSTALL_COMPLETE "Installation Complete" +END + +STRINGTABLE DISCARDABLE +BEGIN + IDS_ERR_OPEN_READ "Can't open %s for reading: %s" + IDS_ROOT_ABSOLUTE "The install directory must be absolute, with both a drive letter and leading slash, like C:\\Cygwin" + IDS_DOWNLOAD_COMPLETE "Download Complete" + IDS_CVSID "\n%%% $Id: res.rc,v 1.2.2.2 2002/08/20 11:36:07 stephent Exp $\n" + IDS_NOLOGFILE "Cannot open log file %s for writing" + IDS_UNINSTALL_COMPLETE "Uninstalls complete." + IDS_WININET "Unable to find or load the Internet Explorer 5 DLLs" + IDS_ERR_CHDIR "Could not change dir to %s" + IDS_OLD_SETUP_VERSION "This setup is version %s, but setup.ini claims version %s is available.\nYou might want to upgrade to get the latest features and bug fixes." + IDS_DOWNLOAD_FAILED "Unable to download %s" + IDS_DOWNLOAD_INCOMPLETE "Download Incomplete. Try again?" + IDS_INSTALL_INCOMPLETE "Installation incomplete. Check /setup.log.full for details" + IDS_ROOT_NOCYGWIN "You should not install the Cygwin version without Cygwin installed. Proceed anyway?" + IDS_CREATE_DIR "The directory %s does not exist, create it?" +END + +#endif // English (U.S.) resources +///////////////////////////////////////////////////////////////////////////// + + + +#ifndef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 3 resource. +// + + +///////////////////////////////////////////////////////////////////////////// +#endif // not APSTUDIO_INVOKED + diff --git a/netinstall/resource.h b/netinstall/resource.h index ac46438..ce19cb7 100644 --- a/netinstall/resource.h +++ b/netinstall/resource.h @@ -1,127 +1,127 @@ -//{{NO_DEPENDENCIES}} -// Microsoft Developer Studio generated include file. -// Used by res.rc -// -#define IDS_ROOT_SLASH 1 -#define IDS_ROOT_SPACE 2 -#define IDS_CWD_NONEMPTY 3 -#define IDS_MIRROR_LST 6 -#define IDS_DIALOG_FAILED 7 -#define IDS_CYGWIN_FUNC_MISSING 8 -#define IDS_DOWNLOAD_SHORT 9 -#define IDS_ERR_OPEN_WRITE 10 -#define IDS_SETUPINI_MISSING 11 -#define IDS_OLD_SETUPINI 12 -#define IDS_ERR_RENAME 13 -#define IDS_NOTHING_INSTALLED 14 -#define IDS_INSTALL_COMPLETE 15 -#define IDS_ERR_OPEN_READ 16 -#define IDS_ROOT_ABSOLUTE 17 -#define IDS_DOWNLOAD_COMPLETE 18 -#define IDS_CVSID 19 -#define IDS_NOLOGFILE 20 -#define IDS_UNINSTALL_COMPLETE 21 -#define IDS_WININET 22 -#define IDS_ERR_CHDIR 23 -#define IDS_OLD_SETUP_VERSION 24 -#define IDS_DOWNLOAD_FAILED 25 -#define IDS_DOWNLOAD_INCOMPLETE 26 -#define IDS_INSTALL_INCOMPLETE 27 -#define IDS_ROOT_NOCYGWIN 28 -#define IDS_CREATE_DIR 29 -#define IDD_ROOT 101 -#define IDD_SOURCE 102 -#define IDD_OTHER_URL 103 -#define IDD_SITE 104 -#define IDD_NET 105 -#define IDD_DLSTATUS 106 -#define IDD_S_LOAD_INI 107 -#define IDD_S_FROM_CWD 108 -#define IDD_CHOOSE 109 -#define IDD_S_DOWNLOAD 110 -#define IDD_S_INSTALL 111 -#define IDD_INSTATUS 112 -#define IDD_DESKTOP 113 -#define IDD_PROXY_AUTH 114 -#define IDD_S_POSTINSTALL 115 -#define IDD_NET_AUTH 116 -#define IDD_SPLASH 117 -#define IDB_SPIN 118 -#define IDB_RTARROW 119 -#define IDI_SPIN 120 -#define IDI_XEMACS 121 -#define IDD_LOCAL_DIR 122 -#define IDB_CHECK_YES 123 -#define IDB_CHECK_NO 124 -#define IDB_CHECK_NA 125 -#define IDB_GNU 126 -#define IDD_UNINSTALL 127 -#define IDC_SOURCE_DOWNLOAD 1000 -#define IDC_SOURCE_NETINST 1001 -#define IDC_SOURCE_CWD 1002 -#define IDC_ROOT_DIR 1003 -#define IDC_ROOT_BROWSE 1004 -#define IDC_ROOT_TEXT 1005 -#define IDC_ROOT_BINARY 1006 -#define IDC_URL_LIST 1007 -#define IDC_SITE_NEXT 1008 -#define IDC_BACK 1009 -#define IDC_OTHER_URL 1010 -#define IDC_NET_IE5 1011 -#define IDC_NET_DIRECT 1012 -#define IDC_NET_PROXY 1013 -#define IDC_PROXY_HOST 1014 -#define IDC_PROXY_PORT 1015 -#define IDC_PROXY_USER 1016 -#define IDC_DLS_PROGRESS 1019 -#define IDC_DLS_URL 1020 -#define IDC_DLS_RATE 1021 -#define IDC_INS_PKG 1022 -#define IDC_INS_FILE 1023 -#define IDC_INS_DISKFULL 1024 -#define IDC_INS_IPROGRESS 1025 -#define IDC_INS_PPROGRESS 1026 -#define IDC_ROOT_SYSTEM 1028 -#define IDC_ROOT_USER 1029 -#define IDC_NET_USER 1030 -#define IDC_NET_PASSWD 1031 -#define IDC_VERSION 1033 -#define IDC_LISTVIEW_POS 1034 -#define IDC_CHOOSE_FULLPART 1035 -#define IDC_CHOOSE_EXP 1036 -#define IDC_CHOOSE_CURR 1037 -#define IDC_CHOOSE_PREV 1038 -#define IDC_CHOOSE_LIST 1039 -#define IDC_INS_ACTION 1040 -#define IDC_ROOT_DESKTOP 1041 -#define IDC_ROOT_MENU 1042 -#define IDC_LOCAL_DIR_BROWSE 1043 -#define IDC_TXT_TYPE 1043 -#define IDC_LOCAL_DIR 1044 -#define IDC_JAVA_TYPE 1044 -#define IDC_INSTALL_NATIVE 1045 -#define IDC_C_TYPE 1045 -#define IDC_INSTALL_CYGWIN 1046 -#define IDC_CPP_TYPE 1046 -#define IDC_UNINS_PKG 1047 -#define IDC_ELISP_TYPE 1047 -#define IDC_UNINS_FILE 1048 -#define IDC_IDL_TYPE 1048 -#define IDC_UNINS_DISKFULL 1049 -#define IDC_UNINS_IPROGRESS 1050 -#define IDC_UNINS_PPROGRESS 1051 -#define IDC_UNINS_ACTION 1052 -#define IDC_STATIC -1 - -// Next default values for new objects -// -#ifdef APSTUDIO_INVOKED -#ifndef APSTUDIO_READONLY_SYMBOLS -#define _APS_NO_MFC 1 -#define _APS_3D_CONTROLS 1 -#define _APS_NEXT_RESOURCE_VALUE 127 -#define _APS_NEXT_COMMAND_VALUE 40003 -#define _APS_NEXT_CONTROL_VALUE 1050 -#define _APS_NEXT_SYMED_VALUE 101 -#endif -#endif +//{{NO_DEPENDENCIES}} +// Microsoft Developer Studio generated include file. +// Used by res.rc +// +#define IDS_ROOT_SLASH 1 +#define IDS_ROOT_SPACE 2 +#define IDS_CWD_NONEMPTY 3 +#define IDS_MIRROR_LST 6 +#define IDS_DIALOG_FAILED 7 +#define IDS_CYGWIN_FUNC_MISSING 8 +#define IDS_DOWNLOAD_SHORT 9 +#define IDS_ERR_OPEN_WRITE 10 +#define IDS_SETUPINI_MISSING 11 +#define IDS_OLD_SETUPINI 12 +#define IDS_ERR_RENAME 13 +#define IDS_NOTHING_INSTALLED 14 +#define IDS_INSTALL_COMPLETE 15 +#define IDS_ERR_OPEN_READ 16 +#define IDS_ROOT_ABSOLUTE 17 +#define IDS_DOWNLOAD_COMPLETE 18 +#define IDS_CVSID 19 +#define IDS_NOLOGFILE 20 +#define IDS_UNINSTALL_COMPLETE 21 +#define IDS_WININET 22 +#define IDS_ERR_CHDIR 23 +#define IDS_OLD_SETUP_VERSION 24 +#define IDS_DOWNLOAD_FAILED 25 +#define IDS_DOWNLOAD_INCOMPLETE 26 +#define IDS_INSTALL_INCOMPLETE 27 +#define IDS_ROOT_NOCYGWIN 28 +#define IDS_CREATE_DIR 29 +#define IDD_ROOT 101 +#define IDD_SOURCE 102 +#define IDD_OTHER_URL 103 +#define IDD_SITE 104 +#define IDD_NET 105 +#define IDD_DLSTATUS 106 +#define IDD_S_LOAD_INI 107 +#define IDD_S_FROM_CWD 108 +#define IDD_CHOOSE 109 +#define IDD_S_DOWNLOAD 110 +#define IDD_S_INSTALL 111 +#define IDD_INSTATUS 112 +#define IDD_DESKTOP 113 +#define IDD_PROXY_AUTH 114 +#define IDD_S_POSTINSTALL 115 +#define IDD_NET_AUTH 116 +#define IDD_SPLASH 117 +#define IDB_SPIN 118 +#define IDB_RTARROW 119 +#define IDI_SPIN 120 +#define IDI_XEMACS 121 +#define IDD_LOCAL_DIR 122 +#define IDB_CHECK_YES 123 +#define IDB_CHECK_NO 124 +#define IDB_CHECK_NA 125 +#define IDB_GNU 126 +#define IDD_UNINSTALL 127 +#define IDC_SOURCE_DOWNLOAD 1000 +#define IDC_SOURCE_NETINST 1001 +#define IDC_SOURCE_CWD 1002 +#define IDC_ROOT_DIR 1003 +#define IDC_ROOT_BROWSE 1004 +#define IDC_ROOT_TEXT 1005 +#define IDC_ROOT_BINARY 1006 +#define IDC_URL_LIST 1007 +#define IDC_SITE_NEXT 1008 +#define IDC_BACK 1009 +#define IDC_OTHER_URL 1010 +#define IDC_NET_IE5 1011 +#define IDC_NET_DIRECT 1012 +#define IDC_NET_PROXY 1013 +#define IDC_PROXY_HOST 1014 +#define IDC_PROXY_PORT 1015 +#define IDC_PROXY_USER 1016 +#define IDC_DLS_PROGRESS 1019 +#define IDC_DLS_URL 1020 +#define IDC_DLS_RATE 1021 +#define IDC_INS_PKG 1022 +#define IDC_INS_FILE 1023 +#define IDC_INS_DISKFULL 1024 +#define IDC_INS_IPROGRESS 1025 +#define IDC_INS_PPROGRESS 1026 +#define IDC_ROOT_SYSTEM 1028 +#define IDC_ROOT_USER 1029 +#define IDC_NET_USER 1030 +#define IDC_NET_PASSWD 1031 +#define IDC_VERSION 1033 +#define IDC_LISTVIEW_POS 1034 +#define IDC_CHOOSE_FULLPART 1035 +#define IDC_CHOOSE_EXP 1036 +#define IDC_CHOOSE_CURR 1037 +#define IDC_CHOOSE_PREV 1038 +#define IDC_CHOOSE_LIST 1039 +#define IDC_INS_ACTION 1040 +#define IDC_ROOT_DESKTOP 1041 +#define IDC_ROOT_MENU 1042 +#define IDC_LOCAL_DIR_BROWSE 1043 +#define IDC_TXT_TYPE 1043 +#define IDC_LOCAL_DIR 1044 +#define IDC_JAVA_TYPE 1044 +#define IDC_INSTALL_NATIVE 1045 +#define IDC_C_TYPE 1045 +#define IDC_INSTALL_CYGWIN 1046 +#define IDC_CPP_TYPE 1046 +#define IDC_UNINS_PKG 1047 +#define IDC_ELISP_TYPE 1047 +#define IDC_UNINS_FILE 1048 +#define IDC_IDL_TYPE 1048 +#define IDC_UNINS_DISKFULL 1049 +#define IDC_UNINS_IPROGRESS 1050 +#define IDC_UNINS_PPROGRESS 1051 +#define IDC_UNINS_ACTION 1052 +#define IDC_STATIC -1 + +// Next default values for new objects +// +#ifdef APSTUDIO_INVOKED +#ifndef APSTUDIO_READONLY_SYMBOLS +#define _APS_NO_MFC 1 +#define _APS_3D_CONTROLS 1 +#define _APS_NEXT_RESOURCE_VALUE 127 +#define _APS_NEXT_COMMAND_VALUE 40003 +#define _APS_NEXT_CONTROL_VALUE 1050 +#define _APS_NEXT_SYMED_VALUE 101 +#endif +#endif diff --git a/nt/config.inc.samp b/nt/config.inc.samp index 0e2752c..bd49704 100644 --- a/nt/config.inc.samp +++ b/nt/config.inc.samp @@ -18,47 +18,65 @@ HAVE_MS_WINDOWS=1 HAVE_X_WINDOWS=0 X11_DIR= -# GTK support. Do NOT set this to 1; as of xemacs-21.2-b44 -# gtk-xemacs is not supported on MSWindows (mingw or msvc). -# Yes, we know that gtk has been ported to native MSWindows -# but XEmacs is not yet ready to use that port. +# GTK support. Do NOT set this to 1; gtk-xemacs is not supported on +# MSWindows (mingw or msvc). Yes, we know that gtk has been ported to +# native MSWindows but XEmacs is not yet ready to use that port. HAVE_GTK=0 GTK_DIR= ############################################################################ +# Compiled-in features: graphics formats # +############################################################################ + +# Directory under which the optional libraries are placed. To make your +# life easy, just grab http://ftp.xemacs.org/aux/optional-libs.exe +# (a self-installing .ZIP) and unzip them into an appropriate directory +# (by default, c:\src). This gets you precompiled versions of all of +# the libraries below. +OPTIONAL_LIBRARY_DIR=c:\src # Set this to enable XPM support (virtually mandatory), and specify -# the directory containing xpm. +# the directory containing xpm. Get the library from +# http://ftp.xemacs.org/aux/xpm-3.4k.tar.gz. HAVE_XPM=1 -XPM_DIR=c:\src\xpm-3.4k +XPM_DIR=$(OPTIONAL_LIBRARY_DIR)\xpm-3.4k -# Set this to enable GIF support. +# Set this to enable GIF support (built-in). HAVE_GIF=1 # Set this to enable PNG support (virtually mandatory), and specify -# the directories containing png and zlib. +# the directories containing png and zlib. Get the latest version from +# ftp://ftp.uu.net/graphics/png/. NOTE: In order to compile libpng, +# you will have to rename the zlib directory to just `zlib'. We don't +# do that here so we can preserve the version number, like for the other +# libraries. HAVE_PNG=1 -PNG_DIR=c:\src\libpng-1.0.9 -ZLIB_DIR=c:\src\zlib +PNG_DIR=$(OPTIONAL_LIBRARY_DIR)\libpng-1.2.8 +ZLIB_DIR=$(OPTIONAL_LIBRARY_DIR)\zlib-1.2.1 -# Set this to enable TIFF support, and specify the directory containing tiff. -HAVE_TIFF=0 -TIFF_DIR= - -# Set this to enable JPEG support, and specify the directory containing jpeg. +# Set this to enable JPEG support (useful, but not necessary), and specify +# the directory containing jpeg. Get the latest version from +# ftp://ftp.uu.net/graphics/jpeg/. HAVE_JPEG=1 -JPEG_DIR=c:\src\jpeg-6b +JPEG_DIR=$(OPTIONAL_LIBRARY_DIR)\jpeg-6b + +# Set this to enable TIFF support (not very important), and specify the +# directory containing tiff. Get the latest version from +# ftp://ftp.uu.net/graphics/tiff/. +HAVE_TIFF=1 +TIFF_DIR=$(OPTIONAL_LIBRARY_DIR)\tiff-v3.5.7 -# Set this to enable XFace support, and specify the directory containing -# compface. -HAVE_XFACE=0 -COMPFACE_DIR= +# Set this to enable XFace support (not very important), and specify the +# directory containing compface. Get the library from +# http://ftp.xemacs.org/aux/compface-1.5-1.tar.gz. +HAVE_XFACE=1 +COMPFACE_DIR=$(OPTIONAL_LIBRARY_DIR)\compface-1.5.1 ############################################################################ # Set this to specify the location of makeinfo. (If not set, XEmacs will # attempt to use its built-in texinfo support when building info files.) -MAKEINFO=c:\src\texinfo-4.0\makeinfo\makeinfo.exe +MAKEINFO=c:\cygwin\bin\makeinfo.exe ############################################################################ diff --git a/nt/installer/Wise/dirs.py b/nt/installer/Wise/dirs.py index 057954b..6ba64ed 100755 --- a/nt/installer/Wise/dirs.py +++ b/nt/installer/Wise/dirs.py @@ -1,21 +1,21 @@ -#Configuration variables - -#where the source is: - -source = r"X:\XEmacs-21" -#where the installed distribution is: -installed = r"C:\Program Files\XEmacs\xemacs-21.0-b62" - -#where the (built and installed) packages are -packages = r"C:\Program Files\XEmacs\xemacs-packages" - -#where the package source is -pkg_src = r"X:\xemacs-packages" - -#Subdirs relative to the base installation directory -#Everything except packages goes here: -dst = "XEmacs-21.0-b62" -#packages go here: -pkg_dst = "xemacs-packages" - - +#Configuration variables + +#where the source is: + +source = r"X:\XEmacs-21" +#where the installed distribution is: +installed = r"C:\Program Files\XEmacs\xemacs-21.0-b62" + +#where the (built and installed) packages are +packages = r"C:\Program Files\XEmacs\xemacs-packages" + +#where the package source is +pkg_src = r"X:\xemacs-packages" + +#Subdirs relative to the base installation directory +#Everything except packages goes here: +dst = "XEmacs-21.0-b62" +#packages go here: +pkg_dst = "xemacs-packages" + + diff --git a/nt/installer/Wise/display readme.dlg b/nt/installer/Wise/display readme.dlg index 05a45b5..e10791e 100755 --- a/nt/installer/Wise/display readme.dlg +++ b/nt/installer/Wise/display readme.dlg @@ -1,63 +1,63 @@ -Document Type: DLG -item: Custom Dialog - Name=Display ReadMe - Display Variable=DISPLAY - item: Dialog - Title=Read Me File - Title French=Fichier Lisez-moi - Title German=Liesmich-Datei - Title Portuguese=Ficheiro Leia-me - Title Spanish=Archivo Léeme - Title Italian=File Leggimi - Title Danish=Vigtigt fil - Title Dutch=Leesmij-bestand - Title Norwegian=Informasjonsfil - Title Swedish=Läs mig-fil - Width=280 - Height=224 - Font Name=Helv - Font Size=8 - item: Push Button - Rectangle=172 185 214 199 - Variable=DIRECTION - Value=N - Create Flags=01010000000000010000000000000001 - Text=I &Agree > - Text French=&Suivant> - Text German=&Weiter> - Text Portuguese=&Próximo> - Text Spanish=&Siguiente > - Text Italian=&Avanti > - Text Danish=&Næste> - Text Dutch=&Volgende> - Text Norwegian=&Neste> - Text Swedish=&Nästa > - end - item: Push Button - Rectangle=222 185 264 199 - Action=3 - Create Flags=01010000000000010000000000000000 - Text=Cancel - Text French=Annuler - Text German=Abbrechen - Text Portuguese=Cancelar - Text Spanish=Cancelar - Text Italian=Annulla - Text Danish=Slet - Text Dutch=Annuleren - Text Norwegian=Avbryt - Text Swedish=Avbryt - end - item: Static - Rectangle=9 177 263 178 - Action=3 - Create Flags=01010000000000000000000000000111 - end - item: Editbox - Rectangle=85 11 254 170 - Value=%TEMP%\%READMEFILE% - Help Context=16711681 - Create Flags=01010000101000000000100000000100 - end - end -end +Document Type: DLG +item: Custom Dialog + Name=Display ReadMe + Display Variable=DISPLAY + item: Dialog + Title=Read Me File + Title French=Fichier Lisez-moi + Title German=Liesmich-Datei + Title Portuguese=Ficheiro Leia-me + Title Spanish=Archivo Léeme + Title Italian=File Leggimi + Title Danish=Vigtigt fil + Title Dutch=Leesmij-bestand + Title Norwegian=Informasjonsfil + Title Swedish=Läs mig-fil + Width=280 + Height=224 + Font Name=Helv + Font Size=8 + item: Push Button + Rectangle=172 185 214 199 + Variable=DIRECTION + Value=N + Create Flags=01010000000000010000000000000001 + Text=I &Agree > + Text French=&Suivant> + Text German=&Weiter> + Text Portuguese=&Próximo> + Text Spanish=&Siguiente > + Text Italian=&Avanti > + Text Danish=&Næste> + Text Dutch=&Volgende> + Text Norwegian=&Neste> + Text Swedish=&Nästa > + end + item: Push Button + Rectangle=222 185 264 199 + Action=3 + Create Flags=01010000000000010000000000000000 + Text=Cancel + Text French=Annuler + Text German=Abbrechen + Text Portuguese=Cancelar + Text Spanish=Cancelar + Text Italian=Annulla + Text Danish=Slet + Text Dutch=Annuleren + Text Norwegian=Avbryt + Text Swedish=Avbryt + end + item: Static + Rectangle=9 177 263 178 + Action=3 + Create Flags=01010000000000000000000000000111 + end + item: Editbox + Rectangle=85 11 254 170 + Value=%TEMP%\%READMEFILE% + Help Context=16711681 + Create Flags=01010000101000000000100000000100 + end + end +end diff --git a/nt/installer/Wise/libs.dlg b/nt/installer/Wise/libs.dlg index 466e3ac..d0eed07 100755 --- a/nt/installer/Wise/libs.dlg +++ b/nt/installer/Wise/libs.dlg @@ -1,170 +1,170 @@ -Document Type: DLG -item: Custom Dialog - Name=Select Components - Display Variable=DISPLAY - Flags=00000001 - item: Dialog - Title=Select Components - Title French=Sélectionner les éléments - Title German=Komponenten auswählen - Title Portuguese=Seleccionar Componentes - Title Spanish=Seleccione los Componentes - Title Italian=Seleziona Componenti - Title Danish=Vælg komponenter - Title Dutch=Selecteer onderdelen - Title Norwegian=Velg komponenter - Title Swedish=Välj komponenter - Width=280 - Height=224 - Font Name=Helv - Font Size=8 - item: Push Button - Rectangle=172 185 214 199 - Variable=DIRECTION - Value=N - Create Flags=01010000000000010000000000000001 - Text=&Next > - Text French=&Suivant> - Text German=&Weiter> - Text Portuguese=&Próximo> - Text Spanish=&Siguiente > - Text Italian=&Avanti > - Text Danish=&Næste> - Text Dutch=&Volgende> - Text Norwegian=&Neste> - Text Swedish=&Nästa > - end - item: Push Button - Rectangle=130 185 172 199 - Variable=DIRECTION - Value=B - Create Flags=01010000000000010000000000000000 - Text=< &Back - Text French=<&Retour - Text German=<&Zurück - Text Portuguese=<&Retornar - Text Spanish=<&Retroceder - Text Italian=< &Indietro - Text Danish=<&Tilbage - Text Dutch=<&Terug - Text Norwegian=<&Tilbake - Text Swedish=< &Tillbaka - end - item: Push Button - Rectangle=222 185 264 199 - Action=3 - Create Flags=01010000000000010000000000000000 - Text=Cancel - Text French=Annuler - Text German=Abbrechen - Text Portuguese=Cancelar - Text Spanish=Cancelar - Text Italian=Annulla - Text Danish=Annuller - Text Dutch=Annuleren - Text Norwegian=Avbryt - Text Swedish=Avbryt - end - item: Static - Rectangle=9 177 263 178 - Action=3 - Create Flags=01010000000000000000000000000111 - end - item: Static - Rectangle=205 156 253 166 - Variable=COMPONENTS - Value=MAINDIR - Create Flags=01010000000000000000000000000010 - end - item: Static - Rectangle=205 148 253 157 - Variable=COMPONENTS - Create Flags=01010000000000000000000000000010 - end - item: Static - Rectangle=95 147 184 158 - Create Flags=01010000000000000000000000000000 - Text=Disk Space Required: - Text French=Espace disque requis - Text German=Benötigter Festplattenspeicher: - Text Portuguese=Espaço de disco necessário: - Text Spanish=Espacio de Disco Requerido: - Text Italian=Spazio su disco richiesto: - Text Danish=Nødvendig diskplads: - Text Dutch=Vereiste hoeveelheid schijfruimte - Text Norwegian=Diskplass nødvendig: - Text Swedish=Erforderligt diskutrymme - end - item: Static - Rectangle=95 157 190 167 - Create Flags=01010000000000000000000000000000 - Text=Disk Space Remaining: - Text French=Espace disque disponible - Text German=Verbleibender Festplattenspeicher: - Text Portuguese=Espaço de disco restante: - Text Spanish=Espacio de Disco Remanente: - Text Italian=Spazio su disco rimanente: - Text Danish=Ledig diskplads: - Text Dutch=Resterende schijfruimte - Text Norwegian=Ledig diskplass: - Text Swedish=Återstående diskutrymme - end - item: Static - Rectangle=90 138 264 168 - Action=1 - Create Flags=01010000000000000000000000000111 - end - item: Static - Rectangle=90 8 260 41 - Create Flags=01010000000000000000000000000000 - Text=In the options list below, select the checkboxes for the options that you would like to have installed. The disk space fields reflect the requirements of the options you have selected. - Text French=Dans la liste d'options suivante, veuillez sélectionner les cases des options que vous désirez installer. Le champ d'espace disque indique les conditions requises pour les options choisies - Text German=Wählen Sie in der Optionenliste unten die Kontrollkästchen für diejenigen Optionen, die Sie installieren möchten. Die Speicherfelder zeigen die benötigte Speicherkapazität für die gewählten Optionen an. - Text Portuguese=Na lista de opções abaixo, seleccione as caixas de verificação para as opções que gostaria de ter instalado. Os campos de espaço de disco reflectem os requerimentos das opções que seleccionou. - Text Spanish=En la lista de opciones que se ofrece a continuación, seleccione las casillas de comprobación para las opciones que desea instalar. Los campos del espacio en el disco reflejan los requerimientos de las opciones que ha seleccionado. - Text Italian=Nell’elenco delle opzioni sotto, marca le caselle di controllo delle opzioni che vuoi installare. I campi dello spazio sul disco riflettono i requisiti delle opzioni selezionate. - Text Danish=Marker afkrydsningsfelterne for de komponenter, der skal installeres, på listen herunder. Diskpladsfelterne angiver pladskravene for de valgte komponenter. - Text Dutch=Kruis in de onderstaande lijst het vakje aan naast de opties die u wilt installeren. Achter elke optie staat de benodigde schijfruimte vermeld. - Text Norwegian=I listen over alternativer nedenfor, klikk i kontrollrutene for de alternativene du ønsker å installere. Diskplassfeltene gjenspeiler kravene for de alternativene du har valgt. - Text Swedish=Kryssa för i rutorna nedan vilka alternativ du vill få installerade. I diskutrymmesfälten anges utrymmesbehoven för de alternativ du väljer. - end - item: Checkbox - Rectangle=91 41 126 56 - Variable=COMPONENTS LIBS - Enabled Color=00000000000000001111111111111111 - Create Flags=01010000000000010000000000000011 - Flags=0000000000000010 - Text=Libraries - Text= - end - item: Checkbox - Rectangle=90 56 148 71 - Variable=COMPONENTS COMM - Enabled Color=00000000000000001111111111111111 - Create Flags=01010000000000010000000000000011 - Flags=0000000000000010 - Text=Communications - Text= - end - end - item: Dialog - Title=Library Packages - Width=268 - Height=204 - Font Name=Helv - Font Size=8 - end - item: Dialog - Title=Library Packages - Width=268 - Height=204 - Font Name=Helv - Font Size=8 - item: Push Button - Rectangle=219 170 254 185 - Enabled Color=00000000000000001111111111111111 - Create Flags=01010000000000010000000000000000 - Text=OK - end - end -end +Document Type: DLG +item: Custom Dialog + Name=Select Components + Display Variable=DISPLAY + Flags=00000001 + item: Dialog + Title=Select Components + Title French=Sélectionner les éléments + Title German=Komponenten auswählen + Title Portuguese=Seleccionar Componentes + Title Spanish=Seleccione los Componentes + Title Italian=Seleziona Componenti + Title Danish=Vælg komponenter + Title Dutch=Selecteer onderdelen + Title Norwegian=Velg komponenter + Title Swedish=Välj komponenter + Width=280 + Height=224 + Font Name=Helv + Font Size=8 + item: Push Button + Rectangle=172 185 214 199 + Variable=DIRECTION + Value=N + Create Flags=01010000000000010000000000000001 + Text=&Next > + Text French=&Suivant> + Text German=&Weiter> + Text Portuguese=&Próximo> + Text Spanish=&Siguiente > + Text Italian=&Avanti > + Text Danish=&Næste> + Text Dutch=&Volgende> + Text Norwegian=&Neste> + Text Swedish=&Nästa > + end + item: Push Button + Rectangle=130 185 172 199 + Variable=DIRECTION + Value=B + Create Flags=01010000000000010000000000000000 + Text=< &Back + Text French=<&Retour + Text German=<&Zurück + Text Portuguese=<&Retornar + Text Spanish=<&Retroceder + Text Italian=< &Indietro + Text Danish=<&Tilbage + Text Dutch=<&Terug + Text Norwegian=<&Tilbake + Text Swedish=< &Tillbaka + end + item: Push Button + Rectangle=222 185 264 199 + Action=3 + Create Flags=01010000000000010000000000000000 + Text=Cancel + Text French=Annuler + Text German=Abbrechen + Text Portuguese=Cancelar + Text Spanish=Cancelar + Text Italian=Annulla + Text Danish=Annuller + Text Dutch=Annuleren + Text Norwegian=Avbryt + Text Swedish=Avbryt + end + item: Static + Rectangle=9 177 263 178 + Action=3 + Create Flags=01010000000000000000000000000111 + end + item: Static + Rectangle=205 156 253 166 + Variable=COMPONENTS + Value=MAINDIR + Create Flags=01010000000000000000000000000010 + end + item: Static + Rectangle=205 148 253 157 + Variable=COMPONENTS + Create Flags=01010000000000000000000000000010 + end + item: Static + Rectangle=95 147 184 158 + Create Flags=01010000000000000000000000000000 + Text=Disk Space Required: + Text French=Espace disque requis + Text German=Benötigter Festplattenspeicher: + Text Portuguese=Espaço de disco necessário: + Text Spanish=Espacio de Disco Requerido: + Text Italian=Spazio su disco richiesto: + Text Danish=Nødvendig diskplads: + Text Dutch=Vereiste hoeveelheid schijfruimte + Text Norwegian=Diskplass nødvendig: + Text Swedish=Erforderligt diskutrymme + end + item: Static + Rectangle=95 157 190 167 + Create Flags=01010000000000000000000000000000 + Text=Disk Space Remaining: + Text French=Espace disque disponible + Text German=Verbleibender Festplattenspeicher: + Text Portuguese=Espaço de disco restante: + Text Spanish=Espacio de Disco Remanente: + Text Italian=Spazio su disco rimanente: + Text Danish=Ledig diskplads: + Text Dutch=Resterende schijfruimte + Text Norwegian=Ledig diskplass: + Text Swedish=Återstående diskutrymme + end + item: Static + Rectangle=90 138 264 168 + Action=1 + Create Flags=01010000000000000000000000000111 + end + item: Static + Rectangle=90 8 260 41 + Create Flags=01010000000000000000000000000000 + Text=In the options list below, select the checkboxes for the options that you would like to have installed. The disk space fields reflect the requirements of the options you have selected. + Text French=Dans la liste d'options suivante, veuillez sélectionner les cases des options que vous désirez installer. Le champ d'espace disque indique les conditions requises pour les options choisies + Text German=Wählen Sie in der Optionenliste unten die Kontrollkästchen für diejenigen Optionen, die Sie installieren möchten. Die Speicherfelder zeigen die benötigte Speicherkapazität für die gewählten Optionen an. + Text Portuguese=Na lista de opções abaixo, seleccione as caixas de verificação para as opções que gostaria de ter instalado. Os campos de espaço de disco reflectem os requerimentos das opções que seleccionou. + Text Spanish=En la lista de opciones que se ofrece a continuación, seleccione las casillas de comprobación para las opciones que desea instalar. Los campos del espacio en el disco reflejan los requerimientos de las opciones que ha seleccionado. + Text Italian=Nell’elenco delle opzioni sotto, marca le caselle di controllo delle opzioni che vuoi installare. I campi dello spazio sul disco riflettono i requisiti delle opzioni selezionate. + Text Danish=Marker afkrydsningsfelterne for de komponenter, der skal installeres, på listen herunder. Diskpladsfelterne angiver pladskravene for de valgte komponenter. + Text Dutch=Kruis in de onderstaande lijst het vakje aan naast de opties die u wilt installeren. Achter elke optie staat de benodigde schijfruimte vermeld. + Text Norwegian=I listen over alternativer nedenfor, klikk i kontrollrutene for de alternativene du ønsker å installere. Diskplassfeltene gjenspeiler kravene for de alternativene du har valgt. + Text Swedish=Kryssa för i rutorna nedan vilka alternativ du vill få installerade. I diskutrymmesfälten anges utrymmesbehoven för de alternativ du väljer. + end + item: Checkbox + Rectangle=91 41 126 56 + Variable=COMPONENTS LIBS + Enabled Color=00000000000000001111111111111111 + Create Flags=01010000000000010000000000000011 + Flags=0000000000000010 + Text=Libraries + Text= + end + item: Checkbox + Rectangle=90 56 148 71 + Variable=COMPONENTS COMM + Enabled Color=00000000000000001111111111111111 + Create Flags=01010000000000010000000000000011 + Flags=0000000000000010 + Text=Communications + Text= + end + end + item: Dialog + Title=Library Packages + Width=268 + Height=204 + Font Name=Helv + Font Size=8 + end + item: Dialog + Title=Library Packages + Width=268 + Height=204 + Font Name=Helv + Font Size=8 + item: Push Button + Rectangle=219 170 254 185 + Enabled Color=00000000000000001111111111111111 + Create Flags=01010000000000010000000000000000 + Text=OK + end + end +end diff --git a/nt/installer/Wise/pre_wise.py b/nt/installer/Wise/pre_wise.py index 566e5c5..4bbd1a4 100755 --- a/nt/installer/Wise/pre_wise.py +++ b/nt/installer/Wise/pre_wise.py @@ -1,133 +1,133 @@ -import string -import re -import os -import types - -infile=open("xemacs.tmpl","r") - -import version -import dirs -import filelist -import packages - -def letter(package): - index = packages.all.index(package) - if index>29: - raise "WISE error: too many components" - return chr(ord("A")+index) - -def letters(package_list): - ret = "" - for p in package_list: - ret = ret+letter(p) - return ret - -def describe(package): - if package in packages.descriptions.keys(): - return ": "+packages.descriptions[package] - else: return "" - -def ifblock(var,val): - return("item: If/While Statement\n Variable=%s\n Value=%s\n Flags=00001010\nend\n" % (var,val)) - -def endblock(): - return("item: End Block\nend\n") - -def setvar(var,val): - return("item: Set Variable\n Variable=%s\n Value=%s\n Flags=10000000\nend\n" % (string.upper(var), val)) - -def default_letters_of_category(cat): - val = "" - for p in packages.default: - if packages.category_of_package(p) == cat: - val = val + packages.letter_of_package(p) - return val - -def set_category_defaults(): - ret = "" - for c in packages.category_names: - ret = ret + setvar(c, default_letters_of_category(c)) - return ret - -def do_category(cat): - ret = ifblock("COMPONENTS", packages.letter_of_category(cat)) - for pkg in packages.packages_of_category(cat): - ret = ret + ifblock(string.upper(cat),packages.letter_of_package(pkg)) - for f in files_of_package(pkg): - ret = ret+install_pkg_file(f) - ret = ret + endblock() - ret = ret + endblock() - return ret - -def files_of_package(package): - manifest_file = dirs.packages + "\\pkginfo\\MANIFEST." + package - manifest = open(manifest_file,"r") - lines = manifest.readlines() - lines = map(lambda s:s[:-1], lines) - lines = map(lambda s:string.replace(s,'/','\\'), lines) - return lines - -def category_dialog(cat): - npkg = len(packages.packages_of_category(cat)) - ret="" - ret=ret+" item: Dialog\n Title="+packages.category_descriptions[cat]+" Packages\n" - ret=ret+" Width=210\n" - ret=ret+" Height=%d\n" % (45+npkg*10) - ret=ret+" Font Name=Helv\n" - ret=ret+" Font Size=8\n" - ret=ret+" item: Push Button\n" - ret=ret+" Rectangle=107 %d 147 %d\n" % (5+npkg*10+2, 5+npkg*10+17) - ret=ret+" Create Flags=01010000000000010000000000000001\n" - ret=ret+" Text=OK\n" - ret=ret+" end\n" - ret=ret+" item: Push Button\n" - ret=ret+" Rectangle=153 %d 193 %d\n" % (5+npkg*10+2, 5+npkg*10+17) - ret=ret+" Variable=%s\n" % string.upper(cat) - ret=ret+" Value=%%%s_SAVE%%\n" % string.upper(cat) - ret=ret+" Create Flags=01010000000000010000000000000000\n" - ret=ret+" Flags=0000000000000001\n" - ret=ret+" Text=Cancel\n" - ret=ret+" end\n" - ret=ret+" item: Checkbox\n" - ret=ret+" Rectangle=0 5 191 %d\n" % (10*npkg) - ret=ret+" Variable=%s\n"%string.upper(cat) - ret=ret+" Create Flags=01010000000000010000000000000011\n" - ret=ret+" Flags=0000000000000010\n" - for pkg in packages.packages_of_category(cat): - ret = ret+" Text=%s: %s\n"%( pkg, packages.package_descriptions[pkg]) - ret=ret+" Text=\n" - ret=ret+" end\n" - ret=ret+" end\n" - return ret - -def src_path(src,name): - return src + "\\" + name - -def dst_path(dst,name): - return "%MAINDIR%"+"\\"+dst+"\\" + name - -def install_file(name,src,dst): - return("item: Install File\n Source=%s\n Destination=%s\n Flags=0000000010000010\nend\n" % (src_path(src,name),dst_path(dst,name))) - -def install_pkg_file(name): - return install_file(name,dirs.packages,dirs.pkg_dst) - -def do_package(package): - return ifblock("COMPONENTS",letter(package)) + \ - string.join(map(install_pkg_file,files(package)),"")+ \ - endblock() - -for line in infile.readlines(): - left=string.find(line,"<<<") - if left>=0: - right=string.find(line,">>>") - expr=line[left+3:right] - val=eval(expr) - if type(val)==types.StringType: - print line[:left] + val + line[right+3:], - elif type(val)==types.ListType: - for v in val: - print line[:left] + v + line[right+3:], - else: print line, - - +import string +import re +import os +import types + +infile=open("xemacs.tmpl","r") + +import version +import dirs +import filelist +import packages + +def letter(package): + index = packages.all.index(package) + if index>29: + raise "WISE error: too many components" + return chr(ord("A")+index) + +def letters(package_list): + ret = "" + for p in package_list: + ret = ret+letter(p) + return ret + +def describe(package): + if package in packages.descriptions.keys(): + return ": "+packages.descriptions[package] + else: return "" + +def ifblock(var,val): + return("item: If/While Statement\n Variable=%s\n Value=%s\n Flags=00001010\nend\n" % (var,val)) + +def endblock(): + return("item: End Block\nend\n") + +def setvar(var,val): + return("item: Set Variable\n Variable=%s\n Value=%s\n Flags=10000000\nend\n" % (string.upper(var), val)) + +def default_letters_of_category(cat): + val = "" + for p in packages.default: + if packages.category_of_package(p) == cat: + val = val + packages.letter_of_package(p) + return val + +def set_category_defaults(): + ret = "" + for c in packages.category_names: + ret = ret + setvar(c, default_letters_of_category(c)) + return ret + +def do_category(cat): + ret = ifblock("COMPONENTS", packages.letter_of_category(cat)) + for pkg in packages.packages_of_category(cat): + ret = ret + ifblock(string.upper(cat),packages.letter_of_package(pkg)) + for f in files_of_package(pkg): + ret = ret+install_pkg_file(f) + ret = ret + endblock() + ret = ret + endblock() + return ret + +def files_of_package(package): + manifest_file = dirs.packages + "\\pkginfo\\MANIFEST." + package + manifest = open(manifest_file,"r") + lines = manifest.readlines() + lines = map(lambda s:s[:-1], lines) + lines = map(lambda s:string.replace(s,'/','\\'), lines) + return lines + +def category_dialog(cat): + npkg = len(packages.packages_of_category(cat)) + ret="" + ret=ret+" item: Dialog\n Title="+packages.category_descriptions[cat]+" Packages\n" + ret=ret+" Width=210\n" + ret=ret+" Height=%d\n" % (45+npkg*10) + ret=ret+" Font Name=Helv\n" + ret=ret+" Font Size=8\n" + ret=ret+" item: Push Button\n" + ret=ret+" Rectangle=107 %d 147 %d\n" % (5+npkg*10+2, 5+npkg*10+17) + ret=ret+" Create Flags=01010000000000010000000000000001\n" + ret=ret+" Text=OK\n" + ret=ret+" end\n" + ret=ret+" item: Push Button\n" + ret=ret+" Rectangle=153 %d 193 %d\n" % (5+npkg*10+2, 5+npkg*10+17) + ret=ret+" Variable=%s\n" % string.upper(cat) + ret=ret+" Value=%%%s_SAVE%%\n" % string.upper(cat) + ret=ret+" Create Flags=01010000000000010000000000000000\n" + ret=ret+" Flags=0000000000000001\n" + ret=ret+" Text=Cancel\n" + ret=ret+" end\n" + ret=ret+" item: Checkbox\n" + ret=ret+" Rectangle=0 5 191 %d\n" % (10*npkg) + ret=ret+" Variable=%s\n"%string.upper(cat) + ret=ret+" Create Flags=01010000000000010000000000000011\n" + ret=ret+" Flags=0000000000000010\n" + for pkg in packages.packages_of_category(cat): + ret = ret+" Text=%s: %s\n"%( pkg, packages.package_descriptions[pkg]) + ret=ret+" Text=\n" + ret=ret+" end\n" + ret=ret+" end\n" + return ret + +def src_path(src,name): + return src + "\\" + name + +def dst_path(dst,name): + return "%MAINDIR%"+"\\"+dst+"\\" + name + +def install_file(name,src,dst): + return("item: Install File\n Source=%s\n Destination=%s\n Flags=0000000010000010\nend\n" % (src_path(src,name),dst_path(dst,name))) + +def install_pkg_file(name): + return install_file(name,dirs.packages,dirs.pkg_dst) + +def do_package(package): + return ifblock("COMPONENTS",letter(package)) + \ + string.join(map(install_pkg_file,files(package)),"")+ \ + endblock() + +for line in infile.readlines(): + left=string.find(line,"<<<") + if left>=0: + right=string.find(line,">>>") + expr=line[left+3:right] + val=eval(expr) + if type(val)==types.StringType: + print line[:left] + val + line[right+3:], + elif type(val)==types.ListType: + for v in val: + print line[:left] + v + line[right+3:], + else: print line, + + diff --git a/nt/installer/Wise/type.dlg b/nt/installer/Wise/type.dlg index 80855ec..23b6ecd 100755 --- a/nt/installer/Wise/type.dlg +++ b/nt/installer/Wise/type.dlg @@ -1,32 +1,32 @@ -Document Type: DLG -item: Custom Dialog - Name=type - item: Dialog - Title=type - Width=238 - Height=208 - Font Name=Helv - Font Size=8 - item: Radio Button - Rectangle=5 5 40 20 - Enabled Color=00000000000000001111111111111111 - Create Flags=01010000000000010000000000001001 - Text=minimal - Text= - end - item: Radio Button - Rectangle=5 25 40 40 - Enabled Color=00000000000000001111111111111111 - Create Flags=01010000000000010000000000001001 - Text=custom - Text= - end - item: Radio Button - Rectangle=5 45 40 60 - Enabled Color=00000000000000001111111111111111 - Create Flags=01010000000000010000000000001001 - Text=full - Text= - end - end -end +Document Type: DLG +item: Custom Dialog + Name=type + item: Dialog + Title=type + Width=238 + Height=208 + Font Name=Helv + Font Size=8 + item: Radio Button + Rectangle=5 5 40 20 + Enabled Color=00000000000000001111111111111111 + Create Flags=01010000000000010000000000001001 + Text=minimal + Text= + end + item: Radio Button + Rectangle=5 25 40 40 + Enabled Color=00000000000000001111111111111111 + Create Flags=01010000000000010000000000001001 + Text=custom + Text= + end + item: Radio Button + Rectangle=5 45 40 60 + Enabled Color=00000000000000001111111111111111 + Create Flags=01010000000000010000000000001001 + Text=full + Text= + end + end +end diff --git a/nt/installer/Wise/version.py b/nt/installer/Wise/version.py index 7af36c5..eb10c46 100755 --- a/nt/installer/Wise/version.py +++ b/nt/installer/Wise/version.py @@ -1,3 +1,3 @@ -title="XEmacs 21.0b62 EXPERIMENTAL" -welcome="Welcome to the %APPTITLE% setup program. Please note that this is an experimental release and some features may not work correctly, especially on machines running Windows 95. Please read the file PROBLEMS in the xemacs installation directory. Send comments or bug reports to xemacs-nt@xemacs.org. For more info see http://www.xemacs.org" - +title="XEmacs 21.0b62 EXPERIMENTAL" +welcome="Welcome to the %APPTITLE% setup program. Please note that this is an experimental release and some features may not work correctly, especially on machines running Windows 95. Please read the file PROBLEMS in the xemacs installation directory. Send comments or bug reports to xemacs-nt@xemacs.org. For more info see http://www.xemacs.org" + diff --git a/nt/installer/Wise/welcome.dlg b/nt/installer/Wise/welcome.dlg index f591185..a0c467a 100755 --- a/nt/installer/Wise/welcome.dlg +++ b/nt/installer/Wise/welcome.dlg @@ -1,63 +1,63 @@ -Document Type: DLG -item: Custom Dialog - Name=Welcome - Display Variable=DISPLAY - item: Dialog - Title=Welcome - Title French=Bienvenue - Title German=Willkommen - Title Portuguese=Bem-vindo - Title Spanish=Bienvenido - Title Italian=Benvenuto - Title Danish=Velkommen - Title Dutch=Welkom - Title Norwegian=Velkommen - Title Swedish=Välkommen - Width=280 - Height=224 - Font Name=Helv - Font Size=8 - item: Push Button - Rectangle=172 185 214 199 - Variable=DIRECTION - Value=N - Create Flags=01010000000000010000000000000001 - Text=&Next > - Text French=&Suivant> - Text German=&Weiter> - Text Portuguese=&Próximo> - Text Spanish=&Siguiente > - Text Italian=&Avanti > - Text Danish=&Næste> - Text Dutch=&Volgende> - Text Norwegian=&Neste> - Text Swedish=&Nästa > - end - item: Push Button - Rectangle=222 185 264 199 - Action=3 - Create Flags=01010000000000010000000000000000 - Text=Cancel - Text French=Annuler - Text German=Abbrechen - Text Portuguese=Cancelar - Text Spanish=Cancelar - Text Italian=Annulla - Text Danish=Annuller - Text Dutch=Annuleren - Text Norwegian=Avbryt - Text Swedish=Avbryt - end - item: Static - Rectangle=9 177 263 178 - Action=3 - Create Flags=01010000000000000000000000000111 - end - item: Static - Rectangle=91 22 245 118 - Enabled Color=00000000000000001111111111111111 - Create Flags=01010000000000000000000000000000 - Text=Welcome to the %APPTITLE% setup program. Please note that this is an experimental release and some features may not work correctly. Send comments or bug reports to xemacs-nt@xemacs.org rather than one of the other XEmacs mailing lists. For more info see http://www.xemacs.org - end - end -end +Document Type: DLG +item: Custom Dialog + Name=Welcome + Display Variable=DISPLAY + item: Dialog + Title=Welcome + Title French=Bienvenue + Title German=Willkommen + Title Portuguese=Bem-vindo + Title Spanish=Bienvenido + Title Italian=Benvenuto + Title Danish=Velkommen + Title Dutch=Welkom + Title Norwegian=Velkommen + Title Swedish=Välkommen + Width=280 + Height=224 + Font Name=Helv + Font Size=8 + item: Push Button + Rectangle=172 185 214 199 + Variable=DIRECTION + Value=N + Create Flags=01010000000000010000000000000001 + Text=&Next > + Text French=&Suivant> + Text German=&Weiter> + Text Portuguese=&Próximo> + Text Spanish=&Siguiente > + Text Italian=&Avanti > + Text Danish=&Næste> + Text Dutch=&Volgende> + Text Norwegian=&Neste> + Text Swedish=&Nästa > + end + item: Push Button + Rectangle=222 185 264 199 + Action=3 + Create Flags=01010000000000010000000000000000 + Text=Cancel + Text French=Annuler + Text German=Abbrechen + Text Portuguese=Cancelar + Text Spanish=Cancelar + Text Italian=Annulla + Text Danish=Annuller + Text Dutch=Annuleren + Text Norwegian=Avbryt + Text Swedish=Avbryt + end + item: Static + Rectangle=9 177 263 178 + Action=3 + Create Flags=01010000000000000000000000000111 + end + item: Static + Rectangle=91 22 245 118 + Enabled Color=00000000000000001111111111111111 + Create Flags=01010000000000000000000000000000 + Text=Welcome to the %APPTITLE% setup program. Please note that this is an experimental release and some features may not work correctly. Send comments or bug reports to xemacs-nt@xemacs.org rather than one of the other XEmacs mailing lists. For more info see http://www.xemacs.org + end + end +end diff --git a/nt/installer/Wise/xemacs.tmpl b/nt/installer/Wise/xemacs.tmpl index 7c20e1e..6f09e51 100755 --- a/nt/installer/Wise/xemacs.tmpl +++ b/nt/installer/Wise/xemacs.tmpl @@ -1,1310 +1,1310 @@ -Document Type: WSE -item: Global - Version=7.0 - Title=<<>> - Flags=00000100 - Languages=65 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - Japanese Font Name=MS Gothic - Japanese Font Size=10 - Progress Bar DLL=%_WISE_%\Progress\WIZ%_EXE_OS_TYPE_%.DLL - Start Gradient=0 0 255 - End Gradient=0 0 0 - Windows Flags=00000100000000010010110000001000 - Log Pathname=%MAINDIR%\INSTALL.LOG - Message Font=MS Sans Serif - Font Size=8 - Disk Filename=SETUP - Patch Flags=0000000000000001 - Patch Threshold=85 - Patch Memory=4000 - FTP Cluster Size=20 - Dialogs Version=6 - Variable Name1=_SYS_ - Variable Default1=C:\WINDOWS\SYSTEM - Variable Flags1=00001000 - Variable Name2=_WISE_ - Variable Default2=C:\PROGRAM FILES\WISE INSTALLBUILDER - Variable Flags2=00001000 -end -item: Get Temporary Filename - Variable=READMEFILE -end -item: Install File - Source=<<>>\nt\Wise\Copying.txt - Destination=%TEMP%\%READMEFILE% - Flags=0000000000100010 -end -item: Open/Close INSTALL.LOG - Flags=00000001 -end -item: Check if File/Dir Exists - Pathname=%SYS% - Flags=10000100 -end -item: Set Variable - Variable=SYS - Value=%WIN% -end -item: End Block -end -item: Set Variable - Variable=APPTITLE - Value=<<>> - Flags=10000000 -end -item: Set Variable - Variable=GROUP - Value=XEmacs - Flags=10000000 -end -item: Set Variable - Variable=DISABLED - Value=! -end -item: Set Variable - Variable=MAINDIR - Value=XEmacs - Flags=10000000 -end -item: Check Configuration - Flags=10111011 -end -item: Get Registry Key Value - Variable=COMMON - Key=SOFTWARE\Microsoft\Windows\CurrentVersion - Default=C:\Program Files\Common Files - Value Name=CommonFilesDir - Flags=00000100 -end -item: Get Registry Key Value - Variable=PROGRAM_FILES - Key=SOFTWARE\Microsoft\Windows\CurrentVersion - Default=C:\Program Files - Value Name=ProgramFilesDir - Flags=00000100 -end -item: Set Variable - Variable=MAINDIR - Value=%PROGRAM_FILES%\%MAINDIR% - Flags=00001100 -end -item: Set Variable - Variable=EXPLORER - Value=1 -end -item: Else Statement -end -item: Set Variable - Variable=MAINDIR - Value=C:\%MAINDIR% - Flags=00001100 -end -item: End Block -end -item: Set Variable - Variable=BACKUP - Value=%MAINDIR%\BACKUP - Flags=10000000 -end -item: Set Variable - Variable=DOBACKUP - Value=B - Flags=10000000 -end -item: Set Variable - Variable=COMPONENTS - Value=ACE - Flags=10000000 -end -<<>> -item: Wizard Block - Direction Variable=DIRECTION - Display Variable=DISPLAY - Bitmap Pathname=<<>>\nt\Wise\gnu.bmp - X Position=9 - Y Position=10 - Filler Color=8421440 - Dialog=Select Program Manager Group - Dialog=Select Backup Directory - Dialog=Display Registration Information - Dialog=Get Registration Information - Variable=EXPLORER - Variable=DOBACKUP - Variable=DOBRAND - Variable=DOBRAND - Value=1 - Value=A - Value=1 - Value=1 - Compare=0 - Compare=1 - Compare=0 - Compare=1 - Flags=00000011 -end -item: Custom Dialog Set - Name=Welcome - Display Variable=DISPLAY - item: Dialog - Title=Welcome - Title French=Bienvenue - Title German=Willkommen - Title Portuguese=Bem-vindo - Title Spanish=Bienvenido - Title Italian=Benvenuto - Title Danish=Velkommen - Title Dutch=Welkom - Title Norwegian=Velkommen - Title Swedish=Välkommen - Width=280 - Height=224 - Font Name=Helv - Font Size=8 - item: Push Button - Rectangle=172 185 214 199 - Variable=DIRECTION - Value=N - Create Flags=01010000000000010000000000000001 - Text=&Next > - Text French=&Suivant> - Text German=&Weiter> - Text Portuguese=&Próximo> - Text Spanish=&Siguiente > - Text Italian=&Avanti > - Text Danish=&Næste> - Text Dutch=&Volgende> - Text Norwegian=&Neste> - Text Swedish=&Nästa > - end - item: Push Button - Rectangle=222 185 264 199 - Action=3 - Create Flags=01010000000000010000000000000000 - Text=Cancel - Text French=Annuler - Text German=Abbrechen - Text Portuguese=Cancelar - Text Spanish=Cancelar - Text Italian=Annulla - Text Danish=Annuller - Text Dutch=Annuleren - Text Norwegian=Avbryt - Text Swedish=Avbryt - end - item: Static - Rectangle=9 177 263 178 - Action=3 - Create Flags=01010000000000000000000000000111 - end - item: Static - Rectangle=91 22 245 118 - Enabled Color=00000000000000001111111111111111 - Create Flags=01010000000000000000000000000000 - Text=<<>> - end - end -end -item: Custom Dialog Set - Name=Display ReadMe - Display Variable=DISPLAY - item: Dialog - Title=Read Me File - Title French=Fichier Lisez-moi - Title German=Liesmich-Datei - Title Portuguese=Ficheiro Leia-me - Title Spanish=Archivo Léeme - Title Italian=File Leggimi - Title Danish=Vigtigt fil - Title Dutch=Leesmij-bestand - Title Norwegian=Informasjonsfil - Title Swedish=Läs mig-fil - Width=280 - Height=224 - Font Name=Helv - Font Size=8 - item: Push Button - Rectangle=172 185 214 199 - Variable=DIRECTION - Value=N - Create Flags=01010000000000010000000000000001 - Text=I &Agree > - Text French=&Suivant> - Text German=&Weiter> - Text Portuguese=&Próximo> - Text Spanish=&Siguiente > - Text Italian=&Avanti > - Text Danish=&Næste> - Text Dutch=&Volgende> - Text Norwegian=&Neste> - Text Swedish=&Nästa > - end - item: Push Button - Rectangle=222 185 264 199 - Action=3 - Create Flags=01010000000000010000000000000000 - Text=Cancel - Text French=Annuler - Text German=Abbrechen - Text Portuguese=Cancelar - Text Spanish=Cancelar - Text Italian=Annulla - Text Danish=Slet - Text Dutch=Annuleren - Text Norwegian=Avbryt - Text Swedish=Avbryt - end - item: Static - Rectangle=9 177 263 178 - Action=3 - Create Flags=01010000000000000000000000000111 - end - item: Editbox - Rectangle=85 11 254 170 - Value=%TEMP%\%READMEFILE% - Help Context=16711681 - Create Flags=01010000101000000000100000000100 - end - end -end -item: Custom Dialog Set - Name=Select Destination Directory - Display Variable=DISPLAY - item: Dialog - Title=Choose Destination Location - Title French=Choisissez la localisation de destination - Title German=Zielpfad wählen - Title Portuguese=Escolher Local de Destino - Title Spanish=Elegir una localización de destino - Title Italian=Scegli Posizione di Destinazione - Title Danish=Vælg destinationsmappe - Title Dutch=Kies doellocatie - Title Norwegian=Velg målplassering - Title Swedish=Välj ställe för installationen - Width=280 - Height=224 - Font Name=Helv - Font Size=8 - item: Push Button - Rectangle=172 185 214 199 - Variable=DIRECTION - Value=N - Create Flags=01010000000000010000000000000001 - Text=&Next > - Text French=&Suivant> - Text German=&Weiter> - Text Portuguese=&Próximo> - Text Spanish=&Siguiente > - Text Italian=&Avanti > - Text Danish=&Næste> - Text Dutch=&Volgende> - Text Norwegian=&Neste> - Text Swedish=&Nästa > - end - item: Push Button - Rectangle=130 185 172 199 - Variable=DIRECTION - Value=B - Create Flags=01010000000000010000000000000000 - Flags=0000000000000001 - Text=< &Back - Text French=<&Retour - Text German=<&Zurück - Text Portuguese=<&Retornar - Text Spanish=<&Retroceder - Text Italian=< &Indietro - Text Danish=<&Tilbage - Text Dutch=<&Terug - Text Norwegian=<&Tilbake - Text Swedish=< &Tillbaka - end - item: Push Button - Rectangle=222 185 264 199 - Action=3 - Create Flags=01010000000000010000000000000000 - Text=Cancel - Text French=Annuler - Text German=Abbrechen - Text Portuguese=Cancelar - Text Spanish=Cancelar - Text Italian=Annulla - Text Danish=Annuller - Text Dutch=Annuleren - Text Norwegian=Avbryt - Text Swedish=Avbryt - end - item: Static - Rectangle=9 177 263 178 - Action=3 - Create Flags=01010000000000000000000000000111 - end - item: Static - Rectangle=90 10 260 122 - Create Flags=01010000000000000000000000000000 - Text=Setup will install %APPTITLE% in the following folder. - Text= - Text=To install into a different folder, click Browse, and select another folder. - Text= - Text=You can choose not to install %APPTITLE% by clicking Cancel to exit Setup. - Text French=%APPTITLE% va être installé dans le répertoire ci-dessous - Text French= - Text French=Pour l'installer dans un répertoire différent, cliquez sur Parcourir et sélectionnez un autre répertoire - Text French= - Text French=Vous pouvez choisir de ne pas installer %APPTITLE% en cliquant sur Annuler pour quitter l'Installation - Text German=Installation speichert %APPTITLE% im unten angegebenen Ordner: - Text German= - Text German=Zur Installation in einem anderen Ordner auf Blättern klicken und einen anderen Ordner wählen. - Text German= - Text German=Wenn Sie %APPTITLE% nicht installieren möchten, können Sie durch Klicken auf Abbrechen die Installation beenden. - Text Portuguese=Configuração instalará %APPTITLE% na seguinte pasta - Text Portuguese= - Text Portuguese=Para instalar numa pasta diferente, faça um clique sobre Procurar, e seleccione uma outra pasta. - Text Portuguese= - Text Portuguese=Pode escolher não instalar %APPTITLE% clicando no botão Cancelar para sair da Configuração - Text Spanish=El programa de Configuración instalará %APPTITLE% en la siguiente carpeta. - Text Spanish= - Text Spanish=Para instalar en una carpeta diferente, haga un clic en Visualizar, y seleccione otra carpeta. - Text Spanish= - Text Spanish=Puede elegir no instalar %APPTITLE% haciendo un clic en Cancelar para salir de Configuración. - Text Italian=Il programma di installazione installerà %APPTITLE% nella seguente cartella. - Text Italian= - Text Italian=Per effettuare l’installazione in una cartella diversa, fai clic su Sfoglia, e scegli un’altra cartella. - Text Italian= - Text Italian=Puoi scegliere di non installare %APPTITLE% facendo clic su Annulla per uscire dal programma di installazione - Text Danish=Installationsprogrammet installerer %APPTITLE% i denne mappe. - Text Danish= - Text Danish=Man installerer i en anden mappe ved at klikke på Browse og vælge en anden mappe. - Text Danish= - Text Danish=Man kan vælge ikke at installere %APPTITLE% ved at klikke på Slet og forlade installationsprogrammet. - Text Dutch=Het installatieprogramma installeert %APPTITLE% in de volgende directory. - Text Dutch= - Text Dutch=Als u het in een andere directory wilt installeren, klik dan op Bladeren en kies een andere locatie. - Text Dutch= - Text Dutch=U kunt ervoor kiezen om %APPTITLE% niet te installeren: klik op Annuleren om het installatieprogramma te verlaten. - Text Norwegian=Oppsett vil installere %APPTITLE% i følgende mappe. - Text Norwegian= - Text Norwegian=For å installere i en annen mappe, klikk Bla igjennom og velg en annen mappe. - Text Norwegian= - Text Norwegian=Du kan velge å ikke installere %APPTITLE% ved å velge Avbryt for å gå ut av Oppsett. - Text Swedish=Installationsprogrammet installerar %APPTITLE% i följande mapp. - Text Swedish= - Text Swedish=Om du vill att installationen ska göras i en annan mapp, klickar du på Bläddra och väljer en annan mapp. - Text Swedish= - Text Swedish=Du kan välja att inte installera %APPTITLE% genom att klicka på Avbryt för att lämna installationsprogrammet. - end - item: Static - Rectangle=90 134 260 162 - Action=1 - Create Flags=01010000000000000000000000000111 - Text=Destination Folder - Text French=Répertoire de destination - Text German=Zielordner - Text Portuguese=Pasta de Destino - Text Spanish=Carpeta de Destino - Text Italian=Cartella di destinazione - Text Danish=Destinationsmappe - Text Dutch=Doeldirectory - Text Norwegian=Målmappe - Text Swedish=Destinationsmapp - end - item: Push Button - Rectangle=213 143 255 157 - Variable=MAINDIR_SAVE - Value=%MAINDIR% - Destination Dialog=1 - Action=2 - Create Flags=01010000000000010000000000000000 - Text=B&rowse... - Text French=P&arcourir - Text German=B&lättern... - Text Portuguese=P&rocurar - Text Spanish=V&isualizar... - Text Italian=Sfoglia... - Text Danish=&Gennemse... - Text Dutch=B&laderen... - Text Norwegian=Bla igjennom - Text Swedish=&Bläddra - end - item: Static - Rectangle=95 146 211 157 - Destination Dialog=2 - Create Flags=01010000000000000000000000000000 - Text=%MAINDIR% - Text French=%MAINDIR% - Text German=%MAINDIR% - Text Portuguese=%MAINDIR% - Text Spanish=%MAINDIR% - Text Italian=%MAINDIR% - Text Danish=%MAINDIR% - Text Dutch=%MAINDIR% - Text Norwegian=%MAINDIR% - Text Swedish=%MAINDIR% - end - end - item: Dialog - Title=Select Destination Directory - Title French=Choisissez le répertoire de destination - Title German=Zielverzeichnis wählen - Title Portuguese=Seleccionar Directório de Destino - Title Spanish=Seleccione el Directorio de Destino - Title Italian=Seleziona Directory di destinazione - Title Danish=Vælg Destinationsbibliotek - Title Dutch=Kies doeldirectory - Title Norwegian=Velg målkatalog - Title Swedish=Välj destinationskalatog - Width=221 - Height=173 - Font Name=Helv - Font Size=8 - item: Listbox - Rectangle=5 2 160 149 - Variable=MAINDIR - Create Flags=01010000100000010000000101000000 - Flags=0000110000100010 - Text=%MAINDIR% - Text French=%MAINDIR% - Text German=%MAINDIR% - Text Portuguese=%MAINDIR% - Text Spanish=%MAINDIR% - Text Italian=%MAINDIR% - Text Danish=%MAINDIR% - Text Dutch=%MAINDIR% - Text Norwegian=%MAINDIR% - Text Swedish=%MAINDIR% - end - item: Push Button - Rectangle=167 6 212 21 - Create Flags=01010000000000010000000000000001 - Text=OK - Text French=OK - Text German=OK - Text Portuguese=OK - Text Spanish=ACEPTAR - Text Italian=OK - Text Danish=OK - Text Dutch=OK - Text Norwegian=OK - Text Swedish=OK - end - item: Push Button - Rectangle=167 25 212 40 - Variable=MAINDIR - Value=%MAINDIR_SAVE% - Create Flags=01010000000000010000000000000000 - Flags=0000000000000001 - Text=Cancel - Text French=Annuler - Text German=Abbrechen - Text Portuguese=Cancelar - Text Spanish=Cancelar - Text Italian=Annulla - Text Danish=Slet - Text Dutch=Annuleren - Text Norwegian=Avbryt - Text Swedish=Avbryt - end - end -end -item: Custom Dialog Set - Name=Select Packages - Display Variable=DISPLAY - item: Dialog - Title=Select Packages - Width=271 - Height=224 - Font Name=Helv - Font Size=8 - item: Push Button - Rectangle=150 187 195 202 - Variable=DIRECTION - Value=N - Create Flags=01010000000000010000000000000001 - Text=&Next > - Text French=&Suite > - Text German=&Weiter > - Text Spanish=&Siguiente > - Text Italian=&Avanti > - end - item: Push Button - Rectangle=105 187 150 202 - Variable=DIRECTION - Value=B - Create Flags=01010000000000010000000000000000 - Text=< &Back - Text French=< &Retour - Text German=< &Zurück - Text Spanish=< &Atrás - Text Italian=< &Indietro - end - item: Push Button - Rectangle=211 187 256 202 - Action=3 - Create Flags=01010000000000010000000000000000 - Text=&Cancel - Text French=&Annuler - Text German=&Abbrechen - Text Spanish=&Cancelar - Text Italian=&Annulla - end - item: Static - Rectangle=8 180 256 181 - Action=3 - Create Flags=01010000000000000000000000000111 - end - item: Static - Rectangle=86 8 258 28 - Create Flags=01010000000000000000000000000000 - Flags=0000000000000001 - Name=Times New Roman - Font Style=-24 0 0 0 700 255 0 0 0 3 2 1 18 - Text=Select Packages - Text French=Sélectionner les composants - Text German=Komponenten auswählen - Text Spanish=Seleccione componentes - Text Italian=Selezionare i componenti - end - item: Checkbox - Rectangle=83 62 211 146 - Variable=COMPONENTS LIBS,COMM,OA,OS,PROG,WP,GAMES - Create Flags=01010000000000010000000000000011 - Flags=0000000000000110 - Text=Libraries - Text=Communication - Text=Productivity - Text=Operating System - Text=Programming - Text=Word Processing - Text=Games and Amusements - Text= - end - item: Static - Rectangle=194 162 242 172 - Variable=COMPONENTS, LIBS, COMM, OA, OS, PROG, WP, GAMES - Value=MAINDIR - Create Flags=01010000000000000000000000000010 - end - item: Static - Rectangle=194 153 242 162 - Variable=COMPONENTS, LIBS, COMM, OA, OS, PROG, WP, GAMES - Create Flags=01010000000000000000000000000010 - end - item: Static - Rectangle=107 153 196 164 - Create Flags=01010000000000000000000000000000 - Text=Disk Space Required: - Text French=Espace disque requis : - Text German=Notwendiger Speicherplatz: - Text Spanish=Espacio requerido en el disco: - Text Italian=Spazio su disco necessario: - end - item: Static - Rectangle=107 162 196 172 - Create Flags=01010000000000000000000000000000 - Text=Disk Space Remaining: - Text French=Espace disque disponible : - Text German=Verbleibender Speicherplatz: - Text Spanish=Espacio en disco disponible: - Text Italian=Spazio su disco disponibile: - end - item: Static - Rectangle=80 146 256 175 - Action=1 - Create Flags=01010000000000000000000000000111 - end - item: Static - Rectangle=83 30 256 57 - Create Flags=01010000000000000000000000000000 - Text=Choose which package categories to install by checking the boxes below. Press the Options buttons to select individual packages. - Text French=Choisissez les composants que vous voulez installer en cochant les cases ci-dessous. - Text German=Wählen Sie die zu installierenden Komponenten, indem Sie in die entsprechenden Kästchen klicken. - Text Spanish=Elija los componentes que desee instalar marcando los cuadros de abajo. - Text Italian=Scegliere quali componenti installare selezionando le caselle sottostanti. - end - item: Push Button - Rectangle=230 62 254 72 - Variable=LIBS_SAVE - Value=%LIBS% - Destination Dialog=1 - Action=2 - Create Flags=01010000000000010000000000000000 - Text=Options - Text French=&Annuler - Text German=&Abbrechen - Text Spanish=&Cancelar - Text Italian=&Annulla - end - item: Push Button - Rectangle=230 74 254 84 - Variable=COMM_SAVE - Value=%COMM% - Destination Dialog=2 - Action=2 - Create Flags=01010000000000010000000000000000 - Text=Options - Text French=&Annuler - Text German=&Abbrechen - Text Spanish=&Cancelar - Text Italian=&Annulla - end - item: Push Button - Rectangle=230 86 254 96 - Variable=OA_SAVE - Value=%OA% - Destination Dialog=3 - Action=2 - Create Flags=01010000000000010000000000000000 - Text=Options - Text French=&Annuler - Text German=&Abbrechen - Text Spanish=&Cancelar - Text Italian=&Annulla - end - item: Push Button - Rectangle=230 98 254 108 - Variable=OS_SAVE - Value=%OS% - Destination Dialog=4 - Action=2 - Create Flags=01010000000000010000000000000000 - Text=Options - Text French=&Annuler - Text German=&Abbrechen - Text Spanish=&Cancelar - Text Italian=&Annulla - end - item: Push Button - Rectangle=230 110 254 120 - Variable=PROG_SAVE - Value=%PROG% - Destination Dialog=5 - Action=2 - Create Flags=01010000000000010000000000000000 - Text=Options - Text French=&Annuler - Text German=&Abbrechen - Text Spanish=&Cancelar - Text Italian=&Annulla - end - item: Push Button - Rectangle=230 122 254 132 - Variable=WP_SAVE - Value=%WP% - Destination Dialog=6 - Action=2 - Create Flags=01010000000000010000000000000000 - Text=Options - Text French=&Annuler - Text German=&Abbrechen - Text Spanish=&Cancelar - Text Italian=&Annulla - end - item: Push Button - Rectangle=230 134 254 144 - Variable=GAMES_SAVE - Value=%GAMES% - Destination Dialog=7 - Action=2 - Create Flags=01010000000000010000000000000000 - Text=Options - Text French=&Annuler - Text German=&Abbrechen - Text Spanish=&Cancelar - Text Italian=&Annulla - end - item: Set Variable - Variable=COMPONENTS - Value=X - Flags=00000001 - end - end -<<>> -end -item: Custom Dialog Set - Name=Select Program Manager Group - Display Variable=DISPLAY - item: Dialog - Title=Select Program Manager Group - Title French=Sélectionnez le Groupe du Gestionnaire de Programmes - Title German=Programm-Managergruppe wählen - Title Portuguese=Seleccionar o Grupo Gestor de Programas - Title Spanish=Seleccione el Grupo del Administrador del Programa - Title Italian=Seleziona il gruppo Program Manager - Title Danish=Vælg Programstyringsgruppen - Title Dutch=Kies Programmabeheergroep. - Title Norwegian=Velg Programbehandlingsgruppen - Title Swedish=Välj grupp i Programhanteraren - Width=280 - Height=224 - Font Name=Helv - Font Size=8 - item: Push Button - Rectangle=172 185 214 199 - Variable=DIRECTION - Value=N - Create Flags=01010000000000010000000000000001 - Text=&Next > - Text French=&Suivant> - Text German=&Weiter> - Text Portuguese=&Próximo> - Text Spanish=&Siguiente > - Text Italian=&Avanti > - Text Danish=&Næste> - Text Dutch=&Volgende> - Text Norwegian=&Neste> - Text Swedish=&Nästa > - end - item: Push Button - Rectangle=130 185 172 199 - Variable=DIRECTION - Value=B - Create Flags=01010000000000010000000000000000 - Flags=0000000000000001 - Text=< &Back - Text French=<&Retour - Text German=<&Zurück - Text Portuguese=<&Retornar - Text Spanish=<&Retroceder - Text Italian=< &Indietro - Text Danish=<&Back - Text Dutch=<&Terug - Text Norwegian=<&Tilbake - Text Swedish=< &Tillbaka - end - item: Push Button - Rectangle=222 185 264 199 - Action=3 - Create Flags=01010000000000010000000000000000 - Text=Cancel - Text French=Annuler - Text German=Abbrechen - Text Portuguese=Cancelar - Text Spanish=Cancelar - Text Italian=Annulla - Text Danish=Slet - Text Dutch=Annuleren - Text Norwegian=Avbryt - Text Swedish=Avbryt - end - item: Static - Rectangle=9 177 263 178 - Action=3 - Create Flags=01010000000000000000000000000111 - end - item: Static - Rectangle=90 10 260 38 - Create Flags=01010000000000000000000000000000 - Text=Enter the name of the Program Manager group to add %APPTITLE% icons to: - Text French=Entrez le nom du groupe du Gestionnaire de Programmes où placer les icônes %APPTITLE% à : - Text German=Den Namen der Programm-Managergruppe wählen, in der die %APPTITLE%-Symbole gespeichert werden sollen: - Text Portuguese=Introduzir o nome do Grupo Gestor de Programa para acrescentar os ícones %APPTITLE% para: - Text Spanish=Introduzca el nombre del grupo del Administrador del Programa para añadir los iconos %APPTITLE para: - Text Italian=Inserisci il nome del gruppo Program Manager per aggiungere le icone di %APPTITLE% a: - Text Danish=Indtast navnet på Programstyringsgruppen der skal tilføjes %APPTITLE% elementer: - Text Dutch=Breng de naam van de programmabeheergroep in waaraan u %APPTITLE%-pictogrammen wilt toevoegen. - Text Norwegian=Tast inn navnet på programbehandlingsgruppen for å legge %APPTITLE%-ikoner til: - Text Swedish=Skriv in namnet på den grupp i Programhanteraren där du vill ha ikonerna för %APPTITLE%: - end - item: Combobox - Rectangle=90 42 260 148 - Variable=GROUP - Create Flags=01010000001000010000001100000001 - Flags=0000000000000001 - Text=%GROUP% - Text= - Text French=%GROUP% - Text French= - Text German=%GROUP% - Text German= - Text Portuguese=%GROUP% - Text Portuguese= - Text Spanish=%GROUP% - Text Spanish= - Text Italian=%GROUP% - Text Italian= - Text Danish=%GROUP% - Text Danish= - Text Dutch=%GROUP% - Text Dutch= - Text Norwegian=%GROUP% - Text Norwegian= - Text Swedish=%GROUP% - Text Swedish= - end - end -end -item: Custom Dialog Set - Name=Start Installation - Display Variable=DISPLAY - item: Dialog - Title=Start Installation - Title French=Commencer l'installation - Title German=Installation beginnen - Title Portuguese=Iniciar Instalação - Title Spanish=Comenzar la Instalación - Title Italian=Avvia Installazione - Title Danish=Start installationen - Title Dutch=Start de installatie. - Title Norwegian=Start installeringen - Title Swedish=Starta installationen - Width=280 - Height=224 - Font Name=Helv - Font Size=8 - item: Push Button - Rectangle=172 185 214 199 - Variable=DIRECTION - Value=N - Create Flags=01010000000000010000000000000001 - Text=&Next > - Text French=&Suivant> - Text German=&Weiter> - Text Portuguese=&Próximo> - Text Spanish=&Siguiente > - Text Italian=&Avanti > - Text Danish=&Næste> - Text Dutch=&Volgende> - Text Norwegian=&Neste> - Text Swedish=&Nästa > - end - item: Push Button - Rectangle=130 185 172 199 - Variable=DIRECTION - Value=B - Create Flags=01010000000000010000000000000000 - Text=< &Back - Text French=<&Retour - Text German=<&Zurück - Text Portuguese=<&Retornar - Text Spanish=<&Retroceder - Text Italian=< &Indietro - Text Danish=<&Tilbage - Text Dutch=<&Terug - Text Norwegian=<&Tilbake - Text Swedish=< &Tillbaka - end - item: Push Button - Rectangle=222 185 264 199 - Action=3 - Create Flags=01010000000000010000000000000000 - Text=Cancel - Text French=Annuler - Text German=Abbrechen - Text Portuguese=Cancelar - Text Spanish=Cancelar - Text Italian=Annulla - Text Danish=Annuller - Text Dutch=Annuleren - Text Norwegian=Avbryt - Text Swedish=Avbryt - end - item: Static - Rectangle=9 177 263 178 - Action=3 - Create Flags=01010000000000000000000000000111 - end - item: Static - Rectangle=90 10 260 70 - Create Flags=01010000000000000000000000000000 - Text=You are now ready to install %APPTITLE%. - Text= - Text=Press the Next button to begin the installation or the Back button to reenter the installation information. - Text French=Vous êtes maintenant prêt à installer %APPTITLE% - Text French= - Text French=Cliquez sur Suivant pour commencer l'installation ou Retour pour entrer à nouveau les informations d'installation - Text German=Sie sind jetzt zur Installation von %APPTITLE% bereit. - Text German= - Text German=Auf die Schaltfläche Weiter klicken, um mit dem Start der Installation zu beginnen, oder auf die Schaltfläche Zurück, um die Installationsinformationen nochmals aufzurufen. - Text Portuguese=Está agora pronto para instalar %APPTITLE% - Text Portuguese= - Text Portuguese=Pressione o botão Próximo para começar a instalação ou o botão Retornar para introduzir novamente a informação sobre a instalação - Text Spanish=Ahora estará listo para instalar %APPTITLE%. - Text Spanish= - Text Spanish=Pulse el botón de Próximo para comenzar la instalación o el botón Retroceder para volver a introducir la información sobre la instalación. - Text Italian=Sei pronto ad installare %APPTITLE%. - Text Italian= - Text Italian=Premi il tasto Avanti per iniziare l’installazione o il tasto Indietro per rientrare nuovamente nei dati sull’installazione - Text Danish=Du er nu klar til at installere %APPTITLE%. - Text Danish= - Text Danish=Klik på Næste for at starte installationen eller på Tilbage for at ændre installationsoplysningerne. - Text Dutch=U bent nu klaar om %APPTITLE% te installeren. - Text Dutch= - Text Dutch=Druk op Volgende om met de installatie te beginnen of op Terug om de installatie-informatie opnieuw in te voeren. - Text Norwegian=Du er nå klar til å installere %APPTITLE% - Text Norwegian= - Text Norwegian=Trykk på Neste-tasten for å starte installeringen, eller Tilbake-tasten for å taste inn installasjonsinformasjonen på nytt. - Text Swedish=Du är nu redo att installera %APPTITLE%. - Text Swedish= - Text Swedish=Tryck på Nästa för att starta installationen eller på Tillbaka för att skriva in installationsinformationen på nytt. - end - end -end -item: If/While Statement - Variable=DISPLAY - Value=Select Destination Directory -end -item: Set Variable - Variable=BACKUP - Value=%MAINDIR%\BACKUP -end -item: End Block -end -item: End Block -end -item: If/While Statement - Variable=DOBACKUP - Value=A -end -item: Set Variable - Variable=BACKUPDIR - Value=%BACKUP% -end -item: End Block -end -item: Open/Close INSTALL.LOG -end -item: Check Disk Space - Component=COMPONENTS -end -item: Display Graphic - Pathname=<<>>\nt\Wise\xemacs-beta.bmp - X Position=32784 - Y Position=16 -end -item: Include Script - Pathname=%_WISE_%\INCLUDE\uninstal.wse -end -<<>> -<<>> -<<>> -<<>> -item: Set Variable - Variable=COMMON - Value=%COMMON% - Flags=00010100 -end -item: Set Variable - Variable=MAINDIR - Value=%MAINDIR% - Flags=00010100 -end -item: Check Configuration - Flags=10111011 -end -item: Get Registry Key Value - Variable=STARTUPDIR - Key=Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders - Default=%WIN%\Start Menu\Programs\StartUp - Value Name=StartUp - Flags=00000010 -end -item: Get Registry Key Value - Variable=DESKTOPDIR - Key=Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders - Default=%WIN%\Desktop - Value Name=Desktop - Flags=00000010 -end -item: Get Registry Key Value - Variable=STARTMENUDIR - Key=Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders - Default=%WIN%\Start Menu - Value Name=Start Menu - Flags=00000010 -end -item: Get Registry Key Value - Variable=GROUPDIR - Key=Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders - Default=%WIN%\Start Menu\Programs - Value Name=Programs - Flags=00000010 -end -item: Get Registry Key Value - Variable=CSTARTUPDIR - Key=Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders - Default=%STARTUPDIR% - Value Name=Common Startup - Flags=00000100 -end -item: Get Registry Key Value - Variable=CDESKTOPDIR - Key=Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders - Default=%DESKTOPDIR% - Value Name=Common Desktop - Flags=00000100 -end -item: Get Registry Key Value - Variable=CSTARTMENUDIR - Key=Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders - Default=%STARTMENUDIR% - Value Name=Common Start Menu - Flags=00000100 -end -item: Get Registry Key Value - Variable=CGROUPDIR - Key=Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders - Default=%GROUPDIR% - Value Name=Common Programs - Flags=00000100 -end -item: Set Variable - Variable=CGROUP_SAVE - Value=%GROUP% -end -item: Set Variable - Variable=GROUP - Value=%GROUPDIR%\%GROUP% -end -item: Create Shortcut - Source=%MAINDIR%\<<>>\i386-pc-win32\runemacs.exe - Destination=%GROUP%\XEmacs.lnk - Working Directory=\ - Icon Number=0 -end -item: Create Shortcut - Source=%MAINDIR%\<<>>\i386-pc-win32\runemacs.exe - Destination=%DESKTOPDIR%\XEmacs.lnk - Working Directory=\ - Icon Number=0 -end -item: Else Statement -end -item: Add ProgMan Icon - Group=%GROUP% - Icon Name=XEmacs - Command Line=%MAINDIR%\<<>>\i386-pc-win32\runemacs.exe - Default Directory=\ - Flags=01000000 -end -item: End Block -end -item: Edit Registry - Total Keys=16 - item: Key - Key=SOFTWARE\GNU\XEmacs - New Value=%MAINDIR% - Value Name=emacs_dir - Root=2 - end - item: Key - Key=SOFTWARE\GNU\XEmacs - New Value=%MAINDIR%\xemacs-packages - Value Name=EMACSPACKAGEPATH - Root=2 - end - item: Key - Key=SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\runemacs.exe - New Value=%MAINDIR%\<<>>\i386-pc-win32 - Value Name=Path - Root=2 - end - item: Key - Key=SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\xemacs.exe - New Value=%MAINDIR%\<<>>\i386-pc-win32 - Value Name=Path - Root=2 - end - item: Key - Key=.el - New Value=elfile - end - item: Key - Key=.el - New Value=text/plain - Value Name=Content Type - end - item: Key - Key=elfile - New Value=Emacs lisp - end - item: Key - Key=elfile - New Value=00 00 01 00 - Value Name=EditFlags - Data Type=4 - end - item: Key - Key=elfile\DefaultIcon - New Value=%MAINDIR%\<<>>\i386-pc-win32\runemacs.exe,2 - end - item: Key - Key=elfile\QuickView - New Value=* - end - item: Key - Key=elfile\Shell - New Value= - end - item: Key - Key=elfile\Shell\open - end - item: Key - Key=elfile\Shell\open\command - New Value=%MAINDIR%\<<>>\i386-pc-win32\runemacs.exe "%%1" - end - item: Key - Key=elfile\Shell\open\ddeexec - New Value=open("%%1") - end - item: Key - Key=elfile\Shell\open\ddeexec\Application - New Value=XEmacs - New Value= - end - item: Key - Key=elfile\Shell\open\ddeexec\topic - New Value=System - end -end -item: Wizard Block - Direction Variable=DIRECTION - Display Variable=DISPLAY - Bitmap Pathname=<<>>\nt\Wise\gnu.bmp - X Position=9 - Y Position=10 - Filler Color=8421440 - Flags=00000011 -end -item: Custom Dialog Set - Name=Finished - Display Variable=DISPLAY - item: Dialog - Title=Installation Complete - Title French=Installation en cours - Title German=Installation abgeschlossen - Title Portuguese=Instalação Completa - Title Spanish=Se ha completado la Instalación - Title Italian=Installazione completata - Title Danish=Installation gennemført - Title Dutch=Installatie afgerond - Title Norwegian=Installasjonen er fullført - Title Swedish=Installationen klar - Width=280 - Height=224 - Font Name=Helv - Font Size=8 - item: Push Button - Rectangle=170 185 212 199 - Variable=DIRECTION - Value=N - Create Flags=01010000000000010000000000000001 - Text=&Finish > - Text French=&Terminer> - Text German=&Fertigstellen> - Text Portuguese=&Terminar > - Text Spanish=&Finalizar> - Text Italian=&Fine > - Text Danish=&Afslut > - Text Dutch=&Klaar> - Text Norwegian=&Avslutt> - Text Swedish=&Sluta> - end - item: Push Button - Control Name=CANCEL - Rectangle=222 185 264 199 - Action=3 - Create Flags=01010000000000010000000000000000 - Text=Cancel - Text French=Annuler - Text German=Abbrechen - Text Portuguese=Cancelar - Text Spanish=Cancelar - Text Italian=Annulla - Text Danish=Annuller - Text Dutch=Annuleren - Text Norwegian=Avbryt - Text Swedish=Avbryt - end - item: Static - Rectangle=9 177 263 178 - Action=3 - Create Flags=01010000000000000000000000000111 - end - item: Static - Rectangle=90 10 260 63 - Enabled Color=00000000000000001111111111111111 - Create Flags=01010000000000000000000000000000 - Text=%APPTITLE% has been successfully installed. - Text= - Text= - Text=Press the Finish button to exit this installation. - Text= - Text French=L'installation de %APPTITLE% est réussie - Text French= - Text French= - Text French=Cliquez sur Terminer pour quitter cette installation - Text French= - Text German=%APPTITLE% wurde erfolgreich installiert. - Text German= - Text German= - Text German=Zum Beenden dieser Installation Fertigstellen anklicken. - Text German= - Text Portuguese=%APPTITLE% foi instalado com êxito - Text Portuguese= - Text Portuguese= - Text Portuguese=Pressionar o botão Terminar para sair desta instalação - Text Portuguese= - Text Spanish=%APPTITLE% se ha instalado con éxito. - Text Spanish= - Text Spanish= - Text Spanish=Pulse el botón de Finalizar para salir de esta instalación. - Text Spanish= - Text Italian=%APPTITLE% è stato installato. - Text Italian= - Text Italian= - Text Italian=Premi il pulsante Fine per uscire dal programma di installazione - Text Italian= - Text Danish=%APPTITLE% er nu installeret korrekt. - Text Danish= - Text Danish= - Text Danish=Klik på Afslut for at afslutte installationen. - Text Danish= - Text Dutch=%APPTITLE% is met succes geïnstalleerd. - Text Dutch= - Text Dutch= - Text Dutch=Druk op Klaar om deze installatie af te ronden. - Text Dutch= - Text Norwegian=Installasjonen av %APPTITLE% er suksessfull. - Text Norwegian= - Text Norwegian= - Text Norwegian=Trykk på Avslutt-tasten for å avslutte denne installasjonen. - Text Norwegian= - Text Swedish=Installationen av %APPTITLE% har lyckats. - Text Swedish= - Text Swedish= - Text Swedish=Tryck på Sluta för att gå ur installationsprogrammet. - Text Swedish= - end - item: Push Button - Control Name=BACK - Rectangle=128 185 170 199 - Variable=DIRECTION - Value=B - Create Flags=01010000000000010000000000000000 - Text=< &Back - Text French=<&Retour - Text German=<&Zurück - Text Portuguese=<&Retornar - Text Spanish=<&Retroceder - Text Italian=< &Indietro - Text Danish=<&Tilbage - Text Dutch=<&Terug - Text Norwegian=<&Tilbake - Text Swedish=< &Tillbaka - end - item: Set Control Attribute - Control Name=BACK - Operation=1 - end - item: Set Control Attribute - Control Name=CANCEL - Operation=1 - end - end -end -item: End Block -end -item: New Event - Name=Cancel -end -item: Include Script - Pathname=%_WISE_%\INCLUDE\rollback.wse -end +Document Type: WSE +item: Global + Version=7.0 + Title=<<>> + Flags=00000100 + Languages=65 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + Japanese Font Name=MS Gothic + Japanese Font Size=10 + Progress Bar DLL=%_WISE_%\Progress\WIZ%_EXE_OS_TYPE_%.DLL + Start Gradient=0 0 255 + End Gradient=0 0 0 + Windows Flags=00000100000000010010110000001000 + Log Pathname=%MAINDIR%\INSTALL.LOG + Message Font=MS Sans Serif + Font Size=8 + Disk Filename=SETUP + Patch Flags=0000000000000001 + Patch Threshold=85 + Patch Memory=4000 + FTP Cluster Size=20 + Dialogs Version=6 + Variable Name1=_SYS_ + Variable Default1=C:\WINDOWS\SYSTEM + Variable Flags1=00001000 + Variable Name2=_WISE_ + Variable Default2=C:\PROGRAM FILES\WISE INSTALLBUILDER + Variable Flags2=00001000 +end +item: Get Temporary Filename + Variable=READMEFILE +end +item: Install File + Source=<<>>\nt\Wise\Copying.txt + Destination=%TEMP%\%READMEFILE% + Flags=0000000000100010 +end +item: Open/Close INSTALL.LOG + Flags=00000001 +end +item: Check if File/Dir Exists + Pathname=%SYS% + Flags=10000100 +end +item: Set Variable + Variable=SYS + Value=%WIN% +end +item: End Block +end +item: Set Variable + Variable=APPTITLE + Value=<<>> + Flags=10000000 +end +item: Set Variable + Variable=GROUP + Value=XEmacs + Flags=10000000 +end +item: Set Variable + Variable=DISABLED + Value=! +end +item: Set Variable + Variable=MAINDIR + Value=XEmacs + Flags=10000000 +end +item: Check Configuration + Flags=10111011 +end +item: Get Registry Key Value + Variable=COMMON + Key=SOFTWARE\Microsoft\Windows\CurrentVersion + Default=C:\Program Files\Common Files + Value Name=CommonFilesDir + Flags=00000100 +end +item: Get Registry Key Value + Variable=PROGRAM_FILES + Key=SOFTWARE\Microsoft\Windows\CurrentVersion + Default=C:\Program Files + Value Name=ProgramFilesDir + Flags=00000100 +end +item: Set Variable + Variable=MAINDIR + Value=%PROGRAM_FILES%\%MAINDIR% + Flags=00001100 +end +item: Set Variable + Variable=EXPLORER + Value=1 +end +item: Else Statement +end +item: Set Variable + Variable=MAINDIR + Value=C:\%MAINDIR% + Flags=00001100 +end +item: End Block +end +item: Set Variable + Variable=BACKUP + Value=%MAINDIR%\BACKUP + Flags=10000000 +end +item: Set Variable + Variable=DOBACKUP + Value=B + Flags=10000000 +end +item: Set Variable + Variable=COMPONENTS + Value=ACE + Flags=10000000 +end +<<>> +item: Wizard Block + Direction Variable=DIRECTION + Display Variable=DISPLAY + Bitmap Pathname=<<>>\nt\Wise\gnu.bmp + X Position=9 + Y Position=10 + Filler Color=8421440 + Dialog=Select Program Manager Group + Dialog=Select Backup Directory + Dialog=Display Registration Information + Dialog=Get Registration Information + Variable=EXPLORER + Variable=DOBACKUP + Variable=DOBRAND + Variable=DOBRAND + Value=1 + Value=A + Value=1 + Value=1 + Compare=0 + Compare=1 + Compare=0 + Compare=1 + Flags=00000011 +end +item: Custom Dialog Set + Name=Welcome + Display Variable=DISPLAY + item: Dialog + Title=Welcome + Title French=Bienvenue + Title German=Willkommen + Title Portuguese=Bem-vindo + Title Spanish=Bienvenido + Title Italian=Benvenuto + Title Danish=Velkommen + Title Dutch=Welkom + Title Norwegian=Velkommen + Title Swedish=Välkommen + Width=280 + Height=224 + Font Name=Helv + Font Size=8 + item: Push Button + Rectangle=172 185 214 199 + Variable=DIRECTION + Value=N + Create Flags=01010000000000010000000000000001 + Text=&Next > + Text French=&Suivant> + Text German=&Weiter> + Text Portuguese=&Próximo> + Text Spanish=&Siguiente > + Text Italian=&Avanti > + Text Danish=&Næste> + Text Dutch=&Volgende> + Text Norwegian=&Neste> + Text Swedish=&Nästa > + end + item: Push Button + Rectangle=222 185 264 199 + Action=3 + Create Flags=01010000000000010000000000000000 + Text=Cancel + Text French=Annuler + Text German=Abbrechen + Text Portuguese=Cancelar + Text Spanish=Cancelar + Text Italian=Annulla + Text Danish=Annuller + Text Dutch=Annuleren + Text Norwegian=Avbryt + Text Swedish=Avbryt + end + item: Static + Rectangle=9 177 263 178 + Action=3 + Create Flags=01010000000000000000000000000111 + end + item: Static + Rectangle=91 22 245 118 + Enabled Color=00000000000000001111111111111111 + Create Flags=01010000000000000000000000000000 + Text=<<>> + end + end +end +item: Custom Dialog Set + Name=Display ReadMe + Display Variable=DISPLAY + item: Dialog + Title=Read Me File + Title French=Fichier Lisez-moi + Title German=Liesmich-Datei + Title Portuguese=Ficheiro Leia-me + Title Spanish=Archivo Léeme + Title Italian=File Leggimi + Title Danish=Vigtigt fil + Title Dutch=Leesmij-bestand + Title Norwegian=Informasjonsfil + Title Swedish=Läs mig-fil + Width=280 + Height=224 + Font Name=Helv + Font Size=8 + item: Push Button + Rectangle=172 185 214 199 + Variable=DIRECTION + Value=N + Create Flags=01010000000000010000000000000001 + Text=I &Agree > + Text French=&Suivant> + Text German=&Weiter> + Text Portuguese=&Próximo> + Text Spanish=&Siguiente > + Text Italian=&Avanti > + Text Danish=&Næste> + Text Dutch=&Volgende> + Text Norwegian=&Neste> + Text Swedish=&Nästa > + end + item: Push Button + Rectangle=222 185 264 199 + Action=3 + Create Flags=01010000000000010000000000000000 + Text=Cancel + Text French=Annuler + Text German=Abbrechen + Text Portuguese=Cancelar + Text Spanish=Cancelar + Text Italian=Annulla + Text Danish=Slet + Text Dutch=Annuleren + Text Norwegian=Avbryt + Text Swedish=Avbryt + end + item: Static + Rectangle=9 177 263 178 + Action=3 + Create Flags=01010000000000000000000000000111 + end + item: Editbox + Rectangle=85 11 254 170 + Value=%TEMP%\%READMEFILE% + Help Context=16711681 + Create Flags=01010000101000000000100000000100 + end + end +end +item: Custom Dialog Set + Name=Select Destination Directory + Display Variable=DISPLAY + item: Dialog + Title=Choose Destination Location + Title French=Choisissez la localisation de destination + Title German=Zielpfad wählen + Title Portuguese=Escolher Local de Destino + Title Spanish=Elegir una localización de destino + Title Italian=Scegli Posizione di Destinazione + Title Danish=Vælg destinationsmappe + Title Dutch=Kies doellocatie + Title Norwegian=Velg målplassering + Title Swedish=Välj ställe för installationen + Width=280 + Height=224 + Font Name=Helv + Font Size=8 + item: Push Button + Rectangle=172 185 214 199 + Variable=DIRECTION + Value=N + Create Flags=01010000000000010000000000000001 + Text=&Next > + Text French=&Suivant> + Text German=&Weiter> + Text Portuguese=&Próximo> + Text Spanish=&Siguiente > + Text Italian=&Avanti > + Text Danish=&Næste> + Text Dutch=&Volgende> + Text Norwegian=&Neste> + Text Swedish=&Nästa > + end + item: Push Button + Rectangle=130 185 172 199 + Variable=DIRECTION + Value=B + Create Flags=01010000000000010000000000000000 + Flags=0000000000000001 + Text=< &Back + Text French=<&Retour + Text German=<&Zurück + Text Portuguese=<&Retornar + Text Spanish=<&Retroceder + Text Italian=< &Indietro + Text Danish=<&Tilbage + Text Dutch=<&Terug + Text Norwegian=<&Tilbake + Text Swedish=< &Tillbaka + end + item: Push Button + Rectangle=222 185 264 199 + Action=3 + Create Flags=01010000000000010000000000000000 + Text=Cancel + Text French=Annuler + Text German=Abbrechen + Text Portuguese=Cancelar + Text Spanish=Cancelar + Text Italian=Annulla + Text Danish=Annuller + Text Dutch=Annuleren + Text Norwegian=Avbryt + Text Swedish=Avbryt + end + item: Static + Rectangle=9 177 263 178 + Action=3 + Create Flags=01010000000000000000000000000111 + end + item: Static + Rectangle=90 10 260 122 + Create Flags=01010000000000000000000000000000 + Text=Setup will install %APPTITLE% in the following folder. + Text= + Text=To install into a different folder, click Browse, and select another folder. + Text= + Text=You can choose not to install %APPTITLE% by clicking Cancel to exit Setup. + Text French=%APPTITLE% va être installé dans le répertoire ci-dessous + Text French= + Text French=Pour l'installer dans un répertoire différent, cliquez sur Parcourir et sélectionnez un autre répertoire + Text French= + Text French=Vous pouvez choisir de ne pas installer %APPTITLE% en cliquant sur Annuler pour quitter l'Installation + Text German=Installation speichert %APPTITLE% im unten angegebenen Ordner: + Text German= + Text German=Zur Installation in einem anderen Ordner auf Blättern klicken und einen anderen Ordner wählen. + Text German= + Text German=Wenn Sie %APPTITLE% nicht installieren möchten, können Sie durch Klicken auf Abbrechen die Installation beenden. + Text Portuguese=Configuração instalará %APPTITLE% na seguinte pasta + Text Portuguese= + Text Portuguese=Para instalar numa pasta diferente, faça um clique sobre Procurar, e seleccione uma outra pasta. + Text Portuguese= + Text Portuguese=Pode escolher não instalar %APPTITLE% clicando no botão Cancelar para sair da Configuração + Text Spanish=El programa de Configuración instalará %APPTITLE% en la siguiente carpeta. + Text Spanish= + Text Spanish=Para instalar en una carpeta diferente, haga un clic en Visualizar, y seleccione otra carpeta. + Text Spanish= + Text Spanish=Puede elegir no instalar %APPTITLE% haciendo un clic en Cancelar para salir de Configuración. + Text Italian=Il programma di installazione installerà %APPTITLE% nella seguente cartella. + Text Italian= + Text Italian=Per effettuare l’installazione in una cartella diversa, fai clic su Sfoglia, e scegli un’altra cartella. + Text Italian= + Text Italian=Puoi scegliere di non installare %APPTITLE% facendo clic su Annulla per uscire dal programma di installazione + Text Danish=Installationsprogrammet installerer %APPTITLE% i denne mappe. + Text Danish= + Text Danish=Man installerer i en anden mappe ved at klikke på Browse og vælge en anden mappe. + Text Danish= + Text Danish=Man kan vælge ikke at installere %APPTITLE% ved at klikke på Slet og forlade installationsprogrammet. + Text Dutch=Het installatieprogramma installeert %APPTITLE% in de volgende directory. + Text Dutch= + Text Dutch=Als u het in een andere directory wilt installeren, klik dan op Bladeren en kies een andere locatie. + Text Dutch= + Text Dutch=U kunt ervoor kiezen om %APPTITLE% niet te installeren: klik op Annuleren om het installatieprogramma te verlaten. + Text Norwegian=Oppsett vil installere %APPTITLE% i følgende mappe. + Text Norwegian= + Text Norwegian=For å installere i en annen mappe, klikk Bla igjennom og velg en annen mappe. + Text Norwegian= + Text Norwegian=Du kan velge å ikke installere %APPTITLE% ved å velge Avbryt for å gå ut av Oppsett. + Text Swedish=Installationsprogrammet installerar %APPTITLE% i följande mapp. + Text Swedish= + Text Swedish=Om du vill att installationen ska göras i en annan mapp, klickar du på Bläddra och väljer en annan mapp. + Text Swedish= + Text Swedish=Du kan välja att inte installera %APPTITLE% genom att klicka på Avbryt för att lämna installationsprogrammet. + end + item: Static + Rectangle=90 134 260 162 + Action=1 + Create Flags=01010000000000000000000000000111 + Text=Destination Folder + Text French=Répertoire de destination + Text German=Zielordner + Text Portuguese=Pasta de Destino + Text Spanish=Carpeta de Destino + Text Italian=Cartella di destinazione + Text Danish=Destinationsmappe + Text Dutch=Doeldirectory + Text Norwegian=Målmappe + Text Swedish=Destinationsmapp + end + item: Push Button + Rectangle=213 143 255 157 + Variable=MAINDIR_SAVE + Value=%MAINDIR% + Destination Dialog=1 + Action=2 + Create Flags=01010000000000010000000000000000 + Text=B&rowse... + Text French=P&arcourir + Text German=B&lättern... + Text Portuguese=P&rocurar + Text Spanish=V&isualizar... + Text Italian=Sfoglia... + Text Danish=&Gennemse... + Text Dutch=B&laderen... + Text Norwegian=Bla igjennom + Text Swedish=&Bläddra + end + item: Static + Rectangle=95 146 211 157 + Destination Dialog=2 + Create Flags=01010000000000000000000000000000 + Text=%MAINDIR% + Text French=%MAINDIR% + Text German=%MAINDIR% + Text Portuguese=%MAINDIR% + Text Spanish=%MAINDIR% + Text Italian=%MAINDIR% + Text Danish=%MAINDIR% + Text Dutch=%MAINDIR% + Text Norwegian=%MAINDIR% + Text Swedish=%MAINDIR% + end + end + item: Dialog + Title=Select Destination Directory + Title French=Choisissez le répertoire de destination + Title German=Zielverzeichnis wählen + Title Portuguese=Seleccionar Directório de Destino + Title Spanish=Seleccione el Directorio de Destino + Title Italian=Seleziona Directory di destinazione + Title Danish=Vælg Destinationsbibliotek + Title Dutch=Kies doeldirectory + Title Norwegian=Velg målkatalog + Title Swedish=Välj destinationskalatog + Width=221 + Height=173 + Font Name=Helv + Font Size=8 + item: Listbox + Rectangle=5 2 160 149 + Variable=MAINDIR + Create Flags=01010000100000010000000101000000 + Flags=0000110000100010 + Text=%MAINDIR% + Text French=%MAINDIR% + Text German=%MAINDIR% + Text Portuguese=%MAINDIR% + Text Spanish=%MAINDIR% + Text Italian=%MAINDIR% + Text Danish=%MAINDIR% + Text Dutch=%MAINDIR% + Text Norwegian=%MAINDIR% + Text Swedish=%MAINDIR% + end + item: Push Button + Rectangle=167 6 212 21 + Create Flags=01010000000000010000000000000001 + Text=OK + Text French=OK + Text German=OK + Text Portuguese=OK + Text Spanish=ACEPTAR + Text Italian=OK + Text Danish=OK + Text Dutch=OK + Text Norwegian=OK + Text Swedish=OK + end + item: Push Button + Rectangle=167 25 212 40 + Variable=MAINDIR + Value=%MAINDIR_SAVE% + Create Flags=01010000000000010000000000000000 + Flags=0000000000000001 + Text=Cancel + Text French=Annuler + Text German=Abbrechen + Text Portuguese=Cancelar + Text Spanish=Cancelar + Text Italian=Annulla + Text Danish=Slet + Text Dutch=Annuleren + Text Norwegian=Avbryt + Text Swedish=Avbryt + end + end +end +item: Custom Dialog Set + Name=Select Packages + Display Variable=DISPLAY + item: Dialog + Title=Select Packages + Width=271 + Height=224 + Font Name=Helv + Font Size=8 + item: Push Button + Rectangle=150 187 195 202 + Variable=DIRECTION + Value=N + Create Flags=01010000000000010000000000000001 + Text=&Next > + Text French=&Suite > + Text German=&Weiter > + Text Spanish=&Siguiente > + Text Italian=&Avanti > + end + item: Push Button + Rectangle=105 187 150 202 + Variable=DIRECTION + Value=B + Create Flags=01010000000000010000000000000000 + Text=< &Back + Text French=< &Retour + Text German=< &Zurück + Text Spanish=< &Atrás + Text Italian=< &Indietro + end + item: Push Button + Rectangle=211 187 256 202 + Action=3 + Create Flags=01010000000000010000000000000000 + Text=&Cancel + Text French=&Annuler + Text German=&Abbrechen + Text Spanish=&Cancelar + Text Italian=&Annulla + end + item: Static + Rectangle=8 180 256 181 + Action=3 + Create Flags=01010000000000000000000000000111 + end + item: Static + Rectangle=86 8 258 28 + Create Flags=01010000000000000000000000000000 + Flags=0000000000000001 + Name=Times New Roman + Font Style=-24 0 0 0 700 255 0 0 0 3 2 1 18 + Text=Select Packages + Text French=Sélectionner les composants + Text German=Komponenten auswählen + Text Spanish=Seleccione componentes + Text Italian=Selezionare i componenti + end + item: Checkbox + Rectangle=83 62 211 146 + Variable=COMPONENTS LIBS,COMM,OA,OS,PROG,WP,GAMES + Create Flags=01010000000000010000000000000011 + Flags=0000000000000110 + Text=Libraries + Text=Communication + Text=Productivity + Text=Operating System + Text=Programming + Text=Word Processing + Text=Games and Amusements + Text= + end + item: Static + Rectangle=194 162 242 172 + Variable=COMPONENTS, LIBS, COMM, OA, OS, PROG, WP, GAMES + Value=MAINDIR + Create Flags=01010000000000000000000000000010 + end + item: Static + Rectangle=194 153 242 162 + Variable=COMPONENTS, LIBS, COMM, OA, OS, PROG, WP, GAMES + Create Flags=01010000000000000000000000000010 + end + item: Static + Rectangle=107 153 196 164 + Create Flags=01010000000000000000000000000000 + Text=Disk Space Required: + Text French=Espace disque requis : + Text German=Notwendiger Speicherplatz: + Text Spanish=Espacio requerido en el disco: + Text Italian=Spazio su disco necessario: + end + item: Static + Rectangle=107 162 196 172 + Create Flags=01010000000000000000000000000000 + Text=Disk Space Remaining: + Text French=Espace disque disponible : + Text German=Verbleibender Speicherplatz: + Text Spanish=Espacio en disco disponible: + Text Italian=Spazio su disco disponibile: + end + item: Static + Rectangle=80 146 256 175 + Action=1 + Create Flags=01010000000000000000000000000111 + end + item: Static + Rectangle=83 30 256 57 + Create Flags=01010000000000000000000000000000 + Text=Choose which package categories to install by checking the boxes below. Press the Options buttons to select individual packages. + Text French=Choisissez les composants que vous voulez installer en cochant les cases ci-dessous. + Text German=Wählen Sie die zu installierenden Komponenten, indem Sie in die entsprechenden Kästchen klicken. + Text Spanish=Elija los componentes que desee instalar marcando los cuadros de abajo. + Text Italian=Scegliere quali componenti installare selezionando le caselle sottostanti. + end + item: Push Button + Rectangle=230 62 254 72 + Variable=LIBS_SAVE + Value=%LIBS% + Destination Dialog=1 + Action=2 + Create Flags=01010000000000010000000000000000 + Text=Options + Text French=&Annuler + Text German=&Abbrechen + Text Spanish=&Cancelar + Text Italian=&Annulla + end + item: Push Button + Rectangle=230 74 254 84 + Variable=COMM_SAVE + Value=%COMM% + Destination Dialog=2 + Action=2 + Create Flags=01010000000000010000000000000000 + Text=Options + Text French=&Annuler + Text German=&Abbrechen + Text Spanish=&Cancelar + Text Italian=&Annulla + end + item: Push Button + Rectangle=230 86 254 96 + Variable=OA_SAVE + Value=%OA% + Destination Dialog=3 + Action=2 + Create Flags=01010000000000010000000000000000 + Text=Options + Text French=&Annuler + Text German=&Abbrechen + Text Spanish=&Cancelar + Text Italian=&Annulla + end + item: Push Button + Rectangle=230 98 254 108 + Variable=OS_SAVE + Value=%OS% + Destination Dialog=4 + Action=2 + Create Flags=01010000000000010000000000000000 + Text=Options + Text French=&Annuler + Text German=&Abbrechen + Text Spanish=&Cancelar + Text Italian=&Annulla + end + item: Push Button + Rectangle=230 110 254 120 + Variable=PROG_SAVE + Value=%PROG% + Destination Dialog=5 + Action=2 + Create Flags=01010000000000010000000000000000 + Text=Options + Text French=&Annuler + Text German=&Abbrechen + Text Spanish=&Cancelar + Text Italian=&Annulla + end + item: Push Button + Rectangle=230 122 254 132 + Variable=WP_SAVE + Value=%WP% + Destination Dialog=6 + Action=2 + Create Flags=01010000000000010000000000000000 + Text=Options + Text French=&Annuler + Text German=&Abbrechen + Text Spanish=&Cancelar + Text Italian=&Annulla + end + item: Push Button + Rectangle=230 134 254 144 + Variable=GAMES_SAVE + Value=%GAMES% + Destination Dialog=7 + Action=2 + Create Flags=01010000000000010000000000000000 + Text=Options + Text French=&Annuler + Text German=&Abbrechen + Text Spanish=&Cancelar + Text Italian=&Annulla + end + item: Set Variable + Variable=COMPONENTS + Value=X + Flags=00000001 + end + end +<<>> +end +item: Custom Dialog Set + Name=Select Program Manager Group + Display Variable=DISPLAY + item: Dialog + Title=Select Program Manager Group + Title French=Sélectionnez le Groupe du Gestionnaire de Programmes + Title German=Programm-Managergruppe wählen + Title Portuguese=Seleccionar o Grupo Gestor de Programas + Title Spanish=Seleccione el Grupo del Administrador del Programa + Title Italian=Seleziona il gruppo Program Manager + Title Danish=Vælg Programstyringsgruppen + Title Dutch=Kies Programmabeheergroep. + Title Norwegian=Velg Programbehandlingsgruppen + Title Swedish=Välj grupp i Programhanteraren + Width=280 + Height=224 + Font Name=Helv + Font Size=8 + item: Push Button + Rectangle=172 185 214 199 + Variable=DIRECTION + Value=N + Create Flags=01010000000000010000000000000001 + Text=&Next > + Text French=&Suivant> + Text German=&Weiter> + Text Portuguese=&Próximo> + Text Spanish=&Siguiente > + Text Italian=&Avanti > + Text Danish=&Næste> + Text Dutch=&Volgende> + Text Norwegian=&Neste> + Text Swedish=&Nästa > + end + item: Push Button + Rectangle=130 185 172 199 + Variable=DIRECTION + Value=B + Create Flags=01010000000000010000000000000000 + Flags=0000000000000001 + Text=< &Back + Text French=<&Retour + Text German=<&Zurück + Text Portuguese=<&Retornar + Text Spanish=<&Retroceder + Text Italian=< &Indietro + Text Danish=<&Back + Text Dutch=<&Terug + Text Norwegian=<&Tilbake + Text Swedish=< &Tillbaka + end + item: Push Button + Rectangle=222 185 264 199 + Action=3 + Create Flags=01010000000000010000000000000000 + Text=Cancel + Text French=Annuler + Text German=Abbrechen + Text Portuguese=Cancelar + Text Spanish=Cancelar + Text Italian=Annulla + Text Danish=Slet + Text Dutch=Annuleren + Text Norwegian=Avbryt + Text Swedish=Avbryt + end + item: Static + Rectangle=9 177 263 178 + Action=3 + Create Flags=01010000000000000000000000000111 + end + item: Static + Rectangle=90 10 260 38 + Create Flags=01010000000000000000000000000000 + Text=Enter the name of the Program Manager group to add %APPTITLE% icons to: + Text French=Entrez le nom du groupe du Gestionnaire de Programmes où placer les icônes %APPTITLE% à : + Text German=Den Namen der Programm-Managergruppe wählen, in der die %APPTITLE%-Symbole gespeichert werden sollen: + Text Portuguese=Introduzir o nome do Grupo Gestor de Programa para acrescentar os ícones %APPTITLE% para: + Text Spanish=Introduzca el nombre del grupo del Administrador del Programa para añadir los iconos %APPTITLE para: + Text Italian=Inserisci il nome del gruppo Program Manager per aggiungere le icone di %APPTITLE% a: + Text Danish=Indtast navnet på Programstyringsgruppen der skal tilføjes %APPTITLE% elementer: + Text Dutch=Breng de naam van de programmabeheergroep in waaraan u %APPTITLE%-pictogrammen wilt toevoegen. + Text Norwegian=Tast inn navnet på programbehandlingsgruppen for å legge %APPTITLE%-ikoner til: + Text Swedish=Skriv in namnet på den grupp i Programhanteraren där du vill ha ikonerna för %APPTITLE%: + end + item: Combobox + Rectangle=90 42 260 148 + Variable=GROUP + Create Flags=01010000001000010000001100000001 + Flags=0000000000000001 + Text=%GROUP% + Text= + Text French=%GROUP% + Text French= + Text German=%GROUP% + Text German= + Text Portuguese=%GROUP% + Text Portuguese= + Text Spanish=%GROUP% + Text Spanish= + Text Italian=%GROUP% + Text Italian= + Text Danish=%GROUP% + Text Danish= + Text Dutch=%GROUP% + Text Dutch= + Text Norwegian=%GROUP% + Text Norwegian= + Text Swedish=%GROUP% + Text Swedish= + end + end +end +item: Custom Dialog Set + Name=Start Installation + Display Variable=DISPLAY + item: Dialog + Title=Start Installation + Title French=Commencer l'installation + Title German=Installation beginnen + Title Portuguese=Iniciar Instalação + Title Spanish=Comenzar la Instalación + Title Italian=Avvia Installazione + Title Danish=Start installationen + Title Dutch=Start de installatie. + Title Norwegian=Start installeringen + Title Swedish=Starta installationen + Width=280 + Height=224 + Font Name=Helv + Font Size=8 + item: Push Button + Rectangle=172 185 214 199 + Variable=DIRECTION + Value=N + Create Flags=01010000000000010000000000000001 + Text=&Next > + Text French=&Suivant> + Text German=&Weiter> + Text Portuguese=&Próximo> + Text Spanish=&Siguiente > + Text Italian=&Avanti > + Text Danish=&Næste> + Text Dutch=&Volgende> + Text Norwegian=&Neste> + Text Swedish=&Nästa > + end + item: Push Button + Rectangle=130 185 172 199 + Variable=DIRECTION + Value=B + Create Flags=01010000000000010000000000000000 + Text=< &Back + Text French=<&Retour + Text German=<&Zurück + Text Portuguese=<&Retornar + Text Spanish=<&Retroceder + Text Italian=< &Indietro + Text Danish=<&Tilbage + Text Dutch=<&Terug + Text Norwegian=<&Tilbake + Text Swedish=< &Tillbaka + end + item: Push Button + Rectangle=222 185 264 199 + Action=3 + Create Flags=01010000000000010000000000000000 + Text=Cancel + Text French=Annuler + Text German=Abbrechen + Text Portuguese=Cancelar + Text Spanish=Cancelar + Text Italian=Annulla + Text Danish=Annuller + Text Dutch=Annuleren + Text Norwegian=Avbryt + Text Swedish=Avbryt + end + item: Static + Rectangle=9 177 263 178 + Action=3 + Create Flags=01010000000000000000000000000111 + end + item: Static + Rectangle=90 10 260 70 + Create Flags=01010000000000000000000000000000 + Text=You are now ready to install %APPTITLE%. + Text= + Text=Press the Next button to begin the installation or the Back button to reenter the installation information. + Text French=Vous êtes maintenant prêt à installer %APPTITLE% + Text French= + Text French=Cliquez sur Suivant pour commencer l'installation ou Retour pour entrer à nouveau les informations d'installation + Text German=Sie sind jetzt zur Installation von %APPTITLE% bereit. + Text German= + Text German=Auf die Schaltfläche Weiter klicken, um mit dem Start der Installation zu beginnen, oder auf die Schaltfläche Zurück, um die Installationsinformationen nochmals aufzurufen. + Text Portuguese=Está agora pronto para instalar %APPTITLE% + Text Portuguese= + Text Portuguese=Pressione o botão Próximo para começar a instalação ou o botão Retornar para introduzir novamente a informação sobre a instalação + Text Spanish=Ahora estará listo para instalar %APPTITLE%. + Text Spanish= + Text Spanish=Pulse el botón de Próximo para comenzar la instalación o el botón Retroceder para volver a introducir la información sobre la instalación. + Text Italian=Sei pronto ad installare %APPTITLE%. + Text Italian= + Text Italian=Premi il tasto Avanti per iniziare l’installazione o il tasto Indietro per rientrare nuovamente nei dati sull’installazione + Text Danish=Du er nu klar til at installere %APPTITLE%. + Text Danish= + Text Danish=Klik på Næste for at starte installationen eller på Tilbage for at ændre installationsoplysningerne. + Text Dutch=U bent nu klaar om %APPTITLE% te installeren. + Text Dutch= + Text Dutch=Druk op Volgende om met de installatie te beginnen of op Terug om de installatie-informatie opnieuw in te voeren. + Text Norwegian=Du er nå klar til å installere %APPTITLE% + Text Norwegian= + Text Norwegian=Trykk på Neste-tasten for å starte installeringen, eller Tilbake-tasten for å taste inn installasjonsinformasjonen på nytt. + Text Swedish=Du är nu redo att installera %APPTITLE%. + Text Swedish= + Text Swedish=Tryck på Nästa för att starta installationen eller på Tillbaka för att skriva in installationsinformationen på nytt. + end + end +end +item: If/While Statement + Variable=DISPLAY + Value=Select Destination Directory +end +item: Set Variable + Variable=BACKUP + Value=%MAINDIR%\BACKUP +end +item: End Block +end +item: End Block +end +item: If/While Statement + Variable=DOBACKUP + Value=A +end +item: Set Variable + Variable=BACKUPDIR + Value=%BACKUP% +end +item: End Block +end +item: Open/Close INSTALL.LOG +end +item: Check Disk Space + Component=COMPONENTS +end +item: Display Graphic + Pathname=<<>>\nt\Wise\xemacs-beta.bmp + X Position=32784 + Y Position=16 +end +item: Include Script + Pathname=%_WISE_%\INCLUDE\uninstal.wse +end +<<>> +<<>> +<<>> +<<>> +item: Set Variable + Variable=COMMON + Value=%COMMON% + Flags=00010100 +end +item: Set Variable + Variable=MAINDIR + Value=%MAINDIR% + Flags=00010100 +end +item: Check Configuration + Flags=10111011 +end +item: Get Registry Key Value + Variable=STARTUPDIR + Key=Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders + Default=%WIN%\Start Menu\Programs\StartUp + Value Name=StartUp + Flags=00000010 +end +item: Get Registry Key Value + Variable=DESKTOPDIR + Key=Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders + Default=%WIN%\Desktop + Value Name=Desktop + Flags=00000010 +end +item: Get Registry Key Value + Variable=STARTMENUDIR + Key=Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders + Default=%WIN%\Start Menu + Value Name=Start Menu + Flags=00000010 +end +item: Get Registry Key Value + Variable=GROUPDIR + Key=Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders + Default=%WIN%\Start Menu\Programs + Value Name=Programs + Flags=00000010 +end +item: Get Registry Key Value + Variable=CSTARTUPDIR + Key=Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders + Default=%STARTUPDIR% + Value Name=Common Startup + Flags=00000100 +end +item: Get Registry Key Value + Variable=CDESKTOPDIR + Key=Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders + Default=%DESKTOPDIR% + Value Name=Common Desktop + Flags=00000100 +end +item: Get Registry Key Value + Variable=CSTARTMENUDIR + Key=Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders + Default=%STARTMENUDIR% + Value Name=Common Start Menu + Flags=00000100 +end +item: Get Registry Key Value + Variable=CGROUPDIR + Key=Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders + Default=%GROUPDIR% + Value Name=Common Programs + Flags=00000100 +end +item: Set Variable + Variable=CGROUP_SAVE + Value=%GROUP% +end +item: Set Variable + Variable=GROUP + Value=%GROUPDIR%\%GROUP% +end +item: Create Shortcut + Source=%MAINDIR%\<<>>\i386-pc-win32\runemacs.exe + Destination=%GROUP%\XEmacs.lnk + Working Directory=\ + Icon Number=0 +end +item: Create Shortcut + Source=%MAINDIR%\<<>>\i386-pc-win32\runemacs.exe + Destination=%DESKTOPDIR%\XEmacs.lnk + Working Directory=\ + Icon Number=0 +end +item: Else Statement +end +item: Add ProgMan Icon + Group=%GROUP% + Icon Name=XEmacs + Command Line=%MAINDIR%\<<>>\i386-pc-win32\runemacs.exe + Default Directory=\ + Flags=01000000 +end +item: End Block +end +item: Edit Registry + Total Keys=16 + item: Key + Key=SOFTWARE\GNU\XEmacs + New Value=%MAINDIR% + Value Name=emacs_dir + Root=2 + end + item: Key + Key=SOFTWARE\GNU\XEmacs + New Value=%MAINDIR%\xemacs-packages + Value Name=EMACSPACKAGEPATH + Root=2 + end + item: Key + Key=SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\runemacs.exe + New Value=%MAINDIR%\<<>>\i386-pc-win32 + Value Name=Path + Root=2 + end + item: Key + Key=SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\xemacs.exe + New Value=%MAINDIR%\<<>>\i386-pc-win32 + Value Name=Path + Root=2 + end + item: Key + Key=.el + New Value=elfile + end + item: Key + Key=.el + New Value=text/plain + Value Name=Content Type + end + item: Key + Key=elfile + New Value=Emacs lisp + end + item: Key + Key=elfile + New Value=00 00 01 00 + Value Name=EditFlags + Data Type=4 + end + item: Key + Key=elfile\DefaultIcon + New Value=%MAINDIR%\<<>>\i386-pc-win32\runemacs.exe,2 + end + item: Key + Key=elfile\QuickView + New Value=* + end + item: Key + Key=elfile\Shell + New Value= + end + item: Key + Key=elfile\Shell\open + end + item: Key + Key=elfile\Shell\open\command + New Value=%MAINDIR%\<<>>\i386-pc-win32\runemacs.exe "%%1" + end + item: Key + Key=elfile\Shell\open\ddeexec + New Value=open("%%1") + end + item: Key + Key=elfile\Shell\open\ddeexec\Application + New Value=XEmacs + New Value= + end + item: Key + Key=elfile\Shell\open\ddeexec\topic + New Value=System + end +end +item: Wizard Block + Direction Variable=DIRECTION + Display Variable=DISPLAY + Bitmap Pathname=<<>>\nt\Wise\gnu.bmp + X Position=9 + Y Position=10 + Filler Color=8421440 + Flags=00000011 +end +item: Custom Dialog Set + Name=Finished + Display Variable=DISPLAY + item: Dialog + Title=Installation Complete + Title French=Installation en cours + Title German=Installation abgeschlossen + Title Portuguese=Instalação Completa + Title Spanish=Se ha completado la Instalación + Title Italian=Installazione completata + Title Danish=Installation gennemført + Title Dutch=Installatie afgerond + Title Norwegian=Installasjonen er fullført + Title Swedish=Installationen klar + Width=280 + Height=224 + Font Name=Helv + Font Size=8 + item: Push Button + Rectangle=170 185 212 199 + Variable=DIRECTION + Value=N + Create Flags=01010000000000010000000000000001 + Text=&Finish > + Text French=&Terminer> + Text German=&Fertigstellen> + Text Portuguese=&Terminar > + Text Spanish=&Finalizar> + Text Italian=&Fine > + Text Danish=&Afslut > + Text Dutch=&Klaar> + Text Norwegian=&Avslutt> + Text Swedish=&Sluta> + end + item: Push Button + Control Name=CANCEL + Rectangle=222 185 264 199 + Action=3 + Create Flags=01010000000000010000000000000000 + Text=Cancel + Text French=Annuler + Text German=Abbrechen + Text Portuguese=Cancelar + Text Spanish=Cancelar + Text Italian=Annulla + Text Danish=Annuller + Text Dutch=Annuleren + Text Norwegian=Avbryt + Text Swedish=Avbryt + end + item: Static + Rectangle=9 177 263 178 + Action=3 + Create Flags=01010000000000000000000000000111 + end + item: Static + Rectangle=90 10 260 63 + Enabled Color=00000000000000001111111111111111 + Create Flags=01010000000000000000000000000000 + Text=%APPTITLE% has been successfully installed. + Text= + Text= + Text=Press the Finish button to exit this installation. + Text= + Text French=L'installation de %APPTITLE% est réussie + Text French= + Text French= + Text French=Cliquez sur Terminer pour quitter cette installation + Text French= + Text German=%APPTITLE% wurde erfolgreich installiert. + Text German= + Text German= + Text German=Zum Beenden dieser Installation Fertigstellen anklicken. + Text German= + Text Portuguese=%APPTITLE% foi instalado com êxito + Text Portuguese= + Text Portuguese= + Text Portuguese=Pressionar o botão Terminar para sair desta instalação + Text Portuguese= + Text Spanish=%APPTITLE% se ha instalado con éxito. + Text Spanish= + Text Spanish= + Text Spanish=Pulse el botón de Finalizar para salir de esta instalación. + Text Spanish= + Text Italian=%APPTITLE% è stato installato. + Text Italian= + Text Italian= + Text Italian=Premi il pulsante Fine per uscire dal programma di installazione + Text Italian= + Text Danish=%APPTITLE% er nu installeret korrekt. + Text Danish= + Text Danish= + Text Danish=Klik på Afslut for at afslutte installationen. + Text Danish= + Text Dutch=%APPTITLE% is met succes geïnstalleerd. + Text Dutch= + Text Dutch= + Text Dutch=Druk op Klaar om deze installatie af te ronden. + Text Dutch= + Text Norwegian=Installasjonen av %APPTITLE% er suksessfull. + Text Norwegian= + Text Norwegian= + Text Norwegian=Trykk på Avslutt-tasten for å avslutte denne installasjonen. + Text Norwegian= + Text Swedish=Installationen av %APPTITLE% har lyckats. + Text Swedish= + Text Swedish= + Text Swedish=Tryck på Sluta för att gå ur installationsprogrammet. + Text Swedish= + end + item: Push Button + Control Name=BACK + Rectangle=128 185 170 199 + Variable=DIRECTION + Value=B + Create Flags=01010000000000010000000000000000 + Text=< &Back + Text French=<&Retour + Text German=<&Zurück + Text Portuguese=<&Retornar + Text Spanish=<&Retroceder + Text Italian=< &Indietro + Text Danish=<&Tilbage + Text Dutch=<&Terug + Text Norwegian=<&Tilbake + Text Swedish=< &Tillbaka + end + item: Set Control Attribute + Control Name=BACK + Operation=1 + end + item: Set Control Attribute + Control Name=CANCEL + Operation=1 + end + end +end +item: End Block +end +item: New Event + Name=Cancel +end +item: Include Script + Pathname=%_WISE_%\INCLUDE\rollback.wse +end diff --git a/src/ChangeLog b/src/ChangeLog index 6ff57f3..b4538dd 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -5579,6 +5579,646 @@ (Vcharset_thai_tis620): Likewise. (Vcharset_katakana_jisx0201): Likewise. +2005-02-06 Vin Shelton + + * XEmacs 21.4.17 is released + +2005-01-31 Ben Wing + + * emacs.c: + Define assert_failed() always. + * lisp.h: + Always define ABORT(). + +2005-01-25 Ben Wing + + * Makefile.in.in: + * Makefile.in.in (%.o): + Don't compile executable as Windows (-mwindows) under Cygwin. + Semi-recent changes to Cygwin's executable-startup handling make + it impossible to access the TTY this way. + + Don't use special linker file under Cygwin (cygwin.sc) except + when non-PDUMP (even in this case it is highly questionable); you + get errors like + + 1 [main] temacs 1364 fhandler_console::fixup_after_exec: error opening input console handle after exec, errno 13, Win32 error 5 + 5820 [main] temacs 1364 fhandler_console::fixup_after_exec: error opening output console handle after exec, errno 13, Win32 error 5 + +2005-01-29 Ben Wing + + Port this: 2003-08-14 Stephen J. Turnbull + + * mule-charset.c (get_unallocated_leading_byte): Compiler quietus. + +2005-01-29 Ben Wing + + * bytecode.c (optimize_compiled_function): + * print.c (FROB): + * print.c (long_to_string): + Add casts to avoid warning. + + * glyphs-eimage.c: + Some really nasty hacks to allow TIFF and JPEG to both be compiled. + #### The better solution is to move the TIFF and JPEG code to + different files. + + * glyphs-msw.c (mswindows_xbm_instantiate): + Define __STDC__ to avoid problems with compface.h. + + * EmacsFrame.c (EmacsFrameRecomputeCellSize): + * EmacsShell-sub.c: + * EmacsShell-sub.c (ABORT): + * EmacsShell-sub.c (SuperClassRootGeometryManager): + * EmacsShell-sub.c (RootGeometryManager): + * EmacsShell.c: + * EmacsShell.c (ABORT): + * EmacsShell.c (EmacsShellUpdateSizeHints): + * alloc.c (free_lcrecord): + * alloca.c (i00afunc): + * buffer.c (delete_from_buffer_alist): + * buffer.c (MARKED_SLOT): + * bytecode.c (execute_rare_opcode): + * bytecode.c (optimize_byte_code): + * bytecode.c (Ffetch_bytecode): + * chartab.c (char_table_type_to_symbol): + * chartab.c (Freset_char_table): + * chartab.c (decode_char_table_range): + * chartab.c (Fget_range_char_table): + * chartab.c (check_valid_char_table_value): + * chartab.c (map_char_table): + * chartab.c (slow_map_char_table_fun): + * chartab.c (chartab_instantiate): + * cm.c (cmcheckmagic): + * console-msw.c (DHEADER): + * console.c (MARKED_SLOT): + * data.c (finish_marking_weak_lists): + * data.c (encode_weak_list_type): + * debug.h (DASSERT): + * device-gtk.c (gtk_init_device): + * device-msw.c (mswindows_get_default_margin): + * device-tty.c (tty_init_device): + * device-x.c (get_device_from_display): + * device-x.c (x_get_visual_depth): + * doprnt.c (parse_doprnt_spec): + * doprnt.c (get_doprnt_args): + * dumper.c (pdump_get_indirect_count): + * dumper.c (pdump_register_sub): + * dumper.c (pdump_register_object): + * dumper.c (pdump_register_struct): + * dumper.c (pdump_dump_data): + * dumper.c (pdump_reloc_one): + * elhash.c (print_hash_table): + * elhash.c (make_standard_lisp_hash_table): + * elhash.c (hash_table_instantiate): + * emacs.c: + * emacs.c (Fforce_debugging_signal): + * emacs.c (sort_args): + * emacs.c (main): + * emacs.c (assert_failed): + * eval.c (throw_or_bomb_out): + * eval.c (signal_1): + * eval.c (Fsignal): + * event-Xt.c: + * event-Xt.c (emacs_Xt_mapping_action): + * event-Xt.c (Xt_process_to_emacs_event): + * event-msw.c: + * event-stream.c (check_event_stream_ok): + * event-stream.c (Fadd_timeout): + * event-stream.c (Fadd_async_timeout): + * event-stream.c (Fdiscard_input): + * event-stream.c (execute_internal_event): + * event-stream.c (Frecent_keys): + * event-stream.c (extract_this_command_keys_nth_mouse_event): + * event-stream.c (lookup_command_event): + * event-unixoid.c (poll_fds_for_input): + * events.c: + * events.c (mark_event): + * events.c (event_equal): + * events.c (event_hash): + * events.c (Fmake_event): + * events.c (Fdeallocate_event): + * events.c (event_chain_find_previous): + * events.c (event_to_character): + * events.c (format_event_object): + * events.c (Fevent_type): + * events.c (event_pixel_translation): + * events.c (Fevent_properties): + * extents.c (extent_in_region_p): + * extents.c (print_extent): + * extents.c (process_extents_for_insertion_mapper): + * extents.c (report_extent_modification_mapper): + * extents.c (glyph_layout_to_symbol): + * faces.c (face_validate): + * file-coding.c (eol_type_to_symbol): + * file-coding.c (subsidiary_coding_system): + * file-coding.c (Fcoding_system_type): + * file-coding.c (Fcoding_system_property): + * file-coding.c (mule_decode): + * file-coding.c (mule_encode): + * file-coding.c (encode_coding_ucs4): + * file-coding.c (encode_coding_utf8): + * file-coding.c (parse_iso2022_esc): + * file-coding.c (encode_coding_iso2022): + * fileio.c: + * fns.c (concat): + * fns.c (Fsubseq): + * fns.c (mapcar1): + * fns.c (Fbase64_encode_region): + * fns.c (Fbase64_encode_string): + * fns.c (Fbase64_decode_region): + * fns.c (Fbase64_decode_string): + * font-lock.c (find_context): + * font-lock.c (context_to_symbol): + * frame-gtk.c (gtk_set_frame_pointer): + * frame-gtk.c (gtk_update_frame_external_traits): + * frame-x.c (x_wm_mark_shell_size_user_specified): + * frame-x.c (x_wm_mark_shell_position_user_specified): + * frame-x.c (x_wm_set_shell_iconic_p): + * frame-x.c (x_wm_set_cell_size): + * frame-x.c (x_wm_set_variable_size): + * frame-x.c (x_wm_store_class_hints): + * frame-x.c (x_wm_maybe_store_wm_command): + * frame-x.c (x_initialize_frame_size): + * frame-x.c (x_update_frame_external_traits): + * frame.c: + * frame.c (delete_frame_internal): + * frame.c (mouse_pixel_position_1): + * frame.c (change_frame_size_1): + * free-hook.c (check_free): + * free-hook.c (check_realloc): + * free-hook.c (note_block_input): + * free-hook.c (log_gcpro): + * gccache-gtk.c (gc_cache_lookup): + * glyphs-eimage.c (tiff_memory_write): + * glyphs-gtk.c (gtk_finalize_image_instance): + * glyphs-gtk.c (init_image_instance_from_gdk_pixmap): + * glyphs-gtk.c (init_image_instance_from_xbm_inline): + * glyphs-gtk.c (gtk_xpm_instantiate): + * glyphs-gtk.c (gtk_unmap_subwindow): + * glyphs-gtk.c (gtk_map_subwindow): + * glyphs-gtk.c (gtk_button_redisplay): + * glyphs-msw.c: + * glyphs-msw.c (init_image_instance_from_xbm_inline): + * glyphs-x.c (init_image_instance_from_xbm_inline): + * glyphs-x.c (extract_xpm_color_names): + * glyphs-x.c (x_xpm_instantiate): + * glyphs.c (get_image_instantiator_governing_domain): + * glyphs.c (print_image_instance): + * glyphs.c (image_instance_equal): + * glyphs.c (image_instance_hash): + * glyphs.c (encode_image_instance_type): + * glyphs.c (make_image_instance_1): + * glyphs.c (inherit_instantiate): + * glyphs.c (image_instantiate): + * glyphs.c (allocate_glyph): + * glyphs.c (Fglyph_type): + * glyphs.c (redisplay_subwindow): + * glyphs.c (display_table_entry): + * gtk-glue.c (xemacs_list_to_gtklist): + * gtk-glue.c (xemacs_gtklist_to_list): + * gtk-glue.c (xemacs_list_to_array): + * gutter.c (SET_GUTTER_WAS_VISIBLE_FLAG): + * gutter.c (gutter_was_visible): + * gutter.c (get_gutter_coords): + * input-method-xlib.c (get_XIM_input): + * insdel.c (bufpos_to_bytind_func): + * insdel.c (bytind_to_bufpos_func): + * insdel.c (move_gap): + * intl.c (x_get_composed_input): + * keymap.c (keymap_lookup_directly): + * keymap.c (keymap_delete_inverse_internal): + * keymap.c (ensure_meta_prefix_char_keymapp): + * keymap.c (accessible_keymaps_mapper_1): + * keymap.c (where_is_recursive_mapper): + * lisp.h: + * lisp.h (ABORT): + * lread.c (read_atom): + * lstream.c (Lstream_delete): + * lstream.c (make_lisp_buffer_stream_1): + * macros.c (pop_kbd_macro_event): + * malloc.c (malloc): + * malloc.c (free): + * marker.c (bi_marker_position): + * marker.c (set_bi_marker_position): + * menubar-gtk.c (menu_descriptor_to_widget_1): + * menubar-msw.c (prune_menubar): + * menubar-x.c (set_frame_menubar): + * mule-charset.c (get_unallocated_leading_byte): + * mule-charset.h (CHAR_LEADING_BYTE): + * native-gtk-toolbar.c (SET_TOOLBAR_WAS_VISIBLE_FLAG): + * nt.c (init_environment): + * nt.c (generate_inode_val): + * ntproc.c (delete_child): + * ntproc.c (_sys_read_ahead): + * ntproc.c (create_child): + * objects.c (color_instantiate): + * objects.c (font_instantiate): + * objects.c (face_boolean_instantiate): + * print.c (printing_major_badness): + * process-nt.c (nt_send_process): + * process-unix.c (unix_send_process): + * process.c (get_process): + * ralloc.c (obtain): + * ralloc.c (relinquish): + * ralloc.c (relocate_blocs): + * ralloc.c (resize_bloc): + * ralloc.c (r_alloc_free): + * ralloc.c (r_re_alloc): + * ralloc.c (r_alloc_thaw): + * ralloc.c (init_ralloc): + * ralloc.c (Free_Addr_Block): + * ralloc.c (r_alloc): + * redisplay-gtk.c (gtk_output_display_block): + * redisplay-msw.c (mswindows_output_display_block): + * redisplay-output.c (get_next_display_block): + * redisplay-output.c (get_cursor_size_and_location): + * redisplay-output.c (redisplay_output_layout): + * redisplay-output.c (redisplay_clear_region): + * redisplay-tty.c (tty_output_display_block): + * redisplay-x.c (x_output_display_block): + * redisplay.c (add_propagation_runes): + * redisplay.c (add_glyph_rune): + * redisplay.c (create_text_block): + * redisplay.c (add_margin_runes): + * redisplay.c (create_left_glyph_block): + * redisplay.c (create_right_glyph_block): + * redisplay.c (create_string_text_block): + * redisplay.c (regenerate_window): + * redisplay.c (REGEN_INC_FIND_START_END): + * redisplay.c (redisplay_frame): + * redisplay.c (point_in_line_start_cache): + * regex.c: + * regex.c (ABORT): + * regex.c (re_compile_fastmap): + * regex.c (re_match_2_internal): + * regex.c (regerror): + * scrollbar-gtk.c (gtk_scrollbar_loop): + * scrollbar-gtk.c (scrollbar_cb): + * scrollbar-gtk.c (gtk_update_frame_scrollbars): + * scrollbar-msw.c (mswindows_handle_scrollbar_event): + * scrollbar-x.c (x_update_scrollbar_instance_status): + * scrollbar-x.c (x_scrollbar_loop): + * scrollbar-x.c (x_update_frame_scrollbars): + * search.c (search_command): + * search.c (Fmatch_data): + * select-x.c (motif_clipboard_cb): + * signal.c (interrupt_signal): + * specifier.c (specifier_add_spec): + * specifier.c (specifier_instance_from_inst_list): + * specifier.c (specifier_instance): + * specifier.h: + * specifier.h (struct specifier_methods): + * strftime.c (add_num_time_t): + * sunplay.c (init_device): + * symbols.c (Fsetplist): + * symbols.c (do_symval_forwarding): + * symbols.c (store_symval_forwarding): + * symbols.c (Fset): + * symbols.c (Fbuilt_in_variable_type): + * symbols.c (decode_magic_handler_type): + * symbols.c (handler_type_from_function_symbol): + * syntax.c (update_syntax_cache): + * sysdep.c (init_baud_rate): + * toolbar-gtk.c (SET_TOOLBAR_WAS_VISIBLE_FLAG): + * toolbar-msw.c (SET_TOOLBAR_WAS_VISIBLE_FLAG): + * toolbar-x.c (SET_TOOLBAR_WAS_VISIBLE_FLAG): + * toolbar.c (get_toolbar_coords): + * ui-gtk.c (build_gtk_boxed): + * ui-gtk.c (describe_gtk_arg): + * ui-gtk.c (gtk_type_to_lisp): + * ui-gtk.c (lisp_to_gtk_type): + * ui-gtk.c (lisp_to_gtk_ret_type): + * ui-gtk.c (lisp_to_flag): + * unexnt.c (read_in_bss): + * unexnt.c (map_in_heap): + * window.c (real_window): + * window.c (window_display_lines): + * window.c (window_display_buffer): + * window.c (set_window_display_buffer): + * window.c (window_modeline_height): + * window.c (unshow_buffer): + * window.c (window_loop): + * window.c (Fget_lru_window): + * window.c (Fsplit_window): + * window.c (Fset_window_configuration): + * window.c (saved_window_index): + * xgccache.c (gc_cache_lookup): + abort() -> ABORT(). Eliminate preprocessor games with abort() + since it creates huge problems in VC7, solvable only by including + massive amounts of files in every compile (and not worth it). + + * sysdep.c: + * sysproc.h: + Inclusion of process.h does not need to be before lisp.h any more. + Move later and remove comment about abort(). + +2005-01-26 Arnaud Giersch + + * regex.c (re_match_2_internal): + Correctly initialize loop which clears uninitialized registers. + +2005-01-28 Vin Shelton + + * sheap.c (more_static_core): Applied Ben's version of the long + string patch. + +2005-01-24 Vin Shelton + + * sheap.c (more_static_core): Reformatted printf string so + gcc-3.3.3 will compile this on Cygwin. + +2004-02-22 Stephen J. Turnbull + + * console.c (function_key_map): Reference `key-binding'. + + * keymap.c (Vkey_translation_map): Improve docstring. + +2004-03-30 Zajcev Evgeny + + * window.c: Declare `allow_deletion_of_last_visible_frame' extern. + * window.c (window_loop): [fix] Take into account + `allow-deletion-of-last-visible-frame' variable. + * window.c (replace-buffer-in-windows): Ditto. + +2004-12-15 Stephen J. Turnbull + + * EmacsManager.c (EmacsManagerChangeSize): Respect XtGeometryNo. + +2005-01-20 Malcolm Purvis + + * event-gtk.c: Recognise AltGr as a valid modifier. + +2005-01-12 Ville Skyttä + + * console-x.h: #include X11/keysym.h before xintrinsic.h. + +2005-01-13 Stephen J. Turnbull + + Fix backreference bug caught by test suite. + + * regex.c (regex_compile): + Make backref duplicate internal register. + +2005-01-13 Stephen J. Turnbull + + Documentation, code clarification, and warning suppression. + + * regex.c (regex_compile): + Improve comments. + (re_match_2_internal): + Improve comments and avoid redundant braces. [Most of the big hunk + at l. 4710 is indentation; use diff -w to see the real changes.] + (alt_match_null_string_p): + (common_op_match_null_string_p): + Avoid shadowing global on Mac OS X 10.4, at least. + +2004-09-08 Stephen J. Turnbull + + * regex.c (regcomp): Fix "unsigned comparison" warning (maybe + introduced with shy groups fix). [Already applied, probably + with the second "fix shy groups" patch of 2004-10-07.] + +2005-01-10 Steve Youngs + + From Andrey Slusar : + + * unexelf.c: define `Elfw(type)' for FreeBSD alpha and amd64. + +2004-11-21 Malcolm Purvis + + * Makefile (RECURSIVE_MAKE): Removed. + * Makefile (RECURSIVE_MAKE_ARGS): New. The new method for + handling parallel builds. + +2004-09-08 Malcolm Purvis + + * Makefile.in.in: Enable support for parallel builds. + +2005-01-09 Steve Youngs + + From Andrey Slusar : + + * s/freebsd.h (LIBS_SYSTEM): Only set to "-lutil -lxpg4" if + FreeBSD version is >= 199701 _and_ < 600006. + +2005-01-06 Zajcev Evgeny + + * scrollbar.c (compute_scrollbar_instance_usage): + Only call device method compute_scrollbar_instance_usage() if it + is defined. + +2004-12-05 Vin Shelton + + * XEmacs 21.4.16 is released + +2004-12-04 Vin Shelton + + * depend: Regenerated. + +2004-10-07 Stephen J. Turnbull + + * regex.c (re_match_2_internal): Map internal to external + registers. Fixes bug identified by Steve Youngs 2004-09-30 + . + +2004-09-02 Yoshiki Hayashi + + * buffer.c (Frecord_buffer): Make sure the argument is buffer + to fix a crash. Also, check the buffer is live and it + really exists in buffer_list. If the buffer is not in the list, + prepend it. + +2004-09-08 Stephen J. Turnbull + + Fix shy groups by implementing recording of all groups for + repetition and backtracking. Backport from 21.5. + + * regex.h (struct re_pattern_buffer): Add members re_ngroups, + external_to_internal_register, external_to_internal_register_size, + and update comments for re_nsub. + + * regex.c (re_opcode_t): Update comments. + (print_compiled_pattern): Ouput external_to_internal_register, + external_to_internal_register_size, and re_ngroups for debugging. + (INIT_REG_TRANSLATE_SIZE): New manifest constant. + (regex_compile): Update header comment. + Ensure that all groups are recorded so that repeat matches and + backtracking work correctly. Comment related warning for groups > + 255. + (re_search_2): Construct map of API indexes (which count only + nonshy groups) to internal register numbers, and keep it updated. + +2004-07-27 Malcolm Purvis + + * frame-gtk.c (gtk_make_frame_visible): + * frame-gtk.c (gtk_make_frame_invisible): Use map/unmap instead of + show/hide. This is what X uses and is prevents previously hidden + widgets from suddenly reappearing. + * gtk-xemacs.c (gtk_xemacs_paint): + * gtk-xemacs.c (gtk_xemacs_draw): + * gtk-xemacs.c (gtk_xemacs_expose): Only operate if the widget is + drawable. + * scrollbar-gtk.c (gtk_update_scrollbar_instance_status): Force + size and location changes so that they can be seen before the next + idle event. Without this rapid changes to scrollbar properties + are not seen. + +2004-07-02 Malcolm Purvis + + * console-gtk.h: + * console-gtk.h (struct gtk_frame): + * console-gtk.h (FRAME_GTK_WIDGET_INSTANCE_HASH_TABLE): + Add hash tables track tab_control callback data. + Added #defines for GTK object data names. + Declaration of gtk_widget_to_frame(). + * event-gtk.c (enqueue_gtk_dispatch_event) No longer static: + * frame-gtk.c (gtk_widget_to_frame): New. + * frame-gtk.c (gtk_create_widgets): + * frame-gtk.c (allocate_gtk_frame_struct): + * frame-gtk.c (gtk_mark_frame): + Manage frame callbakc hash tables. + * glyphs-gtk.c (gtk_map_subwindow): Fix size and moving bugs. + * glyphs-gtk.c (gtk_redisplay_widget): Use correct size for widgets. + * glyphs-gtk.c (gtk_widget_instantiate_1): Force reconsideration + of widget size. + * glyphs-gtk.c (gtk_widget_query_geometry): New + * glyphs-gtk.c (gtk_register_gui_item): New + * glyphs-gtk.c (gtk_add_tab_item): New + * glyphs-gtk.c (gtk_tab_control_callback): New + * glyphs-gtk.c (gtk_tab_control_instantiate): New + * glyphs-gtk.c (gtk_tab_control_redisplay): Set notebook page. + Use correct list when loading item. + * glyphs-gtk.c (image_instantiator_format_create_glyphs_gtk): + Register new methods. + * gtk-xemacs.c (gtk_xemacs_size_allocate): Use XEmacs size, not + default size, for widgets. + * gui-x.c: Improved comment. + * menubar-gtk.c (__generic_button_callback): Use + gtk_widget_to_frame instead of __get_channel. + * scrollbar-gtk.c: + * ui-gtk.c: Use symbolic names for GTK object data. + +2004-06-23 Ilya N. Golubev + + * s/usg5-4.h (NSIG): Define only inside emacs binary. + +2002-03-04 Stephen J. Turnbull + + * fileio.c (Fwrite_region_internal): Document use of start == Qnil. + +2004-06-16 Malcolm Purvis + + * malloc.c (morecore): siz is a long because in some architectures + (eg ia-64) an int cannot hold the address range. Additional patch + from the SuSe distribution. + +2004-06-13 Malcolm Purvis + + * emacs.c: + * malloc.c: lim_data is a long because in some architectures + (eg ia-64) an int cannot hold the address range. + * mem-limits.h: lim-data is a long. Linux uses getrlimit() + instead of ulimit() because ulimit() always returns -1. + +2004-06-09 Stephen J. Turnbull + + * search.c: Reenable an ansync semaphore. Remove bogus comments. + +2004-06-11 David Kastrup + + * search.c (match_limit): Don't flag an error if match-data + exceeding the allocated search_regs.num_regs gets requested, just + return Qnil. + +2003-07-21 Malcolm Purvis + + * glyphs-gtk.c (gtk_xpm_instantiate): Rewrite the XPM data to + replace symbolic color entries with the real colors specified in + xpm-color-symbols, before passing the XPM to gtk. + * glyphs-gtk.h: Use the generic pixmap_image_instance.mask for masks, + instead of a GTK specific field, so that it is used in by generic + code. + +2004-05-05 Chuck Hines + + * dgif_lib.c (DGifSlurp): Changed do-while to while to stop + coredump from deref of NULL ptr (ExtData) + +2004-04-19 Jerry James + + * data.c (sign_extend_lisp_int): Use INT_VALBITS instead of + VALBITS to compute the location of the sign bit. + * event-stream.c (Fcurrent_event_timestamp): Replace incorrect use + of VALBITS with EMACS_INT_MAX. + * events.c (Fevent_timestamp): Ditto. + * events.c (TIMESTAMP_HALFSPACE): Change VALBITS to INT_VALBITS to + compute the halfway point to timestamp wraparound. + * floatfns.c (float_to_int): Compare against EMACS_INT_MAX and + EMACS_INT_MIN instead of using VALBITS. + * floatfns.c (Flogb): Use EMACS_INT_MIN instead of building an + incorrect number with VALBITS. + * fns.c (Frandom): Correct number of integer bits in docstring. + Use INT_VALBITS instead of VALBITS to compute the denominator. + * sysdep.c (get_random): Use INT_VALBITS instead of VALBITS to + build random numbers. + +2004-03-23 Malcolm Purvis + * event-gtk.c: + * event-gtk.c (gtk_event_to_emacs_event): + * menubar-gtk.c: + * menubar-gtk.c (gtk_xemacs_menubar_class_init): + * menubar-gtk.c (gtk_xemacs_menubar_size_request): + * menubar-gtk.c (gtk_xemacs_accel_label_get_type): + * menubar-gtk.c (gtk_xemacs_set_accel_keys): + * menubar-gtk.c (__activate_menu): + * menubar-gtk.c (convert_underscores): + * menubar-gtk.c (remove_underscores): + * menubar-gtk.c (menu_convert): + * menubar-gtk.c (menu_descriptor_to_widget_1): + * menubar-gtk.c (menu_descriptor_to_widget): + * menubar-gtk.c (menu_can_reuse_widget): + * menubar-gtk.c (menu_create_menubar): + * menubar-gtk.c (gtk_popup_menu): + * menubar-gtk.c (Fgtk_build_xemacs_menu): + Added support for Gtk menu bar and menu item mnemonics. + +2004-03-23 Malcolm Purvis + + * sysdll.c: (dll_function): Added support for finding symbols in + Darwin shared libraries as well in Darwin bundles. + * sysdll.c (image_for_address): New + * sysdll.c (my_find_image): New + * sysdll.c (search_linked_libs): New + +2004-03-23 Malcolm Purvis + + * ui-gtk.c (__internal_callback_marshal): Marshalling data to + return to GTK requires a different API to marshalling data to use + as GTK parameters. + * ui-gtk.c (lisp_to_gtk_ret_type): New. + +2004-03-08 Lutz Euler + + * lstream.c (Lstream_pseudo_close): Fix test for LSTREAM_FL_IS_OPEN. + +2004-02-19 Stephen J. Turnbull + + * glyphs.c (process_image_string_instantiator): + (Fset_console_type_image_conversion_list): + Stop GCC from warning about shadowing of `exp'. + + * redisplay-x.c (x_output_string): Fix unsigned lossage. + +2004-02-19 Stephen J. Turnbull + + * regex.c (re_match_2_internal): Shut up GCC about syn1, syn2. + +2004-02-03 Vin Shelton + + * glyphs.c (image_instance_layout): Remove pointless assertion. + * regex.c (regex_grow_registers): Return type is void. + 2004-02-02 Vin Shelton * XEmacs 21.4.15 is released diff --git a/src/alloc.c b/src/alloc.c index 1b2b806..54f3c38 100644 --- a/src/alloc.c +++ b/src/alloc.c @@ -412,7 +412,7 @@ free_lcrecord (struct lcrecord_header *lcrecord) break; } else if (next == 0) - abort (); + ABORT (); else header = next; } diff --git a/src/buffer.c b/src/buffer.c index ecb204c..2487541 100644 --- a/src/buffer.c +++ b/src/buffer.c @@ -524,7 +524,7 @@ delete_from_buffer_alist (Lisp_Object buf) Lisp_Object cons = Frassq (buf, Vbuffer_alist); Lisp_Object frmcons, devcons, concons; if (NILP (cons)) - return; /* abort() ? */ + return; /* ABORT() ? */ Vbuffer_alist = delq_no_quit (cons, Vbuffer_alist); FRAME_LOOP_NO_BREAK (frmcons, devcons, concons) @@ -1336,38 +1336,60 @@ buffer. See `other-buffer' for more information. { REGISTER Lisp_Object lynk, prev; struct frame *f = selected_frame (); + int buffer_found = 0; + CHECK_BUFFER (buffer); + if (!BUFFER_LIVE_P (XBUFFER (buffer))) + return Qnil; prev = Qnil; for (lynk = Vbuffer_alist; CONSP (lynk); lynk = XCDR (lynk)) { if (EQ (XCDR (XCAR (lynk)), buffer)) - break; + { + buffer_found = 1; + break; + } prev = lynk; } - /* Effectively do Vbuffer_alist = delq_no_quit (lynk, Vbuffer_alist) */ - if (NILP (prev)) - Vbuffer_alist = XCDR (Vbuffer_alist); + if (buffer_found) + { + /* Effectively do Vbuffer_alist = delq_no_quit (lynk, Vbuffer_alist) */ + if (NILP (prev)) + Vbuffer_alist = XCDR (Vbuffer_alist); + else + XCDR (prev) = XCDR (XCDR (prev)); + XCDR (lynk) = Vbuffer_alist; + Vbuffer_alist = lynk; + } else - XCDR (prev) = XCDR (XCDR (prev)); - XCDR (lynk) = Vbuffer_alist; - Vbuffer_alist = lynk; + Vbuffer_alist = Fcons (Fcons (Fbuffer_name(buffer), buffer), Vbuffer_alist); /* That was the global one. Now do the same thing for the per-frame buffer-alist. */ + buffer_found = 0; prev = Qnil; for (lynk = f->buffer_alist; CONSP (lynk); lynk = XCDR (lynk)) { if (EQ (XCDR (XCAR (lynk)), buffer)) - break; + { + buffer_found = 1; + break; + } prev = lynk; } - /* Effectively do f->buffer_alist = delq_no_quit (lynk, f->buffer_alist) */ - if (NILP (prev)) - f->buffer_alist = XCDR (f->buffer_alist); + if (buffer_found) + { + /* Effectively do f->buffer_alist = delq_no_quit (lynk, f->buffer_alist) */ + if (NILP (prev)) + f->buffer_alist = XCDR (f->buffer_alist); + else + XCDR (prev) = XCDR (XCDR (prev)); + XCDR (lynk) = f->buffer_alist; + f->buffer_alist = lynk; + } else - XCDR (prev) = XCDR (XCDR (prev)); - XCDR (lynk) = f->buffer_alist; - f->buffer_alist = lynk; + f->buffer_alist = Fcons (Fcons (Fbuffer_name(buffer), buffer), + f->buffer_alist); return Qnil; } @@ -3049,7 +3071,7 @@ handled: if ((XINT (buffer_local_flags.slot) != -2 && \ XINT (buffer_local_flags.slot) != -3) \ != !(NILP (XBUFFER (Vbuffer_local_symbols)->slot))) \ - abort () + ABORT () #include "bufslots.h" #undef MARKED_SLOT diff --git a/src/chartab.c b/src/chartab.c index 4b5b82c..6eb6b32 100644 --- a/src/chartab.c +++ b/src/chartab.c @@ -1392,7 +1392,7 @@ char_table_type_to_symbol (enum char_table_type type) { switch (type) { - default: abort(); + default: ABORT(); case CHAR_TABLE_TYPE_GENERIC: return Qgeneric; case CHAR_TABLE_TYPE_SYNTAX: return Qsyntax; case CHAR_TABLE_TYPE_DISPLAY: return Qdisplay; @@ -1850,7 +1850,7 @@ Reset CHAR-TABLE to its default state. break; default: - abort (); + ABORT (); } return Qnil; @@ -2033,7 +2033,7 @@ XCHARSET_CELL_RANGE (Lisp_Object ccs) return (0 << 8) | 255; #endif default: - abort (); + ABORT (); return 0; } } @@ -2095,7 +2095,7 @@ decode_char_table_range (Lisp_Object range, struct chartab_range *outrange) } #endif else - abort (); + ABORT (); } else { @@ -2329,7 +2329,7 @@ If there is more than one value, return MULTI (defaults to nil). #endif /* not MULE */ default: - abort (); + ABORT (); } return Qnil; /* not reached */ @@ -2379,7 +2379,7 @@ check_valid_char_table_value (Lisp_Object value, enum char_table_type type, break; default: - abort (); + ABORT (); } return 0; /* not reached */ @@ -2825,7 +2825,7 @@ map_char_table_for_charset_fun (struct chartab_range *range, break; default: - abort (); + ABORT (); } return 0; @@ -3036,7 +3036,7 @@ map_char_table (Lisp_Char_Table *ct, } default: - abort (); + ABORT (); } return 0; @@ -3082,7 +3082,7 @@ slow_map_char_table_fun (struct chartab_range *range, ranjarg = make_char (range->ch); break; default: - abort (); + ABORT (); } closure->retval = call2 (closure->function, ranjarg, val); @@ -4356,7 +4356,7 @@ chartab_instantiate (Lisp_Object data) Fput_char_table (make_char (i), val, chartab); } else - abort (); + ABORT (); } else Fput_char_table (range, val, chartab); diff --git a/src/console-gtk.h b/src/console-gtk.h index 31c5055..01e48d7 100644 --- a/src/console-gtk.h +++ b/src/console-gtk.h @@ -170,6 +170,12 @@ struct gtk_frame /* Are we iconfied right now? */ unsigned int iconified_p :1; + /* Data for widget callbacks. It is impossible to pass all the necessary + data through the GTK signal API so instead it is registered here and the + hash key is passed instead. */ + Lisp_Object widget_instance_hash_table; + Lisp_Object widget_callback_hash_table; + Lisp_Object widget_callback_ex_hash_table; }; #define FRAME_GTK_DATA(f) FRAME_TYPE_DATA (f, gtk) @@ -191,6 +197,17 @@ struct gtk_frame #define FRAME_GTK_TOTALLY_VISIBLE_P(f) (FRAME_GTK_DATA (f)->totally_visible_p) #define FRAME_GTK_VISIBLE_P(f) (FRAME_GTK_DATA (f)->visible_p) #define FRAME_GTK_TOP_LEVEL_FRAME_P(f) (FRAME_GTK_DATA (f)->top_level_frame_p) +#define FRAME_GTK_WIDGET_INSTANCE_HASH_TABLE(f) (FRAME_GTK_DATA (f)->widget_instance_hash_table) +#define FRAME_GTK_WIDGET_CALLBACK_HASH_TABLE(f) (FRAME_GTK_DATA (f)->widget_callback_hash_table) +#define FRAME_GTK_WIDGET_CALLBACK_EX_HASH_TABLE(f) (FRAME_GTK_DATA (f)->widget_callback_ex_hash_table) + +/* Special data used to quickly identify the frame that contains a widget. */ +#define GTK_DATA_FRAME_IDENTIFIER "xemacs::frame" + +/* The hashcode in the frame hash table of a tab_control tab's callback data. */ +#define GTK_DATA_TAB_HASHCODE_IDENTIFIER "xemacs::tab_hashcode" + +#define GTK_DATA_GUI_IDENTIFIER "xemacs::gui_id" /* Variables associated with the X display frame this emacs is using. */ @@ -205,6 +222,7 @@ extern int gtk_interline_space; extern int gtk_selection_timeout; +struct frame *gtk_widget_to_frame (GtkWidget *); struct frame *gtk_any_window_to_frame (struct device *d, GdkWindow *); struct frame *gtk_window_to_frame (struct device *d, GdkWindow *); struct frame *gtk_any_widget_or_parent_to_frame (struct device *d, GtkWidget *widget); diff --git a/src/console-x.h b/src/console-x.h index d664360..1850c21 100644 --- a/src/console-x.h +++ b/src/console-x.h @@ -35,10 +35,13 @@ Boston, MA 02111-1307, USA. */ #ifdef HAVE_X_WINDOWS #include "console.h" +/* must come before Xutil.h, which is included indirectly from xintrinsic.h, + to avoid breakage in keysym-parsing macros from X11R6, at least X.org as + of 2005-01-17, and probably XFree86 too from reports on c.e.x */ +#include #include "xintrinsic.h" #include -#include #include #include diff --git a/src/data.c b/src/data.c index 21e5d26..197842e 100644 --- a/src/data.c +++ b/src/data.c @@ -173,10 +173,10 @@ EMACS_INT sign_extend_lisp_int (EMACS_INT num); EMACS_INT sign_extend_lisp_int (EMACS_INT num) { - if (num & (1L << (VALBITS - 1))) - return num | ((-1L) << VALBITS); + if (num & (1L << (INT_VALBITS - 1))) + return num | ((-1L) << INT_VALBITS); else - return num & ((1L << VALBITS) - 1); + return num & (EMACS_INT) ((1UL << INT_VALBITS) - 1); } @@ -1780,7 +1780,7 @@ finish_marking_weak_lists (void) break; default: - abort (); + ABORT (); } if (need_to_mark_elem && ! marked_p (elem)) @@ -1936,7 +1936,7 @@ encode_weak_list_type (enum weak_list_type type) case WEAK_LIST_VALUE_ASSOC: return Qvalue_assoc; case WEAK_LIST_FULL_ASSOC: return Qfull_assoc; default: - abort (); + ABORT (); } return Qnil; /* not reached */ diff --git a/src/depend b/src/depend index 188c0ab..b765434 100644 --- a/src/depend +++ b/src/depend @@ -49,10 +49,10 @@ redisplay-tty.o: $(LISP_H) buffer.h bufslots.h casetab.h char-1byte.h char-lb.h console-gtk.o: $(LISP_H) char-1byte.h char-lb.h char-ucs.h character.h chartab.h conslots.h console-gtk.h console.h database.h elhash.h mule-charset.h process.h redisplay.h device-gtk.o: $(LISP_H) buffer.h bufslots.h casetab.h char-1byte.h char-lb.h char-ucs.h character.h chartab.h conslots.h console-gtk.h console.h database.h device.h elhash.h events.h faces.h frame.h frameslots.h gccache-gtk.h glyphs-gtk.h glyphs.h gtk-xemacs.h gui.h mb-1byte.h mb-lb.h mb-multibyte.h mb-utf-8.h mule-charset.h multibyte.h objects-gtk.h objects.h redisplay.h scrollbar.h specifier.h sysdep.h sysfile.h systime.h toolbar.h window.h winslots.h dialog-gtk.o: $(LISP_H) buffer.h bufslots.h casetab.h char-1byte.h char-lb.h char-ucs.h character.h chartab.h commands.h conslots.h console-gtk.h console.h database.h device.h elhash.h events.h frame.h frameslots.h glyphs.h gui-gtk.h gui.h mb-1byte.h mb-lb.h mb-multibyte.h mb-utf-8.h mule-charset.h multibyte.h opaque.h redisplay.h scrollbar.h specifier.h systime.h toolbar.h window.h winslots.h -event-gtk.o: $(LISP_H) blocktype.h buffer.h bufslots.h casetab.h char-1byte.h char-lb.h char-ucs.h character.h chartab.h commands.h conslots.h console-gtk.h console-tty.h console.h database.h device.h dragdrop.h elhash.h events-mod.h events.h file-coding.h frame.h frameslots.h glyphs.h gtk-xemacs.h gui.h lstream.h mb-1byte.h mb-lb.h mb-multibyte.h mb-utf-8.h mule-charset.h multibyte.h objects-gtk.h objects.h offix-types.h offix.h process.h redisplay.h scrollbar.h specifier.h sysproc.h syssignal.h systime.h systty.h toolbar.h window.h winslots.h xintrinsic.h +event-gtk.o: $(LISP_H) blocktype.h buffer.h bufslots.h casetab.h char-1byte.h char-lb.h char-ucs.h character.h chartab.h commands.h conslots.h console-gtk.h console-tty.h console.h database.h device.h dragdrop.h elhash.h events-mod.h events.h file-coding.h frame.h frameslots.h glyphs.h gtk-xemacs.h gui.h lstream.h mb-1byte.h mb-lb.h mb-multibyte.h mb-utf-8.h menubar.h mule-charset.h multibyte.h objects-gtk.h objects.h offix-types.h offix.h process.h redisplay.h scrollbar.h specifier.h sysproc.h syssignal.h systime.h systty.h toolbar.h window.h winslots.h xintrinsic.h frame-gtk.o: $(LISP_H) buffer.h bufslots.h casetab.h char-1byte.h char-lb.h char-ucs.h character.h chartab.h conslots.h console-gtk.h console.h database.h device.h dragdrop.h elhash.h events.h extents.h faces.h frame.h frameslots.h glyphs-gtk.h glyphs.h gtk-xemacs.h gui.h mb-1byte.h mb-lb.h mb-multibyte.h mb-utf-8.h mule-charset.h multibyte.h objects-gtk.h objects.h redisplay.h scrollbar-gtk.h scrollbar.h specifier.h sysdll.h systime.h toolbar.h ui-gtk.h window.h winslots.h gccache-gtk.o: $(LISP_H) gccache-gtk.h hash.h -glyphs-gtk.o: $(LISP_H) bitmaps.h buffer.h bufslots.h casetab.h char-1byte.h char-lb.h char-ucs.h character.h chartab.h conslots.h console-gtk.h console.h database.h device.h elhash.h faces.h file-coding.h frame.h frameslots.h glyphs-gtk.h glyphs.h gui-gtk.h gui.h imgproc.h insdel.h lstream.h mb-1byte.h mb-lb.h mb-multibyte.h mb-utf-8.h mule-charset.h multibyte.h objects-gtk.h objects.h opaque.h redisplay.h scrollbar.h specifier.h sysdll.h sysfile.h toolbar.h ui-gtk.h window.h winslots.h +glyphs-gtk.o: $(LISP_H) bitmaps.h buffer.h bufslots.h casetab.h char-1byte.h char-lb.h char-ucs.h character.h chartab.h conslots.h console-gtk.h console.h database.h device.h elhash.h events.h faces.h file-coding.h frame.h frameslots.h glyphs-gtk.h glyphs.h gui-gtk.h gui.h imgproc.h insdel.h lstream.h mb-1byte.h mb-lb.h mb-multibyte.h mb-utf-8.h mule-charset.h multibyte.h objects-gtk.h objects.h opaque.h redisplay.h scrollbar.h specifier.h sysdll.h sysfile.h systime.h toolbar.h ui-gtk.h window.h winslots.h gui-gtk.o: $(LISP_H) buffer.h bufslots.h casetab.h char-1byte.h char-lb.h char-ucs.h character.h chartab.h conslots.h console-gtk.h console.h database.h device.h elhash.h frame.h frameslots.h glyphs.h gui-gtk.h gui.h mb-1byte.h mb-lb.h mb-multibyte.h mb-utf-8.h mule-charset.h multibyte.h opaque.h redisplay.h scrollbar.h specifier.h toolbar.h window.h winslots.h menubar-gtk.o: $(LISP_H) buffer.h bufslots.h casetab.h char-1byte.h char-lb.h char-ucs.h character.h chartab.h commands.h conslots.h console-gtk.h console.h database.h device.h elhash.h events.h frame.h frameslots.h glyphs.h gui-gtk.h gui.h mb-1byte.h mb-lb.h mb-multibyte.h mb-utf-8.h mule-charset.h multibyte.h opaque.h redisplay.h scrollbar.h specifier.h sysdll.h systime.h toolbar.h ui-gtk.h window.h winslots.h objects-gtk.o: $(LISP_H) buffer.h bufslots.h casetab.h char-1byte.h char-lb.h char-ucs.h character.h chartab.h conslots.h console-gtk.h console.h database.h device.h elhash.h insdel.h mb-1byte.h mb-lb.h mb-multibyte.h mb-utf-8.h mule-charset.h multibyte.h objects-gtk.h objects.h specifier.h diff --git a/src/device-gtk.c b/src/device-gtk.c index c17c597..83c684f 100644 --- a/src/device-gtk.c +++ b/src/device-gtk.c @@ -198,7 +198,7 @@ gtk_init_device (struct device *d, Lisp_Object props) XSETDEVICE (device, d); /* gtk_init() and even gtk_check_init() are so brain dead that - getting an empty argv array causes them to abort. */ + getting an empty argv array causes them to ABORT. */ if (NILP (Vgtk_initial_argv_list)) { signal_simple_error ("gtk-initial-argv-list must be set before creating Gtk devices", Vgtk_initial_argv_list); diff --git a/src/doprnt.c b/src/doprnt.c index a2b047b..d75f6fa 100644 --- a/src/doprnt.c +++ b/src/doprnt.c @@ -222,7 +222,7 @@ parse_doprnt_spec (const Bufbyte *format, Bytecount format_length) case ' ': spec.space_flag = 1; break; case '#': spec.number_flag = 1; break; case '0': spec.zero_flag = 1; break; - default: abort (); + default: ABORT (); } NEXT_ASCII_BYTE (ch); } @@ -383,7 +383,7 @@ get_doprnt_args (printf_spec_dynarr *specs, va_list vargs) arg.d = va_arg (vargs, double); else if (strchr (string_converters, ch)) arg.bp = va_arg (vargs, Bufbyte *); - else abort (); + else ABORT (); Dynarr_add (args, arg); } diff --git a/src/dumper.c b/src/dumper.c index a884710..e0b4ad8 100644 --- a/src/dumper.c +++ b/src/dumper.c @@ -444,7 +444,7 @@ pdump_get_indirect_count (EMACS_INT code, stderr_out ("Unsupported count type : %d (line = %d, code=%ld)\n", idesc[line].type, line, (long)code); pdump_backtrace (); - abort (); + ABORT (); } count += delta; return count; @@ -544,7 +544,7 @@ pdump_register_sub (const void *data, const struct lrecord_description *desc, in default: stderr_out ("Unsupported dump type : %d\n", desc[pos].type); pdump_backtrace (); - abort (); + ABORT (); }; } } @@ -573,7 +573,7 @@ pdump_register_object (Lisp_Object obj) if (me>65536) { stderr_out ("Backtrace overflow, loop ?\n"); - abort (); + ABORT (); } backtrace[me].obj = objh; backtrace[me].position = 0; @@ -608,7 +608,7 @@ pdump_register_struct (const void *data, if (me>65536) { stderr_out ("Backtrace overflow, loop ?\n"); - abort (); + ABORT (); } backtrace[me].obj = 0; backtrace[me].position = 0; @@ -721,7 +721,7 @@ pdump_dump_data (pdump_entry_list_elt *elt, } default: stderr_out ("Unsupported dump type : %d\n", desc[pos].type); - abort (); + ABORT (); } } } @@ -799,7 +799,7 @@ pdump_reloc_one (void *data, EMACS_INT delta, } default: stderr_out ("Unsupported dump type : %d\n", desc[pos].type); - abort (); + ABORT (); }; } } diff --git a/src/emacs.c b/src/emacs.c index 6a01ca6..2331bb9 100644 --- a/src/emacs.c +++ b/src/emacs.c @@ -346,7 +346,7 @@ uintptr_t bss_end = 0; #endif /* Number of bytes of writable memory we can expect to be able to get */ -unsigned int lim_data; +unsigned long lim_data; /* WARNING! @@ -562,7 +562,7 @@ DEFUN ("force-debugging-signal", Fforce_debugging_signal, 0, 1, 0, /* Cause XEmacs to enter the debugger. On some systems, there may be no way to do this gracefully; if so, nothing happens unless ABORT is non-nil, in which case XEmacs will -abort() -- a sure-fire way to immediately get back to the debugger, +ABORT() -- a sure-fire way to immediately get back to the debugger, but also a sure-fire way to kill XEmacs (and dump core on Unix systems)! */ @@ -570,7 +570,7 @@ systems)! { debugging_breakpoint (); if (!NILP (abort_)) - abort (); + ABORT (); return Qnil; } @@ -2658,7 +2658,7 @@ sort_args (int argc, char **argv) } if (best < 0) - abort (); + ABORT (); /* Copy the highest priority remaining option, with its args, to NEW_ARGV. */ new_argv[to++] = argv[best]; @@ -2823,7 +2823,7 @@ main (int argc, char **argv, char **envp) { #ifdef DOUG_LEA_MALLOC if (mallopt (M_MMAP_MAX, 0) != 1) - abort(); + ABORT(); #endif run_temacs_argc = 0; if (! SETJMP (run_temacs_catch)) @@ -2870,7 +2870,7 @@ main (int argc, char **argv, char **envp) if (rc != 0) { stderr_out ("malloc_set_state failed, rc = %d\n", rc); - abort (); + ABORT (); } #if 0 free (malloc_state_ptr); @@ -2881,7 +2881,7 @@ main (int argc, char **argv, char **envp) (defined(__GLIBC__) && __GLIBC_MINOR__ < 1 && !defined(MULE)) || \ defined(DEBUG_DOUG_LEA_MALLOC) if(mallopt (M_MMAP_MAX, 0) != 1) - abort(); + ABORT(); #endif #ifdef REL_ALLOC r_alloc_reinit (); @@ -3358,7 +3358,6 @@ Non-nil return value means XEmacs is running without interactive terminal. in one session without having to recompile. */ /* #define ASSERTIONS_DONT_ABORT */ -#ifdef USE_ASSERTIONS /* This highly dubious kludge ... shut up Jamie, I'm tired of your slagging. */ static int in_assert_failed; @@ -3370,8 +3369,6 @@ static const char *assert_failed_expr; #undef fprintf #endif -#undef abort /* avoid infinite #define loop... */ - #if defined (WIN32_NATIVE) && defined (DEBUG_XEMACS) #define enter_debugger() DebugBreak () #else @@ -3428,12 +3425,11 @@ assert_failed (const char *file, int line, const char *expr) enter_debugger (); #if !defined (ASSERTIONS_DONT_ABORT) - abort (); + abort (); /* The real abort(), this time */ #endif inhibit_non_essential_printing_operations = 0; in_assert_failed = 0; } -#endif /* USE_ASSERTIONS */ #ifdef QUANTIFY DEFUN ("quantify-start-recording-data", Fquantify_start_recording_data, diff --git a/src/event-gtk.c b/src/event-gtk.c index d9360e3..b2c14ba 100644 --- a/src/event-gtk.c +++ b/src/event-gtk.c @@ -58,6 +58,10 @@ Boston, MA 02111-1307, USA. */ #include "dragdrop.h" #endif +#ifdef HAVE_MENUBARS +# include "menubar.h" +#endif + #if defined (HAVE_OFFIX_DND) #include "offix.h" #endif @@ -88,12 +92,25 @@ static int last_quit_check_signal_tick_count; Lisp_Object Qkey_mapping; Lisp_Object Qsans_modifiers; -static void enqueue_gtk_dispatch_event (Lisp_Object event); +void enqueue_gtk_dispatch_event (Lisp_Object event); +/* + * Identify if the keysym is a modifier. This implementation mirrors x.org's + * IsModifierKey(), but for GDK keysyms. + */ +#ifdef GDK_ISO_Lock +#define IS_MODIFIER_KEY(keysym) \ + ((((keysym) >= GDK_Shift_L) && ((keysym) <= GDK_Hyper_R)) \ + || (((keysym) >= GDK_ISO_Lock) && \ + ((keysym) <= GDK_ISO_Last_Group_Lock)) \ + || ((keysym) == GDK_Mode_switch) \ + || ((keysym) == GDK_Num_Lock)) +#else #define IS_MODIFIER_KEY(keysym) \ ((((keysym) >= GDK_Shift_L) && ((keysym) <= GDK_Hyper_R)) \ || ((keysym) == GDK_Mode_switch) \ || ((keysym) == GDK_Num_Lock)) +#endif @@ -1090,7 +1107,7 @@ dragndrop_dropped (GtkWidget *widget, static Lisp_Object dispatch_event_queue, dispatch_event_queue_tail; -static void +void enqueue_gtk_dispatch_event (Lisp_Object event) { enqueue_event (event, &dispatch_event_queue, &dispatch_event_queue_tail); @@ -1291,6 +1308,22 @@ gtk_event_to_emacs_event (struct frame *frame, GdkEvent *gdk_event, struct Lisp_ GdkEventKey *key_event = &gdk_event->key; Lisp_Object keysym; +#ifdef HAVE_MENUBARS + /* If the user wants see if the event is a menu bar accelerator. + The process of checking absorbs the event and starts menu + processing so send a null event into XEmacs to make sure it + does nothing. + */ + if (!NILP (Vmenu_accelerator_enabled) + && gtk_accel_groups_activate(GTK_OBJECT (FRAME_GTK_SHELL_WIDGET(frame)), + key_event->keyval, + *state)) + { + zero_event(emacs_event); + return 1; + } +#endif + /* This used to compute the frame from the given X window and store it here, but we really don't care about the frame. */ emacs_event->channel = DEVICE_CONSOLE (d); diff --git a/src/faces.c b/src/faces.c index ab8648e..f3c499e 100644 --- a/src/faces.c +++ b/src/faces.c @@ -322,7 +322,7 @@ face_validate (Lisp_Object data, Error_behavior errb) if (EQ (keyw, Qname)) name_seen = 1; else - abort (); + ABORT (); } if (!name_seen) diff --git a/src/file-coding.c b/src/file-coding.c index b4ff9c8..763acae 100644 --- a/src/file-coding.c +++ b/src/file-coding.c @@ -433,7 +433,7 @@ eol_type_to_symbol (eol_type_t type) { switch (type) { - default: abort (); + default: ABORT (); case EOL_LF: return Qlf; case EOL_CRLF: return Qcrlf; case EOL_CR: return Qcr; @@ -1222,7 +1222,7 @@ subsidiary_coding_system (Lisp_Object coding_system, eol_type_t type) case EOL_LF: new_coding_system = CODING_SYSTEM_EOL_LF (cs); break; case EOL_CR: new_coding_system = CODING_SYSTEM_EOL_CR (cs); break; case EOL_CRLF: new_coding_system = CODING_SYSTEM_EOL_CRLF (cs); break; - default: abort (); return Qnil; + default: ABORT (); return Qnil; } return NILP (new_coding_system) ? coding_system : new_coding_system; @@ -1260,7 +1260,7 @@ Return the type of CODING-SYSTEM. { switch (XCODING_SYSTEM_TYPE (Fget_coding_system (coding_system))) { - default: abort (); + default: ABORT (); case CODESYS_AUTODETECT: return Qundecided; #ifdef MULE case CODESYS_SHIFT_JIS: return Qshift_jis; @@ -1336,7 +1336,7 @@ Return the PROP property of CODING-SYSTEM. break; #endif /* MULE */ default: - abort (); + ABORT (); } } @@ -1404,7 +1404,7 @@ Return the PROP property of CODING-SYSTEM. unparse_charset_conversion_specs (XCODING_SYSTEM (coding_system)->iso2022.output_conv); else - abort (); + ABORT (); } else if (type == CODESYS_CCL) { @@ -1413,11 +1413,11 @@ Return the PROP property of CODING-SYSTEM. else if (EQ (prop, Qencode)) return XCODING_SYSTEM_CCL_ENCODE (coding_system); else - abort (); + ABORT (); } #endif /* MULE */ else - abort (); + ABORT (); return Qnil; /* not reached */ } @@ -2514,7 +2514,7 @@ mule_decode (Lstream *decoding, const Extbyte *src, break; #endif /* MULE */ default: - abort (); + ABORT (); } } @@ -2933,7 +2933,7 @@ mule_encode (Lstream *encoding, const Bufbyte *src, break; #endif /* MULE */ default: - abort (); + ABORT (); } } @@ -3926,7 +3926,7 @@ encode_coding_ucs4 (Lstream *encoding, const Bufbyte *src, } break; default: - abort (); + ABORT (); } } } @@ -4279,7 +4279,7 @@ encode_coding_utf8 (Lstream *encoding, const Bufbyte *src, } break; default: - abort (); + ABORT (); } } } @@ -4832,7 +4832,7 @@ parse_iso2022_esc (Lisp_Object codesys, struct iso2022_decoder *iso, else { /* Can this ever be reached? -slb */ - abort(); + ABORT(); return 0; } @@ -5855,7 +5855,7 @@ encode_coding_iso2022 (Lstream *encoding, const Bufbyte *src, break; default: - abort (); + ABORT (); } } char_boundary = 0; @@ -5938,7 +5938,7 @@ encode_coding_iso2022 (Lstream *encoding, const Bufbyte *src, } break; default: - abort (); + ABORT (); } } } diff --git a/src/fns.c b/src/fns.c index 2455d35..266783b 100644 --- a/src/fns.c +++ b/src/fns.c @@ -144,7 +144,7 @@ extern void seed_random (long arg); DEFUN ("random", Frandom, 0, 1, 0, /* Return a pseudo-random number. All integers representable in Lisp are equally likely. - On most systems, this is 28 bits' worth. + On most systems, this is 31 bits' worth. With positive integer argument N, return random number in interval [0,N). With argument t, set the random number seed from the current time and pid. */ @@ -164,7 +164,7 @@ With argument t, set the random number seed from the current time and pid. it's possible to get a quotient larger than limit; discarding these values eliminates the bias that would otherwise appear when using a large limit. */ - denominator = ((unsigned long)1 << VALBITS) / XINT (limit); + denominator = ((unsigned long)1 << INT_VALBITS) / XINT (limit); do val = get_random () / denominator; while (val >= XINT (limit)); @@ -713,7 +713,7 @@ concat (int nargs, Lisp_Object *args, break; default: val = Qnil; - abort (); + ABORT (); } } @@ -1002,7 +1002,7 @@ are copied to the new string. } else { - abort (); /* unreachable, since Flength (sequence) did not get + ABORT (); /* unreachable, since Flength (sequence) did not get an error */ return Qnil; } @@ -3021,7 +3021,7 @@ mapcar1 (size_t leni, Lisp_Object *vals, } } else - abort (); /* unreachable, since Flength (sequence) did not get an error */ + ABORT (); /* unreachable, since Flength (sequence) did not get an error */ if (vals) UNGCPRO; @@ -3638,7 +3638,7 @@ into shorter lines. encoded_length = base64_encode_1 (XLSTREAM (input), encoded, NILP (no_line_break)); if (encoded_length > allength) - abort (); + ABORT (); Lstream_delete (XLSTREAM (input)); /* Now we have encoded the region, so we insert the new contents @@ -3680,7 +3680,7 @@ into shorter lines. encoded_length = base64_encode_1 (XLSTREAM (input), encoded, NILP (no_line_break)); if (encoded_length > allength) - abort (); + ABORT (); Lstream_delete (XLSTREAM (input)); result = make_string (encoded, encoded_length); XMALLOC_UNBIND (encoded, allength, speccount); @@ -3713,7 +3713,7 @@ Characters out of the base64 alphabet are ignored. XMALLOC_OR_ALLOCA (decoded, length * MAX_EMCHAR_LEN, Bufbyte); decoded_length = base64_decode_1 (XLSTREAM (input), decoded, &cc_decoded_length); if (decoded_length > length * MAX_EMCHAR_LEN) - abort (); + ABORT (); Lstream_delete (XLSTREAM (input)); /* Now we have decoded the region, so we insert the new contents @@ -3754,7 +3754,7 @@ Characters out of the base64 alphabet are ignored. decoded_length = base64_decode_1 (XLSTREAM (input), decoded, &cc_decoded_length); if (decoded_length > length * MAX_EMCHAR_LEN) - abort (); + ABORT (); Lstream_delete (XLSTREAM (input)); result = make_string (decoded, decoded_length); diff --git a/src/font-lock.c b/src/font-lock.c index e6132bb..ddeeda9 100644 --- a/src/font-lock.c +++ b/src/font-lock.c @@ -520,7 +520,7 @@ find_context (struct buffer *buf, Bufpos pt) context_cache.context = context_comment; context_cache.ccontext = ccontext_none; context_cache.style = SINGLE_SYNTAX_STYLE (syncode); - if (context_cache.style == comment_style_none) abort (); + if (context_cache.style == comment_style_none) ABORT (); } break; @@ -612,7 +612,7 @@ find_context (struct buffer *buf, Bufpos pt) { context_cache.ccontext = ccontext_start2; context_cache.style = SYNTAX_START_STYLE (prev_syncode, syncode); - if (context_cache.style == comment_style_none) abort (); + if (context_cache.style == comment_style_none) ABORT (); } else if ((SYNTAX_CODE_COMMENT_BITS (syncode) & SYNTAX_FIRST_CHAR_START) && @@ -653,18 +653,18 @@ find_context (struct buffer *buf, Bufpos pt) comment-end sequence. ie, '/xxx foo xxx/' or '/xxx foo x/', where 'x' = '*' -- mct */ { - if (context_cache.style == comment_style_none) abort (); + if (context_cache.style == comment_style_none) ABORT (); context_cache.ccontext = ccontext_end1; } else if (context_cache.ccontext == ccontext_start1) { - if (context_cache.context != context_none) abort (); + if (context_cache.context != context_none) ABORT (); context_cache.ccontext = ccontext_none; } else if (context_cache.ccontext == ccontext_end1) { - if (context_cache.context != context_block_comment) abort (); + if (context_cache.context != context_block_comment) ABORT (); context_cache.context = context_none; context_cache.ccontext = ccontext_start2; } @@ -673,7 +673,7 @@ find_context (struct buffer *buf, Bufpos pt) context_cache.context == context_none) { context_cache.context = context_block_comment; - if (context_cache.style == comment_style_none) abort (); + if (context_cache.style == comment_style_none) ABORT (); } else if (context_cache.ccontext == ccontext_none && context_cache.context == context_block_comment) @@ -696,7 +696,7 @@ context_to_symbol (enum syntactic_context context) case context_block_comment: return Qblock_comment; case context_generic_comment: return Qblock_comment; case context_generic_string: return Qstring; - default: abort (); return Qnil; /* suppress compiler warning */ + default: ABORT (); return Qnil; /* suppress compiler warning */ } } diff --git a/src/frame-gtk.c b/src/frame-gtk.c index 3f3d754..91951cf 100644 --- a/src/frame-gtk.c +++ b/src/frame-gtk.c @@ -27,6 +27,7 @@ Boston, MA 02111-1307, USA. */ #include #include "lisp.h" +#include "elhash.h" #include "console-gtk.h" #include "ui-gtk.h" #include "glyphs-gtk.h" @@ -54,7 +55,6 @@ Boston, MA 02111-1307, USA. */ #define INTERNAL_BORDER_WIDTH 0 #define TRANSIENT_DATA_IDENTIFIER "xemacs::transient_for" -#define FRAME_DATA_IDENTIFIER "xemacs::frame" #define UNMAPPED_DATA_IDENTIFIER "xemacs::initially_unmapped" #define STUPID_X_SPECIFIC_GTK_STUFF @@ -98,6 +98,23 @@ static guint dnd_n_targets = sizeof(dnd_target_table) / sizeof(dnd_target_table[ /* helper functions */ /************************************************************************/ +/* Return the Emacs frame-object which contains the given widget. */ +struct frame * +gtk_widget_to_frame (GtkWidget *w) +{ + struct frame *f = NULL; + + for (; w; w = w->parent) + { + if ((f = (struct frame *) gtk_object_get_data (GTK_OBJECT (w), + GTK_DATA_FRAME_IDENTIFIER))) + return (f); + } + + return (selected_frame()); +} + + /* Return the Emacs frame-object corresponding to an X window */ struct frame * gtk_window_to_frame (struct device *d, GdkWindow *wdesc) @@ -811,7 +828,7 @@ gtk_create_widgets (struct frame *f, Lisp_Object lisp_window_id, Lisp_Object par gtk_container_set_border_width (GTK_CONTAINER (shell), 0); - gtk_object_set_data (GTK_OBJECT (shell), FRAME_DATA_IDENTIFIER, f); + gtk_object_set_data (GTK_OBJECT (shell), GTK_DATA_FRAME_IDENTIFIER, f); FRAME_GTK_SHELL_WIDGET (f) = shell; @@ -937,6 +954,18 @@ allocate_gtk_frame_struct (struct frame *f) /* yeah, except the lisp ones */ FRAME_GTK_ICON_PIXMAP (f) = Qnil; FRAME_GTK_ICON_PIXMAP_MASK (f) = Qnil; + + /* + Hashtables of callback data for glyphs on the frame. Make them EQ because + we only use ints as keys. Otherwise we run into stickiness in redisplay + because internal_equal() can QUIT. See enter_redisplay_critical_section(). + */ + FRAME_GTK_WIDGET_INSTANCE_HASH_TABLE (f) = + make_lisp_hash_table (50, HASH_TABLE_VALUE_WEAK, HASH_TABLE_EQ); + FRAME_GTK_WIDGET_CALLBACK_HASH_TABLE (f) = + make_lisp_hash_table (50, HASH_TABLE_VALUE_WEAK, HASH_TABLE_EQ); + FRAME_GTK_WIDGET_CALLBACK_EX_HASH_TABLE (f) = + make_lisp_hash_table (50, HASH_TABLE_VALUE_WEAK, HASH_TABLE_EQ); } @@ -1022,6 +1051,9 @@ gtk_mark_frame (struct frame *f) mark_object (FRAME_GTK_LISP_WIDGETS (f)[0]); mark_object (FRAME_GTK_LISP_WIDGETS (f)[1]); mark_object (FRAME_GTK_LISP_WIDGETS (f)[2]); + mark_object (FRAME_GTK_WIDGET_INSTANCE_HASH_TABLE (f)); + mark_object (FRAME_GTK_WIDGET_CALLBACK_HASH_TABLE (f)); + mark_object (FRAME_GTK_WIDGET_CALLBACK_EX_HASH_TABLE (f)); } static void @@ -1057,7 +1089,7 @@ gtk_set_frame_pointer (struct frame *f) } else { - /* abort()? */ + /* ABORT()? */ stderr_out ("POINTER_IMAGE_INSTANCEP (f->pointer) failed!\n"); } } @@ -1219,7 +1251,7 @@ gtk_lower_frame (struct frame *f) static void gtk_make_frame_visible (struct frame *f) { - gtk_widget_show_all (FRAME_GTK_SHELL_WIDGET (f)); + gtk_widget_map (FRAME_GTK_SHELL_WIDGET (f)); gtk_raise_frame_1 (f, 0); } @@ -1227,7 +1259,7 @@ gtk_make_frame_visible (struct frame *f) static void gtk_make_frame_invisible (struct frame *f) { - gtk_widget_hide (FRAME_GTK_SHELL_WIDGET (f)); + gtk_widget_unmap(FRAME_GTK_SHELL_WIDGET (f)); } static int @@ -1367,7 +1399,7 @@ gtk_update_frame_external_traits (struct frame* frm, Lisp_Object name) } } else - abort (); + ABORT (); #ifdef HAVE_TOOLBARS /* Setting the background clears the entire frame area diff --git a/src/frame.c b/src/frame.c index 979e507..5ab9b6d 100644 --- a/src/frame.c +++ b/src/frame.c @@ -779,7 +779,7 @@ selected_frame (void) /* use this instead of XFRAME (DEVICE_SELECTED_FRAME (d)) to catch the possibility of there being no frames on the device (just created). There is no point doing this inside of redisplay because errors - cause an abort(), indicating a flaw in the logic, and error_check_frame() + cause an ABORT(), indicating a flaw in the logic, and error_check_frame() will catch this just as well. */ struct frame * @@ -1633,7 +1633,7 @@ delete_frame_internal (struct frame *f, int force, that is prohibited at the top; you can't delete surrogate minibuffer frames. */ if (NILP (frame_with_minibuf)) - abort (); + ABORT (); con->default_minibuffer_frame = frame_with_minibuf; } @@ -1707,7 +1707,7 @@ mouse_pixel_position_1 (struct device *d, Lisp_Object *frame, break; default: - abort (); /* method is incorrectly written */ + ABORT (); /* method is incorrectly written */ } return 0; @@ -2951,7 +2951,7 @@ change_frame_size_1 (struct frame *f, int newheight, int newwidth) `left' coordinates to be recomputed even though no frame size change occurs. --kyle */ if (in_display) - abort (); + ABORT (); XSETFRAME (frame, f); diff --git a/src/gccache-gtk.c b/src/gccache-gtk.c index afc5830..50566c1 100644 --- a/src/gccache-gtk.c +++ b/src/gccache-gtk.c @@ -160,8 +160,8 @@ gc_cache_lookup (struct gc_cache *cache, GdkGCValues *gcv, GdkGCValuesMask mask) struct gc_cache_cell *cell, *next, *prev; struct gcv_and_mask gcvm; - if ((!!cache->head) != (!!cache->tail)) abort (); - if (cache->head && (cache->head->prev || cache->tail->next)) abort (); + if ((!!cache->head) != (!!cache->tail)) ABORT (); + if (cache->head && (cache->head->prev || cache->tail->next)) ABORT (); /* Gdk does not have the equivalent of 'None' for the clip_mask, so we need to check it carefully, or gdk_gc_new_with_values will @@ -216,10 +216,10 @@ gc_cache_lookup (struct gc_cache *cache, GdkGCValues *gcv, GdkGCValuesMask mask) cell->prev = cache->tail; cache->tail->next = cell; cache->tail = cell; - if (cache->head == cell) abort (); - if (cell->next) abort (); - if (cache->head->prev) abort (); - if (cache->tail->next) abort (); + if (cache->head == cell) ABORT (); + if (cell->next) ABORT (); + if (cache->head->prev) ABORT (); + if (cache->tail->next) ABORT (); return cell->gc; } @@ -241,7 +241,7 @@ gc_cache_lookup (struct gc_cache *cache, GdkGCValues *gcv, GdkGCValuesMask mask) #endif } else if (cache->size > GC_CACHE_SIZE) - abort (); + ABORT (); else { /* Allocate a new cell (don't put it in the list or table yet). */ diff --git a/src/glyphs-gtk.c b/src/glyphs-gtk.c index 69e59e1..d33e8d0 100644 --- a/src/glyphs-gtk.c +++ b/src/glyphs-gtk.c @@ -63,6 +63,8 @@ Boston, MA 02111-1307, USA. */ #include "insdel.h" #include "opaque.h" #include "faces.h" +#include "elhash.h" +#include "events.h" #include "imgproc.h" @@ -70,10 +72,19 @@ Boston, MA 02111-1307, USA. */ #include +#if defined (HAVE_XPM) +#include +#endif + #ifdef FILE_CODING #include "file-coding.h" #endif +extern void enqueue_gtk_dispatch_event (Lisp_Object event); + +/* Widget callback hash table callback slot. */ +#define WIDGET_GLYPH_SLOT 0 + #if INTBITS == 32 # define FOUR_BYTE_TYPE unsigned int #elif LONGBITS == 32 @@ -412,7 +423,7 @@ gtk_finalize_image_instance (struct Lisp_Image_Instance *p) #endif else if (IMAGE_INSTANCE_TYPE (p) == IMAGE_SUBWINDOW) { - abort(); + ABORT(); } else { @@ -777,7 +788,7 @@ void init_image_instance_from_gdk_pixmap (struct Lisp_Image_Instance *ii, gint width, height, depth; if (!DEVICE_GTK_P (device)) - abort (); + ABORT (); IMAGE_INSTANCE_DEVICE (ii) = device; IMAGE_INSTANCE_TYPE (ii) = IMAGE_COLOR_PIXMAP; @@ -1023,7 +1034,7 @@ init_image_instance_from_xbm_inline (struct Lisp_Image_Instance *ii, break; default: - abort (); + ABORT (); } } @@ -1084,105 +1095,21 @@ gtk_xbm_instantiate (Lisp_Object image_instance, Lisp_Object instantiator, /********************************************************************** * XPM * **********************************************************************/ -static void -write_lisp_string_to_temp_file (Lisp_Object string, char *filename_out) -{ - Lisp_Object instream, outstream; - Lstream *istr, *ostr; - char tempbuf[1024]; /* some random amount */ - int fubar = 0; - FILE *tmpfil; - static Extbyte_dynarr *conversion_out_dynarr; - Bytecount bstart, bend; - struct gcpro gcpro1, gcpro2; -#ifdef FILE_CODING - Lisp_Object conv_out_stream; - Lstream *costr; - struct gcpro gcpro3; -#endif - - /* This function can GC */ - if (!conversion_out_dynarr) - conversion_out_dynarr = Dynarr_new (Extbyte); - else - Dynarr_reset (conversion_out_dynarr); - - /* Create the temporary file ... */ - sprintf (filename_out, "/tmp/emacs%d.XXXXXX", (int) getpid ()); - mktemp (filename_out); - tmpfil = fopen (filename_out, "w"); - if (!tmpfil) - { - if (tmpfil) - { - int old_errno = errno; - fclose (tmpfil); - unlink (filename_out); - errno = old_errno; - } - report_file_error ("Creating temp file", - list1 (build_string (filename_out))); - } - - CHECK_STRING (string); - get_string_range_byte (string, Qnil, Qnil, &bstart, &bend, - GB_HISTORICAL_STRING_BEHAVIOR); - instream = make_lisp_string_input_stream (string, bstart, bend); - istr = XLSTREAM (instream); - /* setup the out stream */ - outstream = make_dynarr_output_stream((unsigned_char_dynarr *)conversion_out_dynarr); - ostr = XLSTREAM (outstream); -#ifdef FILE_CODING - /* setup the conversion stream */ - conv_out_stream = make_encoding_output_stream (ostr, Fget_coding_system(Qbinary)); - costr = XLSTREAM (conv_out_stream); - GCPRO3 (instream, outstream, conv_out_stream); -#else - GCPRO2 (instream, outstream); -#endif - /* Get the data while doing the conversion */ +/* strcasecmp() is not sufficiently portable or standard, + and it's easier just to write our own. */ +static int +ascii_strcasecmp (const char *s1, const char *s2) +{ while (1) { - int size_in_bytes = Lstream_read (istr, tempbuf, sizeof (tempbuf)); - if (!size_in_bytes) - break; - /* It does seem the flushes are necessary... */ -#ifdef FILE_CODING - Lstream_write (costr, tempbuf, size_in_bytes); - Lstream_flush (costr); -#else - Lstream_write (ostr, tempbuf, size_in_bytes); -#endif - Lstream_flush (ostr); - if (fwrite ((unsigned char *)Dynarr_atp(conversion_out_dynarr, 0), - Dynarr_length(conversion_out_dynarr), 1, tmpfil) != 1) - { - fubar = 1; - break; - } - /* reset the dynarr */ - Lstream_rewind(ostr); + char c1 = *s1++; + char c2 = *s2++; + if (c1 >= 'A' && c1 <= 'Z') c1 += 'a' - 'A'; + if (c2 >= 'A' && c2 <= 'Z') c2 += 'a' - 'A'; + if (c1 != c2) return c1 - c2; + if (c1 == '\0') return 0; } - - if (fclose (tmpfil) != 0) - fubar = 1; - Lstream_close (istr); -#ifdef FILE_CODING - Lstream_close (costr); -#endif - Lstream_close (ostr); - - UNGCPRO; - Lstream_delete (istr); - Lstream_delete (ostr); -#ifdef FILE_CODING - Lstream_delete (costr); -#endif - - if (fubar) - report_file_error ("Writing temp file", - list1 (build_string (filename_out))); } struct color_symbol @@ -1271,12 +1198,12 @@ gtk_xpm_instantiate (Lisp_Object image_instance, Lisp_Object instantiator, GdkWindow *window = 0; int nsymbols = 0, i = 0; struct color_symbol *color_symbols = NULL; - GdkColor *transparent_color = NULL; Lisp_Object color_symbol_alist = find_keyword_in_vector (instantiator, Q_color_symbols); enum image_instance_type type; int force_mono; unsigned int w, h; + const unsigned char * volatile dstring; if (!DEVICE_GTK_P (XDEVICE (device))) signal_simple_error ("Not a Gtk device", device); @@ -1302,20 +1229,58 @@ gtk_xpm_instantiate (Lisp_Object image_instance, Lisp_Object instantiator, assert (!NILP (data)); - /* Need to get the transparent color here */ - color_symbols = extract_xpm_color_names (device, domain, color_symbol_alist, &nsymbols); - for (i = 0; i < nsymbols; i++) - { - if (!strcasecmp ("BgColor", color_symbols[i].name) || - !strcasecmp ("None", color_symbols[i].name)) - { - transparent_color = &color_symbols[i].color; - } - } + /* Extract all the entries from xpm-color-symbols */ + color_symbols = extract_xpm_color_names (device, domain, color_symbol_alist, + &nsymbols); + + assert (!NILP (data)); - write_lisp_string_to_temp_file (data, temp_file_name); - pixmap = gdk_pixmap_create_from_xpm (window, &mask, transparent_color, temp_file_name); - unlink (temp_file_name); + + LISP_STRING_TO_EXTERNAL(data, dstring, Qbinary); + + /* + * GTK only uses the 'c' color entry of an XPM and doesn't use the symbolic + * color names at all. This is unfortunate because the way to change the + * colors from lisp is by adding the symbolic names, and the new colors, to + * the variable xpm-color-symbols. + * + * To get around this decode the XPM, add a 'c' entry of the desired color + * for each matching symbolic color, recode the XPM and pass it to GTK. The + * decode and recode stages aren't too bad because this also performs the + * external to internal format translation, which avoids contortions like + * writing the XPM back to disk in order to get it processed. + */ + + { + XpmImage image; + XpmInfo info; + char** data; + + XpmCreateXpmImageFromBuffer ((char*) dstring, &image, &info); + + for (i = 0; i < nsymbols; i++) + { + unsigned j; + + for (j = 0; j < image.ncolors; j++) + { + if (image.colorTable[j].symbolic != NULL && + !ascii_strcasecmp(color_symbols[i].name, image.colorTable[j].symbolic)) + { + image.colorTable[j].c_color = xmalloc(16); + + sprintf(image.colorTable[j].c_color, "#%.4x%.4x%.4x", + color_symbols[i].color.red, color_symbols[i].color.green, + color_symbols[i].color.blue); + } + } + } + + XpmCreateDataFromXpmImage (&data, &image, &info); + + pixmap = gdk_pixmap_create_from_xpm_d (window, &mask, NULL, + data); + } if (color_symbols) xfree (color_symbols); @@ -1327,7 +1292,7 @@ gtk_xpm_instantiate (Lisp_Object image_instance, Lisp_Object instantiator, gdk_window_get_geometry (pixmap, NULL, NULL, &w, &h, &depth); IMAGE_INSTANCE_GTK_PIXMAP (ii) = pixmap; - IMAGE_INSTANCE_GTK_MASK (ii) = mask; + IMAGE_INSTANCE_PIXMAP_MASK (ii) = (void*) mask; IMAGE_INSTANCE_GTK_COLORMAP (ii) = cmap; IMAGE_INSTANCE_GTK_PIXELS (ii) = 0; IMAGE_INSTANCE_GTK_NPIXELS (ii) = 0; @@ -1382,7 +1347,7 @@ gtk_xpm_instantiate (Lisp_Object image_instance, Lisp_Object instantiator, break; default: - abort (); + ABORT (); } } #endif /* HAVE_XPM */ @@ -2033,7 +1998,7 @@ gtk_unmap_subwindow (Lisp_Image_Instance *p) if (IMAGE_INSTANCE_TYPE (p) == IMAGE_SUBWINDOW) { /* We don't support subwindows, but we do support widgets... */ - abort (); + ABORT (); } else /* must be a widget */ { @@ -2056,13 +2021,14 @@ gtk_map_subwindow (Lisp_Image_Instance *p, int x, int y, if (IMAGE_INSTANCE_TYPE (p) == IMAGE_SUBWINDOW) { /* No subwindow support... */ - abort (); + ABORT (); } else /* must be a widget */ { struct frame *f = XFRAME (IMAGE_INSTANCE_FRAME (p)); GtkWidget *wid = IMAGE_INSTANCE_GTK_CLIPWIDGET (p); GtkAllocation a; + int moving; if (!wid) return; @@ -2071,38 +2037,58 @@ gtk_map_subwindow (Lisp_Image_Instance *p, int x, int y, a.width = dga->width; a.height = dga->height; + /* Is the widget cganging position? */ + moving = (a.x != wid->allocation.x) || + (a.y != wid->allocation.y); + if ((a.width != wid->allocation.width) || - (a.height != wid->allocation.height)) + (a.height != wid->allocation.height) || + moving) { gtk_widget_size_allocate (IMAGE_INSTANCE_GTK_CLIPWIDGET (p), &a); } - /* #### FIXME DAMMIT */ - if ((wid->allocation.x != -dga->xoffset) || - (wid->allocation.y != -dga->yoffset)) + if (moving) { guint32 old_flags = GTK_WIDGET_FLAGS (FRAME_GTK_TEXT_WIDGET (f)); - /* Fucking GtkFixed widget queues a resize when you add a widget. + /* GtkFixed widget queues a resize when you add a widget. ** But only if it is visible. ** losers. */ GTK_WIDGET_FLAGS(FRAME_GTK_TEXT_WIDGET (f)) &= ~GTK_VISIBLE; + if (IMAGE_INSTANCE_GTK_ALREADY_PUT(p)) { gtk_fixed_move (GTK_FIXED (FRAME_GTK_TEXT_WIDGET (f)), wid, - -dga->xoffset, -dga->yoffset); + a.x, a.y); } else { IMAGE_INSTANCE_GTK_ALREADY_PUT(p) = TRUE; gtk_fixed_put (GTK_FIXED (FRAME_GTK_TEXT_WIDGET (f)), wid, - -dga->xoffset, -dga->yoffset); + a.x, a.y); } + GTK_WIDGET_FLAGS(FRAME_GTK_TEXT_WIDGET (f)) = old_flags; } + else + { + if (IMAGE_INSTANCE_GTK_ALREADY_PUT(p)) + { + /* Do nothing... */ + } + else + { + /* Must make sure we have put the image at least once! */ + IMAGE_INSTANCE_GTK_ALREADY_PUT(p) = TRUE; + gtk_fixed_put (GTK_FIXED (FRAME_GTK_TEXT_WIDGET (f)), + wid, + a.x, a.y); + } + } if (!IMAGE_INSTANCE_SUBWINDOW_DISPLAYEDP (p)) { @@ -2193,11 +2179,19 @@ gtk_redisplay_widget (Lisp_Image_Instance *p) || IMAGE_INSTANCE_TEXT_CHANGED (p)) { + GtkRequisition r; + GtkAllocation a = IMAGE_INSTANCE_GTK_CLIPWIDGET (p)->allocation; + assert (IMAGE_INSTANCE_GTK_WIDGET_ID (p) && IMAGE_INSTANCE_GTK_CLIPWIDGET (p)) ; - /* #### Resize the widget! */ - /* gtk_widget_size_allocate () */ + a.width = r.width = IMAGE_INSTANCE_WIDTH (p); + a.height = r.height = IMAGE_INSTANCE_HEIGHT (p); + + /* Force the widget's preferred and actual size to what we say it shall + be. */ + gtk_widget_size_request (IMAGE_INSTANCE_GTK_CLIPWIDGET (p), &r); + gtk_widget_size_allocate (IMAGE_INSTANCE_GTK_CLIPWIDGET (p), &a); } /* Adjust offsets within the frame. */ @@ -2356,6 +2350,10 @@ gtk_widget_instantiate_1 (Lisp_Object image_instance, Lisp_Object instantiator, */ IMAGE_INSTANCE_GTK_CLIPWIDGET (ii) = w; + /* The current theme may produce a widget of a different size that what we + expect so force reconsideration of the widget's size. */ + IMAGE_INSTANCE_LAYOUT_CHANGED (ii) = 1; + return (Qt); } @@ -2404,8 +2402,44 @@ FAKE_GTK_WIDGET_INSTANTIATOR(button); FAKE_GTK_WIDGET_INSTANTIATOR(progress_gauge); FAKE_GTK_WIDGET_INSTANTIATOR(edit_field); FAKE_GTK_WIDGET_INSTANTIATOR(combo_box); -FAKE_GTK_WIDGET_INSTANTIATOR(tab_control); FAKE_GTK_WIDGET_INSTANTIATOR(label); +/* Note: tab_control has a custom instantiator (see below) */ + +/* + Ask the widget to return it's preferred size. This device method must + defined for all widgets that also have format specific version of + query_geometry defined in glyphs-widget.c. This is because those format + specific versions return sizes that are appropriate for the X widgets. For + GTK, the size of a widget can change at runtime due to the user changing + their theme. + + This method can be called before the widget is instantiated. This is + because instantiate_image_instantiator() is tying to be helpful to other + toolkits and supply sane geometry values to them. This is not appropriate + for GTK and can be ignored. + + This method can be used by all widgets. +*/ +static void +gtk_widget_query_geometry (Lisp_Object image_instance, + int* width, int* height, + enum image_instance_geometry disp, Lisp_Object domain) +{ + Lisp_Image_Instance *p = XIMAGE_INSTANCE (image_instance); + + if (p->data != NULL) + { + GtkWidget *w = IMAGE_INSTANCE_GTK_CLIPWIDGET (p); + GtkRequisition r; + + gtk_widget_size_request(w, &r); + *height= r.height; + *width = r.width; + } +} + + +/* Button functions. */ /* Update a button's clicked state. */ static void @@ -2427,7 +2461,7 @@ gtk_button_redisplay (Lisp_Object image_instance) else { /* Unknown button type... */ - abort(); + ABORT(); } } @@ -2448,6 +2482,9 @@ gtk_button_property (Lisp_Object image_instance, Lisp_Object prop) return Qunbound; } + +/* Progress gauge functions. */ + /* set the properties of a progress gauge */ static void gtk_progress_gauge_redisplay (Lisp_Object image_instance) @@ -2467,6 +2504,198 @@ gtk_progress_gauge_redisplay (Lisp_Object image_instance) } } + +/* Tab Control functions. */ + +/* + Register a widget's callbacks with the frame's hashtable. The hashtable is + weak so deregistration is handled automatically. Tab controls have per-tab + callback list functions and the GTK callback architecture is not + sufficiently flexible to deal with this. Instead, the functions are + registered here and the id is passed through the callback loop. + */ +static int +gtk_register_gui_item (Lisp_Object image_instance, Lisp_Object gui, + Lisp_Object domain) +{ + struct frame *f = XFRAME(DOMAIN_FRAME(domain)); + int id = gui_item_id_hash(FRAME_GTK_WIDGET_CALLBACK_HASH_TABLE(f), + gui, WIDGET_GLYPH_SLOT); + + Fputhash(make_int(id), image_instance, + FRAME_GTK_WIDGET_INSTANCE_HASH_TABLE (f)); + Fputhash(make_int(id), XGUI_ITEM (gui)->callback, + FRAME_GTK_WIDGET_CALLBACK_HASH_TABLE (f)); + Fputhash(make_int(id), XGUI_ITEM (gui)->callback_ex, + FRAME_GTK_WIDGET_CALLBACK_EX_HASH_TABLE (f)); + return id; +} + +/* + Append the given item as a tab to the notebook. Callbacks, etc are all + setup. + */ +static void +gtk_add_tab_item(Lisp_Object image_instance, + GtkNotebook* nb, Lisp_Object item, + Lisp_Object domain, int i) +{ + Lisp_Object name; + int hash_id = 0; + char *c_name = NULL; + GtkWidget* box; + + if (GUI_ITEMP (item)) + { + Lisp_Gui_Item *pgui = XGUI_ITEM (item); + + if (!STRINGP (pgui->name)) + pgui->name = Feval (pgui->name); + + CHECK_STRING (pgui->name); + + hash_id = gtk_register_gui_item (image_instance, item, domain); + name = pgui->name; + } + else + { + CHECK_STRING (item); + name = item; + } + + TO_EXTERNAL_FORMAT (LISP_STRING, name, + C_STRING_ALLOCA, c_name, + Qctext); + + /* Dummy widget that the notbook wants to display when a tab is selected. */ + box = gtk_vbox_new (FALSE, 3); + + /* + Store the per-tab callback data id in the tab. The callback functions + themselves could have been stored in the widget but this avoids having to + worry about the garbage collector running between here and the callback + function. + */ + gtk_object_set_data(GTK_OBJECT(box), GTK_DATA_TAB_HASHCODE_IDENTIFIER, + (gpointer) hash_id); + + gtk_notebook_append_page (nb, box, gtk_label_new (c_name)); +} + +/* Signal handler for the switch-page signal. */ +static void gtk_tab_control_callback(GtkNotebook *notebook, + GtkNotebookPage *page, + gint page_num, + gpointer user_data) +{ + /* + This callback is called for every selection, not just user selection. + We're only interested in user selection, which occurs outside of + redisplay. + */ + + if (!in_display) + { + Lisp_Object image_instance, callback, callback_ex; + Lisp_Object frame, event; + int update_subwindows_p = 0; + struct frame *f = gtk_widget_to_frame(GTK_WIDGET(notebook)); + int id; + + if (!f) + return; + frame = wrap_frame (f); + + id = (int) gtk_object_get_data(GTK_OBJECT(page->child), + GTK_DATA_TAB_HASHCODE_IDENTIFIER); + image_instance = Fgethash(make_int(id), + FRAME_GTK_WIDGET_INSTANCE_HASH_TABLE(f), Qnil); + callback = Fgethash(make_int(id), + FRAME_GTK_WIDGET_CALLBACK_HASH_TABLE(f), Qnil); + callback_ex = Fgethash(make_int(id), + FRAME_GTK_WIDGET_CALLBACK_EX_HASH_TABLE(f), Qnil); + update_subwindows_p = 1; + + /* It is possible for a widget action to cause it to get out of + sync with its instantiator. Thus it is necessary to signal + this possibility. */ + if (IMAGE_INSTANCEP (image_instance)) + XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED (image_instance) = 1; + + if (!NILP (callback_ex) && !UNBOUNDP (callback_ex)) + { + event = Fmake_event (Qnil, Qnil); + + XEVENT (event)->event_type = misc_user_event; + XEVENT (event)->channel = frame; + XEVENT (event)->event.eval.function = Qeval; + XEVENT (event)->event.eval.object = + list4 (Qfuncall, callback_ex, image_instance, event); + } + else if (NILP (callback) || UNBOUNDP (callback)) + event = Qnil; + else + { + Lisp_Object fn, arg; + + event = Fmake_event (Qnil, Qnil); + + get_gui_callback (callback, &fn, &arg); + XEVENT (event)->event_type = misc_user_event; + XEVENT (event)->channel = frame; + XEVENT (event)->event.eval.function = fn; + XEVENT (event)->event.eval.object = arg; + } + + if (!NILP (event)) + enqueue_gtk_dispatch_event (event); + + /* The result of this evaluation could cause other instances to change so + enqueue an update callback to check this. */ + if (update_subwindows_p && !NILP (event)) + enqueue_magic_eval_event (update_widget_instances, frame); + } +} + +/* Create a tab_control widget. The special handling of the individual tabs + means that the normal instantiation code cannot be used. */ +static void +gtk_tab_control_instantiate (Lisp_Object image_instance, + Lisp_Object instantiator, + Lisp_Object pointer_fg, + Lisp_Object pointer_bg, + int dest_mask, Lisp_Object domain) +{ + Lisp_Object rest; + Lisp_Image_Instance *ii = XIMAGE_INSTANCE (image_instance); + int i = 0; + int selected = 0; + GtkNotebook *nb; + + /* The normal instantiation is still needed. */ + gtk_widget_instantiate (image_instance, instantiator, pointer_fg, + pointer_bg, dest_mask, domain); + + nb = GTK_NOTEBOOK (IMAGE_INSTANCE_GTK_CLIPWIDGET (ii)); + + /* Add items to the tab, find the current selection */ + LIST_LOOP (rest, XCDR (IMAGE_INSTANCE_WIDGET_ITEMS (ii))) + { + gtk_add_tab_item (image_instance, nb, XCAR (rest), domain, i); + + if (gui_item_selected_p (XCAR (rest))) + selected = i; + + i++; + } + + gtk_notebook_set_page(nb, selected); + + /* Call per-tab lisp callback when a tab is pressed. */ + gtk_signal_connect (GTK_OBJECT (nb), "switch-page", + GTK_SIGNAL_FUNC (gtk_tab_control_callback), NULL); +} + /* Set the properties of a tab control */ static void gtk_tab_control_redisplay (Lisp_Object image_instance) @@ -2483,6 +2712,7 @@ gtk_tab_control_redisplay (Lisp_Object image_instance) one. */ if (tab_control_order_only_changed (image_instance)) { + int i = 0; Lisp_Object rest, selected = gui_item_list_find_selected (NILP (IMAGE_INSTANCE_WIDGET_PENDING_ITEMS (ii)) ? @@ -2496,9 +2726,6 @@ gtk_tab_control_redisplay (Lisp_Object image_instance) Lisp_Object old_selected =gui_item_list_find_selected (XCDR (IMAGE_INSTANCE_WIDGET_ITEMS (ii))); - /* Need to focus on the widget... */ - stderr_out ("Hey, change the tab-focus you boob...\n"); - /* Pick up the new selected item. */ XGUI_ITEM (old_selected)->selected = XGUI_ITEM (XCAR (rest))->selected; @@ -2507,8 +2734,14 @@ gtk_tab_control_redisplay (Lisp_Object image_instance) /* We're not actually changing the items anymore. */ IMAGE_INSTANCE_WIDGET_ITEMS_CHANGED (ii) = 0; IMAGE_INSTANCE_WIDGET_PENDING_ITEMS (ii) = Qnil; + + gtk_notebook_set_page(GTK_NOTEBOOK (IMAGE_INSTANCE_GTK_CLIPWIDGET (ii)), + i); + break; } + + i++; } } else @@ -2517,33 +2750,23 @@ gtk_tab_control_redisplay (Lisp_Object image_instance) GtkNotebook *nb = GTK_NOTEBOOK (IMAGE_INSTANCE_GTK_CLIPWIDGET (ii)); guint num_pages = g_list_length (nb->children); Lisp_Object rest; + int i; + /* Why is there no API to remove everything from a notebook? */ if (num_pages >= 0) { - int i; for (i = num_pages; i >= 0; --i) { gtk_notebook_remove_page (nb, i); } } - LIST_LOOP (rest, XCDR (IMAGE_INSTANCE_WIDGET_ITEMS (ii))) - { - Lisp_Gui_Item *pgui = XGUI_ITEM (XCAR (rest)); - char *c_name = NULL; + i = 0; - if (!STRINGP (pgui->name)) - pgui->name = Feval (pgui->name); - - CHECK_STRING (pgui->name); - - TO_EXTERNAL_FORMAT (LISP_STRING, pgui->name, - C_STRING_ALLOCA, c_name, - Qctext); - - gtk_notebook_append_page (nb, - gtk_vbox_new (FALSE, 3), - gtk_label_new (c_name)); + LIST_LOOP (rest, XCDR (IMAGE_INSTANCE_WIDGET_PENDING_ITEMS (ii))) + { + gtk_add_tab_item(image_instance, nb, XCAR(rest), + IMAGE_INSTANCE_FRAME(ii), i); } /* Show all the new widgets we just added... */ @@ -2640,14 +2863,17 @@ image_instantiator_format_create_glyphs_gtk (void) IIFORMAT_HAS_DEVMETHOD (gtk, button, property); IIFORMAT_HAS_DEVMETHOD (gtk, button, instantiate); IIFORMAT_HAS_DEVMETHOD (gtk, button, redisplay); + IIFORMAT_HAS_SHARED_DEVMETHOD (gtk, button, query_geometry, widget); /* general widget methods. */ INITIALIZE_DEVICE_IIFORMAT (gtk, widget); IIFORMAT_HAS_DEVMETHOD (gtk, widget, property); + IIFORMAT_HAS_DEVMETHOD (gtk, widget, query_geometry); /* progress gauge */ INITIALIZE_DEVICE_IIFORMAT (gtk, progress_gauge); IIFORMAT_HAS_DEVMETHOD (gtk, progress_gauge, redisplay); IIFORMAT_HAS_DEVMETHOD (gtk, progress_gauge, instantiate); + IIFORMAT_HAS_SHARED_DEVMETHOD (gtk, progress_gauge, query_geometry, widget); /* text field */ INITIALIZE_DEVICE_IIFORMAT (gtk, edit_field); IIFORMAT_HAS_DEVMETHOD (gtk, edit_field, instantiate); @@ -2658,6 +2884,7 @@ image_instantiator_format_create_glyphs_gtk (void) INITIALIZE_DEVICE_IIFORMAT (gtk, tab_control); IIFORMAT_HAS_DEVMETHOD (gtk, tab_control, instantiate); IIFORMAT_HAS_DEVMETHOD (gtk, tab_control, redisplay); + IIFORMAT_HAS_SHARED_DEVMETHOD (gtk, tab_control, query_geometry, widget); /* label */ INITIALIZE_DEVICE_IIFORMAT (gtk, label); IIFORMAT_HAS_DEVMETHOD (gtk, label, instantiate); diff --git a/src/glyphs-gtk.h b/src/glyphs-gtk.h index 0a99770..e306772 100644 --- a/src/glyphs-gtk.h +++ b/src/glyphs-gtk.h @@ -40,7 +40,6 @@ Boston, MA 02111-1307, USA. */ struct gtk_image_instance_data { GdkPixmap **pixmaps; - GdkPixmap *mask; GdkCursor *cursor; /* If depth>0, then that means that other colors were allocated when @@ -87,7 +86,7 @@ void init_image_instance_from_gdk_pixmap (struct Lisp_Image_Instance *ii, (GTK_IMAGE_INSTANCE_DATA (i)->pixmaps[slice]) #define IMAGE_INSTANCE_GTK_PIXMAP_SLICES(i) \ (GTK_IMAGE_INSTANCE_DATA (i)->pixmaps) -#define IMAGE_INSTANCE_GTK_MASK(i) (GTK_IMAGE_INSTANCE_DATA (i)->mask) +#define IMAGE_INSTANCE_GTK_MASK(i) (GdkPixmap*)(IMAGE_INSTANCE_PIXMAP_MASK (i)) #define IMAGE_INSTANCE_GTK_CURSOR(i) (GTK_IMAGE_INSTANCE_DATA (i)->cursor) #define IMAGE_INSTANCE_GTK_COLORMAP(i) (GTK_IMAGE_INSTANCE_DATA (i)->colormap) #define IMAGE_INSTANCE_GTK_PIXELS(i) (GTK_IMAGE_INSTANCE_DATA (i)->pixels) diff --git a/src/glyphs.c b/src/glyphs.c index a83f4b9..6f9d031 100644 --- a/src/glyphs.c +++ b/src/glyphs.c @@ -318,13 +318,13 @@ specifiers will not be affected. signal_simple_error ("Invalid mapping form", mapping); else { - Lisp_Object exp = XCAR (mapping); + Lisp_Object mapexp = XCAR (mapping); Lisp_Object typevec = XCAR (XCDR (mapping)); Lisp_Object pos = Qnil; Lisp_Object newvec; struct gcpro gcpro1; - CHECK_STRING (exp); + CHECK_STRING (mapexp); CHECK_VECTOR (typevec); if (!NILP (XCDR (XCDR (mapping)))) { @@ -338,7 +338,7 @@ specifiers will not be affected. newvec = Fcopy_sequence (typevec); if (INTP (pos)) - XVECTOR_DATA (newvec)[XINT (pos)] = exp; + XVECTOR_DATA (newvec)[XINT (pos)] = mapexp; GCPRO1 (newvec); image_validate (newvec); UNGCPRO; @@ -374,7 +374,7 @@ process_image_string_instantiator (Lisp_Object data, LIST_LOOP (tail, *get_image_conversion_list (console_type)) { Lisp_Object mapping = XCAR (tail); - Lisp_Object exp = XCAR (mapping); + Lisp_Object mapexp = XCAR (mapping); Lisp_Object typevec = XCAR (XCDR (mapping)); /* if the result is of a type that can't be instantiated @@ -385,7 +385,7 @@ process_image_string_instantiator (Lisp_Object data, (INSTANTIATOR_TYPE (typevec), ERROR_ME), possible_dest_types, ()))) continue; - if (fast_string_match (exp, 0, data, 0, -1, 0, ERROR_ME, 0) >= 0) + if (fast_string_match (mapexp, 0, data, 0, -1, 0, ERROR_ME, 0) >= 0) { if (!NILP (XCDR (XCDR (mapping)))) { @@ -711,7 +711,7 @@ get_image_instantiator_governing_domain (Lisp_Object instantiator, else if (governing_domain == GOVERNING_DOMAIN_DEVICE) domain = DOMAIN_DEVICE (domain); else - abort (); + ABORT (); return domain; } @@ -1032,7 +1032,7 @@ print_image_instance (Lisp_Object obj, Lisp_Object printcharfun, break; default: - abort (); + ABORT (); } MAYBE_DEVMETH (DOMAIN_XDEVICE (ii->domain), print_image_instance, @@ -1155,7 +1155,7 @@ image_instance_equal (Lisp_Object obj1, Lisp_Object obj2, int depth) break; default: - abort (); + ABORT (); } return DEVMETH_OR_GIVEN (DOMAIN_XDEVICE (i1->domain), @@ -1234,7 +1234,7 @@ image_instance_hash (Lisp_Object obj, int depth) break; default: - abort (); + ABORT (); } return HASH2 (hash, DEVMETH_OR_GIVEN @@ -1322,7 +1322,7 @@ encode_image_instance_type (enum image_instance_type type) case IMAGE_SUBWINDOW: return Qsubwindow; case IMAGE_WIDGET: return Qwidget; default: - abort (); + ABORT (); } return Qnil; /* not reached */ @@ -1460,7 +1460,7 @@ make_image_instance_1 (Lisp_Object data, Lisp_Object domain, signal_simple_error ("Image instances not allowed here", data); image_validate (data); domain = decode_domain (domain); - /* instantiate_image_instantiator() will abort if given an + /* instantiate_image_instantiator() will ABORT if given an image instance ... */ dest_mask = decode_image_instance_type_list (dest_types); data = normalize_image_instantiator (data, @@ -1989,9 +1989,6 @@ image_instance_layout (Lisp_Object image_instance, if (yoffset != IMAGE_UNCHANGED_GEOMETRY) XIMAGE_INSTANCE_YOFFSET (image_instance) = yoffset; - assert (XIMAGE_INSTANCE_YOFFSET (image_instance) >= 0 - && XIMAGE_INSTANCE_XOFFSET (image_instance) >= 0); - /* If geometry is unspecified then get some reasonable values for it. */ if (width == IMAGE_UNSPECIFIED_GEOMETRY || @@ -2215,7 +2212,7 @@ inherit_instantiate (Lisp_Object image_instance, Lisp_Object instantiator, int dest_mask, Lisp_Object domain) { /* handled specially in image_instantiate */ - abort (); + ABORT (); } @@ -3238,7 +3235,7 @@ image_instantiate (Lisp_Object specifier, Lisp_Object matchspec, Qunbound); } else - abort (); /* We're not allowed anything else currently. */ + ABORT (); /* We're not allowed anything else currently. */ /* If we don't have an instance at this point then create one. */ @@ -3316,7 +3313,7 @@ image_instantiate (Lisp_Object specifier, Lisp_Object matchspec, RETURN_UNGCPRO (instance); } - abort (); + ABORT (); return Qnil; /* not reached */ } @@ -3713,7 +3710,7 @@ allocate_glyph (enum glyph_type type, | IMAGE_COLOR_PIXMAP_MASK; break; default: - abort (); + ABORT (); } /* I think Fmake_specifier can GC. I think set_specifier_fallback can GC. */ @@ -3838,7 +3835,7 @@ The return value will be one of 'buffer, 'pointer, or 'icon. CHECK_GLYPH (glyph); switch (XGLYPH_TYPE (glyph)) { - default: abort (); + default: ABORT (); case GLYPH_BUFFER: return Qbuffer; case GLYPH_POINTER: return Qpointer; case GLYPH_ICON: return Qicon; @@ -4526,7 +4523,7 @@ redisplay_subwindow (Lisp_Object subwindow) /* The update method is allowed to call eval. Since it is quite common for this function to get called from somewhere in redisplay we need to make sure that quits are ignored. Otherwise - Fsignal will abort. */ + Fsignal will ABORT. */ specbind (Qinhibit_quit, Qt); ERROR_CHECK_IMAGE_INSTANCE (subwindow); @@ -4889,7 +4886,7 @@ display_table_entry (Emchar ch, Lisp_Object face_table, continue; } else - abort (); + ABORT (); } } diff --git a/src/gtk-glue.c b/src/gtk-glue.c index 66cc549..95285f8 100644 --- a/src/gtk-glue.c +++ b/src/gtk-glue.c @@ -91,7 +91,7 @@ xemacs_list_to_gtklist (Lisp_Object obj, GtkArg *arg) } else { - abort(); + ABORT(); } } @@ -128,7 +128,7 @@ xemacs_gtklist_to_list (GtkArg *arg) } else { - abort(); + ABORT(); } } return (rval); @@ -179,7 +179,7 @@ xemacs_list_to_array (Lisp_Object obj, GtkArg *arg) } else { - abort(); + ABORT(); } #undef FROB } diff --git a/src/gtk-xemacs.c b/src/gtk-xemacs.c index 15d15c0..e5c3c42 100644 --- a/src/gtk-xemacs.c +++ b/src/gtk-xemacs.c @@ -248,14 +248,58 @@ gtk_xemacs_size_request (GtkWidget *widget, GtkRequisition *requisition) } } +/* Assign a size and position to the child widgets. This differs from the + super class method in that for all widgets except the scrollbars the size + and position are not caclulated here. This is because these widgets have + this function performed for them by the redisplay code (see + gtk_map_subwindow()). If the superclass method is called then the widgets + can change size and position as the two pieces of code move the widgets at + random. +*/ static void gtk_xemacs_size_allocate (GtkWidget *widget, GtkAllocation *allocation) { GtkXEmacs *x = GTK_XEMACS (widget); + GtkFixed *fixed = GTK_FIXED (widget); struct frame *f = GTK_XEMACS_FRAME (x); int columns, rows; - - parent_class->size_allocate(widget, allocation); + GList *children; + guint16 border_width; + + widget->allocation = *allocation; + if (GTK_WIDGET_REALIZED (widget)) + gdk_window_move_resize (widget->window, + allocation->x, + allocation->y, + allocation->width, + allocation->height); + + border_width = GTK_CONTAINER (fixed)->border_width; + + children = fixed->children; + while (children) + { + GtkFixedChild* child = children->data; + children = children->next; + + /* + Scrollbars are the only widget that is managed by GTK. See + comments in gtk_create_scrollbar_instance(). + */ + if (GTK_WIDGET_VISIBLE (child->widget) && + gtk_type_is_a(GTK_OBJECT_TYPE(child->widget), GTK_TYPE_SCROLLBAR)) + { + GtkAllocation child_allocation; + GtkRequisition child_requisition; + + gtk_widget_get_child_requisition (child->widget, &child_requisition); + child_allocation.x = child->x + border_width; + child_allocation.y = child->y + border_width; + child_allocation.width = child_requisition.width; + child_allocation.height = child_requisition.height; + gtk_widget_size_allocate (child->widget, &child_allocation); + } + } if (f) { @@ -275,7 +319,9 @@ gtk_xemacs_paint (GtkWidget *widget, GdkRectangle *area) { GtkXEmacs *x = GTK_XEMACS (widget); struct frame *f = GTK_XEMACS_FRAME (x); - gtk_redraw_exposed_area (f, area->x, area->y, area->width, area->height); + + if (GTK_WIDGET_DRAWABLE (widget)) + gtk_redraw_exposed_area (f, area->x, area->y, area->width, area->height); } static void @@ -291,30 +337,33 @@ gtk_xemacs_draw (GtkWidget *widget, GdkRectangle *area) gtk_fixed_paint() directly, which clears the background window, which causes A LOT of flashing. */ - gtk_xemacs_paint (widget, area); + if (GTK_WIDGET_DRAWABLE (widget)) + { + gtk_xemacs_paint (widget, area); - children = fixed->children; + children = fixed->children; - while (children) - { - child = children->data; - children = children->next; - /* #### This is what causes the scrollbar flickering! - Evidently the scrollbars pretty much take care of drawing - themselves in most cases. Then we come along and tell them - to redraw again! - - But if we just leave it out, then they do not get drawn - correctly the first time! - - Scrollbar flickering has been greatly helped by the - optimizations in scrollbar-gtk.c / - gtk_update_scrollbar_instance_status (), so this is not that - big a deal anymore. - */ - if (gtk_widget_intersect (child->widget, area, &child_area)) + while (children) { - gtk_widget_draw (child->widget, &child_area); + child = children->data; + children = children->next; + /* #### This is what causes the scrollbar flickering! + Evidently the scrollbars pretty much take care of drawing + themselves in most cases. Then we come along and tell them + to redraw again! + + But if we just leave it out, then they do not get drawn + correctly the first time! + + Scrollbar flickering has been greatly helped by the + optimizations in scrollbar-gtk.c / + gtk_update_scrollbar_instance_status (), so this is not that + big a deal anymore. + */ + if (gtk_widget_intersect (child->widget, area, &child_area)) + { + gtk_widget_draw (child->widget, &child_area); + } } } } @@ -326,14 +375,19 @@ gtk_xemacs_expose (GtkWidget *widget, GdkEventExpose *event) struct frame *f = GTK_XEMACS_FRAME (x); GdkRectangle *a = &event->area; - /* This takes care of drawing the scrollbars, etc */ - parent_class->expose_event (widget, event); + if (GTK_WIDGET_DRAWABLE (widget)) + { + /* This takes care of drawing the scrollbars, etc */ + parent_class->expose_event (widget, event); + + /* Now draw the actual frame data */ + if (!check_for_ignored_expose (f, a->x, a->y, a->width, a->height) && + !find_matching_subwindow (f, a->x, a->y, a->width, a->height)) + gtk_redraw_exposed_area (f, a->x, a->y, a->width, a->height); + return (TRUE); + } - /* Now draw the actual frame data */ - if (!check_for_ignored_expose (f, a->x, a->y, a->width, a->height) && - !find_matching_subwindow (f, a->x, a->y, a->width, a->height)) - gtk_redraw_exposed_area (f, a->x, a->y, a->width, a->height); - return (TRUE); + return FALSE; } Lisp_Object diff --git a/src/gutter.c b/src/gutter.c index 55dc0f8..fe6301a 100644 --- a/src/gutter.c +++ b/src/gutter.c @@ -70,7 +70,7 @@ update_gutter_geometry (struct frame *f, enum gutter_pos pos); (frame)->right_gutter_was_visible = flag; \ break; \ default: \ - abort (); \ + ABORT (); \ } \ } while (0) @@ -87,7 +87,7 @@ static int gutter_was_visible (struct frame* frame, enum gutter_pos pos) case RIGHT_GUTTER: return frame->right_gutter_was_visible; default: - abort (); + ABORT (); return 0; /* To keep the compiler happy */ } } @@ -214,7 +214,7 @@ get_gutter_coords (struct frame *f, enum gutter_pos pos, int *x, int *y, break; default: - abort (); + ABORT (); } } diff --git a/src/insdel.c b/src/insdel.c index d17322b..a459c8a 100644 --- a/src/insdel.c +++ b/src/insdel.c @@ -495,7 +495,7 @@ bufpos_to_bytind_func (struct buffer *buf, Bufpos x) } #ifdef ERROR_CHECK_BUFPOS else if (x >= bufmin) - abort (); + ABORT (); #endif else { @@ -783,7 +783,7 @@ bytind_to_bufpos_func (struct buffer *buf, Bytind x) } #ifdef ERROR_CHECK_BUFPOS else if (x >= bytmin) - abort (); + ABORT (); #endif else { @@ -1825,7 +1825,7 @@ static void move_gap (struct buffer *buf, Bytind pos) { if (! BUF_BEG_ADDR (buf)) - abort (); + ABORT (); if (pos < BI_BUF_GPT (buf)) gap_left (buf, pos); else if (pos > BI_BUF_GPT (buf)) diff --git a/src/lisp.h b/src/lisp.h index fe098df..44a67b2 100644 --- a/src/lisp.h +++ b/src/lisp.h @@ -243,15 +243,16 @@ template struct alignment_trick { char c; T member; }; time the assert checks take is measurable so let's not include them in production binaries. */ -#ifdef USE_ASSERTIONS /* Highly dubious kludge */ /* (thanks, Jamie, I feel better now -- ben) */ +# define ABORT() (assert_failed (__FILE__, __LINE__, "ABORT()")) void assert_failed (const char *, int, const char *); -# define abort() (assert_failed (__FILE__, __LINE__, "abort()")) + +#ifdef USE_ASSERTIONS # define assert(x) ((x) ? (void) 0 : assert_failed (__FILE__, __LINE__, #x)) #else # ifdef DEBUG_XEMACS -# define assert(x) ((x) ? (void) 0 : (void) abort ()) +# define assert(x) ((x) ? (void) 0 : (void) ABORT ()) # else # define assert(x) # endif @@ -879,7 +880,7 @@ do { \ /* For a list that's known to be in valid list format, where we may be deleting the current element out of the list -- - will abort() if the list is not in valid format */ + will ABORT() if the list is not in valid format */ #define LIST_LOOP_DELETING(consvar, nextconsvar, list) \ for (consvar = list; \ !NILP (consvar) ? (nextconsvar = XCDR (consvar), 1) :0; \ @@ -1410,7 +1411,7 @@ DECLARE_LRECORD (marker, Lisp_Marker); #define CONCHECK_MARKER(x) CONCHECK_RECORD (x, marker) /* The second check was looking for GCed markers still in use */ -/* if (INTP (XMARKER (x)->lheader.next.v)) abort (); */ +/* if (INTP (XMARKER (x)->lheader.next.v)) ABORT (); */ #define marker_next(m) ((m)->next) #define marker_prev(m) ((m)->prev) diff --git a/src/lread.c b/src/lread.c index 0d6b06c..d62b0d8 100644 --- a/src/lread.c +++ b/src/lread.c @@ -1960,7 +1960,7 @@ read_atom (Lisp_Object readcharfun, else if (sizeof (long) == sizeof (EMACS_INT)) number = atol (read_buffer); else - abort (); + ABORT (); return make_int (number); } #else diff --git a/src/menubar-gtk.c b/src/menubar-gtk.c index 4af6659..387e150 100644 --- a/src/menubar-gtk.c +++ b/src/menubar-gtk.c @@ -1,4 +1,4 @@ -/* Implements an elisp-programmable menubar -- X interface. +/* Implements an elisp-programmable menubar -- Gtk interface. Copyright (C) 1993, 1994 Free Software Foundation, Inc. Copyright (C) 1995 Tinker Systems and INS Engineering Corp. @@ -46,7 +46,7 @@ Boston, MA 02111-1307, USA. */ #define SUBMENU_TYPE 1 #define POPUP_TYPE 2 -static GtkWidget *menu_descriptor_to_widget_1 (Lisp_Object descr); +static GtkWidget *menu_descriptor_to_widget_1 (Lisp_Object descr, GtkAccelGroup* accel_group); #define FRAME_MENUBAR_DATA(frame) ((frame)->menubar_data) #define XFRAME_MENUBAR_DATA_LASTBUFF(frame) (XCAR ((frame)->menubar_data)) @@ -110,14 +110,14 @@ gtk_xemacs_menubar_get_type (void) return xemacs_menubar_type; } -static GtkWidgetClass *parent_class; +static GtkWidgetClass *menubar_parent_class; static void gtk_xemacs_menubar_class_init (GtkXEmacsMenubarClass *klass) { GtkWidgetClass *widget_class; widget_class = (GtkWidgetClass*) klass; - parent_class = (GtkWidgetClass *) gtk_type_class (gtk_menu_bar_get_type ()); + menubar_parent_class = (GtkWidgetClass *) gtk_type_class (gtk_menu_bar_get_type ()); widget_class->size_request = gtk_xemacs_menubar_size_request; } @@ -131,7 +131,7 @@ static void gtk_xemacs_menubar_size_request (GtkWidget *widget, GtkRequisition * GtkXEmacsMenubar *x = GTK_XEMACS_MENUBAR (widget); GtkRequisition frame_size; - parent_class->size_request (widget, requisition); + menubar_parent_class->size_request (widget, requisition); /* #### BILL! ** We should really only do this if the menu has not been detached! @@ -154,6 +154,117 @@ gtk_xemacs_menubar_new (struct frame *f) return (GTK_WIDGET (menubar)); } +/* + * Label with XEmacs accelerator character support. + * + * The default interfaces to GtkAccelLabel does not understand XEmacs + * keystroke printing conventions, nor is it convenient in the places where is + * it needed. This subclass provides an alternative interface more suited to + * XEmacs needs but does not add new functionality. + */ +#define GTK_TYPE_XEMACS_ACCEL_LABEL (gtk_xemacs_accel_label_get_type ()) +#define GTK_XEMACS_ACCEL_LABEL(obj) (GTK_CHECK_CAST ((obj), GTK_TYPE_ACCEL_LABEL, GtkXEmacsAccelLabel)) +#define GTK_XEMACS_ACCEL_LABEL_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GTK_TYPE_ACCEL_LABEL, GtkXEmacsAccelLabelClass)) +#define GTK_IS_XEMACS_ACCEL_LABEL(obj) (GTK_CHECK_TYPE ((obj), GTK_TYPE_XEMACS_ACCEL_LABEL)) +#define GTK_IS_XEMACS_ACCEL_LABEL_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), GTK_TYPE_XEMACS_ACCEL_LABEL)) + +typedef struct _GtkXEmacsAccelLabel GtkXEmacsAccelLabel; +typedef struct _GtkXEmacsAccelLabelClass GtkXEmacsAccelLabelClass; + +/* Instance structure. No additional fields required. */ +struct _GtkXEmacsAccelLabel +{ + GtkAccelLabel label; +}; + +/* Class structure. No additional fields required. */ +struct _GtkXEmacsAccelLabelClass +{ + GtkAccelLabelClass parent_class; +}; + +static GtkType gtk_xemacs_accel_label_get_type(void); +static GtkWidget* gtk_xemacs_accel_label_new(const gchar *string); +static void gtk_xemacs_set_accel_keys(GtkXEmacsAccelLabel* l, + Lisp_Object keys); +static void gtk_xemacs_accel_label_class_init(GtkXEmacsAccelLabelClass *klass); +static void gtk_xemacs_accel_label_init(GtkXEmacsAccelLabel *xemacs); + +static GtkType +gtk_xemacs_accel_label_get_type(void) +{ + static GtkType xemacs_accel_label_type = 0; + + if (!xemacs_accel_label_type) + { + static const GtkTypeInfo xemacs_accel_label_info = + { + "GtkXEmacsAccelLabel", + sizeof (GtkXEmacsAccelLabel), + sizeof (GtkXEmacsAccelLabelClass), + (GtkClassInitFunc) gtk_xemacs_accel_label_class_init, + (GtkObjectInitFunc) gtk_xemacs_accel_label_init, + /* reserved_1 */ NULL, + /* reserved_2 */ NULL, + (GtkClassInitFunc) NULL, + }; + + xemacs_accel_label_type = gtk_type_unique (gtk_accel_label_get_type(), &xemacs_accel_label_info); + } + + return xemacs_accel_label_type; +} + +static void +gtk_xemacs_accel_label_class_init(GtkXEmacsAccelLabelClass *klass) +{ + /* Nothing to do. */ +} + +static void +gtk_xemacs_accel_label_init(GtkXEmacsAccelLabel *xemacs) +{ + /* Nothing to do. */ +} + +static GtkWidget* +gtk_xemacs_accel_label_new (const gchar *string) +{ + GtkXEmacsAccelLabel *xemacs_accel_label; + + xemacs_accel_label = gtk_type_new (GTK_TYPE_XEMACS_ACCEL_LABEL); + + if (string && *string) + gtk_label_set_text (GTK_LABEL (xemacs_accel_label), string); + + return GTK_WIDGET (xemacs_accel_label); +} + +/* Make the string the accelerator string for the label. */ +static void +gtk_xemacs_set_accel_keys(GtkXEmacsAccelLabel* l, Lisp_Object keys) +{ + g_return_if_fail (l != NULL); + g_return_if_fail (GTK_IS_XEMACS_ACCEL_LABEL (l)); + + /* Disable the standard way of finding the accelerator string for the + label. */ + gtk_accel_label_set_accel_widget (GTK_ACCEL_LABEL(l), NULL); + + /* Set the string straight from the object. */ + if (STRINGP (keys) && XSTRING_LENGTH (keys)) + { + C_STRING_TO_EXTERNAL_MALLOC(XSTRING_DATA (keys), + l->label.accel_string, + Qctext); + } + else + { + /* l->label.accel_string = NULL;*/ + } +} + + /* We now return you to your regularly scheduled menus... */ int dockable_menubar; @@ -314,7 +425,8 @@ __activate_menu(GtkMenuItem *item, gpointer user_data) } else { - next = menu_descriptor_to_widget_1 (child); + next = menu_descriptor_to_widget_1 (child, + gtk_menu_ensure_uline_accel_group (GTK_MENU (item->submenu))); } if (!next) @@ -349,6 +461,63 @@ __kill_stupid_gtk_timer (GtkObject *obj, gpointer user_data) } } +/* Convert the XEmacs menu accelerator representation to Gtk mnemonic form. If + no accelerator has been provided, put one at the start of the string (this + mirrors the behaviour under X). This algorithm is also found in + dialog-gtk.el:gtk-popup-convert-underscores. +*/ +static char * +convert_underscores(const char *name) +{ + char *rval; + int i,j; + int found_accel = FALSE; + int underscores = 0; + + for (i = 0; name[i]; ++i) + if (name[i] == '%' && name[i+1] == '_') + { + found_accel = TRUE; + } + else if (name[i] == '_') + { + underscores++; + } + + /* Allocate space for the original string, plus zero byte plus extra space + for all quoted underscores plus possible additional leading accelerator. */ + rval = xmalloc_and_zero (strlen(name) + 1 + underscores + + (found_accel ? 0 : 1)); + + if (!found_accel) + rval[0] = '_'; + + for (i = 0, j = (found_accel ? 0 : 1); name[i]; i++) + { + if (name[i]=='%') + { + i++; + if (!(name[i])) + continue; + + if ((name[i] != '_') && (name[i] != '%')) + i--; + + found_accel = TRUE; + } + else if (name[i] == '_') + { + rval[j++] = '_'; + } + + rval[j++] = name[i]; + } + + return rval; +} + + +/* Remove the XEmacs menu accellerator representation from a string. */ static char * remove_underscores(const char *name) { @@ -362,7 +531,9 @@ remove_underscores(const char *name) if (!(name[i])) continue; - if ((name[i] == '_')) + if ((name[i] != '_') && (name[i] != '%')) + i--; + else continue; } rval[j++] = name[i]; @@ -375,7 +546,8 @@ remove_underscores(const char *name) DESCR is either a list (meaning a submenu), a vector, or nil (if you include a :filter keyword) */ static GtkWidget * -menu_convert (Lisp_Object desc, GtkWidget *reuse) +menu_convert (Lisp_Object desc, GtkWidget *reuse, + GtkAccelGroup* menubar_accel_group) { GtkWidget *menu_item = NULL; GtkWidget *submenu = NULL; @@ -392,8 +564,23 @@ menu_convert (Lisp_Object desc, GtkWidget *reuse) if (!reuse) { - char *temp_menu_name = remove_underscores (XSTRING_DATA (XCAR (desc))); - menu_item = gtk_menu_item_new_with_label (temp_menu_name); + char *temp_menu_name = convert_underscores (XSTRING_DATA (XCAR (desc))); + GtkWidget* accel_label = gtk_xemacs_accel_label_new(NULL); + guint accel_key; + + gtk_misc_set_alignment (GTK_MISC (accel_label), 0.0, 0.5); + accel_key = gtk_label_parse_uline (GTK_LABEL (accel_label), temp_menu_name); + + menu_item = gtk_menu_item_new (); + gtk_container_add (GTK_CONTAINER (menu_item), accel_label); + gtk_widget_show (accel_label); + + if (menubar_accel_group) + gtk_widget_add_accelerator (menu_item, + "activate_item", + menubar_accel_group, + accel_key, GDK_MOD1_MASK, + GTK_ACCEL_LOCKED); free (temp_menu_name); } else @@ -542,28 +729,13 @@ menu_convert (Lisp_Object desc, GtkWidget *reuse) return (menu_item); } -static struct frame * -__get_channel (GtkWidget *w) -{ - struct frame *f = NULL; - - for (; w; w = w->parent) - { - if ((f = (struct frame *) gtk_object_get_data (GTK_OBJECT (w), "xemacs::frame"))) - return (f); - } - - return (selected_frame()); -} - - /* Called whenever a button, radio, or toggle is selected in the menu */ static void __generic_button_callback (GtkMenuItem *item, gpointer user_data) { Lisp_Object callback, function, data, channel; - XSETFRAME (channel, __get_channel (GTK_WIDGET (item))); + XSETFRAME (channel, gtk_widget_to_frame (GTK_WIDGET (item))); VOID_TO_LISP (callback, user_data); @@ -576,7 +748,8 @@ __generic_button_callback (GtkMenuItem *item, gpointer user_data) /* This function cannot GC. It is only called from menu_item_descriptor_to_widget_value, which prohibits GC. */ -static GtkWidget *menu_descriptor_to_widget_1 (Lisp_Object descr) +static GtkWidget * +menu_descriptor_to_widget_1 (Lisp_Object descr, GtkAccelGroup* accel_group) { if (STRINGP (descr)) { @@ -589,7 +762,7 @@ static GtkWidget *menu_descriptor_to_widget_1 (Lisp_Object descr) else if (LISTP (descr)) { /* It is a submenu */ - return (menu_convert (descr, NULL)); + return (menu_convert (descr, NULL, accel_group)); } else if (VECTORP (descr)) { @@ -610,6 +783,7 @@ static GtkWidget *menu_descriptor_to_widget_1 (Lisp_Object descr) int plist_p; int selected_spec = 0, included_spec = 0; GtkWidget *widget = NULL; + guint accel_key; if (length < 2) signal_simple_error ("button descriptors must be at least 2 long", descr); @@ -705,8 +879,9 @@ static GtkWidget *menu_descriptor_to_widget_1 (Lisp_Object descr) sprintf (label_buffer, "%s ", XSTRING_DATA (name)); } - temp_label = remove_underscores (label_buffer); - main_label = gtk_accel_label_new (temp_label); + temp_label = convert_underscores (label_buffer); + main_label = gtk_xemacs_accel_label_new (NULL); + accel_key = gtk_label_parse_uline (GTK_LABEL (main_label), temp_label); free (temp_label); } @@ -822,36 +997,23 @@ static GtkWidget *menu_descriptor_to_widget_1 (Lisp_Object descr) GTK_SIGNAL_FUNC (__generic_button_callback), LISP_TO_VOID (callback)); - /* We cheat here... GtkAccelLabel usually builds its - `accel_string' from the widget it is attached to, but we do - not want to go thru the overhead of converting our nice - string back into the modifier + key format that requires, - just so that they can convert it back into a (possibly - different/wrong) string - - We set the label string manually, and things should 'just - work' - - In an ideal world we would just subclass GtkLabel ourselves, - but I have known for a very long time that this is not an - ideal world. - - #### Should do menu shortcuts `correctly' one of these days. + /* Now that all the information about the menu item is know, set the + remaining properties. */ if (main_label) { - GtkAccelLabel *l = GTK_ACCEL_LABEL (main_label); - gtk_container_add (GTK_CONTAINER (widget), main_label); - gtk_accel_label_set_accel_widget (l, NULL); - gtk_misc_set_alignment (GTK_MISC (l), 0.0, 0.5); + gtk_misc_set_alignment (GTK_MISC (main_label), 0.0, 0.5); + gtk_xemacs_set_accel_keys(GTK_XEMACS_ACCEL_LABEL(main_label), keys); - if (STRINGP (keys) && XSTRING_LENGTH (keys)) - { - l->accel_string = g_strdup (XSTRING_DATA (keys)); - } + if (accel_group) + gtk_widget_add_accelerator (widget, + "activate_item", + accel_group, + accel_key, 0, + GTK_ACCEL_LOCKED); } return (widget); @@ -859,11 +1021,12 @@ static GtkWidget *menu_descriptor_to_widget_1 (Lisp_Object descr) else { return (NULL); - /* abort (); ???? */ + /* ABORT (); ???? */ } } -static GtkWidget *menu_descriptor_to_widget (Lisp_Object descr) +static GtkWidget * +menu_descriptor_to_widget (Lisp_Object descr, GtkAccelGroup* accel_group) { int count = specpdl_depth (); GtkWidget *rval = NULL; @@ -873,7 +1036,7 @@ static GtkWidget *menu_descriptor_to_widget (Lisp_Object descr) gc_currently_forbidden = 1; /* Cannot GC from here on out... */ - rval = menu_descriptor_to_widget_1 (descr); + rval = menu_descriptor_to_widget_1 (descr, accel_group); unbind_to (count, Qnil); return (rval); @@ -883,23 +1046,24 @@ static gboolean menu_can_reuse_widget (GtkWidget *child, const char *label) { /* Everything up at the top level was done using - ** gtk_menu_item_new_with_label(), but we still double check to make + ** gtk_xemacs_accel_label_new(), but we still double check to make ** sure we don't seriously foobar ourselves. */ - char *temp_label = NULL; - gpointer possible_child = g_list_nth_data (gtk_container_children (GTK_CONTAINER (child)), 0); + gpointer possible_child = + g_list_nth_data (gtk_container_children (GTK_CONTAINER (child)), 0); + gboolean ret_val = FALSE; if (possible_child && GTK_IS_LABEL (possible_child)) { - if (!temp_label) temp_label = remove_underscores (label); + char *temp_label = remove_underscores (label); + if (!strcmp (GTK_LABEL (possible_child)->label, temp_label)) - { - free (temp_label); - return (TRUE); - } + ret_val = TRUE; + + free (temp_label); } - if (temp_label) free (temp_label); - return (FALSE); + + return ret_val; } /* Converts a menubar description into a GtkMenuBar... a menubar is a @@ -915,6 +1079,7 @@ menu_create_menubar (struct frame *f, Lisp_Object descr) GtkWidget *menubar = FRAME_GTK_MENUBAR_WIDGET (f); GUI_ID id = (GUI_ID) gtk_object_get_data (GTK_OBJECT (menubar), XEMACS_MENU_GUIID_TAG); guint menu_position = 0; + GtkAccelGroup *menubar_accel_group; /* Remove any existing protection for old menu items */ ungcpro_popup_callbacks (id); @@ -922,6 +1087,8 @@ menu_create_menubar (struct frame *f, Lisp_Object descr) /* GCPRO the whole damn thing */ gcpro_popup_callbacks (id, descr); + menubar_accel_group = gtk_accel_group_new(); + EXTERNAL_LIST_LOOP (tail, value) { gpointer current_child = g_list_nth_data (GTK_MENU_SHELL (menubar)->children, menu_position); @@ -939,7 +1106,7 @@ menu_create_menubar (struct frame *f, Lisp_Object descr) /* It is a button description */ GtkWidget *item; - item = menu_descriptor_to_widget (item_descr); + item = menu_descriptor_to_widget (item_descr, menubar_accel_group); gtk_widget_set_name (item, "XEmacsMenuButton"); if (!item) @@ -961,12 +1128,13 @@ menu_create_menubar (struct frame *f, Lisp_Object descr) if (current_child && menu_can_reuse_widget (GTK_WIDGET (current_child), XSTRING_DATA (XCAR (item_descr)))) { - widget = menu_convert (item_descr, GTK_WIDGET (current_child)); + widget = menu_convert (item_descr, GTK_WIDGET (current_child), + menubar_accel_group); reused_p = TRUE; } else { - widget = menu_convert (item_descr, NULL); + widget = menu_convert (item_descr, NULL, menubar_accel_group); if (current_child) gtk_widget_destroy (GTK_WIDGET (current_child)); gtk_menu_bar_insert (GTK_MENU_BAR (menubar), widget, menu_position); } @@ -1005,6 +1173,10 @@ menu_create_menubar (struct frame *f, Lisp_Object descr) } } } + + /* Attach the new accelerator group to the frame. */ + gtk_window_add_accel_group (GTK_WINDOW (FRAME_GTK_SHELL_WIDGET(f)), + menubar_accel_group); } @@ -1227,7 +1399,7 @@ gtk_popup_menu (Lisp_Object menu_desc, Lisp_Object event) CHECK_STRING (XCAR (menu_desc)); /* Now lets get down to business... */ - widget = menu_descriptor_to_widget (menu_desc); + widget = menu_descriptor_to_widget (menu_desc, NULL); menu = GTK_MENU_ITEM (widget)->submenu; gtk_widget_set_name (widget, "XEmacsPopupMenu"); id = gtk_object_get_data (GTK_OBJECT (widget), XEMACS_MENU_GUIID_TAG); @@ -1271,7 +1443,7 @@ See the definition of `popup-menu' for more information on the format of MENU. */ (menu)) { - GtkWidget *w = menu_descriptor_to_widget (menu); + GtkWidget *w = menu_descriptor_to_widget (menu, NULL); return (w ? build_gtk_object (GTK_OBJECT (w)) : Qnil); } diff --git a/src/mule-charset.c b/src/mule-charset.c index 30b720a..e32fcf2 100644 --- a/src/mule-charset.c +++ b/src/mule-charset.c @@ -908,15 +908,22 @@ get_unallocated_leading_byte (int dimension) #else if (dimension == 1) { - if (chlook->next_allocated_1_byte_leading_byte > MAX_LEADING_BYTE_PRIVATE_1) + if (chlook->next_allocated_1_byte_leading_byte > + MAX_LEADING_BYTE_PRIVATE_1) lb = 0; else lb = chlook->next_allocated_1_byte_leading_byte++; } else { - if (chlook->next_allocated_2_byte_leading_byte > MAX_LEADING_BYTE_PRIVATE_2) - lb = 0; + /* awfully fragile, but correct */ +#if MAX_LEADING_BYTE_PRIVATE_2 == 255 + if (chlook->next_allocated_2_byte_leading_byte == 0) +#else + if (chlook->next_allocated_2_byte_leading_byte > + MAX_LEADING_BYTE_PRIVATE_2) +#endif + lb = 0; else lb = chlook->next_allocated_2_byte_leading_byte++; } diff --git a/src/mule-charset.h b/src/mule-charset.h index 95ee6f2..adf9fb6 100644 --- a/src/mule-charset.h +++ b/src/mule-charset.h @@ -697,7 +697,7 @@ CHAR_LEADING_BYTE (Emchar c) #ifdef ENABLE_COMPOSITE_CHARS return LEADING_BYTE_COMPOSITE; #else - abort(); + ABORT(); return 0; #endif /* ENABLE_COMPOSITE_CHARS */ } diff --git a/src/native-gtk-toolbar.c b/src/native-gtk-toolbar.c index 8757108..e2af216 100644 --- a/src/native-gtk-toolbar.c +++ b/src/native-gtk-toolbar.c @@ -49,7 +49,7 @@ Boston, MA 02111-1307, USA. */ (frame)->right_toolbar_was_visible = flag; \ break; \ default: \ - abort (); \ + ABORT (); \ } \ } while (0) diff --git a/src/redisplay-gtk.c b/src/redisplay-gtk.c index 119109e..3e792de 100644 --- a/src/redisplay-gtk.c +++ b/src/redisplay-gtk.c @@ -460,7 +460,7 @@ gtk_output_display_block (struct window *w, struct display_line *dl, int block, break; case IMAGE_POINTER: - abort (); + ABORT (); case IMAGE_WIDGET: if (EQ (XIMAGE_INSTANCE_WIDGET_TYPE (instance), @@ -484,14 +484,14 @@ gtk_output_display_block (struct window *w, struct display_line *dl, int block, break; default: - abort (); + ABORT (); } xpos += rb->width; elt++; } else - abort (); + ABORT (); } } diff --git a/src/redisplay-msw.c b/src/redisplay-msw.c index 62ddceb..e2a2552 100644 --- a/src/redisplay-msw.c +++ b/src/redisplay-msw.c @@ -1216,7 +1216,7 @@ mswindows_output_display_block (struct window *w, struct display_line *dl, int b case IMAGE_TEXT: case IMAGE_POINTER: default: - abort (); + ABORT (); } IMAGE_INSTANCE_OPTIMIZE_OUTPUT (XIMAGE_INSTANCE (instance)) = 0; @@ -1225,7 +1225,7 @@ mswindows_output_display_block (struct window *w, struct display_line *dl, int b elt++; } else - abort (); + ABORT (); } } diff --git a/src/redisplay-output.c b/src/redisplay-output.c index fc0b5c3..7b1c46f 100644 --- a/src/redisplay-output.c +++ b/src/redisplay-output.c @@ -334,7 +334,7 @@ get_next_display_block (layout_bounds bounds, display_block_dynarr *dba, else if (start_pos <= bounds.right_out) *next_start = bounds.right_out; else - abort (); + ABORT (); } for (block = 0; block < Dynarr_length (dba); block++) @@ -377,7 +377,7 @@ get_cursor_size_and_location (struct window *w, struct display_block *db, int defheight, defwidth; if (Dynarr_length (db->runes) <= cursor_location) - abort (); + ABORT (); XSETWINDOW (window, w); @@ -1521,7 +1521,7 @@ redisplay_output_layout (Lisp_Object domain, case IMAGE_POINTER: default: - abort (); + ABORT (); } } IMAGE_INSTANCE_OPTIMIZE_OUTPUT (childii) = 0; @@ -1633,7 +1633,7 @@ redisplay_clear_region (Lisp_Object locale, face_index findex, int x, int y, f = XFRAME (locale); } else - abort (); + ABORT (); d = XDEVICE (f->device); diff --git a/src/redisplay-tty.c b/src/redisplay-tty.c index 80bdcc4..849d974 100644 --- a/src/redisplay-tty.c +++ b/src/redisplay-tty.c @@ -344,7 +344,7 @@ tty_output_display_block (struct window *w, struct display_line *dl, int block, case IMAGE_TEXT: case IMAGE_POINTER: default: - abort (); + ABORT (); } IMAGE_INSTANCE_OPTIMIZE_OUTPUT (XIMAGE_INSTANCE (instance)) = 0; @@ -354,7 +354,7 @@ tty_output_display_block (struct window *w, struct display_line *dl, int block, elt++; } else - abort (); + ABORT (); } } diff --git a/src/redisplay-x.c b/src/redisplay-x.c index 711638b..b6a89ba 100644 --- a/src/redisplay-x.c +++ b/src/redisplay-x.c @@ -492,7 +492,7 @@ x_output_display_block (struct window *w, struct display_line *dl, int block, case IMAGE_TEXT: case IMAGE_POINTER: default: - abort (); + ABORT (); } IMAGE_INSTANCE_OPTIMIZE_OUTPUT (XIMAGE_INSTANCE (instance)) = 0; @@ -502,7 +502,7 @@ x_output_display_block (struct window *w, struct display_line *dl, int block, elt++; } else - abort (); + ABORT (); } } @@ -982,8 +982,9 @@ x_output_string (struct window *w, struct display_line *dl, /* We draw underlines in the same color as the text. */ if (cachel->underline) { - unsigned long upos; - unsigned long uthick; + /* upos is naturally signed, why would anyone think otherwise? + uthick is signed to avoid unsigned propagation. */ + long upos, uthick; XFontStruct *xfont; xfont = FONT_INSTANCE_X_FONT (XFONT_INSTANCE (font)); @@ -1011,7 +1012,9 @@ x_output_string (struct window *w, struct display_line *dl, } if (cachel->strikethru) { - unsigned long ascent,descent,upos, uthick; + /* ascent, descent, and upos are naturally signed; why would anyone + think otherwise? uthick is signed to avoid unsigned propagation. */ + long ascent, descent, upos, uthick; XFontStruct *xfont; xfont = FONT_INSTANCE_X_FONT (XFONT_INSTANCE (font)); diff --git a/src/redisplay.c b/src/redisplay.c index e40c348..ac3416f 100644 --- a/src/redisplay.c +++ b/src/redisplay.c @@ -1643,7 +1643,7 @@ add_propagation_runes (prop_block_dynarr **prop, pos_data *data) } break; default: - abort (); + ABORT (); } } @@ -1838,7 +1838,7 @@ add_glyph_rune (pos_data *data, struct glyph_block *gb, int pos_type, /* Otherwise something is screwed up. */ else - abort (); + ABORT (); } face = glyph_face (gb->glyph, data->window); @@ -1946,7 +1946,7 @@ add_glyph_rune (pos_data *data, struct glyph_block *gb, int pos_type, return NULL; } else - abort (); /* there are no unknown types */ + ABORT (); /* there are no unknown types */ } return NULL; @@ -2519,7 +2519,7 @@ create_text_block (struct window *w, struct display_line *dl, /* This had better be a newline but doing it this way we'll see obvious incorrect results if it isn't. No - need to abort here. */ + need to ABORT here. */ data.ch = BI_BUF_FETCH_CHAR (b, data.bi_bufpos); goto done; @@ -2996,7 +2996,7 @@ add_margin_runes (struct display_line *dl, struct display_block *db, int start, struct glyph_block *gb = Dynarr_atp (gbd, elt); if (NILP (gb->extent)) - abort (); /* these should have been handled in add_glyph_rune */ + ABORT (); /* these should have been handled in add_glyph_rune */ if (gb->active && ((side == LEFT_GLYPHS && @@ -3081,7 +3081,7 @@ create_left_glyph_block (struct window *w, struct display_line *dl, struct glyph_block *gb = Dynarr_atp (dl->left_glyphs, elt); if (NILP (gb->extent)) - abort (); /* these should have been handled in add_glyph_rune */ + ABORT (); /* these should have been handled in add_glyph_rune */ if (extent_begin_glyph_layout (XEXTENT (gb->extent)) == GL_WHITESPACE) { @@ -3133,7 +3133,7 @@ create_left_glyph_block (struct window *w, struct display_line *dl, struct glyph_block *gb = Dynarr_atp (dl->left_glyphs, elt); if (NILP (gb->extent)) - abort (); /* these should have been handled in add_glyph_rune */ + ABORT (); /* these should have been handled in add_glyph_rune */ if (extent_begin_glyph_layout (XEXTENT (gb->extent)) == GL_INSIDE_MARGIN) @@ -3202,7 +3202,7 @@ create_left_glyph_block (struct window *w, struct display_line *dl, struct glyph_block *gb = Dynarr_atp (dl->left_glyphs, elt); if (NILP (gb->extent)) - abort (); /* these should have been handled in add_glyph_rune */ + ABORT (); /* these should have been handled in add_glyph_rune */ if (extent_begin_glyph_layout (XEXTENT (gb->extent)) == GL_INSIDE_MARGIN) @@ -3244,7 +3244,7 @@ create_left_glyph_block (struct window *w, struct display_line *dl, struct glyph_block *gb = Dynarr_atp (dl->left_glyphs, elt); if (NILP (gb->extent)) - abort (); /* these should have been handled in add_glyph_rune */ + ABORT (); /* these should have been handled in add_glyph_rune */ if (extent_begin_glyph_layout (XEXTENT (gb->extent)) == GL_OUTSIDE_MARGIN) @@ -3402,7 +3402,7 @@ create_right_glyph_block (struct window *w, struct display_line *dl) struct glyph_block *gb = Dynarr_atp (dl->right_glyphs, elt); if (NILP (gb->extent)) - abort (); /* these should have been handled in add_glyph_rune */ + ABORT (); /* these should have been handled in add_glyph_rune */ if (extent_end_glyph_layout (XEXTENT (gb->extent)) == GL_WHITESPACE) { @@ -3452,7 +3452,7 @@ create_right_glyph_block (struct window *w, struct display_line *dl) struct glyph_block *gb = Dynarr_atp (dl->right_glyphs, elt); if (NILP (gb->extent)) - abort (); /* these should have been handled in add_glyph_rune */ + ABORT (); /* these should have been handled in add_glyph_rune */ if (extent_end_glyph_layout (XEXTENT (gb->extent)) == GL_INSIDE_MARGIN) { @@ -3516,7 +3516,7 @@ create_right_glyph_block (struct window *w, struct display_line *dl) struct glyph_block *gb = Dynarr_atp (dl->right_glyphs, elt); if (NILP (gb->extent)) - abort (); /* these should have been handled in add_glyph_rune */ + ABORT (); /* these should have been handled in add_glyph_rune */ if (extent_end_glyph_layout (XEXTENT (gb->extent)) == GL_INSIDE_MARGIN) { @@ -3557,7 +3557,7 @@ create_right_glyph_block (struct window *w, struct display_line *dl) struct glyph_block *gb = Dynarr_atp (dl->right_glyphs, elt); if (NILP (gb->extent)) - abort (); /* these should have been handled in add_glyph_rune */ + ABORT (); /* these should have been handled in add_glyph_rune */ if (extent_end_glyph_layout (XEXTENT (gb->extent)) == GL_OUTSIDE_MARGIN) { @@ -4748,7 +4748,7 @@ create_string_text_block (struct window *w, Lisp_Object disp_string, else if (data.bi_bufpos == bi_string_zv) goto done; else if (data.bi_bufpos < 0) - /* #### urk urk urk! Aborts are not very fun! Fix this please! */ + /* #### urk urk urk! ABORTs are not very fun! Fix this please! */ data.bi_bufpos = 0; else INC_CHARBYTIND (string_data (s), data.bi_bufpos); @@ -5298,7 +5298,7 @@ regenerate_window (struct window *w, Bufpos start_pos, Bufpos point, int type) /* The lines had better exist by this point. */ if (!(dla = window_display_lines (w, type))) - abort (); + ABORT (); Dynarr_reset (dla); w->max_line_len = 0; @@ -5490,7 +5490,7 @@ regenerate_window (struct window *w, Bufpos start_pos, Bufpos point, int type) dla_start = 0; \ } \ else \ - abort (); /* structs differ */ \ + ABORT (); /* structs differ */ \ \ dla_end = Dynarr_length (cdla) - 1; \ } \ @@ -6512,7 +6512,7 @@ redisplay_frame (struct frame *f, int preemption_check) /* The menubar, toolbar, and icon updates must be done before hold_frame_size_changes is called and we are officially 'in_display'. They may eval lisp code which may call Fsignal. - If in_display is set Fsignal will abort. */ + If in_display is set Fsignal will ABORT. */ #ifdef HAVE_MENUBARS /* Update the menubar. It is done first since it could change @@ -6572,10 +6572,10 @@ redisplay_frame (struct frame *f, int preemption_check) We need to remove them. If Fsignal() is called during this critical section, we - will abort(). + will ABORT(). If garbage collection is called during this critical section, - we simply return. #### We should abort instead. + we simply return. #### We should ABORT instead. #### If a frame-size change does occur we should probably actually be preempting redisplay. */ @@ -7500,7 +7500,7 @@ point_in_line_start_cache (struct window *w, Bufpos point, int min_past) int win_char_height = window_char_height (w, 1); /* Occasionally we get here with a 0 height - window. find_next_newline_no_quit will abort if we pass it a + window. find_next_newline_no_quit will ABORT if we pass it a count of 0 so handle that case. */ if (!win_char_height) win_char_height = 1; @@ -7652,7 +7652,7 @@ find_point_loop: else if (point < start) top = pos - 1; else - abort (); + ABORT (); new_pos = (bottom + top + 1) >> 1; if (pos == new_pos) diff --git a/src/regex.c b/src/regex.c index eb98c0b..c6f6f36 100644 --- a/src/regex.c +++ b/src/regex.c @@ -120,6 +120,8 @@ complex_vars_of_regex (void) #else /* not emacs */ +#define ABORT abort + /* If we are not linking with Emacs proper, we can't use the relocating allocator even if config.h says that we can. */ @@ -419,7 +421,7 @@ typedef enum /* Start remembering the text that is matched, for storing in a register. Followed by one byte with the register number, in - the range 0 to one less than the pattern buffer's re_nsub + the range 1 to the pattern buffer's re_ngroups field. Then followed by one byte with the number of groups inner to this one. (This last has to be part of the start_memory only because we need it in the on_failure_jump @@ -428,7 +430,7 @@ typedef enum /* Stop remembering the text that is matched and store it in a memory register. Followed by one byte with the register - number, in the range 0 to one less than `re_nsub' in the + number, in the range 1 to `re_ngroups' in the pattern buffer, and one byte with the number of inner groups, just like `start_memory'. (We need the number of inner groups here because we don't have any easy way of finding the @@ -975,6 +977,7 @@ print_compiled_pattern (struct re_pattern_buffer *bufp) } printf ("re_nsub: %ld\t", (long)bufp->re_nsub); + printf ("re_ngroups: %ld\t", (long)bufp->re_ngroups); printf ("regs_alloc: %d\t", bufp->regs_allocated); printf ("can_be_null: %d\t", bufp->can_be_null); printf ("newline_anchor: %d\n", bufp->newline_anchor); @@ -984,6 +987,20 @@ print_compiled_pattern (struct re_pattern_buffer *bufp) printf ("syntax: %d\n", bufp->syntax); /* Perhaps we should print the translate table? */ /* and maybe the category table? */ + + if (bufp->external_to_internal_register) + { + int i; + + printf ("external_to_internal_register:\n"); + for (i = 0; i <= bufp->re_nsub; i++) + { + if (i > 0) + printf (", "); + printf ("%d -> %d", i, bufp->external_to_internal_register[i]); + } + printf ("\n"); + } } @@ -1694,6 +1711,7 @@ static unsigned char reg_unset_dummy; ignore the excess. */ typedef unsigned regnum_t; +#define INIT_REG_TRANSLATE_SIZE 5 /* Macros for the compile stack. */ @@ -1844,7 +1862,7 @@ static register_info_type *reg_info_dummy; /* Make the register vectors big enough for NUM_REGS registers, but don't make them smaller. */ -static +static void regex_grow_registers (int num_regs) { if (num_regs > regs_allocated_size) @@ -1877,7 +1895,9 @@ regex_grow_registers (int num_regs) `syntax' is set to SYNTAX; `used' is set to the length of the compiled pattern; `fastmap_accurate' is zero; - `re_nsub' is the number of subexpressions in PATTERN; + `re_ngroups' is the number of groups/subexpressions (including shy + groups) in PATTERN; + `re_nsub' is the number of non-shy groups in PATTERN; `not_bol' and `not_eol' are zero; The `fastmap' and `newline_anchor' fields are neither @@ -1975,6 +1995,25 @@ regex_compile (re_char *pattern, int size, reg_syntax_t syntax, /* Always count groups, whether or not bufp->no_sub is set. */ bufp->re_nsub = 0; + bufp->re_ngroups = 0; + + /* Allocate index translation array if needed. */ + if (bufp->external_to_internal_register == 0) + { + bufp->external_to_internal_register_size = INIT_REG_TRANSLATE_SIZE; + RETALLOC (bufp->external_to_internal_register, + bufp->external_to_internal_register_size, + int); + } + + /* Initialize translations to impossible value to aid debugging. */ + { + int i; + + bufp->external_to_internal_register[0] = 0; + for (i = 1; i < bufp->external_to_internal_register_size; i++) + bufp->external_to_internal_register[i] = (int) 0xDEADBEEF; + } #if !defined (emacs) && !defined (SYNTAX_TABLE) /* Initialize the syntax table. */ @@ -2557,6 +2596,7 @@ regex_compile (re_char *pattern, int size, reg_syntax_t syntax, handle_open: { regnum_t r; + int shy = 0; if (!(syntax & RE_NO_SHY_GROUPS) && p != pend @@ -2567,7 +2607,7 @@ regex_compile (re_char *pattern, int size, reg_syntax_t syntax, switch (c) { case ':': /* shy groups */ - r = MAX_REGNUM + 1; + shy = 1; break; /* All others are reserved for future constructs. */ @@ -2575,11 +2615,34 @@ regex_compile (re_char *pattern, int size, reg_syntax_t syntax, FREE_STACK_RETURN (REG_BADPAT); } } - else - { - bufp->re_nsub++; - r = ++regnum; - } + + r = ++regnum; + bufp->re_ngroups++; + if (!shy) + /* Record the translation from capturing group index to + register number, reallocating table as needed. */ + { + bufp->re_nsub++; + while (bufp->external_to_internal_register_size <= + bufp->re_nsub) + { + int i; + int old_size = + bufp->external_to_internal_register_size; + bufp->external_to_internal_register_size += 5; + RETALLOC (bufp->external_to_internal_register, + bufp->external_to_internal_register_size, + int); + /* debugging */ + for (i = old_size; + i < bufp->external_to_internal_register_size; i++) + bufp->external_to_internal_register[i] = + (int) 0xDEADBEEF; + } + + bufp->external_to_internal_register[bufp->re_nsub] = + bufp->re_ngroups; + } if (COMPILE_STACK_FULL) { @@ -2603,7 +2666,10 @@ regex_compile (re_char *pattern, int size, reg_syntax_t syntax, /* We will eventually replace the 0 with the number of groups inner to this one. But do not push a start_memory for groups beyond the last one we can - represent in the compiled pattern. */ + represent in the compiled pattern. + #### bad bad bad. this will fail in lots of ways, if we + ever have to backtrack for these groups. + */ if (r <= MAX_REGNUM) { COMPILE_STACK_TOP.inner_group_offset @@ -2993,16 +3059,21 @@ regex_compile (re_char *pattern, int size, reg_syntax_t syntax, case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': { - regnum_t reg; + int reg; + if (syntax & RE_NO_BK_REFS) goto normal_char; + /* External register indexing. */ reg = c - '0'; - if (reg > regnum) + if (reg > bufp->re_nsub) FREE_STACK_RETURN (REG_ESUBREG); - /* Can't back reference to a subexpression if inside of it. */ + /* Convert external to internal as soon as possible. */ + reg = bufp->external_to_internal_register[reg]; + + /* Can't back reference to a subexpression if inside it. */ if (group_in_compile_stack (compile_stack, reg)) goto normal_char; @@ -3122,7 +3193,7 @@ regex_compile (re_char *pattern, int size, reg_syntax_t syntax, isn't necessary unless we're trying to avoid calling alloca in the search and match routines. */ { - int num_regs = bufp->re_nsub + 1; + int num_regs = bufp->re_ngroups + 1; /* Since DOUBLE_FAIL_STACK refuses to double only if the current size is strictly greater than re_max_failures, the largest possible stack @@ -3885,7 +3956,7 @@ re_compile_fastmap (struct re_pattern_buffer *bufp) default: - abort (); /* We have listed all the cases. */ + ABORT (); /* We have listed all the cases. */ } /* switch *p++ */ /* Getting here means we have found the possible starting @@ -4421,7 +4492,7 @@ re_match_2_internal (struct re_pattern_buffer *bufp, re_char *string1, /* We fill all the registers internally, independent of what we return, for use in backreferences. The number here includes an element for register zero. */ - int num_regs = bufp->re_nsub + 1; + int num_regs = bufp->re_ngroups + 1; /* The currently active registers. */ int lowest_active_reg = NO_LOWEST_ACTIVE_REG; @@ -4507,7 +4578,7 @@ re_match_2_internal (struct re_pattern_buffer *bufp, re_char *string1, there are groups, we include space for register 0 (the whole pattern), even though we never use it, since it simplifies the array indexing. We should fix this. */ - if (bufp->re_nsub) + if (bufp->re_ngroups) { regstart = REGEX_TALLOC (num_regs, re_char *); regend = REGEX_TALLOC (num_regs, re_char *); @@ -4682,104 +4753,112 @@ re_match_2_internal (struct re_pattern_buffer *bufp, re_char *string1, succeed_label: DEBUG_PRINT1 ("Accepting match.\n"); - /* If caller wants register contents data back, do it. */ - if (regs && !bufp->no_sub) - { - /* Have the register data arrays been allocated? */ - if (bufp->regs_allocated == REGS_UNALLOCATED) - { /* No. So allocate them with malloc. We need one - extra element beyond `num_regs' for the `-1' marker - GNU code uses. */ - regs->num_regs = MAX (RE_NREGS, num_regs + 1); - regs->start = TALLOC (regs->num_regs, regoff_t); - regs->end = TALLOC (regs->num_regs, regoff_t); - if (regs->start == NULL || regs->end == NULL) - { - FREE_VARIABLES (); - return -2; - } - bufp->regs_allocated = REGS_REALLOCATE; - } - else if (bufp->regs_allocated == REGS_REALLOCATE) - { /* Yes. If we need more elements than were already - allocated, reallocate them. If we need fewer, just - leave it alone. */ - if (regs->num_regs < num_regs + 1) - { - regs->num_regs = num_regs + 1; - RETALLOC (regs->start, regs->num_regs, regoff_t); - RETALLOC (regs->end, regs->num_regs, regoff_t); - if (regs->start == NULL || regs->end == NULL) - { - FREE_VARIABLES (); - return -2; - } - } - } - else - { - /* These braces fend off a "empty body in an else-statement" - warning under GCC when assert expands to nothing. */ - assert (bufp->regs_allocated == REGS_FIXED); - } + { + /* If caller wants register contents data back, fill REGS. */ + int num_nonshy_regs = bufp->re_nsub + 1; + if (regs && !bufp->no_sub) + { + /* Have the register data arrays been allocated? */ + if (bufp->regs_allocated == REGS_UNALLOCATED) + { /* No. So allocate them with malloc. We need one + extra element beyond `num_regs' for the `-1' marker + GNU code uses. */ + regs->num_regs = MAX (RE_NREGS, num_nonshy_regs + 1); + regs->start = TALLOC (regs->num_regs, regoff_t); + regs->end = TALLOC (regs->num_regs, regoff_t); + if (regs->start == NULL || regs->end == NULL) + { + FREE_VARIABLES (); + return -2; + } + bufp->regs_allocated = REGS_REALLOCATE; + } + else if (bufp->regs_allocated == REGS_REALLOCATE) + { /* Yes. If we need more elements than were already + allocated, reallocate them. If we need fewer, just + leave it alone. */ + if (regs->num_regs < num_nonshy_regs + 1) + { + regs->num_regs = num_nonshy_regs + 1; + RETALLOC (regs->start, regs->num_regs, regoff_t); + RETALLOC (regs->end, regs->num_regs, regoff_t); + if (regs->start == NULL || regs->end == NULL) + { + FREE_VARIABLES (); + return -2; + } + } + } + else + { + /* The braces fend off a "empty body in an else-statement" + warning under GCC when assert expands to nothing. */ + assert (bufp->regs_allocated == REGS_FIXED); + } - /* Convert the pointer data in `regstart' and `regend' to - indices. Register zero has to be set differently, - since we haven't kept track of any info for it. */ - if (regs->num_regs > 0) - { - regs->start[0] = pos; - regs->end[0] = (MATCHING_IN_FIRST_STRING - ? ((regoff_t) (d - string1)) - : ((regoff_t) (d - string2 + size1))); - } + /* Convert the pointer data in `regstart' and `regend' to + indices. Register zero has to be set differently, + since we haven't kept track of any info for it. */ + if (regs->num_regs > 0) + { + regs->start[0] = pos; + regs->end[0] = (MATCHING_IN_FIRST_STRING + ? ((regoff_t) (d - string1)) + : ((regoff_t) (d - string2 + size1))); + } - /* Go through the first `min (num_regs, regs->num_regs)' - registers, since that is all we initialized. */ - for (mcnt = 1; mcnt < MIN (num_regs, regs->num_regs); mcnt++) - { - if (REG_UNSET (regstart[mcnt]) || REG_UNSET (regend[mcnt])) - regs->start[mcnt] = regs->end[mcnt] = -1; - else - { - regs->start[mcnt] - = (regoff_t) POINTER_TO_OFFSET (regstart[mcnt]); - regs->end[mcnt] - = (regoff_t) POINTER_TO_OFFSET (regend[mcnt]); - } - } - } /* regs && !bufp->no_sub */ - - /* If we have regs and the regs structure has more elements than - were in the pattern, set the extra elements to -1. If we - (re)allocated the registers, this is the case, because we - always allocate enough to have at least one -1 at the end. - - We do this even when no_sub is set because some applications - (XEmacs) reuse register structures which may contain stale - information, and permit attempts to access those registers. - - It would be possible to require the caller to do this, but we'd - have to change the API for this function to reflect that, and - audit all callers. */ - if (regs && regs->num_regs > 0) - for (mcnt = num_regs; mcnt < regs->num_regs; mcnt++) - regs->start[mcnt] = regs->end[mcnt] = -1; - - DEBUG_PRINT4 ("%u failure points pushed, %u popped (%u remain).\n", - nfailure_points_pushed, nfailure_points_popped, - nfailure_points_pushed - nfailure_points_popped); - DEBUG_PRINT2 ("%u registers pushed.\n", num_regs_pushed); - - mcnt = d - pos - (MATCHING_IN_FIRST_STRING + /* Map over the NUM_NONSHY_REGS non-shy internal registers. + Copy each into the corresponding external register. + N.B. MCNT indexes external registers. */ + for (mcnt = 1; + mcnt < MIN (num_nonshy_regs, regs->num_regs); + mcnt++) + { + int ireg = bufp->external_to_internal_register[mcnt]; + + if (REG_UNSET (regstart[ireg]) || REG_UNSET (regend[ireg])) + regs->start[mcnt] = regs->end[mcnt] = -1; + else + { + regs->start[mcnt] + = (regoff_t) POINTER_TO_OFFSET (regstart[ireg]); + regs->end[mcnt] + = (regoff_t) POINTER_TO_OFFSET (regend[ireg]); + } + } + } /* regs && !bufp->no_sub */ + + /* If we have regs and the regs structure has more elements than + were in the pattern, set the extra elements to -1. If we + (re)allocated the registers, this is the case, because we + always allocate enough to have at least one -1 at the end. + + We do this even when no_sub is set because some applications + (XEmacs) reuse register structures which may contain stale + information, and permit attempts to access those registers. + + It would be possible to require the caller to do this, but we'd + have to change the API for this function to reflect that, and + audit all callers. */ + if (regs && regs->num_regs > 0) + for (mcnt = num_nonshy_regs; mcnt < regs->num_regs; mcnt++) + regs->start[mcnt] = regs->end[mcnt] = -1; + } + + DEBUG_PRINT4 ("%u failure points pushed, %u popped (%u remain).\n", + nfailure_points_pushed, nfailure_points_popped, + nfailure_points_pushed - nfailure_points_popped); + DEBUG_PRINT2 ("%u registers pushed.\n", num_regs_pushed); + + mcnt = d - pos - (MATCHING_IN_FIRST_STRING ? string1 : string2 - size1); - DEBUG_PRINT2 ("Returning %d from re_match_2.\n", mcnt); + DEBUG_PRINT2 ("Returning %d from re_match_2.\n", mcnt); - FREE_VARIABLES (); - return mcnt; - } + FREE_VARIABLES (); + return mcnt; + } /* Otherwise match next pattern command. */ switch (SWITCH_ENUM_CAST ((re_opcode_t) *p++)) @@ -5108,11 +5187,15 @@ re_match_2_internal (struct re_pattern_buffer *bufp, re_char *string1, /* \ has been turned into a `duplicate' command which is - followed by the numeric value of as the register number. */ + followed by the numeric value of as the register number. + (Already passed through external-to-internal-register mapping, + so it refers to the actual group number, not the non-shy-only + numbering used in the external world.) */ case duplicate: { REGISTER re_char *d2, *dend2; - int regno = *p++; /* Get which register to match against. */ + /* Get which register to match against. */ + int regno = *p++; DEBUG_PRINT2 ("EXECUTING duplicate %d.\n", regno); /* Can't back reference a group which we've never matched. */ @@ -5585,7 +5668,8 @@ re_match_2_internal (struct re_pattern_buffer *bufp, re_char *string1, emch1, emch2 is the character at d, and syn2 is the syntax of emch2. */ Emchar emch1, emch2; - int syn1, syn2; + /* GCC isn't smart enough to see these are initialized if used. */ + int syn1 = 0, syn2 = 0; re_char *d_before, *d_after; int result, at_beg = AT_STRINGS_BEG (d), @@ -5846,7 +5930,7 @@ re_match_2_internal (struct re_pattern_buffer *bufp, re_char *string1, #endif /* emacs */ default: - abort (); + ABORT (); } continue; /* Successfully executed one pattern command; keep going. */ @@ -5923,7 +6007,7 @@ re_match_2_internal (struct re_pattern_buffer *bufp, re_char *string1, static re_bool group_match_null_string_p (unsigned char **p, unsigned char *end, - register_info_type *reg_info) + register_info_type *register_info) { int mcnt; /* Point to after the args to the start_memory. */ @@ -5972,7 +6056,7 @@ group_match_null_string_p (unsigned char **p, unsigned char *end, its number. */ if (!alt_match_null_string_p (p1, p1 + mcnt - 3, - reg_info)) + register_info)) return false; /* Move to right after this alternative, including the @@ -6001,7 +6085,7 @@ group_match_null_string_p (unsigned char **p, unsigned char *end, the length of the alternative. */ EXTRACT_NUMBER (mcnt, p1 - 2); - if (!alt_match_null_string_p (p1, p1 + mcnt, reg_info)) + if (!alt_match_null_string_p (p1, p1 + mcnt, register_info)) return false; p1 += mcnt; /* Get past the n-th alternative. */ @@ -6016,7 +6100,7 @@ group_match_null_string_p (unsigned char **p, unsigned char *end, default: - if (!common_op_match_null_string_p (&p1, end, reg_info)) + if (!common_op_match_null_string_p (&p1, end, register_info)) return false; } } /* while p1 < end */ @@ -6031,7 +6115,7 @@ group_match_null_string_p (unsigned char **p, unsigned char *end, static re_bool alt_match_null_string_p (unsigned char *p, unsigned char *end, - register_info_type *reg_info) + register_info_type *register_info) { int mcnt; unsigned char *p1 = p; @@ -6051,7 +6135,7 @@ alt_match_null_string_p (unsigned char *p, unsigned char *end, break; default: - if (!common_op_match_null_string_p (&p1, end, reg_info)) + if (!common_op_match_null_string_p (&p1, end, register_info)) return false; } } /* while p1 < end */ @@ -6067,7 +6151,7 @@ alt_match_null_string_p (unsigned char *p, unsigned char *end, static re_bool common_op_match_null_string_p (unsigned char **p, unsigned char *end, - register_info_type *reg_info) + register_info_type *register_info) { int mcnt; re_bool ret; @@ -6095,13 +6179,14 @@ common_op_match_null_string_p (unsigned char **p, unsigned char *end, case start_memory: reg_no = *p1; assert (reg_no > 0 && reg_no <= MAX_REGNUM); - ret = group_match_null_string_p (&p1, end, reg_info); + ret = group_match_null_string_p (&p1, end, register_info); /* Have to set this here in case we're checking a group which contains a group and a back reference to it. */ - if (REG_MATCH_NULL_STRING_P (reg_info[reg_no]) == MATCH_NULL_UNSET_VALUE) - REG_MATCH_NULL_STRING_P (reg_info[reg_no]) = ret; + if (REG_MATCH_NULL_STRING_P (register_info[reg_no]) == + MATCH_NULL_UNSET_VALUE) + REG_MATCH_NULL_STRING_P (register_info[reg_no]) = ret; if (!ret) return false; @@ -6132,7 +6217,7 @@ common_op_match_null_string_p (unsigned char **p, unsigned char *end, break; case duplicate: - if (!REG_MATCH_NULL_STRING_P (reg_info[*p1])) + if (!REG_MATCH_NULL_STRING_P (register_info[*p1])) return false; break; @@ -6294,6 +6379,8 @@ re_exec (const char *s) `newline_anchor' to REG_NEWLINE being set in CFLAGS; `fastmap' and `fastmap_accurate' to zero; `re_nsub' to the number of subexpressions in PATTERN. + (non-shy of course. POSIX probably doesn't know about + shy ones, and in any case they should be invisible.) PATTERN is the address of the pattern string. @@ -6336,7 +6423,7 @@ regcomp (regex_t *preg, const char *pattern, int cflags) if (cflags & REG_ICASE) { - unsigned i; + int i; preg->translate = (char *) malloc (CHAR_SET_SIZE); if (preg->translate == NULL) @@ -6463,7 +6550,7 @@ regerror (int errcode, const regex_t *preg, char *errbuf, to this routine. If we are given anything else, or if other regex code generates an invalid error code, then the program has a bug. Dump core so we can fix it. */ - abort (); + ABORT (); msg = gettext (re_error_msgid[errcode]); diff --git a/src/scrollbar-gtk.c b/src/scrollbar-gtk.c index ba76d43..cf98b64 100644 --- a/src/scrollbar-gtk.c +++ b/src/scrollbar-gtk.c @@ -1,4 +1,4 @@ -/* scrollbar implementation -- X interface. +/* scrollbar implementation -- GTK interface. Copyright (C) 1994, 1995 Board of Trustees, University of Illinois. Copyright (C) 1994 Amdhal Corporation. Copyright (C) 1995 Sun Microsystems, Inc. @@ -98,8 +98,9 @@ gtk_create_scrollbar_instance (struct frame *f, int vertical, SCROLLBAR_GTK_VDRAG_ORIG_VALUE (instance) = -1; SCROLLBAR_GTK_LAST_VALUE (instance) = adj->value; - gtk_object_set_data (GTK_OBJECT (adj), "xemacs::gui_id", (void *) SCROLLBAR_GTK_ID (instance)); - gtk_object_set_data (GTK_OBJECT (adj), "xemacs::frame", f); + gtk_object_set_data (GTK_OBJECT (adj), GTK_DATA_GUI_IDENTIFIER, + (void *) SCROLLBAR_GTK_ID (instance)); + gtk_object_set_data (GTK_OBJECT (adj), GTK_DATA_FRAME_IDENTIFIER, f); gtk_object_set_data (GTK_OBJECT (adj), "xemacs::sb_instance", instance); sb = GTK_SCROLLBAR (vertical ? gtk_vscrollbar_new (adj) : gtk_hscrollbar_new (adj)); @@ -217,6 +218,21 @@ gtk_update_scrollbar_instance_status (struct window *w, int active, int size, gtk_widget_set_usize (wid, pos_data->scrollbar_width, pos_data->scrollbar_height); + + /* + UGLY! UGLY! UGLY! Changes to wid->allocation are queued and + not performed until the GTK event loop. However, when the + fontlock progress bar is run, the vertical scrollbar's height + is change and then changed back before events are again + processed. This means that the change back is not seen and + the scrollbar is left too short. Fix this by making the + change manually so the test above sees the change. This does + not seem to cause problems in other cases. + */ + + wid->allocation.width = pos_data->scrollbar_width; + wid->allocation.height = pos_data->scrollbar_height; + modified_p = 1; } @@ -228,6 +244,21 @@ gtk_update_scrollbar_instance_status (struct window *w, int active, int size, wid, pos_data->scrollbar_x, pos_data->scrollbar_y); + + /* + UGLY! UGLY! UGLY! Changes to wid->allocation are queued and + not performed until the GTK event loop. However, when the + fontlock progress bar is run, the horizontal scrollbar's + position is change and then changed back before events are + again processed. This means that the change back is not seen + and the scrollbar is left in the wrong position. Fix this by + making the change manually so the test above sees the change. + This does not seem to cause problems in other cases. + */ + + wid->allocation.x = pos_data->scrollbar_x; + wid->allocation.y = pos_data->scrollbar_y; + modified_p = 1; } @@ -333,7 +364,7 @@ gtk_scrollbar_loop (enum gtk_scrollbar_loop type, Lisp_Object window, } break; default: - abort (); + ABORT (); } } @@ -359,9 +390,9 @@ scrollbar_cb (GtkAdjustment *adj, gpointer user_data) { /* This function can GC */ int vertical = (int) user_data; - struct frame *f = gtk_object_get_data (GTK_OBJECT (adj), "xemacs::frame"); + struct frame *f = gtk_object_get_data (GTK_OBJECT (adj), GTK_DATA_FRAME_IDENTIFIER); struct scrollbar_instance *instance = gtk_object_get_data (GTK_OBJECT (adj), "xemacs::sb_instance"); - GUI_ID id = (GUI_ID) gtk_object_get_data (GTK_OBJECT (adj), "xemacs::gui_id"); + GUI_ID id = (GUI_ID) gtk_object_get_data (GTK_OBJECT (adj), GTK_DATA_GUI_IDENTIFIER); Lisp_Object win, frame; struct window_mirror *mirror; Lisp_Object event_type = Qnil; @@ -407,7 +438,7 @@ scrollbar_cb (GtkAdjustment *adj, gpointer user_data) event_data = Fcons (win, make_int ((int)adj->value)); break; default: - abort(); + ABORT(); } signal_special_gtk_user_event (frame, event_type, event_data); @@ -431,13 +462,13 @@ gtk_scrollbar_pointer_changed_in_window (struct window *w) void gtk_update_frame_scrollbars (struct frame *f) { - /* Consider this code to be "in_display" so that we abort() if Fsignal() + /* Consider this code to be "in_display" so that we ABORT() if Fsignal() gets called. */ in_display++; gtk_scrollbar_loop (GTK_UPDATE_FRAME_SCROLLBARS, f->root_window, f->root_mirror, 0, (GdkWindow *) NULL); in_display--; - if (in_display < 0) abort (); + if (in_display < 0) ABORT (); } #ifdef MEMORY_USAGE_STATS diff --git a/src/search.c b/src/search.c index 97ae5e1..7ca50a6 100644 --- a/src/search.c +++ b/src/search.c @@ -110,7 +110,6 @@ Lisp_Object Vskip_chars_range_table; static void set_search_regs (struct buffer *buf, Bufpos beg, Charcount len); static void clear_unused_search_regs (struct re_registers *regp, int no_sub); -/* #### according to comment in 21.5, unnecessary */ static void save_search_regs (void); static Bufpos simple_search (struct buffer *buf, Bufbyte *base_pat, Bytecount len, Bytind pos, Bytind lim, @@ -1090,7 +1089,7 @@ search_command (Lisp_Object string, Lisp_Object limit, Lisp_Object noerror, if (!EQ (noerror, Qt)) { if (lim < BUF_BEGV (buf) || lim > BUF_ZV (buf)) - abort (); + ABORT (); BUF_SET_PT (buf, lim); return Qnil; #if 0 /* This would be clean, but maybe programs depend on @@ -1103,7 +1102,7 @@ search_command (Lisp_Object string, Lisp_Object limit, Lisp_Object noerror, } if (np < BUF_BEGV (buf) || np > BUF_ZV (buf)) - abort (); + ABORT (); BUF_SET_PT (buf, np); @@ -2778,9 +2777,9 @@ match_limit (Lisp_Object num, int beginningp) CHECK_INT (num); n = XINT (num); - if (n < 0 || n >= search_regs.num_regs) + if (n < 0 || search_regs.num_regs <= 0) args_out_of_range (num, make_int (search_regs.num_regs)); - if (search_regs.num_regs == 0 || + if (n >= search_regs.num_regs || search_regs.start[n] < 0) return Qnil; return make_int (beginningp ? search_regs.start[n] : search_regs.end[n]); @@ -2859,7 +2858,7 @@ to hold all the values, and if INTEGERS is non-nil, no consing is done. } else /* last_thing_searched must always be Qt, a buffer, or Qnil. */ - abort (); + ABORT (); len = i; } @@ -2901,11 +2900,8 @@ LIST should have been created by calling `match-data' previously. int num_regs; int length; -#if 0 - /* #### according to 21.5 comment, unnecessary */ if (running_asynch_code) save_search_regs (); -#endif CONCHECK_LIST (list); @@ -2968,7 +2964,6 @@ LIST should have been created by calling `match-data' previously. return Qnil; } -/* #### according to 21.5 comment, unnecessary */ /* If non-zero the match data have been saved in saved_search_regs during the execution of a sentinel or filter. */ static int search_regs_saved; @@ -2992,8 +2987,6 @@ save_search_regs (void) } } -/* #### according to 21.5 comment, unnecessary - prototype in lisp.h, all calls in process.c */ /* Called upon exit from filters and sentinels. */ void restore_match_data (void) diff --git a/src/select-x.c b/src/select-x.c index 835c7a5..bb26cc5 100644 --- a/src/select-x.c +++ b/src/select-x.c @@ -382,7 +382,7 @@ motif_clipboard_cb (Widget widget, int *data_id, int *private_id, int *reason) Window window = (Window) *private_id; Lisp_Object selection = select_convert_out (QCLIPBOARD, Qnil, Qnil); - /* Whichever lazy git wrote this originally just called abort() + /* Whichever lazy git wrote this originally just called ABORT() when anything didn't go their way... */ /* Try some other text types */ diff --git a/src/symbols.c b/src/symbols.c index 1bdd929..db4fbe4 100644 --- a/src/symbols.c +++ b/src/symbols.c @@ -735,7 +735,7 @@ Set SYMBOL's property list to NEWPLIST, and return NEWPLIST. #if 0 /* Inserted for debugging 6/28/1997 -slb */ /* Somebody is setting a property list of integer 0, who? */ /* Not this way apparently. */ - if (EQ(newplist, Qzero)) abort(); + if (EQ(newplist, Qzero)) ABORT(); #endif XSYMBOL (symbol)->plist = newplist; @@ -1118,7 +1118,7 @@ do_symval_forwarding (Lisp_Object valcontents, struct buffer *buffer, return valcontents; default: - abort (); + ABORT (); } return Qnil; /* suppress compiler warning */ } @@ -1294,7 +1294,7 @@ store_symval_forwarding (Lisp_Object sym, Lisp_Object ovalue, return; default: - abort (); + ABORT (); } } } @@ -1890,7 +1890,7 @@ Set SYMBOL's value to NEWVAL, and return NEWVAL. break; } default: - abort (); + ABORT (); } store_symval_forwarding (symbol, valcontents, newval); @@ -2159,7 +2159,7 @@ sets it. return variable; default: - abort (); + ABORT (); } } @@ -2269,7 +2269,7 @@ Use `make-local-hook' instead. } default: - abort (); + ABORT (); } } @@ -2344,7 +2344,7 @@ Use `make-local-hook' instead. break; default: - abort (); + ABORT (); } } @@ -2662,7 +2662,7 @@ The returned info will be a symbol, one of case SYMVAL_UNBOUND_MARKER: return Qnil; default: - abort (); return Qnil; + ABORT (); return Qnil; } } @@ -2860,7 +2860,7 @@ decode_magic_handler_type (Lisp_Object symbol) if (EQ (symbol, Qmake_local)) return MAGIC_HANDLER_MAKE_LOCAL; signal_simple_error ("Unrecognized symbol value handler type", symbol); - abort (); + ABORT (); return MAGIC_HANDLER_MAX; } @@ -2893,7 +2893,7 @@ handler_type_from_function_symbol (Lisp_Object funsym, int abort_if_not_found) return MAGIC_HANDLER_MAKE_LOCAL; if (abort_if_not_found) - abort (); + ABORT (); signal_simple_error ("Unrecognized symbol-value function", funsym); return MAGIC_HANDLER_MAX; } diff --git a/src/syntax.c b/src/syntax.c index 5e495b7..2b3ebf8 100644 --- a/src/syntax.c +++ b/src/syntax.c @@ -416,7 +416,7 @@ update_syntax_cache (int pos, int count) else { tmp_table = Qnil; /* silence compiler */ - /* Always aborts. #### Is there another sensible thing to do here? */ + /* Always ABORTs. #### Is there another sensible thing to do here? */ assert (BUFFERP (syntax_cache.object) || STRINGP (syntax_cache.object)); } diff --git a/src/toolbar-gtk.c b/src/toolbar-gtk.c index c0b6132..b9c1184 100644 --- a/src/toolbar-gtk.c +++ b/src/toolbar-gtk.c @@ -389,7 +389,7 @@ gtk_get_button_size (struct frame *f, Lisp_Object window, (frame)->right_toolbar_was_visible = flag; \ break; \ default: \ - abort (); \ + ABORT (); \ } \ } while (0) diff --git a/src/toolbar-x.c b/src/toolbar-x.c index ed6c280..61e7a18 100644 --- a/src/toolbar-x.c +++ b/src/toolbar-x.c @@ -401,7 +401,7 @@ x_get_button_size (struct frame *f, Lisp_Object window, (frame)->right_toolbar_was_visible = flag; \ break; \ default: \ - abort (); \ + ABORT (); \ } \ } while (0) diff --git a/src/ui-gtk.c b/src/ui-gtk.c index c7ddd3e..f148803 100644 --- a/src/ui-gtk.c +++ b/src/ui-gtk.c @@ -36,6 +36,7 @@ static GHashTable *dll_cache; Lisp_Object gtk_type_to_lisp (GtkArg *arg); int lisp_to_gtk_type (Lisp_Object obj, GtkArg *arg); +int lisp_to_gtk_ret_type (Lisp_Object obj, GtkArg *arg); void describe_gtk_arg (GtkArg *arg); guint symbol_to_enum (Lisp_Object obj, GtkType t); static guint lisp_to_flag (Lisp_Object obj, GtkType t); @@ -960,7 +961,7 @@ Lisp_Object build_gtk_object (GtkObject *obj) emacs_gtk_object_data *data = NULL; GUI_ID id = 0; - id = (GUI_ID) gtk_object_get_data (obj, "xemacs::gui_id"); + id = (GUI_ID) gtk_object_get_data (obj, GTK_DATA_GUI_IDENTIFIER); if (id) { @@ -976,7 +977,7 @@ Lisp_Object build_gtk_object (GtkObject *obj) XSETGTK_OBJECT (retval, data); id = new_gui_id (); - gtk_object_set_data (obj, "xemacs::gui_id", (gpointer) id); + gtk_object_set_data (obj, GTK_DATA_GUI_IDENTIFIER, (gpointer) id); gcpro_popup_callbacks (id, retval); gtk_object_ref (obj); gtk_signal_connect (obj, "destroy", GTK_SIGNAL_FUNC (__notice_object_destruction), (gpointer)id); @@ -1035,7 +1036,7 @@ __internal_callback_marshal (GtkObject *obj, gpointer data, guint n_args, GtkArg signal_fake_event (); if (args[n_args].type != GTK_TYPE_NONE) - lisp_to_gtk_type (rval, &args[n_args]); + lisp_to_gtk_ret_type (rval, &args[n_args]); UNGCPRO; } @@ -1155,7 +1156,7 @@ Lisp_Object build_gtk_boxed (void *obj, GtkType t) emacs_gtk_boxed_data *data = NULL; if (GTK_FUNDAMENTAL_TYPE (t) != GTK_TYPE_BOXED) - abort(); + ABORT(); data = allocate_emacs_gtk_boxed_data (); data->object = obj; @@ -1420,13 +1421,13 @@ void describe_gtk_arg (GtkArg *arg) /* structured types */ case GTK_TYPE_SIGNAL: case GTK_TYPE_ARGS: /* This we can do as a list of values */ - abort(); + ABORT(); case GTK_TYPE_CALLBACK: stderr_out ("callback fn: ...\n"); break; case GTK_TYPE_C_CALLBACK: case GTK_TYPE_FOREIGN: - abort(); + ABORT(); /* base type of the object system */ case GTK_TYPE_OBJECT: @@ -1437,7 +1438,7 @@ void describe_gtk_arg (GtkArg *arg) break; default: - abort(); + ABORT(); } } @@ -1517,7 +1518,7 @@ Lisp_Object gtk_type_to_lisp (GtkArg *arg) } } stderr_out ("Do not know how to convert `%s' to lisp!\n", gtk_type_name (arg->type)); - abort (); + ABORT (); } /* This is chuck reminding GCC to... SHUT UP! */ return (Qnil); @@ -1570,7 +1571,7 @@ int lisp_to_gtk_type (Lisp_Object obj, GtkArg *arg) break; case GTK_TYPE_LONG: case GTK_TYPE_ULONG: - abort(); + ABORT(); case GTK_TYPE_FLOAT: CHECK_INT_OR_FLOAT (obj); GTK_VALUE_FLOAT(*arg) = extract_float (obj); @@ -1788,7 +1789,286 @@ int lisp_to_gtk_type (Lisp_Object obj, GtkArg *arg) else { stderr_out ("Do not know how to convert `%s' from lisp!\n", gtk_type_name (arg->type)); - abort(); + ABORT(); + } + break; + } + + return (0); +} + +/* Convert lisp types to GTK return types. This is identical to + lisp_to_gtk_type() except that the macro used to set the value is + different. + + ### There should be some way of combining these two functions. +*/ +int lisp_to_gtk_ret_type (Lisp_Object obj, GtkArg *arg) +{ + switch (GTK_FUNDAMENTAL_TYPE (arg->type)) + { + /* flag types */ + case GTK_TYPE_NONE: + return (0); + case GTK_TYPE_CHAR: + { + Emchar c; + + CHECK_CHAR_COERCE_INT (obj); + c = XCHAR (obj); + *(GTK_RETLOC_CHAR (*arg)) = c; + } + break; + case GTK_TYPE_UCHAR: + { + Emchar c; + + CHECK_CHAR_COERCE_INT (obj); + c = XCHAR (obj); + *(GTK_RETLOC_CHAR (*arg)) = c; + } + break; + case GTK_TYPE_BOOL: + *(GTK_RETLOC_BOOL (*arg)) = NILP (obj) ? FALSE : TRUE; + break; + case GTK_TYPE_INT: + case GTK_TYPE_UINT: + if (NILP (obj) || EQ (Qt, obj)) + { + /* For we are a kind mistress and allow sending t/nil for + 1/0 to stupid GTK functions that say they take guint or + gint in the header files, but actually treat it like a + bool. *sigh* + */ + *(GTK_RETLOC_INT(*arg)) = NILP (obj) ? 0 : 1; + } + else + { + CHECK_INT (obj); + *(GTK_RETLOC_INT(*arg)) = XINT (obj); + } + break; + case GTK_TYPE_LONG: + case GTK_TYPE_ULONG: + ABORT(); + case GTK_TYPE_FLOAT: + CHECK_INT_OR_FLOAT (obj); + *(GTK_RETLOC_FLOAT(*arg)) = extract_float (obj); + break; + case GTK_TYPE_DOUBLE: + CHECK_INT_OR_FLOAT (obj); + *(GTK_RETLOC_DOUBLE(*arg)) = extract_float (obj); + break; + case GTK_TYPE_STRING: + if (NILP (obj)) + *(GTK_RETLOC_STRING (*arg)) = NULL; + else + { + CHECK_STRING (obj); + *(GTK_RETLOC_STRING (*arg)) = (char *) XSTRING_DATA (obj); + } + break; + case GTK_TYPE_ENUM: + case GTK_TYPE_FLAGS: + /* Convert a lisp symbol to a GTK enum */ + *(GTK_RETLOC_ENUM(*arg)) = lisp_to_flag (obj, arg->type); + break; + case GTK_TYPE_BOXED: + if (NILP (obj)) + { + *(GTK_RETLOC_BOXED(*arg)) = NULL; + } + else if (GTK_BOXEDP (obj)) + { + *(GTK_RETLOC_BOXED(*arg)) = XGTK_BOXED (obj)->object; + } + else if (arg->type == GTK_TYPE_STYLE) + { + obj = Ffind_face (obj); + CHECK_FACE (obj); + *(GTK_RETLOC_BOXED(*arg)) = face_to_style (obj); + } + else if (arg->type == GTK_TYPE_GDK_GC) + { + obj = Ffind_face (obj); + CHECK_FACE (obj); + *(GTK_RETLOC_BOXED(*arg)) = face_to_gc (obj); + } + else if (arg->type == GTK_TYPE_GDK_WINDOW) + { + if (GLYPHP (obj)) + { + Lisp_Object window = Fselected_window (Qnil); + Lisp_Object instance = glyph_image_instance (obj, window, ERROR_ME_NOT, 1); + struct Lisp_Image_Instance *p = XIMAGE_INSTANCE (instance); + + switch (XIMAGE_INSTANCE_TYPE (instance)) + { + case IMAGE_TEXT: + case IMAGE_POINTER: + case IMAGE_SUBWINDOW: + case IMAGE_NOTHING: + *(GTK_RETLOC_BOXED(*arg)) = NULL; + break; + + case IMAGE_MONO_PIXMAP: + case IMAGE_COLOR_PIXMAP: + *(GTK_RETLOC_BOXED(*arg)) = IMAGE_INSTANCE_GTK_PIXMAP (p); + break; + } + } + else if (GTK_OBJECTP (obj) && GTK_IS_WIDGET (XGTK_OBJECT (obj)->object)) + { + *(GTK_RETLOC_BOXED(*arg)) = GTK_WIDGET (XGTK_OBJECT (obj))->window; + } + else + { + signal_simple_error ("Don't know how to convert object to GDK_WINDOW", obj); + } + break; + } + else if (arg->type == GTK_TYPE_GDK_COLOR) + { + if (COLOR_SPECIFIERP (obj)) + { + /* If it is a specifier, we just convert it to an + instance, and let the ifs below handle it. + */ + obj = Fspecifier_instance (obj, Qnil, Qnil, Qnil); + } + + if (COLOR_INSTANCEP (obj)) + { + /* Easiest one */ + *(GTK_RETLOC_BOXED(*arg)) = COLOR_INSTANCE_GTK_COLOR (XCOLOR_INSTANCE (obj)); + } + else if (STRINGP (obj)) + { + signal_simple_error ("Please use a color specifier or instance, not a string", obj); + } + else + { + signal_simple_error ("Don't know hot to convert to GdkColor", obj); + } + } + else if (arg->type == GTK_TYPE_GDK_FONT) + { + if (SYMBOLP (obj)) + { + /* If it is a symbol, we treat that as a face name */ + obj = Ffind_face (obj); + } + + if (FACEP (obj)) + { + /* If it is a face, we just grab the font specifier, and + cascade down until we finally reach a FONT_INSTANCE + */ + obj = Fget (obj, Qfont, Qnil); + } + + if (FONT_SPECIFIERP (obj)) + { + /* If it is a specifier, we just convert it to an + instance, and let the ifs below handle it + */ + obj = Fspecifier_instance (obj, Qnil, Qnil, Qnil); + } + + if (FONT_INSTANCEP (obj)) + { + /* Easiest one */ + *(GTK_RETLOC_BOXED(*arg)) = FONT_INSTANCE_GTK_FONT (XFONT_INSTANCE (obj)); + } + else if (STRINGP (obj)) + { + signal_simple_error ("Please use a font specifier or instance, not a string", obj); + } + else + { + signal_simple_error ("Don't know hot to convert to GdkColor", obj); + } + } + else + { + /* Unknown type to convert to boxed */ + stderr_out ("Don't know how to convert to boxed!\n"); + *(GTK_RETLOC_BOXED(*arg)) = NULL; + } + break; + + case GTK_TYPE_POINTER: + if (NILP (obj)) + *(GTK_RETLOC_POINTER(*arg)) = NULL; + else + *(GTK_RETLOC_POINTER(*arg)) = LISP_TO_VOID (obj); + break; + + /* structured types */ + case GTK_TYPE_SIGNAL: + case GTK_TYPE_ARGS: /* This we can do as a list of values */ + case GTK_TYPE_C_CALLBACK: + case GTK_TYPE_FOREIGN: + stderr_out ("Do not know how to convert `%s' from lisp!\n", gtk_type_name (arg->type)); + return (-1); + +#if 0 + /* #### BILL! */ + /* This is not used, and does not work with union type */ + case GTK_TYPE_CALLBACK: + { + GUI_ID id; + + id = new_gui_id (); + obj = Fcons (Qnil, obj); /* Empty data */ + obj = Fcons (make_int (id), obj); + + gcpro_popup_callbacks (id, obj); + + *(GTK_RETLOC_CALLBACK(*arg)).marshal = __internal_callback_marshal; + *(GTK_RETLOC_CALLBACK(*arg)).data = (gpointer) obj; + *(GTK_RETLOC_CALLBACK(*arg)).notify = __internal_callback_destroy; + } + break; +#endif + + /* base type of the object system */ + case GTK_TYPE_OBJECT: + if (NILP (obj)) + *(GTK_RETLOC_OBJECT (*arg)) = NULL; + else + { + CHECK_GTK_OBJECT (obj); + if (XGTK_OBJECT (obj)->alive_p) + *(GTK_RETLOC_OBJECT (*arg)) = XGTK_OBJECT (obj)->object; + else + signal_simple_error ("Attempting to pass dead object to GTK function", obj); + } + break; + + default: + if (GTK_FUNDAMENTAL_TYPE (arg->type) == GTK_TYPE_ARRAY) + { + if (NILP (obj)) + *(GTK_RETLOC_POINTER(*arg)) = NULL; + else + { + xemacs_list_to_array (obj, arg); + } + } + else if (GTK_FUNDAMENTAL_TYPE (arg->type) == GTK_TYPE_LISTOF) + { + if (NILP (obj)) + *(GTK_RETLOC_POINTER(*arg)) = NULL; + else + { + xemacs_list_to_gtklist (obj, arg); + } + } + else + { + stderr_out ("Do not know how to convert `%s' from lisp!\n", gtk_type_name (arg->type)); + ABORT(); } break; } @@ -1863,7 +2143,7 @@ lisp_to_flag (Lisp_Object obj, GtkType t) } else { - /* abort ()? */ + /* ABORT ()? */ } return (val); } diff --git a/tests/automated/mule-tests.el b/tests/automated/mule-tests.el index 4d962b3..c3eaffb 100644 --- a/tests/automated/mule-tests.el +++ b/tests/automated/mule-tests.el @@ -233,7 +233,7 @@ the Assert macro checks for correctness." ;; Test strings waxing and waning across the 8k BIG_STRING limit (see alloc.c) ;;--------------------------------------------------------------- (defun charset-char-string (charset) - (let (lo hi string n) + (let (lo hi string n (gc-cons-threshold most-positive-fixnum)) (if (= (charset-chars charset) 94) (setq lo 33 hi 126) (setq lo 32 hi 127)) @@ -245,6 +245,7 @@ the Assert macro checks for correctness." (progn (aset string n (make-char charset j)) (incf n))) + (garbage-collect) string) (progn (setq string (make-string (* (1+ (- hi lo)) (1+ (- hi lo))) ??)) @@ -254,6 +255,7 @@ the Assert macro checks for correctness." (progn (aset string n (make-char charset j k)) (incf n)))) + (garbage-collect) string)))) ;; The following two used to crash xemacs! @@ -302,6 +304,12 @@ the Assert macro checks for correctness." ;; This is how you suppress output from `message', called by `write-region' (flet ((append-message (&rest args) ())) (Assert (not (equal name1 name2))) + ;; Kludge to handle Mac OS X which groks only UTF-8. + (cond ((eq system-type 'darwin) + (Check-Error-Message 'file-error "Opening output file" + (write-region (point-min) (point-max) name1)) + (require 'un-define) + (setq file-name-coding-system 'utf-8))) (Assert (not (file-exists-p name1))) (write-region (point-min) (point-max) name1) (Assert (file-exists-p name1)) diff --git a/tests/automated/regexp-tests.el b/tests/automated/regexp-tests.el index fde7991..816868f 100644 --- a/tests/automated/regexp-tests.el +++ b/tests/automated/regexp-tests.el @@ -385,3 +385,67 @@ baaaa (string-match "b" a) (match-string 1 a)) a))) + +;; bug identified by Katsumi Yamaoka 2004-09-03 +;; fix submitted by sjt 2004-09-08 +;; trailing comments are values from buggy 21.4.15 +(let ((text "abc")) + (Assert (eq 0 (string-match "\\(?:ab+\\)*c" text))) ; 2 + (Assert (eq 0 (string-match "^\\(?:ab+\\)*c" text))) ; nil + (Assert (eq 0 (string-match "^\\(?:ab+\\)*" text))) ; 0 + (Assert (eq 0 (string-match "^\\(?:ab+\\)c" text))) ; 0 + (Assert (eq 0 (string-match "^\\(?:ab\\)*c" text))) ; 0 + (Assert (eq 0 (string-match "^\\(?:a+\\)*b" text))) ; nil + (Assert (eq 0 (string-match "^\\(?:a\\)*b" text))) ; 0 +) + +;; per Steve Youngs 2004-09-30 +;; fix submitted by sjt 2004-10-07 +;; trailing comments are values from buggy 21.4.pre16 +(let ((text "abc")) + (Assert (eq 0 (string-match "\\(?:a\\(b\\)\\)" text))) ; 0 + (Assert (string= (match-string 1 text) "b")) ; ab + (Assert (null (match-string 2 text))) ; b + (Assert (null (match-string 3 text))) ; nil + (Assert (eq 0 (string-match "\\(?:a\\(?:b\\(c\\)\\)\\)" text))) ; 0 + (Assert (string= (match-string 1 text) "c")) ; abc + (Assert (null (match-string 2 text))) ; ab + (Assert (null (match-string 3 text))) ; c + (Assert (null (match-string 4 text))) ; nil +) + +;; trivial subpatterns and backreferences with shy groups +(let ((text1 "abb") + (text2 "aba") + (re0 "\\(a\\)\\(b\\)\\2") + (re1 "\\(?:a\\)\\(b\\)\\2") + (re2 "\\(?:a\\)\\(b\\)\\1") + (re3 "\\(a\\)\\(?:b\\)\\1")) + + (Assert (eq 0 (string-match re0 text1))) + (Assert (string= text1 (match-string 0 text1))) + (Assert (string= "a" (match-string 1 text1))) + (Assert (string= "b" (match-string 2 text1))) + (Assert (null (string-match re0 text2))) + + (Check-Error-Message 'invalid-regexp "Invalid back reference" + (string-match re1 text1)) + + (Assert (eq 0 (string-match re2 text1))) + (Assert (string= text1 (match-string 0 text1))) + (Assert (string= "b" (match-string 1 text1))) + (Assert (null (match-string 2 text1))) + (Assert (null (string-match re2 text2))) + + (Assert (null (string-match re3 text1))) + (Assert (eq 0 (string-match re3 text2))) + (Assert (string= text2 (match-string 0 text2))) + (Assert (string= "a" (match-string 1 text2))) + (Assert (null (match-string 2 text2))) + + ;; Test Arnaud Giersch's shy group fix + (Assert (progn (string-match "\\(a\\)" "a") + (string-match "\\(?:a\\)" "a") + (not (match-beginning 1)))) +) +