+2002-08-23 Stephen J. Turnbull <stephen@xemacs.org>
+
+ * XEmacs 21.4.9 "Informed Management" is released.
+
+2002-05-22 Andy Piper <andy@xemacs.org>
+
+ * build-msw-release.sh (TMPINSTALL): install to a tmpdir so that
+ xemacs can be running while we build a dist.
+
+2002-04-26 Andy Piper <andy@xemacs.org>
+
+ * configure.in: make sure that a combined X and windows build gets
+ widgets.
+
+2002-08-10 Stephen J. Turnbull <stephen@xemacs.org>
+
+ * etc/package-index.LATEST.pgp: Update.
+
+2002-08-10 Stephen J. Turnbull <stephen@xemacs.org>
+
+ * PROBLEMS (General advice): Define runtime and build problems.
+
+2002-07-24 Stephen J. Turnbull <stephen@xemacs.org>
+
+ * PROBLEMS (Running, Linux): Rewrite "Hannibal Lecter" ld stuff.
+
+2002-07-12 Stephen J. Turnbull <stephen@xemacs.org>
+
+ * etc/BETA (Large contributions): Typo fix per JPW.
+
+2002-07-12 Stephen J. Turnbull <stephen@xemacs.org>
+
+ * etc/BETA (Large contributions): New section. Reorganize file.
+
+2002-06-04 Jerry James <james@xemacs.org>
+
+ * configure.usage: Identify --with-modules as autodetecting.
+
+2002-07-04 Stephen J. Turnbull <stephen@xemacs.org>
+
+ * PROBLEMS: Add two basic configuration questions.
+
+2002-05-17 Stephen J. Turnbull <stephen@xemacs.org>
+
+ * PROBLEMS: Describe "Hannibal Lecter" crash on Linux. Reorder
+ Linux runtime issues section.
+ * INSTALL: Improve description of mail locking.
+
+2002-05-10 Stephen J. Turnbull <stephen@xemacs.org>
+
+ * etc/OXYMORONS (21.4.15): New. Not a reference to Vin.
+
+ * build-msw-release.sh: Synch to Andy.
+
+2002-03-18 Gregory Steuck <greg-xemacs-patch@nest.cx>
+
+ * configure.in: Improve OpenBSD support: correct check for
+ socklen_t, check for libtermcap is libncurses.
+
+2002-02-28 Malcolm Purvis <malcolmpurvis@optushome.com.au>
+
+ * configure.in: Protect nocomboreloc linker arguments to avoid
+ problem on the ppc.
+
2002-05-09 Stephen J. Turnbull <stephen@xemacs.org>
* XEmacs 21.4.8 "Honest Recruiter" is released.
MAIL LOCKING
============
-Find out what the preferred method for locking mail spool files is in
-your environment. Presently, XEmacs supports lockf, flock, and dot
-locking. Specify the locking method via the --mail-locking=METHOD
-option to configure. Valid values for METHOD are --mail-locking are
-`lockf', `flock', and `dot'.
+For most platforms, configure or the src/s file have the preferred
+method for locking mail spool files preconfigured. Otherwise you must
+find out for youself. Do not choose a locking protocol "on the
+objective merits." XEmacs must use the same method as other mail
+utilities on your system, or you will lose mail.
+
+Presently, XEmacs supports lockf, flock, and dot locking. Specify the
+locking method via the --mail-locking=METHOD option to configure.
+Valid values for METHOD are --mail-locking are `lockf', `flock', and
+`dot'.
RUNNING CONFIGURE
=================
`C-c C-b' to move to previous equal level. `C-h m' will give more
info about the Outline mode.
-Also, Try finding the things you need using one of the search commands
+Also, try finding the things you need using one of the search commands
XEmacs provides (e.g. `C-s').
General advice:
+
WATCH OUT for your init file! (~/.xemacs/init.el or ~/.emacs) If
you observe strange problems, invoke XEmacs with the `-vanilla'
option and see if you can repeat the problem.
+ Note that most of the problems described here manifest at RUN
+ time, even those described as BUILD problems. It is quite unusual
+ for a released XEmacs to fail to build. So a "build problem"
+ requires you to tweak the build environment, then rebuild XEmacs.
+ A "runtime problem" is one that can be fixed by proper
+ configuration of the existing build. Compatibility problems and
+ Mule issues are generally runtime problems, but are treated
+ separately for convenience.
+
* Problems with building XEmacs
===============================
** General
+ Much general information is in INSTALL. If it's covered in
+ INSTALL, we don't repeat it here.
+
+*** How does I configure to get the buffer tabs/progress bars?
+
+These features depend on support for "native widgets". Use the
+--with-widgets option to configure. Configuration of widgets is
+automatic for "modern" toolkits (MS Windows, GTK, and Motif), but if
+you are using Xt and the Athena widgets, you will probably want to
+specify a "3d" widget set. See configure --usage, and don't forget to
+install the corresponding development libraries.
+
+*** I know I have libfoo installed, but configure doesn't find it.
+
+Typical of Linux systems with package managers. To link with a shared
+library, you only need the shared library. To compile objects that
+link with it, you need the headers---and distros don't provide them with
+the libraries. You need the additional "development" package, too.
+
*** Don't use -O2 with gcc 2.8.1 and egcs 1.0 under SPARC architectures
without also using `-fno-schedule-insns'.
** Linux
+*** XEmacs crashes on startup, in make-frame.
+
+Typically the Lisp backtrace includes
+
+ make-frame(nil #<x-device on ":0.0" 0x2558>)
+
+somewhere near the top. One problem is due to an improvement in GNU
+ld that sorts the ELF reloc sections in the executable, giving
+dramatic speedups in startup for large executables. It also confuses
+the traditional unexec code in XEmacs, leading to the core dump. The
+solution is to use either the `--ldflags="-z nocombreloc" or the
+"--pdump" option to configure. "--pdump" is recommended.
+
+Recent 21.4 and 21.5 versions of XEmacs autodetect this feature of ld
+in configure. Unfortunately, Red Hat and SuSE (at least) distributed
+prerelease versions of ld (numbered around 2.11.90.x.y, nicknamed
+"Hannibal Lecter" at XEmacs.ORG) where autodetection fails but the
+feature is enabled by default. The recommended procedure is to
+upgrade to binutils >= 2.12 and rerun configure. Otherwise you must
+apply the flags by hand.
+
+Andrew Jaffe reported a problem on Red Hat 7.3 with identical
+symptoms, except that ld was already being invoked with -z
+nocombreloc. Switching dialogs and widgets from Motif to Athena
+eliminated the problem. Both LessTif and OpenMotif were installed,
+and a bad interaction is suspected. This problem has not yet been
+fully analyzed.
+
*** Debian
**** XEmacs warns "Symbol `toggleClassRec' has different size in shared
object, consider re-linking / Symbol `labelClassRec' has different
This is written for the mainline GNU Emacs but the author has made
efforts to adapt it to XEmacs. YMMV.
-*** You get crashes in a non-C locale with Linux GNU Libc 2.0.
-
-Internationalization was not the top priority for GNU Libc 2.0.
-As of this writing (1998-12-28) you may get crashes while running
-XEmacs in a non-C locale. For example, `LC_ALL=en_US xemacs' crashes
-while `LC_ALL=C xemacs' runs fine. This happens for example with GNU
-libc 2.0.7. Installing libintl.a and libintl.h built from gettext
-0.10.35 and re-building XEmacs solves the crashes. Presumably soon
-everyone will upgrade to GNU Libc 2.1 and this problem will go away.
-
-*** `C-z', or `M-x suspend-emacs' hangs instead of suspending.
-
-If you build with `gpm' support on Linux, you cannot suspend XEmacs
-because gpm installs a buggy SIGTSTP handler. Either compile with
-`--with-gpm=no', or don't suspend XEmacs on the Linux console until
-this bug is fixed.
-
-*** With certain fonts, when the cursor appears on a character, the
-character doesn't appear--you get a solid box instead.
-
-One user on a Linux system reported that this problem went away with
-installation of a new X server. The failing server was XFree86 3.1.1.
-XFree86 3.1.2 works.
-
*** Slow startup on Linux.
People using systems based on the Linux kernel sometimes report that
The solution is either to build XEmacs with -sound=native,noesd or to make sure
that esd is in fact running.
+*** You get crashes in a non-C locale with Linux GNU Libc 2.0.
+
+Internationalization was not the top priority for GNU Libc 2.0.
+As of this writing (1998-12-28) you may get crashes while running
+XEmacs in a non-C locale. For example, `LC_ALL=en_US xemacs' crashes
+while `LC_ALL=C xemacs' runs fine. This happens for example with GNU
+libc 2.0.7. Installing libintl.a and libintl.h built from gettext
+0.10.35 and re-building XEmacs solves the crashes. Presumably soon
+everyone will upgrade to GNU Libc 2.1 and this problem will go away.
+
+*** `C-z', or `M-x suspend-emacs' hangs instead of suspending.
+
+If you build with `gpm' support on Linux, you cannot suspend XEmacs
+because gpm installs a buggy SIGTSTP handler. Either compile with
+`--with-gpm=no', or don't suspend XEmacs on the Linux console until
+this bug is fixed.
+
+*** With certain fonts, when the cursor appears on a character, the
+character doesn't appear--you get a solid box instead.
+
+One user on a Linux system reported that this problem went away with
+installation of a new X server. The failing server was XFree86 3.1.1.
+XFree86 3.1.2 works.
+
** IRIX
*** On Irix, I don't see the toolbar icons and I'm getting lots of
entries in the warnings buffer.
echo "$ac_t""no" 1>&6
fi
+if test "$pdump" != "yes"; then
+ echo $ac_n "checking for \"-z nocombreloc\" linker flag""... $ac_c" 1>&6
+echo "configure:2851: checking for \"-z nocombreloc\" linker flag" >&5
+ case "`ld --help 2>&1`" in
+ *-z\ nocombreloc* ) echo "$ac_t""yes" 1>&6
+ ld_switch_site="-z nocombreloc $ld_switch_site" && if test "$extra_verbose" = "yes"; then echo " Prepending \"-z nocombreloc\" to \$ld_switch_site"; fi ;;
+ *) echo "$ac_t""no" 1>&6 ;;
+ esac
+fi
+
+
if test "$GCC" = "yes"; then
set x $ld_switch_system; shift; ld_switch_system=""
fi
if test "$GCC" = "yes"; then
+ set x $ld_switch_site; shift; ld_switch_site=""
+ while test -n "$1"; do
+ case $1 in
+ -L | -l | -u ) ld_switch_site="$ld_switch_site $1 $2"; shift ;;
+ -L* | -l* | -u* | -Wl* | -pg ) ld_switch_site="$ld_switch_site $1" ;;
+ -Xlinker* ) ;;
+ * ) ld_switch_site="$ld_switch_site -Xlinker $1" ;;
+ esac
+ shift
+ done
+fi
+
+if test "$GCC" = "yes"; then
set x $LDFLAGS; shift; LDFLAGS=""
while test -n "$1"; do
case $1 in
fi
echo $ac_n "checking for dynodump""... $ac_c" 1>&6
-echo "configure:2916: checking for dynodump" >&5
+echo "configure:2940: checking for dynodump" >&5
if test "$unexec" != "unexsol2.o"; then
echo "$ac_t""no" 1>&6
else
done
echo $ac_n "checking for terminateAndUnload in -lC""... $ac_c" 1>&6
-echo "configure:2954: checking for terminateAndUnload in -lC" >&5
+echo "configure:2978: checking for terminateAndUnload in -lC" >&5
ac_lib_var=`echo C'_'terminateAndUnload | sed 'y%./+-%__p_%'`
xe_check_libs=" -lC "
cat > conftest.$ac_ext <<EOF
-#line 2959 "configure"
+#line 2983 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
terminateAndUnload()
; return 0; }
EOF
-if { (eval echo configure:2970: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2994: \"$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
if test "$add_runtime_path" = "yes"; then
echo $ac_n "checking "for runtime libraries flag"""... $ac_c" 1>&6
-echo "configure:3078: checking "for runtime libraries flag"" >&5
+echo "configure:3102: checking "for runtime libraries flag"" >&5
case "$opsys" in
sol2 ) dash_r="-R" ;;
decosf* | linux* | irix*) dash_r="-rpath " ;;
done
fi
cat > conftest.$ac_ext <<EOF
-#line 3100 "configure"
+#line 3124 "configure"
#include "confdefs.h"
int main() {
; return 0; }
EOF
-if { (eval echo configure:3107: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3131: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
dash_r="$try_dash_r"
else
fi
after_morecore_hook_exists=yes
echo $ac_n "checking for malloc_set_state""... $ac_c" 1>&6
-echo "configure:3208: checking for malloc_set_state" >&5
+echo "configure:3232: checking for malloc_set_state" >&5
cat > conftest.$ac_ext <<EOF
-#line 3211 "configure"
+#line 3235 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char malloc_set_state(); below. */
; return 0; }
EOF
-if { (eval echo configure:3234: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3258: \"$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
fi
echo $ac_n "checking whether __after_morecore_hook exists""... $ac_c" 1>&6
-echo "configure:3254: checking whether __after_morecore_hook exists" >&5
+echo "configure:3278: checking whether __after_morecore_hook exists" >&5
cat > conftest.$ac_ext <<EOF
-#line 3256 "configure"
+#line 3280 "configure"
#include "confdefs.h"
extern void (* __after_morecore_hook)();
int main() {
__after_morecore_hook = 0
; return 0; }
EOF
-if { (eval echo configure:3263: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3287: \"$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
# 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:3319: checking for $ac_word" >&5
+echo "configure:3343: checking for $ac_word" >&5
if test -n "$RANLIB"; then
ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
# 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:3374: checking for a BSD compatible install" >&5
+echo "configure:3398: checking for a BSD compatible install" >&5
if test -z "$INSTALL"; then
IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
# 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:3428: checking for $ac_word" >&5
+echo "configure:3452: checking for $ac_word" >&5
if test -n "$YACC"; then
ac_cv_prog_YACC="$YACC" # Let the user override the test.
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:3460: checking for $ac_hdr" >&5
+echo "configure:3484: checking for $ac_hdr" >&5
cat > conftest.$ac_ext <<EOF
-#line 3463 "configure"
+#line 3487 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:3468: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:3492: \"$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*
done
echo $ac_n "checking for sys/wait.h that is POSIX.1 compatible""... $ac_c" 1>&6
-echo "configure:3498: checking for sys/wait.h that is POSIX.1 compatible" >&5
+echo "configure:3522: checking for sys/wait.h that is POSIX.1 compatible" >&5
cat > conftest.$ac_ext <<EOF
-#line 3501 "configure"
+#line 3525 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <sys/wait.h>
s = WIFEXITED (s) ? WEXITSTATUS (s) : 1;
; return 0; }
EOF
-if { (eval echo configure:3517: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3541: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_header_sys_wait_h=yes
else
fi
echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
-echo "configure:3541: checking for ANSI C header files" >&5
+echo "configure:3565: checking for ANSI C header files" >&5
cat > conftest.$ac_ext <<EOF
-#line 3544 "configure"
+#line 3568 "configure"
#include "confdefs.h"
#include <stdlib.h>
#include <stdarg.h>
#include <float.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:3552: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:3576: \"$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*
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
-#line 3569 "configure"
+#line 3593 "configure"
#include "confdefs.h"
#include <string.h>
EOF
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
-#line 3587 "configure"
+#line 3611 "configure"
#include "confdefs.h"
#include <stdlib.h>
EOF
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 <<EOF
-#line 3605 "configure"
+#line 3629 "configure"
#include "confdefs.h"
#include <ctype.h>
#define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
exit (0); }
EOF
-if { (eval echo configure:3616: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
+if { (eval echo configure:3640: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
then
:
else
fi
echo $ac_n "checking whether time.h and sys/time.h may both be included""... $ac_c" 1>&6
-echo "configure:3642: checking whether time.h and sys/time.h may both be included" >&5
+echo "configure:3666: checking whether time.h and sys/time.h may both be included" >&5
cat > conftest.$ac_ext <<EOF
-#line 3645 "configure"
+#line 3669 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <sys/time.h>
struct tm *tp;
; return 0; }
EOF
-if { (eval echo configure:3654: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3678: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_header_time=yes
else
fi
echo $ac_n "checking for sys_siglist declaration in signal.h or unistd.h""... $ac_c" 1>&6
-echo "configure:3678: checking for sys_siglist declaration in signal.h or unistd.h" >&5
+echo "configure:3702: checking for sys_siglist declaration in signal.h or unistd.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 3681 "configure"
+#line 3705 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <signal.h>
char *msg = *(sys_siglist + 1);
; return 0; }
EOF
-if { (eval echo configure:3693: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3717: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_decl_sys_siglist=yes
else
echo $ac_n "checking for utime""... $ac_c" 1>&6
-echo "configure:3719: checking for utime" >&5
+echo "configure:3743: checking for utime" >&5
cat > conftest.$ac_ext <<EOF
-#line 3721 "configure"
+#line 3745 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <utime.h>
struct utimbuf x; x.actime = x.modtime = 0; utime ("/", &x);
; return 0; }
EOF
-if { (eval echo configure:3729: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3753: \"$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
for ac_func in utimes
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:3748: checking for $ac_func" >&5
+echo "configure:3772: checking for $ac_func" >&5
cat > conftest.$ac_ext <<EOF
-#line 3751 "configure"
+#line 3775 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
; return 0; }
EOF
-if { (eval echo configure:3774: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3798: \"$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
echo $ac_n "checking return type of signal handlers""... $ac_c" 1>&6
-echo "configure:3806: checking return type of signal handlers" >&5
+echo "configure:3830: checking return type of signal handlers" >&5
cat > conftest.$ac_ext <<EOF
-#line 3809 "configure"
+#line 3833 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <signal.h>
int i;
; return 0; }
EOF
-if { (eval echo configure:3826: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3850: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_type_signal=void
else
echo $ac_n "checking for size_t""... $ac_c" 1>&6
-echo "configure:3848: checking for size_t" >&5
+echo "configure:3872: checking for size_t" >&5
cat > conftest.$ac_ext <<EOF
-#line 3851 "configure"
+#line 3875 "configure"
#include "confdefs.h"
#include <sys/types.h>
#if STDC_HEADERS
fi
echo $ac_n "checking for pid_t""... $ac_c" 1>&6
-echo "configure:3882: checking for pid_t" >&5
+echo "configure:3906: checking for pid_t" >&5
cat > conftest.$ac_ext <<EOF
-#line 3885 "configure"
+#line 3909 "configure"
#include "confdefs.h"
#include <sys/types.h>
#if STDC_HEADERS
fi
echo $ac_n "checking for uid_t in sys/types.h""... $ac_c" 1>&6
-echo "configure:3916: checking for uid_t in sys/types.h" >&5
+echo "configure:3940: checking for uid_t in sys/types.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 3919 "configure"
+#line 3943 "configure"
#include "confdefs.h"
#include <sys/types.h>
EOF
fi
echo $ac_n "checking for mode_t""... $ac_c" 1>&6
-echo "configure:3955: checking for mode_t" >&5
+echo "configure:3979: checking for mode_t" >&5
cat > conftest.$ac_ext <<EOF
-#line 3958 "configure"
+#line 3982 "configure"
#include "confdefs.h"
#include <sys/types.h>
#if STDC_HEADERS
fi
echo $ac_n "checking for off_t""... $ac_c" 1>&6
-echo "configure:3989: checking for off_t" >&5
+echo "configure:4013: checking for off_t" >&5
cat > conftest.$ac_ext <<EOF
-#line 3992 "configure"
+#line 4016 "configure"
#include "confdefs.h"
#include <sys/types.h>
#if STDC_HEADERS
fi
echo $ac_n "checking for ssize_t""... $ac_c" 1>&6
-echo "configure:4023: checking for ssize_t" >&5
+echo "configure:4047: checking for ssize_t" >&5
cat > conftest.$ac_ext <<EOF
-#line 4026 "configure"
+#line 4050 "configure"
#include "confdefs.h"
#include <sys/types.h>
#if STDC_HEADERS
echo $ac_n "checking for socklen_t""... $ac_c" 1>&6
-echo "configure:4058: checking for socklen_t" >&5
+echo "configure:4082: checking for socklen_t" >&5
cat > conftest.$ac_ext <<EOF
-#line 4060 "configure"
+#line 4084 "configure"
#include "confdefs.h"
+#include <sys/types.h>
#include <sys/socket.h>
socklen_t x;
; return 0; }
EOF
-if { (eval echo configure:4069: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4094: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6
else
rm -rf conftest*
cat > conftest.$ac_ext <<EOF
-#line 4078 "configure"
+#line 4103 "configure"
#include "confdefs.h"
+#include <sys/types.h>
#include <sys/socket.h>
int accept (int, struct sockaddr *, size_t *);
; return 0; }
EOF
-if { (eval echo configure:4087: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4113: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
echo "$ac_t""size_t" 1>&6
rm -f conftest*
echo $ac_n "checking for struct timeval""... $ac_c" 1>&6
-echo "configure:4119: checking for struct timeval" >&5
+echo "configure:4145: checking for struct timeval" >&5
cat > conftest.$ac_ext <<EOF
-#line 4121 "configure"
+#line 4147 "configure"
#include "confdefs.h"
#ifdef TIME_WITH_SYS_TIME
#include <sys/time.h>
static struct timeval x; x.tv_sec = x.tv_usec;
; return 0; }
EOF
-if { (eval echo configure:4137: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4163: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6
HAVE_TIMEVAL=yes
rm -f conftest*
echo $ac_n "checking whether struct tm is in sys/time.h or time.h""... $ac_c" 1>&6
-echo "configure:4159: checking whether struct tm is in sys/time.h or time.h" >&5
+echo "configure:4185: checking whether struct tm is in sys/time.h or time.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 4162 "configure"
+#line 4188 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <time.h>
struct tm *tp; tp->tm_sec;
; return 0; }
EOF
-if { (eval echo configure:4170: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4196: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_struct_tm=time.h
else
fi
echo $ac_n "checking for tm_zone in struct tm""... $ac_c" 1>&6
-echo "configure:4194: checking for tm_zone in struct tm" >&5
+echo "configure:4220: checking for tm_zone in struct tm" >&5
cat > conftest.$ac_ext <<EOF
-#line 4197 "configure"
+#line 4223 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <$ac_cv_struct_tm>
struct tm tm; tm.tm_zone;
; return 0; }
EOF
-if { (eval echo configure:4205: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4231: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_struct_tm_zone=yes
else
else
echo $ac_n "checking for tzname""... $ac_c" 1>&6
-echo "configure:4228: checking for tzname" >&5
+echo "configure:4254: checking for tzname" >&5
cat > conftest.$ac_ext <<EOF
-#line 4231 "configure"
+#line 4257 "configure"
#include "confdefs.h"
#include <time.h>
#ifndef tzname /* For SGI. */
atoi(*tzname);
; return 0; }
EOF
-if { (eval echo configure:4241: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4267: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ac_cv_var_tzname=yes
else
echo $ac_n "checking for working const""... $ac_c" 1>&6
-echo "configure:4267: checking for working const" >&5
+echo "configure:4293: checking for working const" >&5
cat > conftest.$ac_ext <<EOF
-#line 4270 "configure"
+#line 4296 "configure"
#include "confdefs.h"
int main() {
; return 0; }
EOF
-if { (eval echo configure:4319: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4345: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_c_const=yes
else
echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
-echo "configure:4344: checking whether ${MAKE-make} sets \${MAKE}" >&5
+echo "configure:4370: checking whether ${MAKE-make} sets \${MAKE}" >&5
set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
cat > conftestmake <<\EOF
echo $ac_n "checking whether byte ordering is bigendian""... $ac_c" 1>&6
-echo "configure:4369: checking whether byte ordering is bigendian" >&5
+echo "configure:4395: 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 <<EOF
-#line 4374 "configure"
+#line 4400 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <sys/param.h>
#endif
; return 0; }
EOF
-if { (eval echo configure:4385: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4411: \"$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 <<EOF
-#line 4389 "configure"
+#line 4415 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <sys/param.h>
#endif
; return 0; }
EOF
-if { (eval echo configure:4400: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4426: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_c_bigendian=yes
else
rm -f conftest*
if test $ac_cv_c_bigendian = unknown; then
cat > conftest.$ac_ext <<EOF
-#line 4417 "configure"
+#line 4443 "configure"
#include "confdefs.h"
main () {
/* Are we little or big endian? From Harbison&Steele. */
exit (u.c[sizeof (long) - 1] == 1);
}
EOF
-if { (eval echo configure:4430: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
+if { (eval echo configure:4456: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
then
ac_cv_c_bigendian=no
else
echo $ac_n "checking size of short""... $ac_c" 1>&6
-echo "configure:4457: checking size of short" >&5
+echo "configure:4483: checking size of short" >&5
cat > conftest.$ac_ext <<EOF
-#line 4460 "configure"
+#line 4486 "configure"
#include "confdefs.h"
#include <stdio.h>
#include <sys/types.h>
exit(0);
}
EOF
-if { (eval echo configure:4472: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
+if { (eval echo configure:4498: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
then
ac_cv_sizeof_short=`cat conftestval`
else
exit 1
fi
echo $ac_n "checking size of int""... $ac_c" 1>&6
-echo "configure:4500: checking size of int" >&5
+echo "configure:4526: checking size of int" >&5
cat > conftest.$ac_ext <<EOF
-#line 4503 "configure"
+#line 4529 "configure"
#include "confdefs.h"
#include <stdio.h>
#include <sys/types.h>
exit(0);
}
EOF
-if { (eval echo configure:4515: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
+if { (eval echo configure:4541: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
then
ac_cv_sizeof_int=`cat conftestval`
else
echo $ac_n "checking size of long""... $ac_c" 1>&6
-echo "configure:4537: checking size of long" >&5
+echo "configure:4563: checking size of long" >&5
cat > conftest.$ac_ext <<EOF
-#line 4540 "configure"
+#line 4566 "configure"
#include "confdefs.h"
#include <stdio.h>
#include <sys/types.h>
exit(0);
}
EOF
-if { (eval echo configure:4552: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
+if { (eval echo configure:4578: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
then
ac_cv_sizeof_long=`cat conftestval`
else
echo $ac_n "checking size of long long""... $ac_c" 1>&6
-echo "configure:4574: checking size of long long" >&5
+echo "configure:4600: checking size of long long" >&5
cat > conftest.$ac_ext <<EOF
-#line 4577 "configure"
+#line 4603 "configure"
#include "confdefs.h"
#include <stdio.h>
#include <sys/types.h>
exit(0);
}
EOF
-if { (eval echo configure:4589: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
+if { (eval echo configure:4615: \"$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
echo $ac_n "checking size of void *""... $ac_c" 1>&6
-echo "configure:4611: checking size of void *" >&5
+echo "configure:4637: checking size of void *" >&5
cat > conftest.$ac_ext <<EOF
-#line 4614 "configure"
+#line 4640 "configure"
#include "confdefs.h"
#include <stdio.h>
#include <sys/types.h>
exit(0);
}
EOF
-if { (eval echo configure:4626: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
+if { (eval echo configure:4652: \"$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
echo $ac_n "checking for long file names""... $ac_c" 1>&6
-echo "configure:4649: checking for long file names" >&5
+echo "configure:4675: 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:
echo $ac_n "checking for sin""... $ac_c" 1>&6
-echo "configure:4695: checking for sin" >&5
+echo "configure:4721: checking for sin" >&5
cat > conftest.$ac_ext <<EOF
-#line 4698 "configure"
+#line 4724 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char sin(); below. */
; return 0; }
EOF
-if { (eval echo configure:4721: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4747: \"$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
echo "$ac_t""no" 1>&6
echo $ac_n "checking for sin in -lm""... $ac_c" 1>&6
-echo "configure:4739: checking for sin in -lm" >&5
+echo "configure:4765: checking for sin in -lm" >&5
ac_lib_var=`echo m'_'sin | sed 'y%./+-%__p_%'`
xe_check_libs=" -lm "
cat > conftest.$ac_ext <<EOF
-#line 4744 "configure"
+#line 4770 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
sin()
; return 0; }
EOF
-if { (eval echo configure:4755: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4781: \"$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
cat > conftest.$ac_ext <<EOF
-#line 4799 "configure"
+#line 4825 "configure"
#include "confdefs.h"
#include <math.h>
int main() {
return atanh(1.0) + asinh(1.0) + acosh(1.0);
; return 0; }
EOF
-if { (eval echo configure:4806: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4832: \"$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
rm -f conftest*
echo "checking type of mail spool file locking" 1>&6
-echo "configure:4823: checking type of mail spool file locking" >&5
+echo "configure:4849: 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:4827: checking for $ac_func" >&5
+echo "configure:4853: checking for $ac_func" >&5
cat > conftest.$ac_ext <<EOF
-#line 4830 "configure"
+#line 4856 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
; return 0; }
EOF
-if { (eval echo configure:4853: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4879: \"$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
case "$opsys" in decosf*)
echo $ac_n "checking for cma_open in -lpthreads""... $ac_c" 1>&6
-echo "configure:4935: checking for cma_open in -lpthreads" >&5
+echo "configure:4961: 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 <<EOF
-#line 4940 "configure"
+#line 4966 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
cma_open()
; return 0; }
EOF
-if { (eval echo configure:4951: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:4977: \"$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 $ac_n "checking whether the -xildoff compiler flag is required""... $ac_c" 1>&6
-echo "configure:4988: checking whether the -xildoff compiler flag is required" >&5
+echo "configure:5014: 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;
if test "$opsys" = "sol2"; then
if test "$os_release" -ge 56; then
echo $ac_n "checking for \"-z ignore\" linker flag""... $ac_c" 1>&6
-echo "configure:5000: checking for \"-z ignore\" linker flag" >&5
+echo "configure:5026: 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 ;;
fi
fi
-if test "$pdump" != "yes"; then
- echo $ac_n "checking for \"-z nocombreloc\" linker flag""... $ac_c" 1>&6
-echo "configure:5011: checking for \"-z nocombreloc\" linker flag" >&5
- case "`ld --help 2>&1`" in
- *-z\ nocombreloc* ) echo "$ac_t""yes" 1>&6
- ld_switch_site="-z nocombreloc $ld_switch_site" && if test "$extra_verbose" = "yes"; then echo " Prepending \"-z nocombreloc\" to \$ld_switch_site"; fi ;;
- *) echo "$ac_t""no" 1>&6 ;;
- esac
-fi
-
echo "checking "for specified window system"" 1>&6
-echo "configure:5021: checking "for specified window system"" >&5
+echo "configure:5037: checking "for specified window system"" >&5
GNOME_CONFIG=no
if test "$with_gnome" != "no"; then
echo $ac_n "checking for GNOME configuration script""... $ac_c" 1>&6
-echo "configure:5029: checking for GNOME configuration script" >&5
+echo "configure:5045: checking for GNOME configuration script" >&5
for possible in gnome-config
do
possible_version=`${possible} --version 2> /dev/null`
if test "$with_gtk" != "no";then
echo $ac_n "checking for GTK configuration script""... $ac_c" 1>&6
-echo "configure:5060: checking for GTK configuration script" >&5
+echo "configure:5076: 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 "${GTK_CONFIG}" != "no"; then
echo $ac_n "checking gtk version""... $ac_c" 1>&6
-echo "configure:5082: checking gtk version" >&5
+echo "configure:5098: 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:5087: checking gtk libs" >&5
+echo "configure:5103: 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:5093: checking gtk cflags" >&5
+echo "configure:5109: checking gtk cflags" >&5
GTK_CFLAGS=`${GTK_CONFIG} --cflags`
if test "$GCC" = "yes"; then
GTK_CFLAGS="${GTK_CFLAGS} -Wno-shadow"
echo $ac_n "checking for main in -lgdk_imlib""... $ac_c" 1>&6
-echo "configure:5103: checking for main in -lgdk_imlib" >&5
+echo "configure:5119: 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 <<EOF
-#line 5108 "configure"
+#line 5124 "configure"
#include "confdefs.h"
int main() {
main()
; return 0; }
EOF
-if { (eval echo configure:5115: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5131: \"$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 $ac_n "checking for Imlib_init in -lImlib""... $ac_c" 1>&6
-echo "configure:5137: checking for Imlib_init in -lImlib" >&5
+echo "configure:5153: 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 <<EOF
-#line 5142 "configure"
+#line 5158 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
Imlib_init()
; return 0; }
EOF
-if { (eval echo configure:5153: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5169: \"$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
for ac_func in gdk_imlib_init
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:5176: checking for $ac_func" >&5
+echo "configure:5192: checking for $ac_func" >&5
cat > conftest.$ac_ext <<EOF
-#line 5179 "configure"
+#line 5195 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
; return 0; }
EOF
-if { (eval echo configure:5202: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5218: \"$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
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:5281: checking for $ac_hdr" >&5
+echo "configure:5297: checking for $ac_hdr" >&5
cat > conftest.$ac_ext <<EOF
-#line 5284 "configure"
+#line 5300 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:5289: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:5305: \"$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*
echo $ac_n "checking for main in -lxml""... $ac_c" 1>&6
-echo "configure:5320: checking for main in -lxml" >&5
+echo "configure:5336: checking for main in -lxml" >&5
ac_lib_var=`echo xml'_'main | sed 'y%./+-%__p_%'`
xe_check_libs=" -lxml "
cat > conftest.$ac_ext <<EOF
-#line 5325 "configure"
+#line 5341 "configure"
#include "confdefs.h"
int main() {
main()
; return 0; }
EOF
-if { (eval echo configure:5332: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5348: \"$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 $ac_n "checking for main in -lglade""... $ac_c" 1>&6
-echo "configure:5354: checking for main in -lglade" >&5
+echo "configure:5370: checking for main in -lglade" >&5
ac_lib_var=`echo glade'_'main | sed 'y%./+-%__p_%'`
xe_check_libs=" -lglade "
cat > conftest.$ac_ext <<EOF
-#line 5359 "configure"
+#line 5375 "configure"
#include "confdefs.h"
int main() {
main()
; return 0; }
EOF
-if { (eval echo configure:5366: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5382: \"$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 $ac_n "checking for main in -lglade-gnome""... $ac_c" 1>&6
-echo "configure:5388: checking for main in -lglade-gnome" >&5
+echo "configure:5404: 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 <<EOF
-#line 5393 "configure"
+#line 5409 "configure"
#include "confdefs.h"
int main() {
main()
; return 0; }
EOF
-if { (eval echo configure:5400: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5416: \"$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
cat > conftest.$ac_ext <<EOF
-#line 5421 "configure"
+#line 5437 "configure"
#include "confdefs.h"
#include <glade/glade-xml.h>
EOF
# 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:5480: checking for X" >&5
+echo "configure:5496: checking for X" >&5
# Check whether --with-x or --without-x was given.
if test "${with_x+set}" = set; then
# First, try using that file with no special directory specified.
cat > conftest.$ac_ext <<EOF
-#line 5540 "configure"
+#line 5556 "configure"
#include "confdefs.h"
#include <$x_direct_test_include>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:5545: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:5561: \"$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*
ac_save_LIBS="$LIBS"
LIBS="-l$x_direct_test_library $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 5614 "configure"
+#line 5630 "configure"
#include "confdefs.h"
int main() {
${x_direct_test_function}()
; return 0; }
EOF
-if { (eval echo configure:5621: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5637: \"$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.
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:5730: checking whether -R must be followed by a space" >&5
+echo "configure:5746: checking whether -R must be followed by a space" >&5
ac_xsave_LIBS="$LIBS"; LIBS="$LIBS -R$x_libraries"
cat > conftest.$ac_ext <<EOF
-#line 5733 "configure"
+#line 5749 "configure"
#include "confdefs.h"
int main() {
; return 0; }
EOF
-if { (eval echo configure:5740: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5756: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ac_R_nospace=yes
else
else
LIBS="$ac_xsave_LIBS -R $x_libraries"
cat > conftest.$ac_ext <<EOF
-#line 5756 "configure"
+#line 5772 "configure"
#include "confdefs.h"
int main() {
; return 0; }
EOF
-if { (eval echo configure:5763: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5779: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ac_R_space=yes
else
else
echo $ac_n "checking for dnet_ntoa in -ldnet""... $ac_c" 1>&6
-echo "configure:5799: checking for dnet_ntoa in -ldnet" >&5
+echo "configure:5815: 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 <<EOF
-#line 5804 "configure"
+#line 5820 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
dnet_ntoa()
; return 0; }
EOF
-if { (eval echo configure:5815: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5831: \"$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
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:5839: checking for dnet_ntoa in -ldnet_stub" >&5
+echo "configure:5855: 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 <<EOF
-#line 5844 "configure"
+#line 5860 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
dnet_ntoa()
; return 0; }
EOF
-if { (eval echo configure:5855: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5871: \"$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
# 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:5884: checking for gethostbyname" >&5
+echo "configure:5900: checking for gethostbyname" >&5
cat > conftest.$ac_ext <<EOF
-#line 5887 "configure"
+#line 5903 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char gethostbyname(); below. */
; return 0; }
EOF
-if { (eval echo configure:5910: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5926: \"$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
if test $ac_cv_func_gethostbyname = no; then
echo $ac_n "checking for gethostbyname in -lnsl""... $ac_c" 1>&6
-echo "configure:5931: checking for gethostbyname in -lnsl" >&5
+echo "configure:5947: checking for gethostbyname in -lnsl" >&5
ac_lib_var=`echo nsl'_'gethostbyname | sed 'y%./+-%__p_%'`
xe_check_libs=" -lnsl "
cat > conftest.$ac_ext <<EOF
-#line 5936 "configure"
+#line 5952 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
gethostbyname()
; return 0; }
EOF
-if { (eval echo configure:5947: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:5963: \"$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
# -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:5977: checking for connect" >&5
+echo "configure:5993: checking for connect" >&5
cat > conftest.$ac_ext <<EOF
-#line 5980 "configure"
+#line 5996 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char connect(); below. */
; return 0; }
EOF
-if { (eval echo configure:6003: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6019: \"$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
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:6026: checking "$xe_msg_checking"" >&5
+echo "configure:6042: 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 <<EOF
-#line 6031 "configure"
+#line 6047 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
connect()
; return 0; }
EOF
-if { (eval echo configure:6042: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6058: \"$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
# gomez@mi.uni-erlangen.de says -lposix is necessary on A/UX.
echo $ac_n "checking for remove""... $ac_c" 1>&6
-echo "configure:6066: checking for remove" >&5
+echo "configure:6082: checking for remove" >&5
cat > conftest.$ac_ext <<EOF
-#line 6069 "configure"
+#line 6085 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char remove(); below. */
; return 0; }
EOF
-if { (eval echo configure:6092: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6108: \"$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
if test $ac_cv_func_remove = no; then
echo $ac_n "checking for remove in -lposix""... $ac_c" 1>&6
-echo "configure:6113: checking for remove in -lposix" >&5
+echo "configure:6129: checking for remove in -lposix" >&5
ac_lib_var=`echo posix'_'remove | sed 'y%./+-%__p_%'`
xe_check_libs=" -lposix "
cat > conftest.$ac_ext <<EOF
-#line 6118 "configure"
+#line 6134 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
remove()
; return 0; }
EOF
-if { (eval echo configure:6129: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6145: \"$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
# BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay.
echo $ac_n "checking for shmat""... $ac_c" 1>&6
-echo "configure:6153: checking for shmat" >&5
+echo "configure:6169: checking for shmat" >&5
cat > conftest.$ac_ext <<EOF
-#line 6156 "configure"
+#line 6172 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char shmat(); below. */
; return 0; }
EOF
-if { (eval echo configure:6179: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6195: \"$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
if test $ac_cv_func_shmat = no; then
echo $ac_n "checking for shmat in -lipc""... $ac_c" 1>&6
-echo "configure:6200: checking for shmat in -lipc" >&5
+echo "configure:6216: checking for shmat in -lipc" >&5
ac_lib_var=`echo ipc'_'shmat | sed 'y%./+-%__p_%'`
xe_check_libs=" -lipc "
cat > conftest.$ac_ext <<EOF
-#line 6205 "configure"
+#line 6221 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
shmat()
; return 0; }
EOF
-if { (eval echo configure:6216: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6232: \"$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
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:6252: checking "$xe_msg_checking"" >&5
+echo "configure:6268: 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 <<EOF
-#line 6257 "configure"
+#line 6273 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
IceConnectionNumber()
; return 0; }
EOF
-if { (eval echo configure:6268: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6284: \"$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 "checking for X defines extracted by xmkmf" 1>&6
-echo "configure:6435: checking for X defines extracted by xmkmf" >&5
+echo "configure:6451: checking for X defines extracted by xmkmf" >&5
rm -fr conftestdir
if mkdir conftestdir; then
cd conftestdir
ac_safe=`echo "X11/Intrinsic.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for X11/Intrinsic.h""... $ac_c" 1>&6
-echo "configure:6484: checking for X11/Intrinsic.h" >&5
+echo "configure:6500: checking for X11/Intrinsic.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 6487 "configure"
+#line 6503 "configure"
#include "confdefs.h"
#include <X11/Intrinsic.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:6492: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:6508: \"$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*
echo $ac_n "checking for XOpenDisplay in -lX11""... $ac_c" 1>&6
-echo "configure:6516: checking for XOpenDisplay in -lX11" >&5
+echo "configure:6532: checking for XOpenDisplay in -lX11" >&5
ac_lib_var=`echo X11'_'XOpenDisplay | sed 'y%./+-%__p_%'`
xe_check_libs=" -lX11 "
cat > conftest.$ac_ext <<EOF
-#line 6521 "configure"
+#line 6537 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
XOpenDisplay()
; return 0; }
EOF
-if { (eval echo configure:6532: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6548: \"$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
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:6557: checking "$xe_msg_checking"" >&5
+echo "configure:6573: 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 <<EOF
-#line 6562 "configure"
+#line 6578 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
XGetFontProperty()
; return 0; }
EOF
-if { (eval echo configure:6573: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6589: \"$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 $ac_n "checking for XShapeSelectInput in -lXext""... $ac_c" 1>&6
-echo "configure:6600: checking for XShapeSelectInput in -lXext" >&5
+echo "configure:6616: checking for XShapeSelectInput in -lXext" >&5
ac_lib_var=`echo Xext'_'XShapeSelectInput | sed 'y%./+-%__p_%'`
xe_check_libs=" -lXext "
cat > conftest.$ac_ext <<EOF
-#line 6605 "configure"
+#line 6621 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
XShapeSelectInput()
; return 0; }
EOF
-if { (eval echo configure:6616: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6632: \"$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 $ac_n "checking for XtOpenDisplay in -lXt""... $ac_c" 1>&6
-echo "configure:6639: checking for XtOpenDisplay in -lXt" >&5
+echo "configure:6655: checking for XtOpenDisplay in -lXt" >&5
ac_lib_var=`echo Xt'_'XtOpenDisplay | sed 'y%./+-%__p_%'`
xe_check_libs=" -lXt "
cat > conftest.$ac_ext <<EOF
-#line 6644 "configure"
+#line 6660 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
XtOpenDisplay()
; return 0; }
EOF
-if { (eval echo configure:6655: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6671: \"$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 $ac_n "checking the version of X11 being used""... $ac_c" 1>&6
-echo "configure:6678: checking the version of X11 being used" >&5
+echo "configure:6694: checking the version of X11 being used" >&5
cat > conftest.$ac_ext <<EOF
-#line 6680 "configure"
+#line 6696 "configure"
#include "confdefs.h"
#include <X11/Intrinsic.h>
int main(int c, char *v[]) { return c>1 ? XlibSpecificationRelease : 0; }
EOF
-if { (eval echo configure:6685: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
+if { (eval echo configure:6701: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
then
./conftest foobar; x11_release=$?
else
for ac_func in XConvertCase
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:6716: checking for $ac_func" >&5
+echo "configure:6732: checking for $ac_func" >&5
cat > conftest.$ac_ext <<EOF
-#line 6719 "configure"
+#line 6735 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
; return 0; }
EOF
-if { (eval echo configure:6742: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6758: \"$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
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:6774: checking for $ac_hdr" >&5
+echo "configure:6790: checking for $ac_hdr" >&5
cat > conftest.$ac_ext <<EOF
-#line 6777 "configure"
+#line 6793 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:6782: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:6798: \"$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*
for ac_func in XRegisterIMInstantiateCallback
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:6815: checking for $ac_func" >&5
+echo "configure:6831: checking for $ac_func" >&5
cat > conftest.$ac_ext <<EOF
-#line 6818 "configure"
+#line 6834 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
; return 0; }
EOF
-if { (eval echo configure:6841: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6857: \"$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
done
echo $ac_n "checking for standard XRegisterIMInstantiateCallback prototype""... $ac_c" 1>&6
-echo "configure:6869: checking for standard XRegisterIMInstantiateCallback prototype" >&5
+echo "configure:6885: checking for standard XRegisterIMInstantiateCallback prototype" >&5
cat > conftest.$ac_ext <<EOF
-#line 6871 "configure"
+#line 6887 "configure"
#include "confdefs.h"
#define NeedFunctionPrototypes 1
; return 0; }
EOF
-if { (eval echo configure:6883: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:6899: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6
else
test -z "$with_xmu" && {
echo $ac_n "checking for XmuReadBitmapDataFromFile in -lXmu""... $ac_c" 1>&6
-echo "configure:6904: checking for XmuReadBitmapDataFromFile in -lXmu" >&5
+echo "configure:6920: checking for XmuReadBitmapDataFromFile in -lXmu" >&5
ac_lib_var=`echo Xmu'_'XmuReadBitmapDataFromFile | sed 'y%./+-%__p_%'`
xe_check_libs=" -lXmu "
cat > conftest.$ac_ext <<EOF
-#line 6909 "configure"
+#line 6925 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
XmuReadBitmapDataFromFile()
; return 0; }
EOF
-if { (eval echo configure:6920: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6936: \"$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 $ac_n "checking for main in -lXbsd""... $ac_c" 1>&6
-echo "configure:6959: checking for main in -lXbsd" >&5
+echo "configure:6975: checking for main in -lXbsd" >&5
ac_lib_var=`echo Xbsd'_'main | sed 'y%./+-%__p_%'`
xe_check_libs=" -lXbsd "
cat > conftest.$ac_ext <<EOF
-#line 6964 "configure"
+#line 6980 "configure"
#include "confdefs.h"
int main() {
main()
; return 0; }
EOF
-if { (eval echo configure:6971: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:6987: \"$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
fi
if test "$with_msw" != "no"; then
echo "checking for MS-Windows" 1>&6
-echo "configure:7008: checking for MS-Windows" >&5
+echo "configure:7024: checking for MS-Windows" >&5
echo $ac_n "checking for main in -lgdi32""... $ac_c" 1>&6
-echo "configure:7011: checking for main in -lgdi32" >&5
+echo "configure:7027: checking for main in -lgdi32" >&5
ac_lib_var=`echo gdi32'_'main | sed 'y%./+-%__p_%'`
xe_check_libs=" -lgdi32 "
cat > conftest.$ac_ext <<EOF
-#line 7016 "configure"
+#line 7032 "configure"
#include "confdefs.h"
int main() {
main()
; return 0; }
EOF
-if { (eval echo configure:7023: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7039: \"$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
fi
fi
cat > conftest.$ac_ext <<EOF
-#line 7096 "configure"
+#line 7112 "configure"
#include "confdefs.h"
#include <fcntl.h>
int main() { return (open("/dev/windows", O_RDONLY, 0) > 0)? 0 : 1; }
EOF
-if { (eval echo configure:7101: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
+if { (eval echo configure:7117: \"$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
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:7165: checking for X11/extensions/shape.h" >&5
+echo "configure:7181: checking for X11/extensions/shape.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 7168 "configure"
+#line 7184 "configure"
#include "confdefs.h"
#include <X11/extensions/shape.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:7173: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:7189: \"$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*
esac
echo "checking for WM_COMMAND option" 1>&6
-echo "configure:7225: checking for WM_COMMAND option" >&5;
+echo "configure:7241: checking for WM_COMMAND option" >&5;
if test "$with_wmcommand" != "no"; then
{ test "$extra_verbose" = "yes" && cat << \EOF
Defining HAVE_WMCOMMAND
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:7240: checking for X11/Xauth.h" >&5
+echo "configure:7256: checking for X11/Xauth.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 7243 "configure"
+#line 7259 "configure"
#include "confdefs.h"
#include <X11/Xauth.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:7248: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:7264: \"$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*
}
test -z "$with_xauth" && {
echo $ac_n "checking for XauGetAuthByAddr in -lXau""... $ac_c" 1>&6
-echo "configure:7271: checking for XauGetAuthByAddr in -lXau" >&5
+echo "configure:7287: checking for XauGetAuthByAddr in -lXau" >&5
ac_lib_var=`echo Xau'_'XauGetAuthByAddr | sed 'y%./+-%__p_%'`
xe_check_libs=" -lXau "
cat > conftest.$ac_ext <<EOF
-#line 7276 "configure"
+#line 7292 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
XauGetAuthByAddr()
; return 0; }
EOF
-if { (eval echo configure:7287: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7303: \"$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
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:7332: checking for ${dir}tt_c.h" >&5
+echo "configure:7348: checking for ${dir}tt_c.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 7335 "configure"
+#line 7351 "configure"
#include "confdefs.h"
#include <${dir}tt_c.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:7340: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:7356: \"$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*
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:7376: checking "$xe_msg_checking"" >&5
+echo "configure:7392: 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 <<EOF
-#line 7381 "configure"
+#line 7397 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
tt_message_create()
; return 0; }
EOF
-if { (eval echo configure:7392: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7408: \"$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
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:7449: checking for Dt/Dt.h" >&5
+echo "configure:7465: checking for Dt/Dt.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 7452 "configure"
+#line 7468 "configure"
#include "confdefs.h"
#include <Dt/Dt.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:7457: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:7473: \"$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*
}
test -z "$with_cde" && {
echo $ac_n "checking for DtDndDragStart in -lDtSvc""... $ac_c" 1>&6
-echo "configure:7480: checking for DtDndDragStart in -lDtSvc" >&5
+echo "configure:7496: checking for DtDndDragStart in -lDtSvc" >&5
ac_lib_var=`echo DtSvc'_'DtDndDragStart | sed 'y%./+-%__p_%'`
xe_check_libs=" -lDtSvc "
cat > conftest.$ac_ext <<EOF
-#line 7485 "configure"
+#line 7501 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
DtDndDragStart()
; return 0; }
EOF
-if { (eval echo configure:7496: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7512: \"$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
if test "$with_dragndrop" != "no" ; then
echo $ac_n "checking if drag and drop API is needed""... $ac_c" 1>&6
-echo "configure:7569: checking if drag and drop API is needed" >&5
+echo "configure:7585: 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
fi
echo "checking for LDAP" 1>&6
-echo "configure:7589: checking for LDAP" >&5
+echo "configure:7605: 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:7592: checking for ldap.h" >&5
+echo "configure:7608: checking for ldap.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 7595 "configure"
+#line 7611 "configure"
#include "confdefs.h"
#include <ldap.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:7600: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:7616: \"$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*
}
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:7623: checking for lber.h" >&5
+echo "configure:7639: checking for lber.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 7626 "configure"
+#line 7642 "configure"
#include "confdefs.h"
#include <lber.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:7631: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:7647: \"$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*
if test "$with_ldap" != "no"; then
echo $ac_n "checking for ldap_search in -lldap""... $ac_c" 1>&6
-echo "configure:7655: checking for ldap_search in -lldap" >&5
+echo "configure:7671: 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 <<EOF
-#line 7660 "configure"
+#line 7676 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
ldap_search()
; return 0; }
EOF
-if { (eval echo configure:7671: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7687: \"$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
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:7696: checking "$xe_msg_checking"" >&5
+echo "configure:7712: checking "$xe_msg_checking"" >&5
ac_lib_var=`echo ldap'_'ldap_open | sed 'y%./+-%__p_%'`
xe_check_libs=" -lldap -llber"
cat > conftest.$ac_ext <<EOF
-#line 7701 "configure"
+#line 7717 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
ldap_open()
; return 0; }
EOF
-if { (eval echo configure:7712: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7728: \"$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
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:7737: checking "$xe_msg_checking"" >&5
+echo "configure:7753: 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 <<EOF
-#line 7742 "configure"
+#line 7758 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
ldap_open()
; return 0; }
EOF
-if { (eval echo configure:7753: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7769: \"$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
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:7778: checking "$xe_msg_checking"" >&5
+echo "configure:7794: 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 <<EOF
-#line 7783 "configure"
+#line 7799 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
ldap_open()
; return 0; }
EOF
-if { (eval echo configure:7794: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7810: \"$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
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:7845: checking for $ac_func" >&5
+echo "configure:7861: checking for $ac_func" >&5
cat > conftest.$ac_ext <<EOF
-#line 7848 "configure"
+#line 7864 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
; return 0; }
EOF
-if { (eval echo configure:7871: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7887: \"$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
if test "$with_postgresql" != "no"; then
echo "checking for PostgreSQL" 1>&6
-echo "configure:7902: checking for PostgreSQL" >&5
+echo "configure:7918: 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:7907: checking for ${header_dir}libpq-fe.h" >&5
+echo "configure:7923: checking for ${header_dir}libpq-fe.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 7910 "configure"
+#line 7926 "configure"
#include "confdefs.h"
#include <${header_dir}libpq-fe.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:7915: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:7931: \"$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*
test -n "$libpq_fe_h_file" && {
echo $ac_n "checking for PQconnectdb in -lpq""... $ac_c" 1>&6
-echo "configure:7939: checking for PQconnectdb in -lpq" >&5
+echo "configure:7955: checking for PQconnectdb in -lpq" >&5
ac_lib_var=`echo pq'_'PQconnectdb | sed 'y%./+-%__p_%'`
xe_check_libs=" -lpq "
cat > conftest.$ac_ext <<EOF
-#line 7944 "configure"
+#line 7960 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
PQconnectdb()
; return 0; }
EOF
-if { (eval echo configure:7955: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:7971: \"$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 $ac_n "checking for PQconnectStart in -lpq""... $ac_c" 1>&6
-echo "configure:7988: checking for PQconnectStart in -lpq" >&5
+echo "configure:8004: checking for PQconnectStart in -lpq" >&5
ac_lib_var=`echo pq'_'PQconnectStart | sed 'y%./+-%__p_%'`
xe_check_libs=" -lpq "
cat > conftest.$ac_ext <<EOF
-#line 7993 "configure"
+#line 8009 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
PQconnectStart()
; return 0; }
EOF
-if { (eval echo configure:8004: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8020: \"$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
if test "$window_system" != "none"; then
echo "checking for graphics libraries" 1>&6
-echo "configure:8052: checking for graphics libraries" >&5
+echo "configure:8068: checking for graphics libraries" >&5
libpath_xpm=
incpath_xpm=
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:8078: checking for Xpm - no older than 3.4f" >&5
+echo "configure:8094: checking for Xpm - no older than 3.4f" >&5
xe_check_libs=-lXpm
cat > conftest.$ac_ext <<EOF
-#line 8081 "configure"
+#line 8097 "configure"
#include "confdefs.h"
#define XPM_NUMBERS
#include <X11/xpm.h>
XpmIncludeVersion != XpmLibraryVersion() ? 1 :
XpmIncludeVersion < 30406 ? 2 : 0 ;}
EOF
-if { (eval echo configure:8090: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
+if { (eval echo configure:8106: \"$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
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:8134: checking for \"FOR_MSW\" xpm" >&5
+echo "configure:8150: checking for \"FOR_MSW\" xpm" >&5
xe_check_libs=-lXpm
cat > conftest.$ac_ext <<EOF
-#line 8137 "configure"
+#line 8153 "configure"
#include "confdefs.h"
int main() {
XpmCreatePixmapFromData()
; return 0; }
EOF
-if { (eval echo configure:8144: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8160: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
xpm_for_msw=no
else
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:8170: checking for compface.h" >&5
+echo "configure:8186: checking for compface.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 8173 "configure"
+#line 8189 "configure"
#include "confdefs.h"
#include <compface.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:8178: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:8194: \"$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*
}
test -z "$with_xface" && {
echo $ac_n "checking for UnGenFace in -lcompface""... $ac_c" 1>&6
-echo "configure:8201: checking for UnGenFace in -lcompface" >&5
+echo "configure:8217: checking for UnGenFace in -lcompface" >&5
ac_lib_var=`echo compface'_'UnGenFace | sed 'y%./+-%__p_%'`
xe_check_libs=" -lcompface "
cat > conftest.$ac_ext <<EOF
-#line 8206 "configure"
+#line 8222 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
UnGenFace()
; return 0; }
EOF
-if { (eval echo configure:8217: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8233: \"$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
if test "$with_png $with_tiff" != "no no"; then
echo $ac_n "checking for inflate in -lc""... $ac_c" 1>&6
-echo "configure:8269: checking for inflate in -lc" >&5
+echo "configure:8285: checking for inflate in -lc" >&5
ac_lib_var=`echo c'_'inflate | sed 'y%./+-%__p_%'`
xe_check_libs=" -lc "
cat > conftest.$ac_ext <<EOF
-#line 8274 "configure"
+#line 8290 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
inflate()
; return 0; }
EOF
-if { (eval echo configure:8285: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8301: \"$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 "$ac_t""no" 1>&6
echo $ac_n "checking for inflate in -lz""... $ac_c" 1>&6
-echo "configure:8304: checking for inflate in -lz" >&5
+echo "configure:8320: checking for inflate in -lz" >&5
ac_lib_var=`echo z'_'inflate | sed 'y%./+-%__p_%'`
xe_check_libs=" -lz "
cat > conftest.$ac_ext <<EOF
-#line 8309 "configure"
+#line 8325 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
inflate()
; return 0; }
EOF
-if { (eval echo configure:8320: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8336: \"$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 "$ac_t""no" 1>&6
echo $ac_n "checking for inflate in -lgz""... $ac_c" 1>&6
-echo "configure:8339: checking for inflate in -lgz" >&5
+echo "configure:8355: checking for inflate in -lgz" >&5
ac_lib_var=`echo gz'_'inflate | sed 'y%./+-%__p_%'`
xe_check_libs=" -lgz "
cat > conftest.$ac_ext <<EOF
-#line 8344 "configure"
+#line 8360 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
inflate()
; return 0; }
EOF
-if { (eval echo configure:8355: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8371: \"$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
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:8385: checking for jpeglib.h" >&5
+echo "configure:8401: checking for jpeglib.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 8388 "configure"
+#line 8404 "configure"
#include "confdefs.h"
#include <jpeglib.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:8393: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:8409: \"$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*
}
test -z "$with_jpeg" && {
echo $ac_n "checking for jpeg_destroy_decompress in -ljpeg""... $ac_c" 1>&6
-echo "configure:8416: checking for jpeg_destroy_decompress in -ljpeg" >&5
+echo "configure:8432: checking for jpeg_destroy_decompress in -ljpeg" >&5
ac_lib_var=`echo jpeg'_'jpeg_destroy_decompress | sed 'y%./+-%__p_%'`
xe_check_libs=" -ljpeg "
cat > conftest.$ac_ext <<EOF
-#line 8421 "configure"
+#line 8437 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
jpeg_destroy_decompress()
; return 0; }
EOF
-if { (eval echo configure:8432: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8448: \"$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
png_problem=""
test -z "$with_png" && { echo $ac_n "checking for pow""... $ac_c" 1>&6
-echo "configure:8468: checking for pow" >&5
+echo "configure:8484: checking for pow" >&5
cat > conftest.$ac_ext <<EOF
-#line 8471 "configure"
+#line 8487 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char pow(); below. */
; return 0; }
EOF
-if { (eval echo configure:8494: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8510: \"$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
}
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:8515: checking for png.h" >&5
+echo "configure:8531: checking for png.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 8518 "configure"
+#line 8534 "configure"
#include "confdefs.h"
#include <png.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:8523: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:8539: \"$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*
}
test -z "$with_png" && {
echo $ac_n "checking for png_read_image in -lpng""... $ac_c" 1>&6
-echo "configure:8546: checking for png_read_image in -lpng" >&5
+echo "configure:8562: checking for png_read_image in -lpng" >&5
ac_lib_var=`echo png'_'png_read_image | sed 'y%./+-%__p_%'`
xe_check_libs=" -lpng "
cat > conftest.$ac_ext <<EOF
-#line 8551 "configure"
+#line 8567 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
png_read_image()
; return 0; }
EOF
-if { (eval echo configure:8562: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8578: \"$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
}
if test -z "$with_png"; then
echo $ac_n "checking for workable png version information""... $ac_c" 1>&6
-echo "configure:8585: checking for workable png version information" >&5
+echo "configure:8601: checking for workable png version information" >&5
xe_check_libs="-lpng -lz"
cat > conftest.$ac_ext <<EOF
-#line 8588 "configure"
+#line 8604 "configure"
#include "confdefs.h"
#include <png.h>
int main(int c, char **v) {
if (strcmp(png_libpng_ver, PNG_LIBPNG_VER_STRING) != 0) return 1;
return (PNG_LIBPNG_VER < 10002) ? 2 : 0 ;}
EOF
-if { (eval echo configure:8596: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
+if { (eval echo configure:8612: \"$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
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:8639: checking for tiffio.h" >&5
+echo "configure:8655: checking for tiffio.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 8642 "configure"
+#line 8658 "configure"
#include "confdefs.h"
#include <tiffio.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:8647: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:8663: \"$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*
}
test -z "$with_tiff" && {
echo $ac_n "checking for TIFFClientOpen in -ltiff""... $ac_c" 1>&6
-echo "configure:8670: checking for TIFFClientOpen in -ltiff" >&5
+echo "configure:8686: checking for TIFFClientOpen in -ltiff" >&5
ac_lib_var=`echo tiff'_'TIFFClientOpen | sed 'y%./+-%__p_%'`
xe_check_libs=" -ltiff "
cat > conftest.$ac_ext <<EOF
-#line 8675 "configure"
+#line 8691 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
TIFFClientOpen()
; return 0; }
EOF
-if { (eval echo configure:8686: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8702: \"$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
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:8725: checking for compface.h" >&5
+echo "configure:8741: checking for compface.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 8728 "configure"
+#line 8744 "configure"
#include "confdefs.h"
#include <compface.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:8733: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:8749: \"$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*
}
test -z "$with_xface" && {
echo $ac_n "checking for UnGenFace in -lcompface""... $ac_c" 1>&6
-echo "configure:8756: checking for UnGenFace in -lcompface" >&5
+echo "configure:8772: checking for UnGenFace in -lcompface" >&5
ac_lib_var=`echo compface'_'UnGenFace | sed 'y%./+-%__p_%'`
xe_check_libs=" -lcompface "
cat > conftest.$ac_ext <<EOF
-#line 8761 "configure"
+#line 8777 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
UnGenFace()
; return 0; }
EOF
-if { (eval echo configure:8772: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8788: \"$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
if test "$with_x11" = "yes"; then
echo "checking for X11 graphics libraries" 1>&6
-echo "configure:8811: checking for X11 graphics libraries" >&5
+echo "configure:8827: checking for X11 graphics libraries" >&5
fi
case "$with_widgets" in
if test "$with_x11" = "yes" -a "$detect_athena" = "yes" ; then
echo "checking for the Athena widgets" 1>&6
-echo "configure:8821: checking for the Athena widgets" >&5
+echo "configure:8837: checking for the Athena widgets" >&5
case "$with_athena" in
"xaw" | "") athena_variant=Xaw athena_3d=no ;;
if test "$athena_3d" = "no"; then
echo $ac_n "checking for XawScrollbarSetThumb in -l$athena_variant""... $ac_c" 1>&6
-echo "configure:8835: checking for XawScrollbarSetThumb in -l$athena_variant" >&5
+echo "configure:8851: 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 <<EOF
-#line 8840 "configure"
+#line 8856 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
XawScrollbarSetThumb()
; return 0; }
EOF
-if { (eval echo configure:8851: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8867: \"$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 "$ac_t""yes" 1>&6
echo $ac_n "checking for threeDClassRec in -l$athena_variant""... $ac_c" 1>&6
-echo "configure:8867: checking for threeDClassRec in -l$athena_variant" >&5
+echo "configure:8883: checking for threeDClassRec in -l$athena_variant" >&5
ac_lib_var=`echo $athena_variant'_'threeDClassRec | sed 'y%./+-%__p_%'`
xe_check_libs=" -l$athena_variant "
cat > conftest.$ac_ext <<EOF
-#line 8872 "configure"
+#line 8888 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
threeDClassRec()
; return 0; }
EOF
-if { (eval echo configure:8883: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8899: \"$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
else
echo $ac_n "checking for threeDClassRec in -l$athena_variant""... $ac_c" 1>&6
-echo "configure:8914: checking for threeDClassRec in -l$athena_variant" >&5
+echo "configure:8930: checking for threeDClassRec in -l$athena_variant" >&5
ac_lib_var=`echo $athena_variant'_'threeDClassRec | sed 'y%./+-%__p_%'`
xe_check_libs=" -l$athena_variant "
cat > conftest.$ac_ext <<EOF
-#line 8919 "configure"
+#line 8935 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
threeDClassRec()
; return 0; }
EOF
-if { (eval echo configure:8930: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8946: \"$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
else
echo "$ac_t""no" 1>&6
echo $ac_n "checking for threeDClassRec in -lXaw""... $ac_c" 1>&6
-echo "configure:8948: checking for threeDClassRec in -lXaw" >&5
+echo "configure:8964: checking for threeDClassRec in -lXaw" >&5
ac_lib_var=`echo Xaw'_'threeDClassRec | sed 'y%./+-%__p_%'`
xe_check_libs=" -lXaw "
cat > conftest.$ac_ext <<EOF
-#line 8953 "configure"
+#line 8969 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
threeDClassRec()
; return 0; }
EOF
-if { (eval echo configure:8964: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:8980: \"$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
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:8995: checking for X11/Xaw/ThreeD.h" >&5
+echo "configure:9011: checking for X11/Xaw/ThreeD.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 8998 "configure"
+#line 9014 "configure"
#include "confdefs.h"
#include <X11/Xaw/ThreeD.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:9003: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:9019: \"$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*
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:9023: checking for X11/Xaw/XawInit.h" >&5
+echo "configure:9039: checking for X11/Xaw/XawInit.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 9026 "configure"
+#line 9042 "configure"
#include "confdefs.h"
#include <X11/Xaw/XawInit.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:9031: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:9047: \"$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*
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:9057: checking for X11/$athena_variant/XawInit.h" >&5
+echo "configure:9073: checking for X11/$athena_variant/XawInit.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 9060 "configure"
+#line 9076 "configure"
#include "confdefs.h"
#include <X11/$athena_variant/XawInit.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:9065: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:9081: \"$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*
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:9082: checking for X11/$athena_variant/ThreeD.h" >&5
+echo "configure:9098: checking for X11/$athena_variant/ThreeD.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 9085 "configure"
+#line 9101 "configure"
#include "confdefs.h"
#include <X11/$athena_variant/ThreeD.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:9090: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:9106: \"$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*
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:9118: checking for $athena_variant/XawInit.h" >&5
+echo "configure:9134: checking for $athena_variant/XawInit.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 9121 "configure"
+#line 9137 "configure"
#include "confdefs.h"
#include <$athena_variant/XawInit.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:9126: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:9142: \"$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*
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:9143: checking for $athena_variant/ThreeD.h" >&5
+echo "configure:9159: checking for $athena_variant/ThreeD.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 9146 "configure"
+#line 9162 "configure"
#include "confdefs.h"
#include <$athena_variant/ThreeD.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:9151: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:9167: \"$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*
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:9180: checking for X11/Xaw3d/XawInit.h" >&5
+echo "configure:9196: checking for X11/Xaw3d/XawInit.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 9183 "configure"
+#line 9199 "configure"
#include "confdefs.h"
#include <X11/Xaw3d/XawInit.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:9188: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:9204: \"$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*
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:9205: checking for X11/Xaw3d/ThreeD.h" >&5
+echo "configure:9221: checking for X11/Xaw3d/ThreeD.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 9208 "configure"
+#line 9224 "configure"
#include "confdefs.h"
#include <X11/Xaw3d/ThreeD.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:9213: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:9229: \"$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*
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:9245: checking for Xaw3d/XawInit.h" >&5
+echo "configure:9261: checking for Xaw3d/XawInit.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 9248 "configure"
+#line 9264 "configure"
#include "confdefs.h"
#include <Xaw3d/XawInit.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:9253: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:9269: \"$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*
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:9270: checking for Xaw3d/ThreeD.h" >&5
+echo "configure:9286: checking for Xaw3d/ThreeD.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 9273 "configure"
+#line 9289 "configure"
#include "confdefs.h"
#include <Xaw3d/ThreeD.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:9278: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:9294: \"$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*
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:9310: checking for X11/Xaw/ThreeD.h" >&5
+echo "configure:9326: checking for X11/Xaw/ThreeD.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 9313 "configure"
+#line 9329 "configure"
#include "confdefs.h"
#include <X11/Xaw/ThreeD.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:9318: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:9334: \"$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*
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:9357: checking for Xm/Xm.h" >&5
+echo "configure:9373: checking for Xm/Xm.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 9360 "configure"
+#line 9376 "configure"
#include "confdefs.h"
#include <Xm/Xm.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:9365: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:9381: \"$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*
echo "$ac_t""yes" 1>&6
echo $ac_n "checking for XmStringFree in -lXm""... $ac_c" 1>&6
-echo "configure:9382: checking for XmStringFree in -lXm" >&5
+echo "configure:9398: checking for XmStringFree in -lXm" >&5
ac_lib_var=`echo Xm'_'XmStringFree | sed 'y%./+-%__p_%'`
xe_check_libs=" -lXm "
cat > conftest.$ac_ext <<EOF
-#line 9387 "configure"
+#line 9403 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
XmStringFree()
; return 0; }
EOF
-if { (eval echo configure:9398: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9414: \"$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
if test "$have_motif" = "yes"; then
echo $ac_n "checking for Lesstif""... $ac_c" 1>&6
-echo "configure:9427: checking for Lesstif" >&5
+echo "configure:9443: checking for Lesstif" >&5
cat > conftest.$ac_ext <<EOF
-#line 9429 "configure"
+#line 9445 "configure"
#include "confdefs.h"
#include <Xm/Xm.h>
#ifdef LESSTIF_VERSION
if test "$with_mule" = "yes" ; then
echo "checking for Mule-related features" 1>&6
-echo "configure:9853: checking for Mule-related features" >&5
+echo "configure:9869: checking for Mule-related features" >&5
{ test "$extra_verbose" = "yes" && cat << \EOF
Defining MULE
EOF
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:9878: checking for $ac_hdr" >&5
+echo "configure:9894: checking for $ac_hdr" >&5
cat > conftest.$ac_ext <<EOF
-#line 9881 "configure"
+#line 9897 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:9886: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:9902: \"$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*
echo $ac_n "checking for strerror in -lintl""... $ac_c" 1>&6
-echo "configure:9917: checking for strerror in -lintl" >&5
+echo "configure:9933: checking for strerror in -lintl" >&5
ac_lib_var=`echo intl'_'strerror | sed 'y%./+-%__p_%'`
xe_check_libs=" -lintl "
cat > conftest.$ac_ext <<EOF
-#line 9922 "configure"
+#line 9938 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
strerror()
; return 0; }
EOF
-if { (eval echo configure:9933: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:9949: \"$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 "checking for Mule input methods" 1>&6
-echo "configure:9966: checking for Mule input methods" >&5
+echo "configure:9982: checking for Mule input methods" >&5
case "$with_xim" in "" | "yes" )
echo "checking for XIM" 1>&6
-echo "configure:9969: checking for XIM" >&5
+echo "configure:9985: checking for XIM" >&5
echo $ac_n "checking for XOpenIM in -lX11""... $ac_c" 1>&6
-echo "configure:9972: checking for XOpenIM in -lX11" >&5
+echo "configure:9988: checking for XOpenIM in -lX11" >&5
ac_lib_var=`echo X11'_'XOpenIM | sed 'y%./+-%__p_%'`
xe_check_libs=" -lX11 "
cat > conftest.$ac_ext <<EOF
-#line 9977 "configure"
+#line 9993 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
XOpenIM()
; return 0; }
EOF
-if { (eval echo configure:9988: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10004: \"$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
if test "$have_motif $have_lesstif" = "yes no"; then
echo $ac_n "checking for XmImMbLookupString in -lXm""... $ac_c" 1>&6
-echo "configure:10012: checking for XmImMbLookupString in -lXm" >&5
+echo "configure:10028: checking for XmImMbLookupString in -lXm" >&5
ac_lib_var=`echo Xm'_'XmImMbLookupString | sed 'y%./+-%__p_%'`
xe_check_libs=" -lXm "
cat > conftest.$ac_ext <<EOF
-#line 10017 "configure"
+#line 10033 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
XmImMbLookupString()
; return 0; }
EOF
-if { (eval echo configure:10028: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10044: \"$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
if test "$with_xfs" = "yes" ; then
echo "checking for XFontSet" 1>&6
-echo "configure:10093: checking for XFontSet" >&5
+echo "configure:10109: checking for XFontSet" >&5
echo $ac_n "checking for XmbDrawString in -lX11""... $ac_c" 1>&6
-echo "configure:10096: checking for XmbDrawString in -lX11" >&5
+echo "configure:10112: checking for XmbDrawString in -lX11" >&5
ac_lib_var=`echo X11'_'XmbDrawString | sed 'y%./+-%__p_%'`
xe_check_libs=" -lX11 "
cat > conftest.$ac_ext <<EOF
-#line 10101 "configure"
+#line 10117 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
XmbDrawString()
; return 0; }
EOF
-if { (eval echo configure:10112: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10128: \"$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
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:10152: checking for wnn/jllib.h" >&5
+echo "configure:10168: checking for wnn/jllib.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 10155 "configure"
+#line 10171 "configure"
#include "confdefs.h"
#include <wnn/jllib.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:10160: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:10176: \"$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*
}
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:10183: checking for wnn/commonhd.h" >&5
+echo "configure:10199: checking for wnn/commonhd.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 10186 "configure"
+#line 10202 "configure"
#include "confdefs.h"
#include <wnn/commonhd.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:10191: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:10207: \"$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*
for ac_func in crypt
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:10216: checking for $ac_func" >&5
+echo "configure:10232: checking for $ac_func" >&5
cat > conftest.$ac_ext <<EOF
-#line 10219 "configure"
+#line 10235 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
; return 0; }
EOF
-if { (eval echo configure:10242: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10258: \"$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
test "$ac_cv_func_crypt" != "yes" && {
echo $ac_n "checking for crypt in -lcrypt""... $ac_c" 1>&6
-echo "configure:10271: checking for crypt in -lcrypt" >&5
+echo "configure:10287: checking for crypt in -lcrypt" >&5
ac_lib_var=`echo crypt'_'crypt | sed 'y%./+-%__p_%'`
xe_check_libs=" -lcrypt "
cat > conftest.$ac_ext <<EOF
-#line 10276 "configure"
+#line 10292 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
crypt()
; return 0; }
EOF
-if { (eval echo configure:10287: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10303: \"$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
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:10322: checking for jl_dic_list_e in -lwnn" >&5
+echo "configure:10338: checking for jl_dic_list_e in -lwnn" >&5
ac_lib_var=`echo wnn'_'jl_dic_list_e | sed 'y%./+-%__p_%'`
xe_check_libs=" -lwnn "
cat > conftest.$ac_ext <<EOF
-#line 10327 "configure"
+#line 10343 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
jl_dic_list_e()
; return 0; }
EOF
-if { (eval echo configure:10338: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10354: \"$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
else
echo "$ac_t""no" 1>&6
echo $ac_n "checking for jl_dic_list_e in -lwnn4""... $ac_c" 1>&6
-echo "configure:10356: checking for jl_dic_list_e in -lwnn4" >&5
+echo "configure:10372: 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 <<EOF
-#line 10361 "configure"
+#line 10377 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
jl_dic_list_e()
; return 0; }
EOF
-if { (eval echo configure:10372: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10388: \"$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
else
echo "$ac_t""no" 1>&6
echo $ac_n "checking for jl_dic_list_e in -lwnn6""... $ac_c" 1>&6
-echo "configure:10390: checking for jl_dic_list_e in -lwnn6" >&5
+echo "configure:10406: 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 <<EOF
-#line 10395 "configure"
+#line 10411 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
jl_dic_list_e()
; return 0; }
EOF
-if { (eval echo configure:10406: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10422: \"$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
else
echo "$ac_t""no" 1>&6
echo $ac_n "checking for dic_list_e in -lwnn6_fromsrc""... $ac_c" 1>&6
-echo "configure:10424: checking for dic_list_e in -lwnn6_fromsrc" >&5
+echo "configure:10440: 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 <<EOF
-#line 10429 "configure"
+#line 10445 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
dic_list_e()
; return 0; }
EOF
-if { (eval echo configure:10440: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10456: \"$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
if test "$with_wnn6" != "no"; then
echo $ac_n "checking for jl_fi_dic_list in -l$libwnn""... $ac_c" 1>&6
-echo "configure:10488: checking for jl_fi_dic_list in -l$libwnn" >&5
+echo "configure:10504: 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 <<EOF
-#line 10493 "configure"
+#line 10509 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
jl_fi_dic_list()
; return 0; }
EOF
-if { (eval echo configure:10504: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10520: \"$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
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:10539: checking for canna/jrkanji.h" >&5
+echo "configure:10555: checking for canna/jrkanji.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 10542 "configure"
+#line 10558 "configure"
#include "confdefs.h"
#include <canna/jrkanji.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:10547: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:10563: \"$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*
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:10574: checking for canna/jrkanji.h" >&5
+echo "configure:10590: checking for canna/jrkanji.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 10577 "configure"
+#line 10593 "configure"
#include "confdefs.h"
#include <canna/jrkanji.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:10582: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:10598: \"$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*
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:10610: checking for canna/RK.h" >&5
+echo "configure:10626: checking for canna/RK.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 10613 "configure"
+#line 10629 "configure"
#include "confdefs.h"
#include <canna/RK.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:10618: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:10634: \"$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*
}
test -z "$with_canna" && {
echo $ac_n "checking for RkBgnBun in -lRKC""... $ac_c" 1>&6
-echo "configure:10641: checking for RkBgnBun in -lRKC" >&5
+echo "configure:10657: checking for RkBgnBun in -lRKC" >&5
ac_lib_var=`echo RKC'_'RkBgnBun | sed 'y%./+-%__p_%'`
xe_check_libs=" -lRKC "
cat > conftest.$ac_ext <<EOF
-#line 10646 "configure"
+#line 10662 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
RkBgnBun()
; return 0; }
EOF
-if { (eval echo configure:10657: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10673: \"$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
}
test -z "$with_canna" && {
echo $ac_n "checking for jrKanjiControl in -lcanna""... $ac_c" 1>&6
-echo "configure:10680: checking for jrKanjiControl in -lcanna" >&5
+echo "configure:10696: checking for jrKanjiControl in -lcanna" >&5
ac_lib_var=`echo canna'_'jrKanjiControl | sed 'y%./+-%__p_%'`
xe_check_libs=" -lcanna "
cat > conftest.$ac_ext <<EOF
-#line 10685 "configure"
+#line 10701 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
jrKanjiControl()
; return 0; }
EOF
-if { (eval echo configure:10696: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10712: \"$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
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:10745: checking for layout_object_getvalue in -li18n" >&5
+echo "configure:10761: checking for layout_object_getvalue in -li18n" >&5
ac_lib_var=`echo i18n'_'layout_object_getvalue | sed 'y%./+-%__p_%'`
xe_check_libs=" -li18n "
cat > conftest.$ac_ext <<EOF
-#line 10750 "configure"
+#line 10766 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
layout_object_getvalue()
; return 0; }
EOF
-if { (eval echo configure:10761: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10777: \"$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
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:10847: checking for $ac_func" >&5
+echo "configure:10863: checking for $ac_func" >&5
cat > conftest.$ac_ext <<EOF
-#line 10850 "configure"
+#line 10866 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
; return 0; }
EOF
-if { (eval echo configure:10873: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10889: \"$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
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:10905: checking for $ac_func" >&5
+echo "configure:10921: checking for $ac_func" >&5
cat > conftest.$ac_ext <<EOF
-#line 10908 "configure"
+#line 10924 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
; return 0; }
EOF
-if { (eval echo configure:10931: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:10947: \"$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
echo $ac_n "checking for openpty""... $ac_c" 1>&6
-echo "configure:10960: checking for openpty" >&5
+echo "configure:10976: checking for openpty" >&5
cat > conftest.$ac_ext <<EOF
-#line 10963 "configure"
+#line 10979 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char openpty(); below. */
; return 0; }
EOF
-if { (eval echo configure:10986: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11002: \"$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
echo $ac_n "checking for openpty in -lutil""... $ac_c" 1>&6
-echo "configure:11005: checking for openpty in -lutil" >&5
+echo "configure:11021: checking for openpty in -lutil" >&5
ac_lib_var=`echo util'_'openpty | sed 'y%./+-%__p_%'`
xe_check_libs=" -lutil "
cat > conftest.$ac_ext <<EOF
-#line 11010 "configure"
+#line 11026 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
openpty()
; return 0; }
EOF
-if { (eval echo configure:11021: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11037: \"$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
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:11056: checking for $ac_hdr" >&5
+echo "configure:11072: checking for $ac_hdr" >&5
cat > conftest.$ac_ext <<EOF
-#line 11059 "configure"
+#line 11075 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:11064: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:11080: \"$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*
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:11100: checking for $ac_hdr" >&5
+echo "configure:11116: checking for $ac_hdr" >&5
cat > conftest.$ac_ext <<EOF
-#line 11103 "configure"
+#line 11119 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:11108: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:11124: \"$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*
for ac_func in isastream
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:11141: checking for $ac_func" >&5
+echo "configure:11157: checking for $ac_func" >&5
cat > conftest.$ac_ext <<EOF
-#line 11144 "configure"
+#line 11160 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
; return 0; }
EOF
-if { (eval echo configure:11167: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11183: \"$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
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:11198: checking for $ac_hdr" >&5
+echo "configure:11214: checking for $ac_hdr" >&5
cat > conftest.$ac_ext <<EOF
-#line 11201 "configure"
+#line 11217 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:11206: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:11222: \"$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*
for ac_func in getloadavg
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:11243: checking for $ac_func" >&5
+echo "configure:11259: checking for $ac_func" >&5
cat > conftest.$ac_ext <<EOF
-#line 11246 "configure"
+#line 11262 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
; return 0; }
EOF
-if { (eval echo configure:11269: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11285: \"$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
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:11302: checking for $ac_hdr" >&5
+echo "configure:11318: checking for $ac_hdr" >&5
cat > conftest.$ac_ext <<EOF
-#line 11305 "configure"
+#line 11321 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:11310: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:11326: \"$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*
echo $ac_n "checking for kstat_open in -lkstat""... $ac_c" 1>&6
-echo "configure:11346: checking for kstat_open in -lkstat" >&5
+echo "configure:11362: 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 <<EOF
-#line 11351 "configure"
+#line 11367 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
kstat_open()
; return 0; }
EOF
-if { (eval echo configure:11362: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11378: \"$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
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:11397: checking for $ac_hdr" >&5
+echo "configure:11413: checking for $ac_hdr" >&5
cat > conftest.$ac_ext <<EOF
-#line 11400 "configure"
+#line 11416 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:11405: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:11421: \"$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*
echo $ac_n "checking for kvm_read in -lkvm""... $ac_c" 1>&6
-echo "configure:11437: checking for kvm_read in -lkvm" >&5
+echo "configure:11453: 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 <<EOF
-#line 11442 "configure"
+#line 11458 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
kvm_read()
; return 0; }
EOF
-if { (eval echo configure:11453: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11469: \"$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
fi
echo $ac_n "checking whether netdb declares h_errno""... $ac_c" 1>&6
-echo "configure:11487: checking whether netdb declares h_errno" >&5
+echo "configure:11503: checking whether netdb declares h_errno" >&5
cat > conftest.$ac_ext <<EOF
-#line 11489 "configure"
+#line 11505 "configure"
#include "confdefs.h"
#include <netdb.h>
int main() {
return h_errno;
; return 0; }
EOF
-if { (eval echo configure:11496: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11512: \"$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
rm -f conftest*
echo $ac_n "checking for sigsetjmp""... $ac_c" 1>&6
-echo "configure:11516: checking for sigsetjmp" >&5
+echo "configure:11532: checking for sigsetjmp" >&5
cat > conftest.$ac_ext <<EOF
-#line 11518 "configure"
+#line 11534 "configure"
#include "confdefs.h"
#include <setjmp.h>
int main() {
sigjmp_buf bar; sigsetjmp (bar, 0);
; return 0; }
EOF
-if { (eval echo configure:11525: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:11541: \"$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
rm -f conftest*
echo $ac_n "checking whether localtime caches TZ""... $ac_c" 1>&6
-echo "configure:11545: checking whether localtime caches TZ" >&5
+echo "configure:11561: checking whether localtime caches TZ" >&5
if test "$ac_cv_func_tzset" = "yes"; then
cat > conftest.$ac_ext <<EOF
-#line 11549 "configure"
+#line 11565 "configure"
#include "confdefs.h"
#include <time.h>
#if STDC_HEADERS
exit (0);
}
EOF
-if { (eval echo configure:11584: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
+if { (eval echo configure:11600: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
then
emacs_cv_localtime_cache=no
else
if test "$HAVE_TIMEVAL" = "yes"; then
echo $ac_n "checking whether gettimeofday accepts one or two arguments""... $ac_c" 1>&6
-echo "configure:11614: checking whether gettimeofday accepts one or two arguments" >&5
+echo "configure:11630: checking whether gettimeofday accepts one or two arguments" >&5
cat > conftest.$ac_ext <<EOF
-#line 11616 "configure"
+#line 11632 "configure"
#include "confdefs.h"
#ifdef TIME_WITH_SYS_TIME
; return 0; }
EOF
-if { (eval echo configure:11637: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11653: \"$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
echo $ac_n "checking for inline""... $ac_c" 1>&6
-echo "configure:11659: checking for inline" >&5
+echo "configure:11675: checking for inline" >&5
ac_cv_c_inline=no
for ac_kw in inline __inline__ __inline; do
cat > conftest.$ac_ext <<EOF
-#line 11664 "configure"
+#line 11680 "configure"
#include "confdefs.h"
int main() {
} $ac_kw foo() {
; return 0; }
EOF
-if { (eval echo configure:11671: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:11687: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_c_inline=$ac_kw; break
else
# 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:11712: checking for working alloca.h" >&5
+echo "configure:11728: checking for working alloca.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 11715 "configure"
+#line 11731 "configure"
#include "confdefs.h"
#include <alloca.h>
int main() {
char *p = alloca(2 * sizeof(int));
; return 0; }
EOF
-if { (eval echo configure:11722: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11738: \"$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
fi
echo $ac_n "checking for alloca""... $ac_c" 1>&6
-echo "configure:11746: checking for alloca" >&5
+echo "configure:11762: checking for alloca" >&5
cat > conftest.$ac_ext <<EOF
-#line 11749 "configure"
+#line 11765 "configure"
#include "confdefs.h"
#ifdef __GNUC__
char *p = (char *) alloca(1);
; return 0; }
EOF
-if { (eval echo configure:11777: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11793: \"$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
echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6
-echo "configure:11816: checking whether alloca needs Cray hooks" >&5
+echo "configure:11832: checking whether alloca needs Cray hooks" >&5
cat > conftest.$ac_ext <<EOF
-#line 11819 "configure"
+#line 11835 "configure"
#include "confdefs.h"
#if defined(CRAY) && ! defined(CRAY2)
webecray
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:11843: checking for $ac_func" >&5
+echo "configure:11859: checking for $ac_func" >&5
cat > conftest.$ac_ext <<EOF
-#line 11846 "configure"
+#line 11862 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
; return 0; }
EOF
-if { (eval echo configure:11869: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:11885: \"$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
fi
echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6
-echo "configure:11899: checking stack direction for C alloca" >&5
+echo "configure:11915: checking stack direction for C alloca" >&5
cat > conftest.$ac_ext <<EOF
-#line 11902 "configure"
+#line 11918 "configure"
#include "confdefs.h"
find_stack_direction ()
{
exit (find_stack_direction() < 0);
}
EOF
-if { (eval echo configure:11921: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
+if { (eval echo configure:11937: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
then
ac_cv_c_stack_direction=1
else
ac_safe=`echo "vfork.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for vfork.h""... $ac_c" 1>&6
-echo "configure:11951: checking for vfork.h" >&5
+echo "configure:11967: checking for vfork.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 11954 "configure"
+#line 11970 "configure"
#include "confdefs.h"
#include <vfork.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:11959: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:11975: \"$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*
fi
echo $ac_n "checking for working vfork""... $ac_c" 1>&6
-echo "configure:11987: checking for working vfork" >&5
+echo "configure:12003: checking for working vfork" >&5
cat > conftest.$ac_ext <<EOF
-#line 11990 "configure"
+#line 12006 "configure"
#include "confdefs.h"
/* Thanks to Paul Eggert for this test. */
#include <stdio.h>
}
}
EOF
-if { (eval echo configure:12085: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
+if { (eval echo configure:12101: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
then
ac_cv_func_vfork_works=yes
else
echo $ac_n "checking for working strcoll""... $ac_c" 1>&6
-echo "configure:12111: checking for working strcoll" >&5
+echo "configure:12127: checking for working strcoll" >&5
cat > conftest.$ac_ext <<EOF
-#line 12114 "configure"
+#line 12130 "configure"
#include "confdefs.h"
#include <string.h>
main ()
strcoll ("123", "456") >= 0);
}
EOF
-if { (eval echo configure:12124: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
+if { (eval echo configure:12140: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
then
ac_cv_func_strcoll_works=yes
else
for ac_func in getpgrp
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:12152: checking for $ac_func" >&5
+echo "configure:12168: checking for $ac_func" >&5
cat > conftest.$ac_ext <<EOF
-#line 12155 "configure"
+#line 12171 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
; return 0; }
EOF
-if { (eval echo configure:12178: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:12194: \"$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
done
echo $ac_n "checking whether getpgrp takes no argument""... $ac_c" 1>&6
-echo "configure:12206: checking whether getpgrp takes no argument" >&5
+echo "configure:12222: checking whether getpgrp takes no argument" >&5
cat > conftest.$ac_ext <<EOF
-#line 12209 "configure"
+#line 12225 "configure"
#include "confdefs.h"
/*
}
EOF
-if { (eval echo configure:12264: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
+if { (eval echo configure:12280: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
then
ac_cv_func_getpgrp_void=yes
else
echo $ac_n "checking for working mmap""... $ac_c" 1>&6
-echo "configure:12291: checking for working mmap" >&5
+echo "configure:12307: checking for working mmap" >&5
case "$opsys" in ultrix* ) have_mmap=no ;; *)
cat > conftest.$ac_ext <<EOF
-#line 12294 "configure"
+#line 12310 "configure"
#include "confdefs.h"
#include <stdio.h>
#include <unistd.h>
return 1;
}
EOF
-if { (eval echo configure:12327: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
+if { (eval echo configure:12343: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
then
have_mmap=yes
else
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:12356: checking for M_MMAP_THRESHOLD" >&5
+echo "configure:12372: checking for M_MMAP_THRESHOLD" >&5
cat > conftest.$ac_ext <<EOF
-#line 12358 "configure"
+#line 12374 "configure"
#include "confdefs.h"
#include <malloc.h>
int main() {
; return 0; }
EOF
-if { (eval echo configure:12370: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:12386: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
rel_alloc=no; echo "$ac_t""yes" 1>&6;
else
ac_safe=`echo "termios.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for termios.h""... $ac_c" 1>&6
-echo "configure:12395: checking for termios.h" >&5
+echo "configure:12411: checking for termios.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 12398 "configure"
+#line 12414 "configure"
#include "confdefs.h"
#include <termios.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:12403: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:12419: \"$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*
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:12446: checking for termio.h" >&5
+echo "configure:12462: checking for termio.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 12449 "configure"
+#line 12465 "configure"
#include "confdefs.h"
#include <termio.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:12454: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:12470: \"$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*
echo $ac_n "checking for socket""... $ac_c" 1>&6
-echo "configure:12486: checking for socket" >&5
+echo "configure:12502: checking for socket" >&5
cat > conftest.$ac_ext <<EOF
-#line 12489 "configure"
+#line 12505 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char socket(); below. */
; return 0; }
EOF
-if { (eval echo configure:12512: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:12528: \"$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
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:12527: checking for netinet/in.h" >&5
+echo "configure:12543: checking for netinet/in.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 12530 "configure"
+#line 12546 "configure"
#include "confdefs.h"
#include <netinet/in.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:12535: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:12551: \"$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*
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:12552: checking for arpa/inet.h" >&5
+echo "configure:12568: checking for arpa/inet.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 12555 "configure"
+#line 12571 "configure"
#include "confdefs.h"
#include <arpa/inet.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:12560: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:12576: \"$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*
}
echo $ac_n "checking "for sun_len member in struct sockaddr_un"""... $ac_c" 1>&6
-echo "configure:12585: checking "for sun_len member in struct sockaddr_un"" >&5
+echo "configure:12601: checking "for sun_len member in struct sockaddr_un"" >&5
cat > conftest.$ac_ext <<EOF
-#line 12587 "configure"
+#line 12603 "configure"
#include "confdefs.h"
#include <sys/types.h>
static struct sockaddr_un x; x.sun_len = 1;
; return 0; }
EOF
-if { (eval echo configure:12598: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:12614: \"$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
fi
rm -f conftest*
echo $ac_n "checking "for ip_mreq struct in netinet/in.h"""... $ac_c" 1>&6
-echo "configure:12616: checking "for ip_mreq struct in netinet/in.h"" >&5
+echo "configure:12632: checking "for ip_mreq struct in netinet/in.h"" >&5
cat > conftest.$ac_ext <<EOF
-#line 12618 "configure"
+#line 12634 "configure"
#include "confdefs.h"
#include <sys/types.h>
static struct ip_mreq x;
; return 0; }
EOF
-if { (eval echo configure:12628: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:12644: \"$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
echo $ac_n "checking for msgget""... $ac_c" 1>&6
-echo "configure:12659: checking for msgget" >&5
+echo "configure:12675: checking for msgget" >&5
cat > conftest.$ac_ext <<EOF
-#line 12662 "configure"
+#line 12678 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char msgget(); below. */
; return 0; }
EOF
-if { (eval echo configure:12685: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:12701: \"$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
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:12700: checking for sys/ipc.h" >&5
+echo "configure:12716: checking for sys/ipc.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 12703 "configure"
+#line 12719 "configure"
#include "confdefs.h"
#include <sys/ipc.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:12708: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:12724: \"$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*
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:12725: checking for sys/msg.h" >&5
+echo "configure:12741: checking for sys/msg.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 12728 "configure"
+#line 12744 "configure"
#include "confdefs.h"
#include <sys/msg.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:12733: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:12749: \"$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*
ac_safe=`echo "dirent.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for dirent.h""... $ac_c" 1>&6
-echo "configure:12771: checking for dirent.h" >&5
+echo "configure:12787: checking for dirent.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 12774 "configure"
+#line 12790 "configure"
#include "confdefs.h"
#include <dirent.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:12779: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:12795: \"$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*
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:12806: checking for sys/dir.h" >&5
+echo "configure:12822: checking for sys/dir.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 12809 "configure"
+#line 12825 "configure"
#include "confdefs.h"
#include <sys/dir.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:12814: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:12830: \"$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*
ac_safe=`echo "nlist.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for nlist.h""... $ac_c" 1>&6
-echo "configure:12847: checking for nlist.h" >&5
+echo "configure:12863: checking for nlist.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 12850 "configure"
+#line 12866 "configure"
#include "confdefs.h"
#include <nlist.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:12855: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:12871: \"$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*
echo "checking "for sound support"" 1>&6
-echo "configure:12885: checking "for sound support"" >&5
+echo "configure:12901: 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:12892: checking for multimedia/audio_device.h" >&5
+echo "configure:12908: checking for multimedia/audio_device.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 12895 "configure"
+#line 12911 "configure"
#include "confdefs.h"
#include <multimedia/audio_device.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:12900: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:12916: \"$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*
if test -z "$native_sound_lib"; then
echo $ac_n "checking for ALopenport in -laudio""... $ac_c" 1>&6
-echo "configure:12948: checking for ALopenport in -laudio" >&5
+echo "configure:12964: checking for ALopenport in -laudio" >&5
ac_lib_var=`echo audio'_'ALopenport | sed 'y%./+-%__p_%'`
xe_check_libs=" -laudio "
cat > conftest.$ac_ext <<EOF
-#line 12953 "configure"
+#line 12969 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
ALopenport()
; return 0; }
EOF
-if { (eval echo configure:12964: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:12980: \"$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
if test -z "$native_sound_lib"; then
echo $ac_n "checking for AOpenAudio in -lAlib""... $ac_c" 1>&6
-echo "configure:12995: checking for AOpenAudio in -lAlib" >&5
+echo "configure:13011: checking for AOpenAudio in -lAlib" >&5
ac_lib_var=`echo Alib'_'AOpenAudio | sed 'y%./+-%__p_%'`
xe_check_libs=" -lAlib "
cat > conftest.$ac_ext <<EOF
-#line 13000 "configure"
+#line 13016 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
AOpenAudio()
; return 0; }
EOF
-if { (eval echo configure:13011: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:13027: \"$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
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:13056: checking for ${dir}/soundcard.h" >&5
+echo "configure:13072: checking for ${dir}/soundcard.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 13059 "configure"
+#line 13075 "configure"
#include "confdefs.h"
#include <${dir}/soundcard.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:13064: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:13080: \"$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*
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:13118: checking for audio/audiolib.h" >&5
+echo "configure:13134: checking for audio/audiolib.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 13121 "configure"
+#line 13137 "configure"
#include "confdefs.h"
#include <audio/audiolib.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:13126: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:13142: \"$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*
echo $ac_n "checking for AuOpenServer in -laudio""... $ac_c" 1>&6
-echo "configure:13144: checking for AuOpenServer in -laudio" >&5
+echo "configure:13160: checking for AuOpenServer in -laudio" >&5
ac_lib_var=`echo audio'_'AuOpenServer | sed 'y%./+-%__p_%'`
xe_check_libs=" -laudio "
cat > conftest.$ac_ext <<EOF
-#line 13149 "configure"
+#line 13165 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
AuOpenServer()
; return 0; }
EOF
-if { (eval echo configure:13160: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:13176: \"$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
fi
libs_x="-laudio $libs_x" && if test "$extra_verbose" = "yes"; then echo " Prepending \"-laudio\" to \$libs_x"; fi
cat > conftest.$ac_ext <<EOF
-#line 13199 "configure"
+#line 13215 "configure"
#include "confdefs.h"
#include <audio/Xtutil.h>
EOF
# 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:13230: checking for $ac_word" >&5
+echo "configure:13246: 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.
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:13259: checking for esd_play_stream" >&5
+echo "configure:13275: checking for esd_play_stream" >&5
cat > conftest.$ac_ext <<EOF
-#line 13262 "configure"
+#line 13278 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char esd_play_stream(); below. */
; return 0; }
EOF
-if { (eval echo configure:13285: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:13301: \"$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
if test "$with_tty" = "yes" ; then
echo "checking for TTY-related features" 1>&6
-echo "configure:13336: checking for TTY-related features" >&5
+echo "configure:13352: checking for TTY-related features" >&5
{ test "$extra_verbose" = "yes" && cat << \EOF
Defining HAVE_TTY
EOF
if test -z "$with_ncurses"; then
echo $ac_n "checking for tgetent in -lncurses""... $ac_c" 1>&6
-echo "configure:13352: checking for tgetent in -lncurses" >&5
+echo "configure:13368: checking for tgetent in -lncurses" >&5
ac_lib_var=`echo ncurses'_'tgetent | sed 'y%./+-%__p_%'`
xe_check_libs=" -lncurses "
cat > conftest.$ac_ext <<EOF
-#line 13357 "configure"
+#line 13373 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
tgetent()
; return 0; }
EOF
-if { (eval echo configure:13368: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:13384: \"$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
ac_safe=`echo "ncurses/curses.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for ncurses/curses.h""... $ac_c" 1>&6
-echo "configure:13401: checking for ncurses/curses.h" >&5
+echo "configure:13417: checking for ncurses/curses.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 13404 "configure"
+#line 13420 "configure"
#include "confdefs.h"
#include <ncurses/curses.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:13409: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:13425: \"$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*
ac_safe=`echo "ncurses/term.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for ncurses/term.h""... $ac_c" 1>&6
-echo "configure:13431: checking for ncurses/term.h" >&5
+echo "configure:13447: checking for ncurses/term.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 13434 "configure"
+#line 13450 "configure"
#include "confdefs.h"
#include <ncurses/term.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:13439: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:13455: \"$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*
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:13469: checking for ncurses/curses.h" >&5
+echo "configure:13485: checking for ncurses/curses.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 13472 "configure"
+#line 13488 "configure"
#include "confdefs.h"
#include <ncurses/curses.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:13477: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:13493: \"$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*
for lib in curses termlib termcap; do
echo $ac_n "checking for tgetent in -l$lib""... $ac_c" 1>&6
-echo "configure:13512: checking for tgetent in -l$lib" >&5
+echo "configure:13528: checking for tgetent in -l$lib" >&5
ac_lib_var=`echo $lib'_'tgetent | sed 'y%./+-%__p_%'`
xe_check_libs=" -l$lib "
cat > conftest.$ac_ext <<EOF
-#line 13517 "configure"
+#line 13533 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
tgetent()
; return 0; }
EOF
-if { (eval echo configure:13528: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:13544: \"$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
done
fi
- else extra_objs="$extra_objs tparam.o" && if test "$extra_verbose" = "yes"; then
+ else if test -n "$libs_termcap" -a "$opsys" = "openbsd"; then
+
+echo $ac_n "checking for tgoto in -ltermcap""... $ac_c" 1>&6
+echo "configure:13569: checking for tgoto in -ltermcap" >&5
+ac_lib_var=`echo termcap'_'tgoto | sed 'y%./+-%__p_%'`
+
+xe_check_libs=" -ltermcap "
+cat > conftest.$ac_ext <<EOF
+#line 13574 "configure"
+#include "confdefs.h"
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char tgoto();
+
+int main() {
+tgoto()
+; return 0; }
+EOF
+if { (eval echo configure:13585: \"$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
+ ac_tr_lib=HAVE_LIB`echo termcap | sed -e 's/[^a-zA-Z0-9_]/_/g' \
+ -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
+ { test "$extra_verbose" = "yes" && cat << EOF
+ Defining $ac_tr_lib
+EOF
+cat >> confdefs.h <<EOF
+#define $ac_tr_lib 1
+EOF
+}
+
+ LIBS="-ltermcap $LIBS" && if test "$extra_verbose" = "yes"; then echo " Prepending \"-ltermcap\" to \$LIBS"; fi
+
+else
+ echo "$ac_t""no" 1>&6
+extra_objs="$extra_objs tparam.o" && if test "$extra_verbose" = "yes"; then
echo " xemacs will be linked with \"tparam.o\""
fi
+fi
+
+
+ else
+ extra_objs="$extra_objs tparam.o" && if test "$extra_verbose" = "yes"; then
+ echo " xemacs will be linked with \"tparam.o\""
+ fi
+ fi
case "$opsys" in *-hp-hpux* ) libs_termcap="-ltermcap" ;; esac
if test -n "$libs_termcap"; then
LIBS="$libs_termcap $LIBS" && if test "$extra_verbose" = "yes"; then echo " Prepending \"$libs_termcap\" to \$LIBS"; fi
else
echo $ac_n "checking for tgetent in -lcurses""... $ac_c" 1>&6
-echo "configure:13559: checking for tgetent in -lcurses" >&5
+echo "configure:13630: checking for tgetent in -lcurses" >&5
ac_lib_var=`echo curses'_'tgetent | sed 'y%./+-%__p_%'`
xe_check_libs=" -lcurses "
cat > conftest.$ac_ext <<EOF
-#line 13564 "configure"
+#line 13635 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
tgetent()
; return 0; }
EOF
-if { (eval echo configure:13575: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:13646: \"$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
else
echo "$ac_t""no" 1>&6
echo $ac_n "checking for tgetent in -ltermcap""... $ac_c" 1>&6
-echo "configure:13593: checking for tgetent in -ltermcap" >&5
+echo "configure:13664: checking for tgetent in -ltermcap" >&5
ac_lib_var=`echo termcap'_'tgetent | sed 'y%./+-%__p_%'`
xe_check_libs=" -ltermcap "
cat > conftest.$ac_ext <<EOF
-#line 13598 "configure"
+#line 13669 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
tgetent()
; return 0; }
EOF
-if { (eval echo configure:13609: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:13680: \"$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
test -z "$with_gpm" && { ac_safe=`echo "gpm.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for gpm.h""... $ac_c" 1>&6
-echo "configure:13657: checking for gpm.h" >&5
+echo "configure:13728: checking for gpm.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 13660 "configure"
+#line 13731 "configure"
#include "confdefs.h"
#include <gpm.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:13665: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:13736: \"$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*
}
test -z "$with_gpm" && {
echo $ac_n "checking for Gpm_Open in -lgpm""... $ac_c" 1>&6
-echo "configure:13688: checking for Gpm_Open in -lgpm" >&5
+echo "configure:13759: checking for Gpm_Open in -lgpm" >&5
ac_lib_var=`echo gpm'_'Gpm_Open | sed 'y%./+-%__p_%'`
xe_check_libs=" -lgpm "
cat > conftest.$ac_ext <<EOF
-#line 13693 "configure"
+#line 13764 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
Gpm_Open()
; return 0; }
EOF
-if { (eval echo configure:13704: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:13775: \"$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
test "$with_database_gdbm $with_database_dbm $with_database_berkdb" \
!= "no no no" && echo "checking for database support" 1>&6
-echo "configure:13754: checking for database support" >&5
+echo "configure:13825: 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:13759: checking for ndbm.h" >&5
+echo "configure:13830: checking for ndbm.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 13762 "configure"
+#line 13833 "configure"
#include "confdefs.h"
#include <ndbm.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:13767: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:13838: \"$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*
if test "$with_database_gdbm" != "no"; then
echo $ac_n "checking for dbm_open in -lgdbm""... $ac_c" 1>&6
-echo "configure:13797: checking for dbm_open in -lgdbm" >&5
+echo "configure:13868: checking for dbm_open in -lgdbm" >&5
ac_lib_var=`echo gdbm'_'dbm_open | sed 'y%./+-%__p_%'`
xe_check_libs=" -lgdbm "
cat > conftest.$ac_ext <<EOF
-#line 13802 "configure"
+#line 13873 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
dbm_open()
; return 0; }
EOF
-if { (eval echo configure:13813: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:13884: \"$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
if test "$with_database_dbm" != "no"; then
echo $ac_n "checking for dbm_open""... $ac_c" 1>&6
-echo "configure:13841: checking for dbm_open" >&5
+echo "configure:13912: checking for dbm_open" >&5
cat > conftest.$ac_ext <<EOF
-#line 13844 "configure"
+#line 13915 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char dbm_open(); below. */
; return 0; }
EOF
-if { (eval echo configure:13867: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:13938: \"$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
echo $ac_n "checking for dbm_open in -ldbm""... $ac_c" 1>&6
-echo "configure:13886: checking for dbm_open in -ldbm" >&5
+echo "configure:13957: checking for dbm_open in -ldbm" >&5
ac_lib_var=`echo dbm'_'dbm_open | sed 'y%./+-%__p_%'`
xe_check_libs=" -ldbm "
cat > conftest.$ac_ext <<EOF
-#line 13891 "configure"
+#line 13962 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
dbm_open()
; return 0; }
EOF
-if { (eval echo configure:13902: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:13973: \"$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
if test "$with_database_berkdb" != "no"; then
echo $ac_n "checking for Berkeley db.h""... $ac_c" 1>&6
-echo "configure:13943: checking for Berkeley db.h" >&5
+echo "configure:14014: checking for Berkeley db.h" >&5
for header in "db/db.h" "db.h"; do
cat > conftest.$ac_ext <<EOF
-#line 13946 "configure"
+#line 14017 "configure"
#include "confdefs.h"
#include <stdlib.h>
; return 0; }
EOF
-if { (eval echo configure:13968: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:14039: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
db_h_file="$header"; break
else
if test "$with_database_berkdb" != "no"; then
echo $ac_n "checking for Berkeley DB version""... $ac_c" 1>&6
-echo "configure:13984: checking for Berkeley DB version" >&5
+echo "configure:14055: checking for Berkeley DB version" >&5
cat > conftest.$ac_ext <<EOF
-#line 13986 "configure"
+#line 14057 "configure"
#include "confdefs.h"
#include <$db_h_file>
#if DB_VERSION_MAJOR > 1
egrep "yes" >/dev/null 2>&1; then
rm -rf conftest*
cat > conftest.$ac_ext <<EOF
-#line 13998 "configure"
+#line 14069 "configure"
#include "confdefs.h"
#include <$db_h_file>
#if DB_VERSION_MAJOR > 2
rm -f conftest*
echo $ac_n "checking for $dbfunc""... $ac_c" 1>&6
-echo "configure:14025: checking for $dbfunc" >&5
+echo "configure:14096: checking for $dbfunc" >&5
cat > conftest.$ac_ext <<EOF
-#line 14028 "configure"
+#line 14099 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $dbfunc(); below. */
; return 0; }
EOF
-if { (eval echo configure:14051: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:14122: \"$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
echo $ac_n "checking for $dbfunc in -ldb""... $ac_c" 1>&6
-echo "configure:14070: checking for $dbfunc in -ldb" >&5
+echo "configure:14141: checking for $dbfunc in -ldb" >&5
ac_lib_var=`echo db'_'$dbfunc | sed 'y%./+-%__p_%'`
xe_check_libs=" -ldb "
cat > conftest.$ac_ext <<EOF
-#line 14075 "configure"
+#line 14146 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
$dbfunc()
; return 0; }
EOF
-if { (eval echo configure:14086: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:14157: \"$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
if test "$with_socks" = "yes"; then
echo $ac_n "checking for SOCKSinit in -lsocks""... $ac_c" 1>&6
-echo "configure:14150: checking for SOCKSinit in -lsocks" >&5
+echo "configure:14221: checking for SOCKSinit in -lsocks" >&5
ac_lib_var=`echo socks'_'SOCKSinit | sed 'y%./+-%__p_%'`
xe_check_libs=" -lsocks "
cat > conftest.$ac_ext <<EOF
-#line 14155 "configure"
+#line 14226 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
SOCKSinit()
; return 0; }
EOF
-if { (eval echo configure:14166: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:14237: \"$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
if test "$with_modules" != "no"; then
echo "checking for module support" 1>&6
-echo "configure:14221: checking for module support" >&5
+echo "configure:14292: checking for module support" >&5
if test "$with_msw" = "yes"; then
have_dl=yes;
else
ac_safe=`echo "dlfcn.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for dlfcn.h""... $ac_c" 1>&6
-echo "configure:14228: checking for dlfcn.h" >&5
+echo "configure:14299: checking for dlfcn.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 14231 "configure"
+#line 14302 "configure"
#include "confdefs.h"
#include <dlfcn.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:14236: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:14307: \"$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*
echo "$ac_t""yes" 1>&6
echo $ac_n "checking for dlopen in -lc""... $ac_c" 1>&6
-echo "configure:14253: checking for dlopen in -lc" >&5
+echo "configure:14324: checking for dlopen in -lc" >&5
cat > conftest.$ac_ext <<EOF
-#line 14255 "configure"
+#line 14326 "configure"
#include "confdefs.h"
#include <dlfcn.h>
int main() {
dlopen ("", 0);
; return 0; }
EOF
-if { (eval echo configure:14262: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:14333: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
have_dl=yes
else
rm -rf conftest*
echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6
-echo "configure:14271: checking for dlopen in -ldl" >&5
+echo "configure:14342: checking for dlopen in -ldl" >&5
ac_save_LIBS="$LIBS"
LIBS="-ldl $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 14275 "configure"
+#line 14346 "configure"
#include "confdefs.h"
#include <dlfcn.h>
int main() {
dlopen ("", 0);
; return 0; }
EOF
-if { (eval echo configure:14282: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:14353: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
have_dl=yes
else
else
echo $ac_n "checking for shl_load in -ldld""... $ac_c" 1>&6
-echo "configure:14311: checking for shl_load in -ldld" >&5
+echo "configure:14382: checking for shl_load in -ldld" >&5
ac_lib_var=`echo dld'_'shl_load | sed 'y%./+-%__p_%'`
xe_check_libs=" -ldld "
cat > conftest.$ac_ext <<EOF
-#line 14316 "configure"
+#line 14387 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
shl_load()
; return 0; }
EOF
-if { (eval echo configure:14327: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:14398: \"$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 "$ac_t""no" 1>&6
echo $ac_n "checking for dld_init in -ldld""... $ac_c" 1>&6
-echo "configure:14354: checking for dld_init in -ldld" >&5
+echo "configure:14425: checking for dld_init in -ldld" >&5
ac_lib_var=`echo dld'_'dld_init | sed 'y%./+-%__p_%'`
xe_check_libs=" -ldld "
cat > conftest.$ac_ext <<EOF
-#line 14359 "configure"
+#line 14430 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
dld_init()
; return 0; }
EOF
-if { (eval echo configure:14370: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:14441: \"$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
xealias=$internal_configuration
echo "checking how to build dynamic libraries for ${xehost}" 1>&6
-echo "configure:14415: checking how to build dynamic libraries for ${xehost}" >&5
+echo "configure:14486: checking how to build dynamic libraries for ${xehost}" >&5
# Transform *-*-linux* to *-*-linux-gnu*, to support old configure scripts.
case "$xehost" in
*-*-linux-gnu*) ;;
XEGCC=yes
else
echo $ac_n "checking checking whether we are using GNU C""... $ac_c" 1>&6
-echo "configure:14443: checking checking whether we are using GNU C" >&5
+echo "configure:14514: checking checking whether we are using GNU C" >&5
cat > conftest.$ac_ext <<EOF
-#line 14445 "configure"
+#line 14516 "configure"
#include "confdefs.h"
#ifdef __GNUC__
fi
echo $ac_n "checking how to produce PIC code""... $ac_c" 1>&6
-echo "configure:14467: checking how to produce PIC code" >&5
+echo "configure:14538: checking how to produce PIC code" >&5
wl=
can_build_shared=yes
# 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:14568: checking if PIC flag ${dll_cflags} really works" >&5
+echo "configure:14639: checking if PIC flag ${dll_cflags} really works" >&5
save_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS $dll_cflags -DPIC"
cat > conftest.$ac_ext <<EOF
-#line 14572 "configure"
+#line 14643 "configure"
#include "confdefs.h"
int main() {
int x=0;
; return 0; }
EOF
-if { (eval echo configure:14579: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:14650: \"$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
xldf=
xcldf=
echo $ac_n "checking if C compiler can produce shared libraries""... $ac_c" 1>&6
-echo "configure:14610: checking if C compiler can produce shared libraries" >&5
+echo "configure:14681: checking if C compiler can produce shared libraries" >&5
if test "$XEGCC" = yes; then
xcldf="-shared"
xldf="-shared"
xe_libs=
ac_link='${CC-cc} -o conftest $CFLAGS '"$xe_cppflags $xe_ldflags"' conftest.$ac_ext '"$xe_libs"' 1>&5'
cat > conftest.$ac_ext <<EOF
-#line 14661 "configure"
+#line 14732 "configure"
#include "confdefs.h"
int main() {
int x=0;
; return 0; }
EOF
-if { (eval echo configure:14668: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:14739: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
cc_produces_so=yes
else
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:14693: checking for ld used by GCC" >&5
+echo "configure:14764: checking for ld used by GCC" >&5
ac_prog=`($CC -print-prog-name=ld) 2>&5`
case "$ac_prog" in
# Accept absolute paths.
esac
else
echo $ac_n "checking for GNU ld""... $ac_c" 1>&6
-echo "configure:14719: checking for GNU ld" >&5
+echo "configure:14790: checking for GNU ld" >&5
fi
if test -z "$LTLD"; then
# 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:14757: checking if the linker is GNU ld" >&5
+echo "configure:14828: 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 </dev/null | egrep '(GNU|with BFD)' 1>&5; then
xe_gnu_ld=yes
# 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:14785: checking whether the linker supports shared libraries" >&5
+echo "configure:14856: checking whether the linker supports shared libraries" >&5
dll_ld=$CC
dll_ldflags=$LDFLAGS
ld_shlibs=yes
for ac_func in dlerror _dlerror
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:14996: checking for $ac_func" >&5
+echo "configure:15067: checking for $ac_func" >&5
cat > conftest.$ac_ext <<EOF
-#line 14999 "configure"
+#line 15070 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
; return 0; }
EOF
-if { (eval echo configure:15022: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:15093: \"$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
fi
cat > conftest.$ac_ext <<EOF
-#line 15061 "configure"
+#line 15132 "configure"
#include "confdefs.h"
int main(int c,char *v[]){return 0;}
EOF
-if { (eval echo configure:15065: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
+if { (eval echo configure:15136: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
then
:
else
AC_MSG_RESULT(no)
fi
+dnl GNU ld now defaults to combreloc, which screws up unexec, but not pdump.
+dnl Note that it's OK if the GNU style long option causes non-GNU ld to barf
+dnl a usage message, that's often good enough. Please report it, though.
+dnl #### Should make this Solaris-friendly.
+dnl Link with -z nocombreloc for now.
+if test "$pdump" != "yes"; then
+ AC_MSG_CHECKING(for \"-z nocombreloc\" linker flag)
+ case "`ld --help 2>&1`" in
+ *-z\ nocombreloc* ) AC_MSG_RESULT(yes)
+ XE_PREPEND(-z nocombreloc, ld_switch_site) ;;
+ *) AC_MSG_RESULT(no) ;;
+ esac
+fi
+
+
dnl Inform compiler that certain flags are meant for the linker
dnl XE_PROTECT_LINKER_FLAGS(shell_var)
define([XE_PROTECT_LINKER_FLAGS], [
fi])dnl
XE_PROTECT_LINKER_FLAGS(ld_switch_system)
XE_PROTECT_LINKER_FLAGS(ld_switch_machine)
+XE_PROTECT_LINKER_FLAGS(ld_switch_site)
XE_PROTECT_LINKER_FLAGS(LDFLAGS)
XE_PROTECT_LINKER_FLAGS(ld_call_shared)
dnl check for Unix98 socklen_t
AC_MSG_CHECKING(for socklen_t)
-AC_TRY_COMPILE([#include <sys/socket.h>
+AC_TRY_COMPILE([#include <sys/types.h>
+#include <sys/socket.h>
socklen_t x;
],[],[AC_MSG_RESULT(yes)],[
-AC_TRY_COMPILE([#include <sys/socket.h>
+AC_TRY_COMPILE([#include <sys/types.h>
+#include <sys/socket.h>
int accept (int, struct sockaddr *, size_t *);
],[],[
AC_MSG_RESULT(size_t)
fi
fi
-dnl GNU ld now defaults to combreloc, which screws up unexec, but not pdump.
-dnl Note that it's OK if the GNU style long option causes non-GNU ld to barf
-dnl a usage message, that's often good enough. Please report it, though.
-dnl #### Should make this Solaris-friendly.
-dnl Link with -z nocombreloc for now.
-if test "$pdump" != "yes"; then
- AC_MSG_CHECKING(for \"-z nocombreloc\" linker flag)
- case "`ld --help 2>&1`" in
- *-z\ nocombreloc* ) AC_MSG_RESULT(yes)
- XE_PREPEND(-z nocombreloc, ld_switch_site) ;;
- *) AC_MSG_RESULT(no) ;;
- esac
-fi
-
dnl ----------------------
dnl Choose a window system
dnl ----------------------
done
fi
else dnl "$have_terminfo" = "no" && "with_ncurses" = "no"
- XE_ADD_OBJS(tparam.o)
+ if test -n "$libs_termcap" -a "$opsys" = "openbsd"; then
+ dnl We need to check if tgoto does not exist in termcap yet
+ dnl because on OpenBSD libtermcap is another name for libcurses
+ dnl which provides the same tgoto as ncurses
+ AC_CHECK_LIB(termcap, tgoto, , XE_ADD_OBJS(tparam.o))
+ else
+ XE_ADD_OBJS(tparam.o)
+ fi
dnl The HP-UX curses library seems to have a badly broken version of select(2)
dnl that makes "poll: interrupted system call" messages to appear and
dnl Emacs subprocesses to hang (e.g. TeX compilation w/ AUCTeX) */
development environment.
--with-socks Compile with support for SOCKS (an Internet proxy).
--with-dnet (*) Compile with support for DECnet.
---with-modules Compile in experimental support for dynamically
+--with-modules (*) Compile in experimental support for dynamically
loaded libraries (Dynamic Shared Objects).
--with-netinstall Compile in support for installation over the internet.
Only functional on the MS Windows platforms.
is rebuilt.
** Building XEmacs from a full distribution
-==============================================
+===========================================
Locate a convenient place where you have at least 100MB of free space
and issue the command
of the developers.
-* Patching XEmacs
+* Packages
+==========
+
+[Note: these instructions have been partly updated, but not carefully
+reviewed in some time. Caveat tester.]
+
+Starting with XEmacs 21.1, much of the functionality of XEmacs has
+been unbundled into "the packages." For more information about the
+package system, see the Info nodes on Packages (in the XEmacs User
+Manual) and on Packaging (in the Lisp Reference).
+
+When bootstrapping XEmacs, you may need to manually install some
+packages (at least xemacs-base and efs). These packages are available
+by FTP at ftp://ftp.xemacs.org/pub/xemacs/packages/.
+
+** Binary package installation
+==============================
+
+Prerequisite: XEmacs 21.0-b1.
+
+Binary packages are complete entities that can be untarred at the top
+level of an XEmacs package hierarchy and work at runtime. To install files
+in this directory, run the command `M-x package-admin-add-binary-package'
+and fill in appropriate values to the prompts.
+
+** Manual procedures for package management
+===========================================
+
+Prerequisite: XEmacs 21.0
+
+When adding and deleting files from a lisp directory the
+auto-autoloads.el (global symbols) and custom-load.el (Customization
+groups) must be kept in synch. Assuming one is manipulating a
+directory called `lisp-utils', the command to rebuild the
+auto-autoloads.el file is:
+
+xemacs -vanilla -batch -l autoload -f batch-update-directory lisp-utils
+
+The command to rebuild the custom-load.el file is:
+
+xemacs -vanilla -batch -l cus-dep -f Custom-make-dependencies lisp-utils
+
+To bytecompile both of these files the command is:
+
+xemacs -vanilla -batch -f batch-byte-compile \
+ lisp-utils/auto-autoloads.el lisp-utils/custom-load.el
+
+** Building XEmacs and XEmacs packages from scratch
+===================================================
+
+To build everything completely from scratch (not a high priority as a
+design goal), the following procedure should work. (I don't recommend
+building this way).
+
+*** Phase 1 -- Get a minimal XEmacs binary with mule to build the package
+ lisp with.
+
+**** Grab a mule-base tarball and install it into a newly created package
+ directory.
+
+**** Configure XEmacs with mule and a package-path including the
+ directory created above.
+
+**** Do a `make dist' to build an XEmacs binary.
+
+*** Phase 2 -- Build and install the package lisp.
+
+**** Modify XEmacs.rules for local paths and the XEmacs binary created in
+ Phase 1.
+
+**** Do a make from the top level package lisp source directory.[1]
+
+**** Do `make bindist's on all the packages you wish to install and
+ remove the byproduct .tar.gz's.
+
+*** Phase 3 -- If necessary, redump XEmacs
+ with the packages that require dump-time support and install it.
+
+**** Reconfigure without Mule if you don't wish a Mule-ish XEmacs, and
+ rebuild XEmacs.
+
+- or -
+
+**** rm lib-src/DOC src/xemacs; make
+
+**** Install or run in-place.
+
+Note that this is in essence what `make all-elc' has always done.
+
+
+* Improving XEmacs
=================
** Creating patches for submission
CVS. Members of the Review Board will also post short notices of
administrative action (APPROVE, VETO, QUERY, etc) to xemacs-patches.
-* Packages
-====================================
-
-[Note: these instructions have been partly updated, but not carefully
-reviewed in some time. Caveat tester.]
-
-Starting with XEmacs 21.1, much of the functionality of XEmacs has
-been unbundled into "the packages." For more information about the
-package system, see the Info nodes on Packages (in the XEmacs User
-Manual) and on Packaging (in the Lisp Reference).
-
-When bootstrapping XEmacs, you may need to manually install some
-packages (at least xemacs-base and efs). These packages are available
-by FTP at ftp://ftp.xemacs.org/pub/xemacs/packages/.
-
-** Binary package installation
-================================================
-
-Prerequisite: XEmacs 21.0-b1.
-
-Binary packages are complete entities that can be untarred at the top
-level of an XEmacs package hierarchy and work at runtime. To install files
-in this directory, run the command `M-x package-admin-add-binary-package'
-and fill in appropriate values to the prompts.
-
-** Manual procedures for package management
-===========================================
-
-Prerequisite: XEmacs 21.0
-
-When adding and deleting files from a lisp directory the
-auto-autoloads.el (global symbols) and custom-load.el (Customization
-groups) must be kept in synch. Assuming one is manipulating a
-directory called `lisp-utils', the command to rebuild the
-auto-autoloads.el file is:
-
-xemacs -vanilla -batch -l autoload -f batch-update-directory lisp-utils
-
-The command to rebuild the custom-load.el file is:
-
-xemacs -vanilla -batch -l cus-dep -f Custom-make-dependencies lisp-utils
-
-To bytecompile both of these files the command is:
-
-xemacs -vanilla -batch -f batch-byte-compile \
- lisp-utils/auto-autoloads.el lisp-utils/custom-load.el
-
-** Building XEmacs and XEmacs packages from scratch
-===================================================
-
-To build everything completely from scratch (not a high priority as a
-design goal), the following procedure should work. (I don't recommend
-building this way).
-
-*** Phase 1 -- Get a minimal XEmacs binary with mule to build the package
- lisp with.
-
-**** Grab a mule-base tarball and install it into a newly created package
- directory.
-
-**** Configure XEmacs with mule and a package-path including the
- directory created above.
-
-**** Do a `make dist' to build an XEmacs binary.
-
-*** Phase 2 -- Build and install the package lisp.
-
-**** Modify XEmacs.rules for local paths and the XEmacs binary created in
- Phase 1.
-
-**** Do a make from the top level package lisp source directory.[1]
-
-**** Do `make bindist's on all the packages you wish to install and
- remove the byproduct .tar.gz's.
-
-*** Phase 3 -- If necessary, redump XEmacs
- with the packages that require dump-time support and install it.
-
-**** Reconfigure without Mule if you don't wish a Mule-ish XEmacs, and
- rebuild XEmacs.
-
-- or -
-
-**** rm lib-src/DOC src/xemacs; make
-
-**** Install or run in-place.
-
-Note that this is in essence what `make all-elc' has always done.
+** Large contributions
+======================
+
+Perhaps you have a whole new mode, or a major synchronization with
+upstream for a neglected package, or a synchronization with GNU Emacs
+you would like to contribute. We welcome such contributions, but they
+are likely to be relatively controversial, generate more comments and
+requests for revision, and take longer to integrate. Please be
+patient with the process.
+
+*** Updates to existing packages
+--------------------------------
+
+If a package has gotten a bit out of date, or even started to bitrot,
+we welcome patches to synchronize it with upstream/GNU Emacs versions.
+Most packages end up varying somewhat from their GNU origins. See
+"Syncing with GNU Emacs" for hints. Note that if you do a reasonably
+large amount of syncing with GNU Emacs, you should log this in the
+file itself as well as in the ChangeLog.
+
+If the package is important to you, please consider becoming the
+maintainer. (See "New packages", below.)
+
+*** New packages
+----------------
+
+If you have a new mode or other large addition that does not require
+changes to the core, please consider submitting it as a package, and
+becoming the maintainer. You get direct commit privileges to the
+repository for your package, "approval" privileges for your own
+patches as well as third party patches to your package, and some
+degree of veto power over patches you don't like. In return, you are
+expected to maintain friendly liaison with the upstream developer (if
+you aren't the upstream developer), keep watch on the XEmacs Patches
+list for relevant patches, and be available by email to other
+developers for discussion of changes that impact your package. It's
+also a pretty standard route to the "core" development group, where we
+have plenty of extra work waiting for volunteers.
+
+You don't have to become the maintainer, but it virtually ensures
+rapid acceptance of the package.
+
+For help in creating new packages, see the (rather sparse) discussions
+in the XEmacs User's Guide and the Lisp Reference Manual. The XEmacs
+Package Release Engineer (Ville Skyttä <ville.skytta@xemacs.org> is
+currently serving with Peter Brown <rendhalver@users.sourceforge.net>
+assisting; Steve Youngs <youngs@xemacs.org> and Stephen Turnbull
+<stephen@xemacs.org> also can help) is the most likely source of advice.
+
+*** Syncing with GNU Emacs
+--------------------------
+
+Syncing with GNU Emacs is an important activity. Although each
+version has its advantages and areas of concentration, it is very
+desirable that common functionality share specifications and APIs.
+When porting GNU code to XEmacs, the following points should be given
+special attention:
+
+ o Recent GNU Emacsen cannot be built without Mule, but XEmacs can.
+ Make sure your changes do not assume the presence of Mule.
+
+ o GNU Emacs nomenclature often differs from that of XEmacs.
+ Sometimes syncing the names is desirable, other times not.
+
+ o GNU Emacs functionality often differs from that of XEmacs.
+ Syncing functionality is often controversial.
+
+It is important that you let other developers know that
+synchronization has taken place, to what degree, and when. For this
+purpose, we use comments of the form
+
+/* Synched up with: FSF 21.3 by Stephen Turnbull */
+
+in the source file itself, as the last element of the prefatory
+material (copyright notice and commentary). Obviously the comment
+marker needs to be changed to leading semicolons for Lisp, but
+otherwise the format is the same.
+
+Of course you should note syncing as the purpose in the ChangeLog,
+too. But entries get buried deep in the ChangeLog file, and may even
+get moved to a separate ChangeLog.OLD file for rarely synched files.
+
+Rather than dates we use the version of GNU Emacs to sync to. If the
+synchronization is partial, add a new comment describing what has
+actually been synched, leaving the description of the last full sync
+in place. At each full sync, remove all previous synchronization
+comments.
+
+This applies to Lisp that we have broken out into packages, but
+remains in the GNU Emacs core, as well to core Lisp in XEmacs.
21.4.12: Rational FORTRAN
21.4.13: Reasonable Discussion
21.4.14: Security Through Obscurity
-21.4.15: Standard C
-21.4.16: Successful IPO
-21.4.17: Sufficiently Smart Compiler
+21.4.15: Stable Release Maintainer
+21.4.16: Standard C
+21.4.17: Successful IPO
+21.4.18: Sufficiently Smart Compiler
N.B. Only incredibly redeeming suggestions can be accepted now.
;; Package Index file -- Do not edit manually.
;;;@@@
(package-get-update-base-entry (quote
+(ess
+ (standards-version 1.1
+ version "1.02"
+ author-version "5.1.21"
+ date "2002-06-04"
+ build-date "2002-06-04"
+ maintainer "A.J. Rossini <rossini@xemacs.org>"
+ distribution xemacs
+ priority medium
+ category "standard"
+ dump nil
+ description "ESS: Emacs Speaks Statistics."
+ filename "ess-1.02-pkg.tar.gz"
+ md5sum "3eff981706623221b5af048dc8a00f17"
+ size 469304
+ provides (ess-batch ess-comp ess-cust ess-dump ess-emcs ess-font-lock ess-help ess-inf ess-iw32 ess-latex-mode ess-menu ess-mode ess-mous ess-noweb ess-site ess-sysdp ess-utils ess-vars ess essa-r essa-sas essd-arc essd-els essd-r essd-omg essd-r essd-s3 essd-s4 essd-sas essd-sp3 essd-sp4 essd-sp5 essd-sp6 essd-sta essd-vst essd-xls essddr essdsp6w essl-bug essl-lsp essl-omg essl-py essl-s essl-sas essl-sta make-regexp mouseme msdos noweb-font-lock-mode noweb-mode)
+ requires (xemacs-base mail-lib fsf-compat edit-utils)
+ type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(haskell-mode
+ (standards-version 1.1
+ version "1.03"
+ author-version "1.43"
+ date "2002-05-07"
+ build-date "2002-05-07"
+ maintainer "Ville Skyttä <ville.skytta@xemacs.org>"
+ distribution xemacs
+ priority low
+ category "standard"
+ dump nil
+ description "Haskell editing support."
+ filename "haskell-mode-1.03-pkg.tar.gz"
+ md5sum "c734831433d7330094064fe3959d94f1"
+ size 91983
+ provides (haskell-decl-scan haskell-doc haskell-font-lock haskell-indent haskell-mode haskell-simple-indent)
+ requires (dired mail-lib xemacs-base edit-utils)
+ type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
(xslide
(standards-version 1.1
version "1.01"
(package-get-update-base-entry (quote
(liece
(standards-version 1.1
- version "1.02"
+ version "1.07"
author-version "1.4.7"
- date "2002-03-27"
- build-date "2002-03-27"
+ date "2002-07-14"
+ build-date "2002-07-14"
maintainer "Daiki Ueno <ueno@unixuser.org>"
distribution xemacs
priority high
category "standard"
dump nil
description "IRC (Internet Relay Chat) client for Emacs."
- filename "liece-1.02-pkg.tar.gz"
- md5sum "7c899f30aa09060a654293ea34cc69a2"
- size 197898
+ filename "liece-1.07-pkg.tar.gz"
+ md5sum "10a70f816b57757a6dc58b29f342881f"
+ size 197755
provides (liece-xemacs gettext liece-clfns liece-handler liece-compat liece-version liece-vars liece-globals liece-inlines liece-filter liece-coding liece-dcc liece-menu liece-000 liece-200 liece-300 liece-400 liece-500 liece-nick liece-channel liece-commands liece-ctcp liece-q-el liece-message liece-handle liece-hilit liece-intl liece-mail liece-minibuf liece-misc liece-tcp liece-url liece-x-face liece-window liece)
requires (apel mail-lib fsf-compat xemacs-base)
type regular
(package-get-update-base-entry (quote
(latin-unity
(standards-version 1.1
- version "1.02"
- author-version "1.02"
- date "2002-03-27"
- build-date "2002-03-27"
+ version "1.05"
+ author-version "1.05"
+ date "2002-05-07"
+ build-date "2002-05-07"
maintainer "Stephen J. Turnbull <stephen@xemacs.org>"
distribution mule
priority high
category "mule"
dump nil
description "MULE: find single ISO 8859 character set to encode a buffer."
- filename "latin-unity-1.02-pkg.tar.gz"
- md5sum "a805ae51271723aa4bf50b43e24d197f"
- size 84953
+ filename "latin-unity-1.05-pkg.tar.gz"
+ md5sum "fc968dc2682d52ab37634e22028d8598"
+ size 86755
provides (latin-unity latin-unity-tables latin-unity-utils)
requires (mule-base mule-ucs leim fsf-compat)
type regular
(package-get-update-base-entry (quote
(ibuffer
(standards-version 1.1
- version "1.04"
- author-version "21.5b5"
- date "2002-03-25"
- build-date "2002-03-25"
+ version "1.08"
+ author-version "21.5b6"
+ date "2002-07-14"
+ build-date "2002-07-14"
maintainer "John Paul Wallington <jpw@shootybangbang.com>"
distribution xemacs
priority medium
category "standard"
dump nil
description "Advanced replacement for buffer-menu"
- filename "ibuffer-1.04-pkg.tar.gz"
- md5sum "318cb38fcc9f27227ae147327e924d73"
- size 78461
+ filename "ibuffer-1.08-pkg.tar.gz"
+ md5sum "e7203eeeca98a89c2bfe051d81c729de"
+ size 87113
provides (ibuf-ext ibuf-macs ibuffer)
requires (ibuffer xemacs-base)
type regular
(package-get-update-base-entry (quote
(xemacs-base
(standards-version 1.1
- version "1.61"
- author-version "21.5b5"
- date "2002-03-27"
- build-date "2002-03-27"
+ version "1.66"
+ author-version "21.5b6"
+ date "2002-07-14"
+ build-date "2002-07-14"
maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
distribution xemacs
priority high
category "standard"
dump nil
description "Fundamental XEmacs support, you almost certainly need this."
- filename "xemacs-base-1.61-pkg.tar.gz"
- md5sum "f6e0bb7401bfce2d5a670c352b2376bb"
- size 457628
+ filename "xemacs-base-1.66-pkg.tar.gz"
+ md5sum "108cb98a37dd6270618b942e0fe97b48"
+ size 464634
provides (add-log advice-preload advice annotations assoc case-table chistory comint-xemacs comint compile debug ebuff-menu echistory edmacro ehelp electric enriched env facemenu ffap helper imenu iso-syntax macros novice outline passwd pp regexp-opt regi ring shell skeleton sort thing time-stamp timezone tq xbm-button xpm-button)
requires ()
type regular
(package-get-update-base-entry (quote
(tramp
(standards-version 1.1
- version "1.04"
+ version "1.05"
author-version "2002-02-18"
- date "2002-03-25"
- build-date "2002-03-26"
+ date "2002-04-24"
+ build-date "2002-04-24"
maintainer "Kai Großjohann <Kai.Grossjohann@CS.Uni-Dortmund.DE>"
distribution xemacs
priority low
category "standard"
dump nil
description "Remote shell-based file editing."
- filename "tramp-1.04-pkg.tar.gz"
- md5sum "76d676178f448ba174e74a964d1dbfaf"
- size 135053
+ filename "tramp-1.05-pkg.tar.gz"
+ md5sum "a0c020f425b6344ea0c133dc26e7f689"
+ size 136196
provides (tramp tramp-util tramp-vc trampcache)
requires (tramp xemacs-base vc fsf-compat efs dired mail-lib gnus)
type regular
(package-get-update-base-entry (quote
(text-modes
(standards-version 1.1
- version "1.40"
- author-version "21.5b5"
- date "2002-03-25"
- build-date "2002-03-25"
+ version "1.48"
+ author-version "21.5b6"
+ date "2002-06-27"
+ build-date "2002-06-27"
maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
distribution xemacs
priority high
category "standard"
dump nil
description "Miscellaneous support for editing text files."
- filename "text-modes-1.40-pkg.tar.gz"
- md5sum "add592d9c4166ae6d46f0f49d1934f85"
- size 271468
- provides (ansi-color autoinsert crontab-edit filladapt flyspell folding fold-isearch hexl htmlize image-mode iso-acc iso-ascii iso-cvt iso-insert iso-swed rtf-support swedish tabify whitespace-mode winmgr-mode xpm-mode xrdb-mode)
+ filename "text-modes-1.48-pkg.tar.gz"
+ md5sum "f2df17af03a7f47e3b2e7b970d0b9f0b"
+ size 345796
+ provides (ansi-color autoinsert crontab-edit filladapt flyspell folding fold-isearch hexl htmlize image-mode iso-acc iso-ascii iso-cvt iso-insert iso-swed rtf-support swedish tabify whitespace-mode winmgr-mode xpm-mode xrdb-mode apache-mode po-mode css-mode)
requires (ispell fsf-compat xemacs-base)
type regular
))
(package-get-update-base-entry (quote
(pcl-cvs
(standards-version 1.1
- version "1.60"
+ version "1.63"
author-version "R-2_9_9"
- date "2002-03-25"
- build-date "2002-03-25"
+ date "2002-06-04"
+ build-date "2002-06-04"
maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
distribution xemacs
priority low
category "standard"
dump nil
description "CVS frontend."
- filename "pcl-cvs-1.60-pkg.tar.gz"
- md5sum "d9927da2c1602b6e1797ca64b9974164"
- size 163055
+ filename "pcl-cvs-1.63-pkg.tar.gz"
+ md5sum "87b7a9ebd1aa6d24ee4c3c0ff914daad"
+ size 161146
provides (cvs-compat cvs-edit cvs-log cvs-status easy-mmode pcl-cvs-defs pcl-cvs-info pcl-cvs-parse pcl-cvs-util pcl-cvs)
requires (xemacs-base elib vc dired edebug ediff edit-utils mail-lib prog-modes)
type regular
(package-get-update-base-entry (quote
(mail-lib
(standards-version 1.1
- version "1.44"
- author-version "21.5b5"
- date "2002-03-25"
- build-date "2002-03-25"
+ version "1.47"
+ author-version "21.5b6"
+ date "2002-07-14"
+ build-date "2002-07-14"
maintainer "Simon Josefsson <simon@josefsson.org>"
distribution xemacs
priority medium
category "standard"
dump nil
description "Fundamental lisp files for providing email support."
- filename "mail-lib-1.44-pkg.tar.gz"
- md5sum "8b45218d6c18a7bebcfce5c82ef47356"
- size 183119
- provides (base64 browse-url-xemacs browse-url highlight-headers mail-abbrevs mail-extr mail-utils mailheader pop3 reporter rfc2104 rfc822 rmail rmail-mini rmailout sendmail smtpmail starttls)
- requires (eterm xemacs-base)
+ filename "mail-lib-1.47-pkg.tar.gz"
+ md5sum "3cba556078ece30b7538ade56e138041"
+ size 186598
+ provides (base64 browse-url-xemacs browse-url highlight-headers mail-abbrevs mail-extr mail-utils mailheader netrc pop3 reporter rfc2104 rfc822 rmail rmail-mini rmailout sendmail smtpmail starttls)
+ requires (eterm xemacs-base fsf-compat sh-script)
type regular
))
))
(package-get-update-base-entry (quote
(jde
(standards-version 1.1
- version "1.34"
+ version "1.35"
author-version "2.2.8"
- date "2002-03-28"
- build-date "2002-03-28"
+ date "2002-05-09"
+ build-date "2002-05-10"
maintainer "Paul Kinnucan <paulk@mathworks.com>"
distribution xemacs
priority medium
category "standard"
dump nil
description "Java language and development support."
- filename "jde-1.34-pkg.tar.gz"
- md5sum "b72427bec9bd028931e4893a0a91dbdb"
- size 1635561
+ filename "jde-1.35-pkg.tar.gz"
+ md5sum "b0289c057ce2a0d95c417409f5f17ba4"
+ size 1635420
provides (jde)
- requires (jde cc-mode semantic debug speedbar edit-utils eterm mail-lib xemacs-base xemacs-devel eieio elib sh-script)
+ requires (jde cc-mode semantic debug speedbar edit-utils eterm mail-lib xemacs-base xemacs-devel eieio elib sh-script fsf-compat)
type regular
))
))
(package-get-update-base-entry (quote
(edit-utils
(standards-version 1.1
- version "1.82"
- author-version "21.5b5"
- date "2002-03-25"
- build-date "2002-03-25"
+ version "1.89"
+ author-version "21.5b6"
+ date "2002-06-27"
+ build-date "2002-06-27"
maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
distribution xemacs
priority high
category "standard"
dump nil
description "Miscellaneous editor extensions, you probably need this."
- filename "edit-utils-1.82-pkg.tar.gz"
- md5sum "0d37ebd1f1841c864809c7486d1dc47b"
- size 649444
+ filename "edit-utils-1.89-pkg.tar.gz"
+ md5sum "b7d94a10cda4795bbb759e0ee88ae86e"
+ size 650996
provides (abbrevlist after-save-commands atomic-extents avoid backup-dir balloon-help big-menubar blink-cursor blink-paren bookmark compare-w completion dabbrev desktop detached-minibuf edit-toolbar fast-lock file-part floating-toolbar flow-ctrl foldout func-menu hippie-exp icomplete id-select info-look iswitchb lazy-lock lazy-shot live-icon makesum man mic-paren paren mode-motion+ outl-mouse outln-18 page-ext blink-paren paren permanent-buffers popper power-macros recent-files redo reportmail resume rsz-minibuf saveconf savehist saveplace scroll-in-place setnu shell-font tempo toolbar-utils tree-menu uniquify vertical-mode where-was-i-db winring)
requires (xemacs-base fsf-compat dired mail-lib)
type single
(package-get-update-base-entry (quote
(skk
(standards-version 1.1
- version "1.21"
+ version "1.22"
author-version "10.62a"
- date "2002-01-26"
- build-date "2002-01-27"
+ date "2002-04-30"
+ build-date "2002-04-30"
maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
distribution mule
priority medium
category "mule"
dump nil
description "MULE: Japanese Language Input Method."
- filename "skk-1.21-pkg.tar.gz"
- md5sum "9552a22b8f1cb3c4fb79c7a182f46e2b"
- size 1504736
+ filename "skk-1.22-pkg.tar.gz"
+ md5sum "05457e10b156dbcc2e0f735d46d934a1"
+ size 1461781
provides (skk-auto skk-comp skk-cursor skk-develop skk-foreword skk-gadget skk-isearch skk-kakasi skk-kcode skk-leim skk-look skk-num skk-obsolete skk-server skk-tut skk-vars skk-viper skk vip)
requires (viper mule-base elib xemacs-base apel)
type regular
(package-get-update-base-entry (quote
(ps-print
(standards-version 1.1
- version "1.03"
+ version "1.04"
author-version "6.5.6"
- date "2002-02-01"
- build-date "2002-02-13"
+ date "2002-04-24"
+ build-date "2002-04-24"
maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
distribution xemacs
priority medium
category "standard"
dump nil
description "Printing functions and utilities"
- filename "ps-print-1.03-pkg.tar.gz"
- md5sum "b2d8db1073568d4301eb1c3a0935fa4e"
- size 153654
+ filename "ps-print-1.04-pkg.tar.gz"
+ md5sum "e4c3f93b960454cf6dc559a0704fb084"
+ size 154281
provides (lpr ps-bdf ps-mule ps-print)
requires (text-modes)
type regular
(package-get-update-base-entry (quote
(sieve
(standards-version 1.1
- version "1.02"
- author-version "21.5b5"
- date "2002-03-25"
- build-date "2002-03-25"
+ version "1.07"
+ author-version "21.5b6"
+ date "2002-06-04"
+ build-date "2002-06-04"
maintainer "Simon Josefsson <simon@josefsson.org>"
distribution xemacs
priority low
category "standard"
dump nil
description "Manage Sieve email filtering scripts."
- filename "sieve-1.02-pkg.tar.gz"
- md5sum "146231a5fe41f68ed0387ffe1846843c"
- size 23338
+ filename "sieve-1.07-pkg.tar.gz"
+ md5sum "d86e60ea1b6c552be2b6db7cca60e151"
+ size 23498
provides (sieve sieve-mode sieve-manage)
requires (xemacs-base mail-lib cc-mode)
type regular
(package-get-update-base-entry (quote
(clearcase
(standards-version 1.0
- version "1.03"
- author-version "21.5b4"
- date "2002-02-12"
- build-date "2002-02-13"
+ version "1.04"
+ author-version "21.5b6"
+ date "2002-06-27"
+ build-date "2002-06-27"
maintainer "Michael Diers <mdiers@elego.de>"
distribution xemacs
priority low
category "standard"
dump nil
description "New Clearcase Version Control for XEmacs (UNIX, Windows)."
- filename "clearcase-1.03-pkg.tar.gz"
- md5sum "f77f179bbb57b496a5ca9a8199858e29"
- size 89096
+ filename "clearcase-1.04-pkg.tar.gz"
+ md5sum "c60546db0605910ec57af7151a7fc9a7"
+ size 89274
provides (clearcase)
requires (dired fsf-compat mail-lib xemacs-base)
type regular
(package-get-update-base-entry (quote
(dictionary
(standards-version 1.1
- version "1.08"
- author-version "1.7"
- date "2002-03-25"
- build-date "2002-03-25"
+ version "1.11"
+ author-version "1.8"
+ date "2002-05-20"
+ build-date "2002-05-20"
maintainer "Torsten Hilbrich <dictionary@myrkr.in-berlin.de>"
distribution xemacs
priority low
category "standard"
dump nil
description "Interface to RFC2229 dictionary servers."
- filename "dictionary-1.08-pkg.tar.gz"
- md5sum "908bf76c8f0e5d5463ff1282ae66f9b8"
- size 38956
+ filename "dictionary-1.11-pkg.tar.gz"
+ md5sum "6bead861baac049fb1807dd2e03a1475"
+ size 39886
provides (dictionary connection link)
requires (xemacs-base)
type regular
(package-get-update-base-entry (quote
(build
(standards-version 1.0
- version "1.05"
- author-version "21.5b4"
- date "2002-01-07"
- build-date "2002-01-14"
+ version "1.06"
+ author-version "2.00"
+ date "2002-07-20"
+ build-date "2002-07-20"
maintainer "Adrian Aichner <adrian@xemacs.org>"
distribution stable
priority low
category "standard"
dump nil
description "Build XEmacs from within (UNIX, Windows)."
- filename "build-1.05-pkg.tar.gz"
- md5sum "3d6158756a1990e92ff2ed77d6e39425"
- size 31606
+ filename "build-1.06-pkg.tar.gz"
+ md5sum "2d0fb08caf67bb89759be4ac54b6a0fb"
+ size 39500
provides (build)
requires (xemacs-base pcl-cvs dired w3 prog-modes)
type regular
(package-get-update-base-entry (quote
(xslt-process
(standards-version 1.0
- version "1.06"
+ version "1.10"
author-version "1.2.1"
- date "2002-01-15"
- build-date "2002-01-15"
+ date "2002-07-14"
+ build-date "2002-07-14"
maintainer "Ovidiu Predescu <ovidiu@xemacs.org>"
distribution xemacs
priority medium
category "standard"
dump nil
description "XSLT processing support."
- filename "xslt-process-1.06-pkg.tar.gz"
- md5sum "29c91cf906a685b3197bc4ab13d27735"
- size 200263
+ filename "xslt-process-1.10-pkg.tar.gz"
+ md5sum "b6fedc8eb356d6e4277ff505324a2abe"
+ size 199744
provides (xslt-process)
- requires (jde cc-mode semantic debug speedbar edit-utils eterm mail-lib xemacs-base elib eieio sh-script)
+ requires (jde cc-mode semantic debug speedbar edit-utils eterm mail-lib xemacs-base elib eieio sh-script fsf-compat)
type regular
))
))
(package-get-update-base-entry (quote
(lookup
(standards-version 1.1
- version "1.10"
+ version "1.12"
author-version "1.0"
- date "2002-03-25"
- build-date "2002-03-25"
+ date "2002-06-27"
+ build-date "2002-06-27"
maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
distribution mule
priority high
category "mule"
dump nil
description "MULE: Dictionary support"
- filename "lookup-1.10-pkg.tar.gz"
- md5sum "e3938ad866de0a22df8cc1042ddb62f3"
- size 214515
+ filename "lookup-1.12-pkg.tar.gz"
+ md5sum "f07a3791e49f75c7f1504edb077a5560"
+ size 190864
provides (evi-mule evi lookup-content lookup-defs lookup-entry lookup-select lookup-package lookup-select lookup-types lookup-utils lookup-vars lookup-vse lookup ndcookie ndeb ndic ndict ndkks ndmisc ndnmz ndspell ndsrd ndtp sdicf stem)
requires (mule-base cookie lookup)
type regular
(package-get-update-base-entry (quote
(leim
(standards-version 1.1
- version "1.17"
- author-version "21.1"
- date "2000-11-08"
- build-date "2001-01-15"
+ version "1.18"
+ author-version "21.5b5"
+ date "2002-04-24"
+ build-date "2002-04-24"
maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
distribution mule
priority medium
category "mule"
dump nil
description "MULE: Quail. All non-English and non-Japanese language support."
- filename "leim-1.17-pkg.tar.gz"
- md5sum "61d39ee096e39219651b01648a37ef2e"
- size 1708067
+ filename "leim-1.18-pkg.tar.gz"
+ md5sum "b0467e2a3a93b46590bd2fe9bbf9675e"
+ size 1708615
provides ()
requires (mule-base fsf-compat xemacs-base)
type regular
(package-get-update-base-entry (quote
(mule-base
(standards-version 1.1
- version "1.39"
- author-version "21.5b1"
- date "2001-05-23"
- build-date "2001-06-14"
+ version "1.42"
+ author-version "21.5b6"
+ date "2002-06-27"
+ build-date "2002-06-27"
maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
distribution mule
priority high
category "mule"
dump nil
description "MULE: Basic Mule support, required for building with Mule."
- filename "mule-base-1.39-pkg.tar.gz"
- md5sum "5686febbb08c950ead2b4d0b1707c09e"
- size 443543
+ filename "mule-base-1.42-pkg.tar.gz"
+ md5sum "d521ca4256a8333db5dc686b9d719232"
+ size 443826
provides (canna-leim canna char-table china-util cyril-util isearch-ext japan-util ccl can-n-egg mule-help)
requires (fsf-compat xemacs-base apel)
type regular
(package-get-update-base-entry (quote
(psgml
(standards-version 1.1
- version "1.27"
+ version "1.28"
author-version "1.22"
- date "2002-02-15"
- build-date "2002-02-23"
+ date "2002-05-09"
+ build-date "2002-05-10"
maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
distribution xemacs
priority medium
category "standard"
dump nil
description "Validated HTML/SGML editing."
- filename "psgml-1.27-pkg.tar.gz"
- md5sum "e2ee0ca808175b7904e03865fb5e9f2f"
- size 652565
+ filename "psgml-1.28-pkg.tar.gz"
+ md5sum "e559c5b88300e414654550806eab8c7a"
+ size 651867
provides (iso-sgml psgml-api psgml-charent psgml-debug psgml-dtd psgml-edit psgml-fs psgml-html psgml-info psgml-parse psgml-xemacs psgml sgml-mode)
requires (xemacs-base edit-utils edebug xemacs-devel mail-lib)
type regular
(package-get-update-base-entry (quote
(pc
(standards-version 1.1
- version "1.21"
- author-version "21.5b4"
- date "2002-01-10"
- build-date "2002-01-14"
+ version "1.25"
+ author-version "21.5b6"
+ date "2002-06-04"
+ build-date "2002-06-04"
maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
distribution xemacs
priority low
category "standard"
dump nil
description "PC style interface emulation."
- filename "pc-1.21-pkg.tar.gz"
- md5sum "5e4818857e3132288c7c1d069f2aa75e"
- size 17095
+ filename "pc-1.25-pkg.tar.gz"
+ md5sum "03b7fcc55e1ce79a6017cdfa7fd49f3d"
+ size 17429
provides (delbs fusion pc-select pending-del s-region)
requires (xemacs-base)
type regular
(package-get-update-base-entry (quote
(calc
(standards-version 1.1
- version "1.19"
+ version "1.23"
author-version "2.02fX3"
- date "2002-03-25"
- build-date "2002-03-25"
+ date "2002-05-09"
+ build-date "2002-05-10"
maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
distribution xemacs
priority low
category "standard"
dump nil
description "Emacs calculator"
- filename "calc-1.19-pkg.tar.gz"
- md5sum "50adc786650be5b3c07f752a0e9481d3"
- size 1614659
+ filename "calc-1.23-pkg.tar.gz"
+ md5sum "e66651dacc67325f6e6d033f80f2e989"
+ size 1615158
provides (calc-ext calc-macs calc)
- requires ()
+ requires (xemacs-base)
type regular
))
))
(package-get-update-base-entry (quote
(os-utils
(standards-version 1.1
- version "1.26"
- author-version "21.5b4"
- date "2002-01-13"
- build-date "2002-01-14"
+ version "1.28"
+ author-version "21.5b6"
+ date "2002-05-10"
+ build-date "2002-05-10"
maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
distribution xemacs
priority medium
category "standard"
dump nil
description "Miscellaneous O/S utilities."
- filename "os-utils-1.26-pkg.tar.gz"
- md5sum "f347b3ea62543a6e637eaf73e6772c0a"
- size 198764
+ filename "os-utils-1.28-pkg.tar.gz"
+ md5sum "57d2aa4e6f7d1ad321e1d1d84b2c458c"
+ size 200020
provides (archive-mode background crypt++ crypt ftelnet inf-lisp jka-compr mchat rlogin ssh tar-mode telnet terminal uncompress)
requires (xemacs-base)
type single
(package-get-update-base-entry (quote
(ilisp
(standards-version 1.1
- version "1.20"
- author-version "5.11.1"
- date "2002-01-13"
- build-date "2002-01-14"
+ version "1.27"
+ author-version "5.12.0"
+ date "2002-06-27"
+ build-date "2002-06-27"
maintainer "ilisp Maintainers <ilisp@cons.org>"
distribution xemacs
priority low
category "standard"
dump nil
description "Front-end for Inferior Lisp."
- filename "ilisp-1.20-pkg.tar.gz"
- md5sum "0ee4440213bb4cb3144af60300c3dbc9"
- size 335386
+ filename "ilisp-1.27-pkg.tar.gz"
+ md5sum "a95a698b28301250971e8076d7ce89fd"
+ size 335702
provides (bridge comint-ipc comint completer ilcompat compat-fsf18 compat-fsf-19 compat-fsf-20 ilisp-chs ilisp-cl-easy-menu ilisp-ext ilisp-lw ilisp-key ilisp-menu ilisp-mnb ilisp-scheme-easy-menu ilisp il-luc19 il-luc19)
requires (xemacs-base mail-lib fsf-compat eterm)
type regular
(package-get-update-base-entry (quote
(viper
(standards-version 1.1
- version "1.33"
+ version "1.34"
author-version "3.09"
- date "2002-03-25"
- build-date "2002-03-26"
+ date "2002-04-24"
+ build-date "2002-04-24"
maintainer "Michael Kifer <kifer@cs.sunysb.edu>"
distribution xemacs
priority low
category "standard"
dump nil
description "VI emulation support."
- filename "viper-1.33-pkg.tar.gz"
- md5sum "68a659e67f5f9c533f76229ad3a9a1b5"
- size 328311
+ filename "viper-1.34-pkg.tar.gz"
+ md5sum "c438c8c42dbedd5634c773623db5a4ff"
+ size 329580
provides (viper-cmd viper-ex viper-init viper-keym viper-macs viper-mous viper-util viper)
requires (xemacs-base)
type regular
(package-get-update-base-entry (quote
(auctex
(standards-version 1.1
- version "1.30"
+ version "1.32"
author-version "10.0g"
- date "2002-03-25"
- build-date "2002-03-25"
+ date "2002-06-27"
+ build-date "2002-06-27"
maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
distribution xemacs
priority medium
category "standard"
dump nil
description "Basic TeX/LaTeX support."
- filename "auctex-1.30-pkg.tar.gz"
- md5sum "52459679ad7e9fa4eb558c59d19e51c4"
- size 385528
+ filename "auctex-1.32-pkg.tar.gz"
+ md5sum "7d532a5a3d673f89f01c9dd3ed75ac80"
+ size 385505
provides (auc-old auc-tex bib-cite font-latex latex multi-prompt tex-buf tex-info tex-jp tex-mik tex-site tex texmathp)
requires (xemacs-base)
type regular
(package-get-update-base-entry (quote
(vc
(standards-version 1.1
- version "1.30"
- author-version "21.5b3"
- date "2001-12-17"
- build-date "2001-12-17"
+ version "1.33"
+ author-version "21.5b6"
+ date "2002-06-04"
+ build-date "2002-06-04"
maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
distribution xemacs
priority low
category "standard"
dump nil
description "Version Control for Free systems."
- filename "vc-1.30-pkg.tar.gz"
- md5sum "f62e070f0f5e04c8b9ee4ec7badaa787"
- size 91668
- provides (vc)
+ filename "vc-1.33-pkg.tar.gz"
+ md5sum "f3b8db930389eb6288af946398286ab6"
+ size 91716
+ provides (vc vc-hooks)
requires (dired xemacs-base vc mail-lib ediff)
type regular
))
(package-get-update-base-entry (quote
(vc-cc
(standards-version 1.1
- version "1.18"
- author-version "21.5b3"
- date "2001-12-10"
- build-date "2001-12-10"
+ version "1.21"
+ author-version "21.5b6"
+ date "2002-06-04"
+ build-date "2002-06-04"
maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
distribution xemacs
priority low
category "standard"
dump nil
description "Version Control for ClearCase (UnFree) systems."
- filename "vc-cc-1.18-pkg.tar.gz"
- md5sum "6885bb091d1fd108a7ec4353a96016ec"
- size 94520
- provides (vc)
+ filename "vc-cc-1.21-pkg.tar.gz"
+ md5sum "eb7ad3f9407b32509fa95fa272476b7d"
+ size 94556
+ provides (vc-cc vc-cc-hooks)
requires (dired xemacs-base)
type regular
))
(package-get-update-base-entry (quote
(sh-script
(standards-version 1.1
- version "1.14"
+ version "1.15"
author-version "2.0e"
- date "2002-03-02"
- build-date "2002-03-06"
+ date "2002-04-24"
+ build-date "2002-04-24"
maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
distribution xemacs
priority low
category "standard"
dump nil
description "Support for editing shell scripts."
- filename "sh-script-1.14-pkg.tar.gz"
- md5sum "c8b3614f5fc4696e552d7d76806ce032"
- size 35380
+ filename "sh-script-1.15-pkg.tar.gz"
+ md5sum "72214e735ea0fda9147c051fbc3b6965"
+ size 36163
provides (sh-script executable)
requires (xemacs-base)
type regular
(package-get-update-base-entry (quote
(prog-modes
(standards-version 1.1
- version "1.53"
- author-version "21.5b5"
- date "2002-03-25"
- build-date "2002-03-25"
+ version "1.60"
+ author-version "21.5b6"
+ date "2002-07-14"
+ build-date "2002-07-14"
maintainer "Ville Skyttä <ville.skytta@xemacs.org>"
distribution xemacs
priority medium
category "standard"
dump nil
description "Support for various programming languages."
- filename "prog-modes-1.53-pkg.tar.gz"
- md5sum "aed44c778da85591f3c267af073f928a"
- size 944335
- provides (autoconf-mode awk-mode c-mode cperl-mode cvs diff-mode eiffel3 f90 fortran inf-ruby javascript-mode ksh-mode m4-mode makefile mode-compile mode-compile-kill modula2 p4 perl-mode php-mode postscript pydoc python-mode rexx-mode ruby-mode simula-mode sql tcl teco verilog-mode)
- requires (mail-lib xemacs-devel xemacs-base cc-mode ps-print fsf-compat edit-utils ediff emerge efs vc speedbar dired ilisp)
+ filename "prog-modes-1.60-pkg.tar.gz"
+ md5sum "74909e13093afae889e3f43a1879e51c"
+ size 985711
+ provides (autoconf-mode awk-mode c-mode cperl-mode cvs diff-mode eiffel-mode f90 fortran icon inf-ruby javascript-mode ksh-mode m4-mode makefile mode-compile mode-compile-kill modula2 p4 perl-mode php-mode postscript pydoc python-mode rexx-mode rpm-spec-mode ruby-mode simula-mode sql tcl teco verilog-mode)
+ requires (mail-lib xemacs-devel xemacs-base cc-mode ps-print fsf-compat edit-utils ediff emerge efs vc speedbar dired ilisp sh-script)
type regular
))
))
(package-get-update-base-entry (quote
(ediff
(standards-version 1.1
- version "1.39"
+ version "1.41"
author-version "2.75"
- date "2002-03-25"
- build-date "2002-03-25"
+ date "2002-04-30"
+ build-date "2002-04-30"
maintainer "Michael Kifer <kifer@cs.sunysb.edu>"
distribution xemacs
priority medium
category "standard"
dump nil
description "Interface over GNU patch."
- filename "ediff-1.39-pkg.tar.gz"
- md5sum "d679f8d1a43dda8f51d6e6ba3cf24a35"
- size 301259
+ filename "ediff-1.41-pkg.tar.gz"
+ md5sum "4a4b9435a99e5d1cb0ac2fc0843d92fa"
+ size 303663
provides (ediff-diff ediff-help ediff-hook ediff-init ediff-merg ediff-mult ediff-ptch ediff-tbar ediff-util ediff-vers ediff-wind ediff)
requires (pcl-cvs elib dired xemacs-base edebug prog-modes)
type regular
(package-get-update-base-entry (quote
(debug
(standards-version 1.1
- version "1.14"
- author-version "21.2b42"
- date "2000-11-07"
- build-date "2001-01-27"
+ version "1.15"
+ author-version "21.5b6"
+ date "2002-05-01"
+ build-date "2002-05-01"
maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
distribution xemacs
priority low
- category "prog"
+ category "standard"
dump nil
description "GUD, gdb, dbx debugging support."
- filename "debug-1.14-pkg.tar.gz"
- md5sum "20312f80900f1c99f3eeecddf75026ca"
- size 103296
- provides (dbx gdb-highlight gdb gdbsrc gud history)
+ filename "debug-1.15-pkg.tar.gz"
+ md5sum "2b44d4c660f4cda44d4a159b40a6f457"
+ size 107347
+ provides (dbx debug-toolbar gdb-highlight gdb gdbsrc gud history)
requires (xemacs-base)
type regular
))
(package-get-update-base-entry (quote
(cc-mode
(standards-version 1.1
- version "1.27"
+ version "1.28"
author-version "5.28"
- date "2002-01-13"
- build-date "2002-01-14"
+ date "2002-05-09"
+ build-date "2002-05-10"
maintainer "Martin Stjernholm <bug-cc-mode@gnu.org>"
distribution xemacs
priority medium
category "standard"
dump nil
description "C, C++ and Java language support."
- filename "cc-mode-1.27-pkg.tar.gz"
- md5sum "40d0d6638b94ec0fe40f1b29df6d4efd"
- size 262878
+ filename "cc-mode-1.28-pkg.tar.gz"
+ md5sum "d2c87709e503e11755c480f2aa50ea8c"
+ size 262921
provides (cc-bytecomp cc-align cc-cmds cc-compat cc-defs cc-engine cc-guess cc-langs cc-lobotomy cc-menus cc-mode-19 cc-mode cc-styles cc-vars)
requires (xemacs-base mail-lib)
type regular
(package-get-update-base-entry (quote
(bbdb
(standards-version 1.1
- version "1.20"
+ version "1.21"
author-version "2.34"
- date "2002-03-25"
- build-date "2002-03-25"
+ date "2002-06-27"
+ build-date "2002-06-27"
maintainer "Ronan Waide <waider@waider.ie>"
distribution xemacs
priority medium
category "standard"
dump nil
description "The Big Brother Data Base"
- filename "bbdb-1.20-pkg.tar.gz"
- md5sum "f5f772c6e77a6d97f53a60acb5203bf7"
- size 373721
+ filename "bbdb-1.21-pkg.tar.gz"
+ md5sum "8b1d6fe03d444a4977a358a431f1430e"
+ size 373823
provides (bbdb-com bbdb-ftp bbdb-gnus bbdb-gui bbdb-hooks bbdb-merge bbdb-mhe bbdb-migrate bbdb-print bbdb-reportmail bbdb-rmail bbdb-sc bbdb-snarf bbdb-srv bbdb-vm bbdb-w3 bbdb-whois bbdb-xemacs bbdb)
requires (bbdb edit-utils gnus mh-e rmail supercite vm tm apel mail-lib xemacs-base w3)
type regular
(package-get-update-base-entry (quote
(tm
(standards-version 1.1
- version "1.32"
- author-version "21.5b5"
- date "2002-03-27"
- build-date "2002-03-27"
+ version "1.34"
+ author-version "21.5b6"
+ date "2002-06-27"
+ build-date "2002-06-27"
maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
distribution xemacs
priority low
category "standard"
dump nil
description "Emacs MIME support. Not needed for gnus >= 5.8.0"
- filename "tm-1.32-pkg.tar.gz"
- md5sum "f4b825c093897e785ef3dc06c9e263a2"
- size 189142
+ filename "tm-1.34-pkg.tar.gz"
+ md5sum "80c9bf5cf48f9ba61b1b6395751c44e4"
+ size 189067
provides (char-util cless gnus-art-mime gnus-charset gnus-mime gnus-sum-mime latex-math-symbol mel-b mel-g mel-q mel-u mel message-mime mime-setup mu-bbdb mu-cite range sc-setup signature texi-util tl-atype tl-list tl-misc tl-num tl-seq tl-str tm-bbdb tm-def tm-edit-mc tm-edit tm-ew-d tm-ew-e tm-file tm-ftp tm-html tm-image tm-latex tm-mail tm-mh-e tm-parse tm-partial tm-pgp tm-play tm-rmail tm-setup tm-tar tm-text tm-view tm-vm tmh-comp)
requires (gnus mh-e rmail vm mailcrypt mail-lib apel xemacs-base fsf-compat)
type regular
(package-get-update-base-entry (quote
(gnus
(standards-version 1.1
- version "1.59"
+ version "1.62"
author-version "5.8.8"
- date "2002-03-25"
- build-date "2002-03-25"
+ date "2002-06-27"
+ build-date "2002-06-27"
maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
distribution xemacs
priority medium
category "standard"
dump nil
description "The Gnus Newsreader and Mailreader."
- filename "gnus-1.59-pkg.tar.gz"
- md5sum "3dfb92934e1723f88a6cab69f2c97be1"
- size 2350665
+ filename "gnus-1.62-pkg.tar.gz"
+ md5sum "b84bb02eab349e7c36b84d5f6bd5f194"
+ size 2356932
provides (binhex drums earcon flow-fill format-spec gnus-agent gnus-art gnus-async gnus-audio gnus-bcklg gnus-cache gnus-cite gnus-cus gnus-demon gnus-draft gnus-dup gnus-eform gnus-ems gnus-gl gnus-group gnus-int gnus-kill gnus-load gnus-logic gnus-mh gnus-ml gnus-mlspl gnus-move gnus-msg gnus-nocem gnus-picon gnus-range gnus-salt gnus-score gnus-setup gnus-soup gnus-spec gnus-srvr gnus-start gnus-sum gnus-topic gnus-undo gnus-util gnus-uu gnus-vm gnus-win gnus-xmas gnus ietf-drums imap lpath mail-parse mail-prsvr mail-source mailcap md5 message messagexmas messcompat mm-bodies mm-decode mm-encode mm-util mm-uu mm-view mml-smime mml nnagent nnbabyl nndb nndir nndoc nndraft nneething nnfolder nngateway nnheader nnheaderxm nnimap nnkiboze nnlistserv nnmail nnmbox nnmh nnml nnoo nnslashdot nnsoup nnspool nntp nnultimate nnvirtual nnwarchive nnweb nnwfm parse-time qp rfc1843 rfc2015 rfc2045 rfc2047 rfc2231 score-mode smiley smiley smime time-date utf7 uudecode vcard webmail)
requires (gnus w3 mh-e mailcrypt rmail eterm mail-lib xemacs-base fsf-compat)
type regular
(package-get-update-base-entry (quote
(gnats
(standards-version 1.1
- version "1.14"
+ version "1.15"
author-version "3.101"
- date "2002-03-25"
- build-date "2002-03-25"
+ date "2002-06-27"
+ build-date "2002-06-27"
maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
distribution xemacs
priority high
category "standard"
dump nil
description "XEmacs bug reports."
- filename "gnats-1.14-pkg.tar.gz"
- md5sum "f5bcbcdb6ec241c9f22a29105b1debc9"
- size 189561
+ filename "gnats-1.15-pkg.tar.gz"
+ md5sum "9503a79e2e396eb13151aec7eadf561b"
+ size 189524
provides (gnats gnats-admin send-pr)
requires (mail-lib xemacs-base)
type regular
(package-get-update-base-entry (quote
(footnote
(standards-version 1.1
- version "1.14"
+ version "1.15"
author-version "0.18x"
- date "2002-02-12"
- build-date "2002-02-13"
+ date "2002-04-24"
+ build-date "2002-04-24"
maintainer "SL Baur <steve@xemacs.org>"
distribution xemacs
priority low
category "standard"
dump nil
description "Footnoting in mail message editing modes."
- filename "footnote-1.14-pkg.tar.gz"
- md5sum "0052618f7875e79c20f2024e985d39fb"
- size 21817
+ filename "footnote-1.15-pkg.tar.gz"
+ md5sum "1cbe1e587881611006d9a8fc82be3be1"
+ size 21917
provides (footnote-cyrillic footnote-greek footnote-han footnote-hebrew footnote-kana footnote)
requires (mail-lib xemacs-base)
type regular
(package-get-update-base-entry (quote
(net-utils
(standards-version 1.1
- version "1.24"
- author-version "21.5b4"
- date "2002-02-23"
- build-date "2002-02-23"
+ version "1.27"
+ author-version "21.5b6"
+ date "2002-06-27"
+ build-date "2002-06-27"
maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
distribution xemacs
priority low
category "standard"
dump nil
description "Miscellaneous Networking Utilities."
- filename "net-utils-1.24-pkg.tar.gz"
- md5sum "316b8f852ea625d89535b75028de1c1c"
- size 119981
+ filename "net-utils-1.27-pkg.tar.gz"
+ md5sum "45563ca39defd1328c9dabd933d9a0f5"
+ size 120333
provides (ilisp-browse-cltl2 xemacsbug feedmail metamail net-utils rcompile shadowfile webjump webster-www)
requires (w3 efs mail-lib xemacs-base)
type single
(package-get-update-base-entry (quote
(w3
(standards-version 1.1
- version "1.22"
+ version "1.25"
author-version "4.0pre46"
- date "2002-03-25"
- build-date "2002-03-26"
+ date "2002-06-27"
+ build-date "2002-06-27"
maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
distribution xemacs
priority high
category "standard"
dump nil
description "A Web browser."
- filename "w3-1.22-pkg.tar.gz"
- md5sum "1ac52ca40fd12b250e5a639f6549f652"
- size 689366
+ filename "w3-1.25-pkg.tar.gz"
+ md5sum "5eef9e6136c651a922d5cc341c8c7b56"
+ size 689340
provides (css devices w3-auto dsssl-flow dsssl font images md5 mm mule-sysdp socks ssl urlauth url-cache url-cookie url-file url-gopher url-gw url-http url-ldap url-mail url-misc url-news url-ns url-parse url-vars url w3-about w3-auto w3-cfg w3-cus w3-display w3-emacs19 w3-e19 w3-e20 w3-elisp w3-emulate w3-forms w3-hot w3-hotindex w3-imap w3-java w3-jscript w3-keyword w3-latex w3-menu w3-mouse w3-parse w3-print w3-props w3-script w3-structure w3-speak w3-style w3-sysdp w3-toolbar w3-vars w3-widget w3-xemacs w3-xemac w3)
requires (w3 mail-lib xemacs-base)
type regular
(package-get-update-base-entry (quote
(vm
(standards-version 1.1
- version "7.03"
- author-version "7.03"
- date "2002-03-25"
- build-date "2002-03-26"
+ version "7.07"
+ author-version "7.07"
+ date "2002-06-08"
+ build-date "2002-06-08"
maintainer "Kyle Jones <kyle_jones@wonderworks.com>"
distribution xemacs
priority medium
category "standard"
dump nil
description "An Emacs mailer."
- filename "vm-7.03-pkg.tar.gz"
- md5sum "ad490c8dacf885a28f897d93382d250b"
- size 714118
+ filename "vm-7.07-pkg.tar.gz"
+ md5sum "ab2c67c7cda2fe8739a1fef49cfc0fc5"
+ size 718569
provides (tapestry vm-byteopts vm-delete vm-digest vm-easymenu vm-edit vm-folder vm-imap vm-license vm-macro vm-mark vm-menu vm-message vm-mime vm-minibuf vm-misc vm-motion vm-mouse vm-page vm-pop vm-reply vm-save vm-search vm-sort vm-startup vm-summary vm-thread vm-toolbar vm-undo vm-user vm-vars vm vm-version vm-virtual vm-window)
requires (mail-lib xemacs-base)
type regular
(package-get-update-base-entry (quote
(xemacs-devel
(standards-version 1.1
- version "1.43"
- author-version "21.5b4"
- date "2002-03-04"
- build-date "2002-03-06"
+ version "1.47"
+ author-version "21.5b6"
+ date "2002-07-14"
+ build-date "2002-07-14"
maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
distribution xemacs
priority medium
category "standard"
dump nil
description "Emacs Lisp developer support."
- filename "xemacs-devel-1.43-pkg.tar.gz"
- md5sum "ddbfe9135401490d5f3c2d8fd4f5ff24"
- size 179426
+ filename "xemacs-devel-1.47-pkg.tar.gz"
+ md5sum "0386b19a469f684dd97e67fe5ce15a99"
+ size 228197
provides (checkdoc docref eldoc elp eval-expr find-func hide-copyleft ielm patcher pp trace patch-keywords)
requires (xemacs-base ispell mail-lib gnus)
type single
(package-get-update-base-entry (quote
(apel
(standards-version 1.1
- version "1.21"
+ version "1.25"
author-version "10.2"
- date "2002-03-25"
- build-date "2002-03-25"
+ date "2002-07-30"
+ build-date "2002-07-30"
maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
distribution xemacs
priority high
category "standard"
dump nil
description "A Portable Emacs Library. Used by XEmacs MIME support."
- filename "apel-1.21-pkg.tar.gz"
- md5sum "cf0e8f72176963be1a0c0a55d70dae82"
- size 107681
+ filename "apel-1.25-pkg.tar.gz"
+ md5sum "532f6290f85b87e78eeb059eb8a3f673"
+ size 108216
provides (atype emu-20 emu-e19 emu-x20 emu-xemacs emu file-detect filename install mule-caesar path-util richtext std11-parse std11 tinyrich)
requires (fsf-compat xemacs-base)
type regular
(package-get-update-base-entry (quote
(efs
(standards-version 1.0
- version "1.28"
- author-version "1.20pre2"
- date "2002-03-25"
- build-date "2002-03-25"
+ version "1.29"
+ author-version "1.20"
+ date "2002-04-24"
+ build-date "2002-04-24"
maintainer "Mike Sperber <sperber@informatik.uni-tuebingen.de>"
distribution stable
priority medium
category "standard"
dump nil
description "Treat files on remote systems the same as local files."
- filename "efs-1.28-pkg.tar.gz"
- md5sum "7622650d9c754337d7fd97c61ea8942b"
- size 370073
- provides (default-dir efs-auto efs-cms-knet efs-cms efs-coke efs-cp-p efs-cu efs-defun efs-dired efs-unix:dl efs-dos-distinct efs-dump efs-fnh efs-guardian efs-gwp efs-hell efs-ka9q efs-kerberos efs-mpe efs-ms-unix efs-mts efs-mvs efs-netrc efs-netware efs-nos-ve efs-ovwrt efs-pc efs-plan9 efs-report efs-ti-explorer efs-ti-twenex efs-tops-20 efs-vms efs-vos efs-x19\.15 efs)
+ filename "efs-1.29-pkg.tar.gz"
+ md5sum "8c2c6c00cfbdc5f8d64ad54ddfb731df"
+ size 371905
+ provides (efs)
requires (xemacs-base dired)
type regular
))
(package-get-update-base-entry (quote
(dired
(standards-version 1.0
- version "1.11"
+ version "1.12"
author-version "7.10"
- date "2001-06-03"
- build-date "2001-06-14"
+ date "2002-04-24"
+ build-date "2002-04-24"
maintainer "Mike Sperber <sperber@informatik.uni-tuebingen.de>"
distribution stable
priority medium
category "standard"
dump nil
description "Manage file systems."
- filename "dired-1.11-pkg.tar.gz"
- md5sum "0b44f0635a1d08189db83e8558cfe8e0"
- size 193695
+ filename "dired-1.12-pkg.tar.gz"
+ md5sum "be9971fc8b39136a495a1a06110bc964"
+ size 195581
provides (diff dired)
requires (xemacs-base prog-modes)
type regular
+2002-08-23 Stephen J. Turnbull <stephen@xemacs.org>
+
+ * XEmacs 21.4.9 "Informed Management" is released.
+
+2002-07-17 Stephen J. Turnbull <stephen@tleeps18>
+
+ * mmencode.c (fromqp):
+ * yow.c (yow):
+ * movemail.c (main):
+ * make-docfile.c (scan_c_file):
+ * gnuserv.c (permitted):
+ * ootags.c (erlang_func):
+ (prolog_pred):
+ * etags.c (C_entries):
+ Fix warnings.
+
+2002-05-29 Greg Steuck <greg-xemacs-patches@nest.cx>
+
+ * gnuclient.c: Makes it possible again to #undef
+ INTERNET_DOMAIN_SOCKETS in lib-src/gnuserv.h and get a functional
+ gnuserv which is only accessible through UNIX_DOMAIN_SOCKETS.
+
+2002-05-10 Stephen J. Turnbull <stephen@xemacs.org>
+
+ * Makefile.in.in: Add winclient targets (Andy synch).
+
2002-05-09 Stephen J. Turnbull <stephen@xemacs.org>
* XEmacs 21.4.8 "Honest Recruiter" is released.
#ifdef HAVE_SHLIB
ellcc\
#endif
+#ifdef HAVE_MS_WINDOWS
+ winclient\
+#endif
etags ctags b2m ootags
PUBLIC_INSTALLABLE_SCRIPTS=\
minitar: ${srcdir}/../nt/minitar.c
$(CC) $(cflags) ${srcdir}/../nt/minitar.c $(ldflags) -lz -o $@
+winclient: ${srcdir}/winclient.c
+ $(CC) $(cflags) ${srcdir}/winclient.c $(ldflags) -o $@
+
hexl: ${srcdir}/hexl.c
$(CC) $(cflags) ${srcdir}/hexl.c $(ldflags) -o $@
midtoken = inquote = inchar = incomm = quotednl = FALSE;
token.valid = savetoken.valid = FALSE;
cblev = 0;
+ typdefcblev = 0;
parlev = 0;
cplpl = (c_ext & C_PLPL) == C_PLPL;
cjava = (c_ext & C_JAVA) == C_JAVA;
char *remotearg;
char thishost[HOSTNAMSZ]; /* this hostname */
char remotepath[MAXPATHLEN+1]; /* remote pathname */
- char *path;
int rflg = 0; /* pathname given on cmdline */
char *portarg;
unsigned short port = 0; /* port to server */
#endif /* INTERNET_DOMAIN_SOCKETS */
+ char *path; /* used indiscriminately */
#ifdef SYSV_IPC
struct msgbuf *msgp; /* message */
#endif /* SYSV_IPC */
progname);
exit (1);
}
+#if defined(INTERNET_DOMAIN_SOCKETS)
if (suppress_windows_system && hostarg)
{
fprintf (stderr, "%s: Remote editing is available only on X\n",
progname);
exit (1);
}
-
+#endif
*result = '\0';
if (eval_function || eval_form || load_library)
{
}
/* Don't do disconnect_from_server because we have already read
data, and disconnect doesn't do anything else. */
-#ifndef INTERNET_DOMAIN_SOCKETS
+#ifdef SYSV_IPC
if (connect_type == (int) CONN_IPC)
disconnect_from_ipc_server (s, msgp, FALSE);
#endif /* !SYSV_IPC */
auth_data_len = atoi(buf);
- if (auth_data_len <= 0 || auth_data_len > sizeof(buf))
+ if (auth_data_len <= 0 || auth_data_len > (int) sizeof(buf))
{
return FALSE;
}
register int defvarperbufferflag = 0;
register int defvarflag;
int minargs, maxargs;
- int l = strlen (filename);
+ size_t l = strlen (filename);
char f[MAXPATHLEN];
if (l > sizeof (f))
static void
fromqp(FILE *infile, FILE *outfile, char **boundaries, int *boundaryct)
{
- unsigned int c1, c2;
+ int c1, c2;
int sawnewline = 1, neednewline = 0;
/* The neednewline hack is necessary because the newline leading into
a multipart boundary is part of the boundary, not the data */
errno = saved_errno;
pfatal_with_name (outname);
}
- if (nread < sizeof buf)
+ if (nread < (int) sizeof buf)
break;
}
}
/* Save only the first clause. */
if (last == NULL
- || len != strlen (last)
+ || len != (int) strlen (last)
|| !strneq (s, last, len))
{
pfnote ((CTAGS) ? savenstr (s, len) : NULL, TRUE,
/* Save only the first clause. */
if (s[pos++] == '('
&& (last == NULL
- || len != strlen (last)
+ || len != (int) strlen (last)
|| !strneq (s, last, len)))
{
pfnote ((CTAGS) ? savenstr (s, len) : NULL, TRUE,
long offset;
int c, i = 0;
char *buf;
- unsigned int bufsize;
+ int bufsize;
offset = rand() % len + header_len;
if (fseek(fp, offset, 0) == -1) {
+2002-08-23 Stephen J. Turnbull <stephen@xemacs.org>
+
+ * XEmacs 21.4.9 "Informed Management" is released.
+
+2002-06-22 Ville Skyttä <ville.skytta@xemacs.org>
+
+ * subr.el (add-to-list): Sync with GNU Emacs 21.2, adding the
+ "&optional append" argument.
+
+2002-07-16 Didier Verna <didier@xemacs.org>
+
+ * subr.el (replace-in-string): fix case fold bug introduced by
+ "2000-07-30 Ben Wing <ben@xemacs.org>": honor the value of
+ case-fold-search in temporary buffers.
+
+2002-08-03 Steve Youngs <youngs@xemacs.org>
+
+ * lib-complete.el (find-library): Remove check for mule because
+ decompression DOES work on Mule.
+
+2002-08-11 John Paul Wallington <jpw@shootybangbang.com>
+
+ * simple.el (join-line): New alias for `delete-indentation'.
+
+2002-08-02 Ville Skyttä <ville.skytta@xemacs.org>
+
+ * font-lock.el: Some faces and doc typo fixes from GNU Emacs.
+ (font-lock-doc-face): New alias to font-lock-doc-string-face.
+ (font-lock-builtin-face): New.
+ (font-lock-constant-face): New.
+ (font-lock-face-list): Add builtin and constant faces.
+
+2002-08-16 Stephen J. Turnbull <stephen@xemacs.org>
+
+ * autoload.el (make-autoload): Support define-derived-mode.
+ Collected puts of doc-string-elt property. Based on a patch by
+ Didier Verna <didier@xemacs.org>.
+
+2002-08-15 Stephen J. Turnbull <stephen@xemacs.org>
+
+ * wid-edit.el (widget-field-activate): Fix docstring typo.
+
+2002-07-23 Andy Piper <andy@xemacs.org>
+
+ * about.el (about-personal-info): update me.
+
+2002-07-12 Andy Piper <andy@xemacs.org>
+
+ * custom.el (custom-theme-set-variables): remove bogus
+ arguments. Use custom-set-default to set defaults.
+ (custom-set-variables): update doc.
+ (custom-local-buffer): new, synced from FSF.
+ (custom-set-default): ditto.
+ (defcustom): update doc.
+
+2002-06-16 Andy Piper <andy@xemacs.org>
+
+ * menubar-items.el (default-menubar): enable windows printing on
+ cygwin as well as native.
+
+2002-06-12 Andy Piper <andy@xemacs.org>
+
+ * printer.el (generic-print-buffer): catch all errors so that the
+ print device can be cleared in all scenarios.
+ (Printer-clear-device): make sure clearing the printer allows it
+ to be used again immediately.
+ (generic-print-region): make sure the default printer face is
+ black-on-white.
+
+2002-04-23 Jerry James <james@xemacs.org>
+
+ * window-xemacs.el (display-buffer-function): Change doc to
+ reflect new arg.
+ * window-xemacs.el (pre-display-buffer-function): Ditto.
+ * window-xemacs.el (display-buffer): New arg, shrink-to-fit. If
+ non-nil, make the new window just big enough for its contents.
+ * frame.el (get-frame-for-buffer): Accept new arg, due to above.
+ * frame.el (show-temp-buffer-in-current-frame): Remove broken
+ temp-buffer-shrink-to-fit code. Tell display-buffer instead.
+
+2002-06-06 Andy Piper <andy@xemacs.org>
+
+ * custom.el (custom-theme-set-variables): sync :set-after from FSF.
+ (defcustom): ditto.
+ (custom-handle-keyword): ditto.
+
+2002-07-12 Stephen J. Turnbull <stephen@xemacs.org>
+
+ * gutter-items.el (buffers-tab-selection-function): Improve doc.
+ Make obsolete. Default to nil.
+ (buffers-tab-filter-functions): Improve doc. Use literal default.
+ Inspired by a patch by John Palmieri.
+
+2002-07-01 Mike Alexander <mta@arbortext.com>
+
+ * process.el (shell-command-on-region): Don't delete the region
+ before giving it to call-process-region
+
+2002-06-04 Jerry James <james@eecs.ku.edu>
+
+ * find-paths.el (paths-find-architecture-directory): Search in
+ `system-configuration'/`base', not `base'`system-configuration'.
+
+2002-06-23 Ville Skyttä <ville.skytta@xemacs.org>
+
+ * info.el (Info-index): Add missing \ in [ t].
+
+2002-06-11 Stephen J. Turnbull <stephen@xemacs.org>
+
+ * gutter-items.el (gutter-buffers-tab-visible-p,
+ buffers-tab-omit-function, buffers-tab-selection-function,
+ buffers-tab-filter-functions):
+ Doc improvements.
+
+2002-06-09 Stephen J. Turnbull <stephen@xemacs.org>
+
+ * toolbar.el (toolbar-icon-directory): Document trailing separator.
+
+ * toolbar-items.el (toolbar-news): Fix typo in message string.
+
+2002-06-08 Stephen J. Turnbull <stephen@xemacs.org>
+
+ * dialog.el (yes-or-no-p-dialog-box):
+ * cmdloop.el (y-or-n-p-minibuf):
+ (yes-or-no-p-minibuf):
+ (yes-or-no-p):
+ (y-or-n-p):
+ Specify negative answers in docstrings.
+
+2002-05-25 Steve Youngs <youngs@xemacs.org>
+
+ * package-ui.el (pui-help-echo): Display both installed and author
+ version. Use a balloon-help window to display extra info like
+ package requires.
+
+2002-05-30 Andy Piper <andy@xemacs.org>
+
+ * files.el (revert-buffer-internal): don't visit
+ revert-buffer. Kill buffer when not used. Suggested by Mike
+ Alexander <mta@arbortext.com>
+
+2002-05-20 Stephen J. Turnbull <stephen@xemacs.org>
+
+ * files.el (revert-buffer): More docstring fiddling.
+
+2002-05-19 Stephen J. Turnbull <stephen@xemacs.org>
+
+ * files.el (revert-buffer):
+ (revert-buffer-internal):
+ (revert-buffer-insert-file-contents-function):
+ Improve docstrings and comments.
+
+2002-05-08 Andy Piper <andy@xemacs.org>
+
+ * files.el (revert-buffer): observe noconfirm behavior.
+
+2002-04-09 Andy Piper <andy@xemacs.org>
+
+ * files.el (revert-buffer): use revert-buffer-internal if it looks
+ like doing so will not result in any user-visible changes.
+ (revert-buffer-internal): new function. Do the actual process of
+ reversion and then see whether the result is any different to what
+ we have already. If it is not then do nothing.
+
+2001-12-11 Andy Piper <andy@xemacs.org>
+
+ * menubar.el (get-popup-menu-response): re-order so that it works
+ on more sane/facist window systems.
+
+2001-12-03 Andy Piper <andy@xemacs.org>
+
+ * faces.el (frob-face-property): don't infloop in face frobbing
+ from Jan Vroonhof <jan@xemacs.org>.
+
+2001-11-30 Jan Vroonhof <jan@xemacs.org>
+
+ * faces.el (frob-face-property): Follow face fall-back hierarchy
+ properly for face properties without an instance. Only do manual
+ copy form 'default in last resort. This handles in particular
+ the case where 'default itself has only a fall-back (which is
+ the case by default on windows).
+
+2001-11-24 Andy Piper <andy@xemacs.org>
+
+ * printer.el (generic-print-region): set default-frame-plist to
+ nil while creating the printer frame so that sizes reflect the
+ printed page.
+
+ * faces.el (face-complain-about-font): Don't complain on printers.
+
+2002-05-10 Stephen J. Turnbull <stephen@xemacs.org>
+
+ * package-net.el: Andy synch.
+
+2001-12-16 Andy Piper <andy@xemacs.org>
+
+ * package-get.el (package-get-update-all): Make sure installed.db
+ gets updated after updating packages.
+
+2002-03-28 Ben Wing <ben@xemacs.org>
+
+ * msw-glyphs.el: Set glyph-contrib-p to nil on hscroll,
+ continuation, truncation so that we don't get line jumpiness from
+ them being larger than the line height.
+
+ * msw-font-menu.el (mswindows-font-menu-font-data): Fix bug.
+
+2001-11-30 Jan Vroonhof <jan@xemacs.org>
+
+ * font.el (font-window-system-mappings): Add mapping for Gtk
+ (assume identical to X)
+
+2002-02-04 Andy Piper <andy@xemacs.org>
+
+ * files.el (convert-standard-filename): Fix for short filename
+ Peter Arius <pas@methodpark.de>
+
+2001-12-10 Christoph Wedler <Christoph.Wedler@sap.com>
+
+ * list-mode.el (default-choose-completion): completion-base-size
+ should refer to local value in the completion list buffer.
+
+2001-12-03 Didier Verna <didier@xemacs.org>
+
+ * rect.el: autoload `replace-rectangle'.
+ * keydefs.el (global-map): bind it to `C-x r p'.
+
2002-05-09 Stephen J. Turnbull <stephen@xemacs.org>
* XEmacs 21.4.8 "Honest Recruiter" is released.
(marcpa . "http://www.positron911.com/products/power.htm")
(ograf . "http://www.fga.de/~ograf/")
(pez . "http://cbs.sportsline.com/")
- (piper . "http://www.xemacs.freeserve.co.uk/")
+ (piper . "http://www.andypiper.com/")
(rossini . "http://faculty.washington.edu/rossini/")
(stigb . "http://www.tihlde.hist.no/~stigb/")
(vin . "http://www.upa.org/")
My home page is here:\n")
(about-url-link 'piper nil "Visit andy's home page")
(widget-insert "\n
-Andy has recently rejoined the XEmacs team to help port XEmacs to
-MS Windows operating systems.\n"))
+ Andy has been active in the XEmacs team for a number of years,
+helping port XEmacs to MS Windows operating systems. He is also the
+current MS Windows release manager and maintains the MS Windows
+netinstaller.\n"))
(pittman
(widget-insert
"\
;;; Code:
(defun make-autoload (form file)
- "Turn FORM, a defun or defmacro, into an autoload for source file FILE.
-Returns nil if FORM is not a defun, define-skeleton or defmacro."
+ "Turn a definition generator FORM into an autoload for source file FILE.
+Returns nil if FORM is not a defun, define-skeleton, define-derived-mode,
+or defmacro."
(let ((car (car-safe form)))
- (if (memq car '(defun define-skeleton defmacro))
+ (if (memq car '(defun define-skeleton defmacro define-derived-mode))
(let ((macrop (eq car 'defmacro))
name doc)
(setq form (cdr form)
name (car form)
;; Ignore the arguments.
- form (cdr (if (eq car 'define-skeleton)
- form
- (cdr form)))
+ form (cdr (cond ((eq car 'define-skeleton)
+ form)
+ ((eq car 'define-derived-mode)
+ (cddr form))
+ (t
+ (cdr form))))
doc (car form))
(if (stringp doc)
(setq form (cdr form))
(setq doc nil))
(list 'autoload (list 'quote name) file doc
(or (eq car 'define-skeleton)
+ (eq car 'define-derived-mode)
(eq (car-safe (car form)) 'interactive))
(if macrop (list 'quote 'macro) nil)))
nil)))
-(put 'define-skeleton 'doc-string-elt 3)
-
(defvar generate-autoload-cookie ";;;###autoload"
"Magic comment indicating the following form should be autoloaded.
Used by `update-file-autoloads'. This string should be
(put 'defvar 'doc-string-elt 3)
(put 'defconst 'doc-string-elt 3)
(put 'defmacro 'doc-string-elt 3)
+(put 'define-skeleton 'doc-string-elt 3)
+(put 'define-derived-mode 'doc-string-elt 4)
(defun autoload-trim-file-name (file)
"Returns a relative pathname of FILE including the last directory."
; (call-interactively _command _record-flag)))))
\f
(defun y-or-n-p-minibuf (prompt)
- "Ask user a \"y or n\" question. Return t if answer is \"y\".
+ "Ask user a \"y or n\" question. Return t if answer is \"y\", nil if \"n\".
Takes one argument, which is the string to display to ask the question.
It should end in a space; `y-or-n-p' adds `(y or n) ' to it.
No confirmation of the answer is requested; a single character is enough.
(yes-or-no-p-minibuf prompt)))
(defun y-or-n-p (prompt)
- "Ask user a \"y or n\" question. Return t if answer is \"y\".
+ "Ask user a \"y or n\" question. Return t if answer is \"y\", nil if \"n\".
Takes one argument, which is the string to display to ask the question.
The question is asked with a dialog box or the minibuffer, as appropriate.
It should end in a space; `y-or-n-p' adds `(y or n) ' to it.
`custom-initialize-set'
:set VALUE should be a function to set the value of the symbol.
It takes two arguments, the symbol to set and the value to
- give it. The default is `set-default'.
+ give it. The default is `custom-set-default'.
:get VALUE should be a function to extract the value of symbol.
The function takes one argument, a symbol, and should return
the current value for that symbol. The default is
:require VALUE should be a feature symbol. Each feature will be
required after initialization, of the user have saved this
option.
+:version VALUE should be a string specifying that the variable was
+ first introduced, or its default value was changed, in Emacs
+ version VERSION.
+:set-after VARIABLE specifies that SYMBOL should be set after VARIABLE when
+ both have been customized.
Read the section about customization in the Emacs Lisp manual for more
information."
"For customization option SYMBOL, handle KEYWORD with VALUE.
Fourth argument TYPE is the custom option type."
(cond ((eq keyword :group)
- (custom-add-to-group value symbol type))
- ((eq keyword :version)
- (custom-add-version symbol value))
- ((eq keyword :link)
- (custom-add-link symbol value))
- ((eq keyword :load)
- (custom-add-load symbol value))
- ((eq keyword :tag)
- (put symbol 'custom-tag value))
- (t
- (signal 'error (list "Unknown keyword" keyword)))))
+ (custom-add-to-group value symbol type))
+ ((eq keyword :version)
+ (custom-add-version symbol value))
+ ((eq keyword :link)
+ (custom-add-link symbol value))
+ ((eq keyword :load)
+ (custom-add-load symbol value))
+ ((eq keyword :tag)
+ (put symbol 'custom-tag value))
+ ((eq keyword :set-after)
+ (custom-add-dependencies symbol value))
+ (t
+ (signal 'error (list "Unknown keyword" keyword)))))
+
+(defun custom-add-dependencies (symbol value)
+ "To the custom option SYMBOL, add dependencies specified by VALUE.
+VALUE should be a list of symbols. For each symbol in that list,
+this specifies that SYMBOL should be set after the specified symbol, if
+both appear in constructs like `custom-set-variables'."
+ (unless (listp value)
+ (error "Invalid custom dependency `%s'" value))
+ (let* ((deps (get symbol 'custom-dependencies))
+ (new-deps deps))
+ (while value
+ (let ((dep (car value)))
+ (unless (symbolp dep)
+ (error "Invalid custom dependency `%s'" dep))
+ (unless (memq dep new-deps)
+ (setq new-deps (cons dep new-deps)))
+ (setq value (cdr value))))
+ (unless (eq deps new-deps)
+ (put symbol 'custom-dependencies new-deps))))
(defun custom-add-option (symbol option)
"To the variable SYMBOL add OPTION.
(setq old (cdr old)))
(put symbol prop (cons (list theme mode value) old))))
+(defvar custom-local-buffer nil
+ "Non-nil, in a Customization buffer, means customize a specific buffer.
+If this variable is non-nil, it should be a buffer,
+and it means customize the local bindings of that buffer.
+This variable is a permanent local, and it normally has a local binding
+in every Customization buffer.")
+(put 'custom-local-buffer 'permanent-local t)
+
(defun custom-set-variables (&rest args)
"Initialize variables according to user preferences.
The settings are registered as theme `user'.
-The arguments should be a list where each entry has the form:
+Each argument should be a list of the form:
(SYMBOL VALUE [NOW [REQUEST [COMMENT]]])
See `custom-set-variables' for a description of the arguments ARGS."
(custom-check-theme theme)
+ (setq args
+ (sort args
+ (lambda (a1 a2)
+ (let* ((sym1 (car a1))
+ (sym2 (car a2))
+ (1-then-2 (memq sym1 (get sym2 'custom-dependencies)))
+ (2-then-1 (memq sym2 (get sym1 'custom-dependencies))))
+ (cond ((and 1-then-2 2-then-1)
+ (error "Circular custom dependency between `%s' and `%s'"
+ sym1 sym2))
+ (1-then-2 t)
+ (2-then-1 nil)
+ ;; Put symbols with :require last. The macro
+ ;; define-minor-mode generates a defcustom
+ ;; with a :require and a :set, where the
+ ;; setter function calls the mode function.
+ ;; Putting symbols with :require last ensures
+ ;; that the mode function will see other
+ ;; customized values rather than default
+ ;; values.
+ (t (nth 3 a2)))))))
(let ((immediate (get theme 'theme-immediate)))
- (while args * etc/custom/example-themes/example-theme.el:
+ (while args
(let ((entry (car args)))
(if (listp entry)
(let* ((symbol (nth 0 entry))
(now (nth 2 entry))
(requests (nth 3 entry))
(comment (nth 4 entry))
- (set (or (get symbol 'custom-set) 'set-default)))
+ (set (or (get symbol 'custom-set) 'custom-set-default)))
(put symbol 'saved-value (list value))
(custom-push-theme 'theme-value symbol theme 'set value)
(put symbol 'saved-variable-comment comment)
+ ;; Allow for errors in the case where the setter has
+ ;; changed between versions, say, but let the user know.
+ (condition-case data
(cond ((or now immediate)
;; Rogue variable, set it now.
(put symbol 'force-value (if now 'rogue 'immediate))
((default-boundp symbol)
;; Something already set this, overwrite it.
(funcall set symbol (eval value))))
+ (error
+ (message "Error setting %s: %s" symbol data)))
(and (or now (default-boundp symbol))
(put symbol 'variable-comment comment))
(when requests
The ARGS are as in `custom-theme-reset-variables'."
(apply #'custom-theme-reset-variables 'user args))
+(defun custom-set-default (variable value)
+ "Default :set function for a customizable variable.
+Normally, this sets the default value of VARIABLE to VALUE,
+but if `custom-local-buffer' is non-nil,
+this sets the local binding in that buffer instead."
+ (if custom-local-buffer
+ (with-current-buffer custom-local-buffer
+ (set variable value))
+ (set-default variable value)))
;;; The End.
;;; Code:
(defun yes-or-no-p-dialog-box (prompt)
"Ask user a yes-or-no question with a popup dialog box.
-Return t if the answer is \"yes\".
-Takes one argument, which is the string to display to ask the question."
+Return t if the answer is \"yes\", nil if \"no\". Takes one argument,
+the question string to display."
(save-selected-frame
(make-dialog-box 'question
:question prompt
(setq temp-sp (copy-specifier sp))
- (if (and (or (eq locale 'global) (eq locale 'all) (not locale))
- (not (face-property face property 'global)))
- (copy-specifier (face-property 'default property)
- temp-sp 'global))
+ (if (or (eq locale 'global) (eq locale 'all) (not locale))
+ (when (not (specifier-specs temp-sp 'global))
+ ;; Try fallback via the official ways and then do it "by hand"
+ (let* ((fallback (specifier-fallback sp))
+ (fallback-sp
+ (cond ((specifierp fallback) fallback)
+ ;; just an inst list
+ (fallback
+ (make-specifier-and-init (specifier-type sp)
+ fallback))
+ ((eq (get-face face) (get-face 'default))
+ (error "Unable to find global specification"))
+ ;; If no fallback we snoop from default
+ (t (face-property 'default property)))))
+ (copy-specifier fallback-sp temp-sp 'global))))
(if (and (valid-specifier-locale-p locale)
(not (specifier-specs temp-sp locale)))
(error "Property must have a specification in locale %S" locale))
(defun face-complain-about-font (face device)
(if (symbolp face) (setq face (symbol-name face)))
;; (if (not inhibit-font-complaints)
- (display-warning
- 'font
- (let ((default-name (face-font-name 'default device)))
- (format "%s: couldn't deduce %s %s version of the font
+ ;; complaining for printers is generally annoying.
+ (unless (device-printer-p device)
+ (display-warning
+ 'font
+ (let ((default-name (face-font-name 'default device)))
+ (format "%s: couldn't deduce %s %s version of the font
%S.
Please specify X resources to make the %s face
Emacs.%s.attributeFont: -dt-*-medium-i-*
or
Emacs.%s.attributeForeground: hotpink\n"
- invocation-name
- (if (string-match "\\`[aeiouAEIOU]" face) "an" "a")
- face
- default-name
- face
- face
- face
- ))))
+ invocation-name
+ (if (string-match "\\`[aeiouAEIOU]" face) "an" "a")
+ face
+ default-name
+ face
+ face
+ face
+ )))))
;; #### This is quite a mess. We should use the custom mechanism for
(let ((name (copy-sequence filename))
(start 0))
;; leave ':' if part of drive specifier
- (if (eq (aref name 1) ?:)
+ (if (and (> (length name) 1)
+ (eq (aref name 1) ?:))
(setq start 2))
;; destructively replace invalid filename characters with !
(while (string-match "[?*:<>|\"\000-\037]" name start)
(defvar revert-buffer-insert-file-contents-function nil
"Function to use to insert contents when reverting this buffer.
Gets two args, first the nominal file name to use,
-and second, t if reading the auto-save file.")
+and second, t if reading the auto-save file.
+If the current buffer contents are to be discarded, the function must do
+so itself.")
(defvar before-revert-hook nil
"Normal hook for `revert-buffer' to run before reverting.
With a prefix argument, offer to revert from latest auto-save file, if
that is more recent than the visited file.
-This command also works for special buffers that contain text which
-doesn't come from a file, but reflects some other data base instead:
-for example, Dired buffers and buffer-list buffers. In these cases,
-it reconstructs the buffer contents from the appropriate data base.
+This command also refreshes certain special buffers that contain text
+which doesn't come from a file, but reflects some other data base
+instead: for example, Dired buffers and buffer-list buffers. This is
+implemented by having the modes set `revert-buffer-function'.
When called from Lisp, the first argument is IGNORE-AUTO; only offer
to revert from the auto-save file when this is nil. Note that the
all.
Optional third argument PRESERVE-MODES non-nil means don't alter
-the files modes. Normally we reinitialize them using `normal-mode'.
+the buffer's modes. Otherwise, reinitialize them using `normal-mode'.
If the value of `revert-buffer-function' is non-nil, it is called to
do all the work for this command. Otherwise, the hooks
`before-revert-hook' and `after-revert-hook' are run at the beginning
and the end, and if `revert-buffer-insert-file-contents-function' is
-non-nil, it is called instead of rereading visited file contents."
+non-nil, it is called instead of rereading visited file contents.
+
+If the buffer-modified flag is nil, and we are not reverting from an
+auto-save file, then compare the contents of the buffer and the file.
+Revert only if they differ."
;; I admit it's odd to reverse the sense of the prefix argument, but
;; there is a lot of code out there which assumes that the first
(if revert-buffer-function
(funcall revert-buffer-function ignore-auto noconfirm)
(let* ((opoint (point))
+ (newbuf nil)
+ (delay-prompt nil)
(auto-save-p (and (not ignore-auto)
(recent-auto-save-p)
buffer-auto-save-file-name
(dolist (rx revert-without-query found)
(when (string-match rx file-name)
(setq found t)))))
+ ;; If we will call revert-buffer-internal, delay prompting
+ (and (not auto-save-p)
+ (not (buffer-modified-p))
+ (setq delay-prompt t))
(yes-or-no-p (format "Revert buffer from file %s? "
file-name)))
(run-hooks 'before-revert-hook)
- ;; If file was backed up but has changed since,
- ;; we should make another backup.
- (and (not auto-save-p)
- (not (verify-visited-file-modtime (current-buffer)))
- (setq buffer-backed-up nil))
- ;; Get rid of all undo records for this buffer.
- (or (eq buffer-undo-list t)
- (setq buffer-undo-list nil))
- ;; Effectively copy the after-revert-hook status,
- ;; since after-find-file will clobber it.
- (let ((global-hook (default-value 'after-revert-hook))
- (local-hook-p (local-variable-p 'after-revert-hook
- (current-buffer)))
- (local-hook (and (local-variable-p 'after-revert-hook
- (current-buffer))
- after-revert-hook)))
- (let (buffer-read-only
- ;; Don't make undo records for the reversion.
- (buffer-undo-list t))
- (if revert-buffer-insert-file-contents-function
- (funcall revert-buffer-insert-file-contents-function
- file-name auto-save-p)
- (if (not (file-exists-p file-name))
- (error "File %s no longer exists!" file-name))
- ;; Bind buffer-file-name to nil
- ;; so that we don't try to lock the file.
- (let ((buffer-file-name nil))
- (or auto-save-p
- (unlock-buffer)))
- (widen)
- (insert-file-contents file-name (not auto-save-p)
- nil nil t)))
- (goto-char (min opoint (point-max)))
- ;; Recompute the truename in case changes in symlinks
- ;; have changed the truename.
- ;XEmacs: already done by insert-file-contents
- ;;(setq buffer-file-truename
- ;;(abbreviate-file-name (file-truename buffer-file-name)))
- (after-find-file nil nil t t preserve-modes)
- ;; Run after-revert-hook as it was before we reverted.
- (setq-default revert-buffer-internal-hook global-hook)
- (if local-hook-p
- (progn
- (make-local-variable 'revert-buffer-internal-hook)
- (setq revert-buffer-internal-hook local-hook))
- (kill-local-variable 'revert-buffer-internal-hook))
- (run-hooks 'revert-buffer-internal-hook))
+ (cond ((or auto-save-p
+ (buffer-modified-p)
+ ;; Do we need to do expensive reversion? Compare ...
+ (and (setq newbuf (revert-buffer-internal
+ file-name))
+ ;; ... and if different, prompt
+ (or noconfirm
+ (and delay-prompt
+ (yes-or-no-p
+ (format "Revert buffer from file %s? "
+ file-name))))))
+ ;; If file was backed up but has changed since,
+ ;; we should make another backup.
+ (and (not auto-save-p)
+ (not (verify-visited-file-modtime (current-buffer)))
+ (setq buffer-backed-up nil))
+ ;; Get rid of all undo records for this buffer.
+ (or (eq buffer-undo-list t)
+ (setq buffer-undo-list nil))
+ ;; Effectively copy the after-revert-hook status,
+ ;; since after-find-file will clobber it.
+ (let ((global-hook (default-value 'after-revert-hook))
+ (local-hook-p (local-variable-p 'after-revert-hook
+ (current-buffer)))
+ (local-hook (and (local-variable-p 'after-revert-hook
+ (current-buffer))
+ after-revert-hook)))
+ (let (buffer-read-only
+ ;; Don't make undo records for the reversion.
+ (buffer-undo-list t))
+ (if revert-buffer-insert-file-contents-function
+ (funcall revert-buffer-insert-file-contents-function
+ file-name auto-save-p)
+ (if (not (file-exists-p file-name))
+ (error "File %s no longer exists!" file-name))
+ ;; Bind buffer-file-name to nil
+ ;; so that we don't try to lock the file.
+ (let ((buffer-file-name nil))
+ (or auto-save-p
+ (unlock-buffer)))
+ (widen)
+ (insert-file-contents file-name (not auto-save-p)
+ nil nil t)))
+ (goto-char (min opoint (point-max)))
+ ;; Recompute the truename in case changes in symlinks
+ ;; have changed the truename.
+ ;;XEmacs: already done by insert-file-contents
+ ;;(setq buffer-file-truename
+ ;;(abbreviate-file-name (file-truename buffer-file-name)))
+ (after-find-file nil nil t t preserve-modes)
+ ;; Run after-revert-hook as it was before we reverted.
+ (setq-default revert-buffer-internal-hook global-hook)
+ (if local-hook-p
+ (progn
+ (make-local-variable 'revert-buffer-internal-hook)
+ (setq revert-buffer-internal-hook local-hook))
+ (kill-local-variable 'revert-buffer-internal-hook))
+ (run-hooks 'revert-buffer-internal-hook)))
+ ((null newbuf)
+ ;; The resultant buffer is identical, alter
+ ;; modtime, update mods and exit
+ (set-visited-file-modtime)
+ (after-find-file nil nil t t t))
+ (t t))
t)))))
+;; #### something like `revert-buffer-compare-with-file' is a better name
+;; #### why is the argument optional?
+(defun revert-buffer-internal (&optional file-name)
+ "Read contents of FILE-NAME into a buffer, and compare to current buffer.
+Return nil if identical, and the new buffer if different."
+
+ (let* ((newbuf (get-buffer-create " *revert*"))
+ bmin bmax)
+ (save-excursion
+ (set-buffer newbuf)
+ (let (buffer-read-only
+ (buffer-undo-list t)
+ after-change-function
+ after-change-functions
+ before-change-function
+ before-change-functions)
+ (if revert-buffer-insert-file-contents-function
+ (funcall revert-buffer-insert-file-contents-function
+ file-name nil)
+ (if (not (file-exists-p file-name))
+ (error "File %s no longer exists!" file-name))
+ (widen)
+ (insert-file-contents file-name nil nil nil t)
+ (setq bmin (point-min)
+ bmax (point-max)))))
+ (if (not (and (eq bmin (point-min))
+ (eq bmax (point-max))
+ (eq (compare-buffer-substrings
+ newbuf bmin bmax (current-buffer) bmin bmax) 0)))
+ newbuf
+ (and (kill-buffer newbuf) nil))))
+
(defun recover-file (file)
"Visit file FILE, but get contents from its last auto-save file."
;; Actually putting the file name in the minibuffer should be used
(or
;; from more to less specific
(paths-find-version-directory roots
- (concat base system-configuration)
+ (paths-construct-path
+ (list system-configuration base))
envvar default)
(paths-find-version-directory roots
base
(symbol :tag "name"))
(radio :tag "Decoration"
(const :tag "default" nil)
- (const :tag "maximum" t)
+ (const :tag "maximum" t)
(integer :tag "level" 1)))))
:group 'font-lock)
;; #### barf gag retch. Horrid FSF lossage that we need to
;; keep around for compatibility with font-lock-keywords that
;; forget to properly quote their faces. I tried just let-binding
-;; them when we eval the face expression, but that failes because
+;; them when we eval the face expression, but that fails because
;; some files actually use the variables directly in their init code
;; without quoting them. --ben
(defvar font-lock-comment-face 'font-lock-comment-face
It is present only for horrid FSF compatibility reasons.
The corresponding face should be set using `edit-faces' or the
`set-face-*' functions.")
+;; GNU compatibility
+(define-compatible-variable-alias
+ 'font-lock-doc-face 'font-lock-doc-string-face)
(defvar font-lock-string-face 'font-lock-string-face
"This variable should not be set.
It is present only for horrid FSF compatibility reasons.
It is present only for horrid FSF compatibility reasons.
The corresponding face should be set using `edit-faces' or the
`set-face-*' functions.")
+(defvar font-lock-builtin-face 'font-lock-builtin-face
+ "This variable should not be set.
+It is present only for horrid FSF compatibility reasons.
+The corresponding face should be set using `edit-faces' or the
+`set-face-*' functions.")
(defvar font-lock-function-name-face 'font-lock-function-name-face
"This variable should not be set.
It is present only for horrid FSF compatibility reasons.
It is present only for horrid FSF compatibility reasons.
The corresponding face should be set using `edit-faces' or the
`set-face-*' functions.")
+(defvar font-lock-constant-face 'font-lock-constant-face
+ "This variable should not be set.
+It is present only for horrid FSF compatibility reasons.
+The corresponding face should be set using `edit-faces' or the
+`set-face-*' functions.")
(defvar font-lock-reference-face 'font-lock-reference-face
"This variable should not be set.
It is present only for horrid FSF compatibility reasons.
font-lock-string-face
font-lock-doc-string-face
font-lock-keyword-face
+ font-lock-builtin-face
font-lock-function-name-face
font-lock-variable-name-face
font-lock-type-face
+ font-lock-constant-face
font-lock-reference-face
font-lock-preprocessor-face
font-lock-warning-face))
"Font Lock mode face used to highlight keywords."
:group 'font-lock-faces)
+(defface font-lock-builtin-face
+ '((((class color) (background light)) (:foreground "Purple"))
+ (((class color) (background dark)) (:foreground "Cyan"))
+ (((class grayscale) (background light)) (:foreground "LightGray" :bold t))
+ (((class grayscale) (background dark)) (:foreground "DimGray" :bold t))
+ (t (:bold t)))
+ "Font Lock mode face used to highlight builtins."
+:group 'font-lock-faces)
+
(defface font-lock-function-name-face
'((((class color) (background dark)) (:foreground "aquamarine"))
;; brown4 is hardly different from black on windows.
"Font Lock mode face used to highlight types."
:group 'font-lock-faces)
+(defface font-lock-constant-face
+ '((((class color) (background light)) (:foreground "CadetBlue"))
+ (((class color) (background dark)) (:foreground "Aquamarine"))
+ (((class grayscale) (background light))
+ (:foreground "LightGray" :bold t :underline t))
+ (((class grayscale) (background dark))
+ (:foreground "Gray50" :bold t :underline t))
+ (t (:bold t :underline t)))
+ "Font Lock mode face used to highlight constants and labels."
+:group 'font-lock-faces)
+
(defface font-lock-reference-face
'((((class color) (background dark)) (:foreground "cadetblue2"))
(((class color) (background light)) (:foreground "red3"))
"Font Lock mode face used to highlight references."
:group 'font-lock-faces)
-;; #### FSF has font-lock-builtin-face.
-
(defface font-lock-preprocessor-face
'((((class color) (background dark)) (:foreground "steelblue1"))
(((class color) (background light)) (:foreground "blue3"))
"Font Lock Mode face used to highlight preprocessor conditionals."
:group 'font-lock-faces)
-;; #### Currently unused
(defface font-lock-warning-face
'((((class color) (background light)) (:foreground "Red" :bold t))
(((class color) (background dark)) (:foreground "Pink" :bold t))
(defun font-lock-apply-syntactic-highlight (highlight)
"Apply HIGHLIGHT following a match.
- HIGHLIGHT should be of the form MATCH-HIGHLIGHT,
- see `font-lock-syntactic-keywords'."
+HIGHLIGHT should be of the form MATCH-HIGHLIGHT,
+see `font-lock-syntactic-keywords'."
(let* ((match (nth 0 highlight))
(start (match-beginning match)) (end (match-end match))
(value (nth 1 highlight))
(font-lock-apply-syntactic-highlight (car highlights))
(font-lock-fontify-syntactic-anchored-keywords (car highlights)
end))
- (setq highlights (cdr highlights)))
- )
+ (setq highlights (cdr highlights))))
(setq keywords (cdr keywords)))))
\f
;;; Regexp fontification functions.
;; Various functions.
(defun font-lock-compile-keywords (&optional keywords)
- ;; Compile `font-lock-keywords' into the form (t KEYWORD ...) where KEYWORD
- ;; is the (MATCHER HIGHLIGHT ...) shown in the variable's doc string.
+ "Compile KEYWORDS into the form (t KEYWORD ...).
+Here KEYWORD is of the form (MATCHER HIGHLIGHT ...) as shown in the
+`font-lock-keywords' doc string."
(let ((keywords (or keywords font-lock-keywords)))
(setq font-lock-keywords
(if (eq (car-safe keywords) t)
keyword)))
(defun font-lock-eval-keywords (keywords)
- ;; Evalulate KEYWORDS if a function (funcall) or variable (eval) name.
+ "Evaluate KEYWORDS if a function (funcall) or variable (eval) name."
(if (listp keywords)
keywords
(font-lock-eval-keywords (if (fboundp keywords)
(defconst font-window-system-mappings
'((x . (x-font-create-name x-font-create-object))
+ (gtk . (x-font-create-name x-font-create-object))
(ns . (ns-font-create-name ns-font-create-object))
(mswindows . (mswindows-font-create-name mswindows-font-create-object))
(pm . (x-font-create-name x-font-create-object)) ; Change? FIXME
;; The pre-display-buffer-function is called for effect, so this needs to
;; actually select the frame it wants. Fdisplay_buffer() takes notice of
;; changes to the selected frame.
-(defun get-frame-for-buffer (buffer &optional not-this-window-p on-frame)
+(defun get-frame-for-buffer (buffer &optional not-this-window-p on-frame
+ shrink-to-fit)
"Select and return a frame in which to display BUFFER.
Normally, the buffer will simply be displayed in the selected frame.
But if the symbol naming the major-mode of the buffer has a 'frame-name
that would otherwise be introduced by the `pre-display-buffer-function', which
is normally set to `get-frame-for-buffer' (which see)."
(let ((pre-display-buffer-function nil)) ; turn it off, whatever it is
- (let ((window (display-buffer buffer)))
+ (let ((window (display-buffer buffer nil nil temp-buffer-shrink-to-fit)))
(if (not (eq (last-nonminibuf-frame) (window-frame window)))
;; only the pre-display-buffer-function should ever do this.
(error "display-buffer switched frames on its own!!"))
(setq minibuffer-scroll-window window)
(set-window-start window 1) ; obeys narrowing
(set-window-point window 1)
- (when temp-buffer-shrink-to-fit
- (let* ((temp-window-size (round (* temp-buffer-max-height
- (frame-height (window-frame window)))))
- (size (window-displayed-height window)))
- (when (< size temp-window-size)
- (enlarge-window (- temp-window-size size) nil window)))
- (shrink-window-if-larger-than-buffer window))
nil)))
(setq pre-display-buffer-function 'get-frame-for-buffer)
(defcustom gutter-buffers-tab-visible-p
(gutter-element-visible-p default-gutter-visible-p 'buffers-tab)
"Whether the buffers tab is globally visible.
-This option should be set through the options menu."
+
+There are side-effects, so don't setq it; use Customize or the options menu."
:group 'buffers-tab
:type 'boolean
:set #'(lambda (var val)
:group 'buffers-tab)
(defcustom buffers-tab-omit-function 'buffers-menu-omit-invisible-buffers
- "*If non-nil, a function specifying the buffers to omit from the buffers tab.
+ "*A function specifying the buffers to omit from the buffers tab, or nil.
This is passed a buffer and should return non-nil if the buffer should be
omitted. The default value `buffers-menu-omit-invisible-buffers' omits
buffers that are normally considered \"invisible\" (those whose name
function)
:group 'buffers-tab)
-(defcustom buffers-tab-selection-function 'select-buffers-tab-buffers-by-mode
- "*If non-nil, a function specifying the buffers to select from the
-buffers tab. This is passed two buffers and should return non-nil if
-the second buffer should be selected. The default value
-`select-buffers-tab-buffers-by-mode' groups buffers by major mode and
-by `buffers-tab-grouping-regexp'."
-
- :type '(choice (const :tag "None" nil)
- function)
+(make-obsolete-variable 'buffers-tab-selection-function
+ 'buffers-tab-filter-functions)
+(defcustom buffers-tab-selection-function nil
+ "*A function specifying buffers to display in the buffers tab, or nil.
+Don't use this---it is never consulted. Use `buffers-tab-filter-functions'
+instead.
+
+The function must take arguments (BUF1 BUF2). BUF1 is a candidate for
+display in the buffers tab control. BUF2 is current (first in the buffers
+list). Return non-nil if BUF1 should be added to the tab control."
+ :type '(choice function (const :tag "None" nil))
:group 'buffers-tab)
-(defcustom buffers-tab-filter-functions (list buffers-tab-selection-function)
- "*If non-nil, a list of functions specifying the buffers to select
-from the buffers tab.
-Each function in the list is passed two buffers, the buffer to
-potentially select and the context buffer, and should return non-nil
-if the first buffer should be selected. The default value groups
-buffers by major mode and by `buffers-tab-grouping-regexp'."
-
- :type '(choice (const :tag "None" nil)
- sexp)
+(defcustom buffers-tab-filter-functions '(select-buffers-tab-buffers-by-mode)
+ "*A list of functions specifying buffers to display in the buffers tab.
+May be empty. Each function in the list must take arguments (BUF1 BUF2).
+BUF1 is the candidate, and BUF2 is the current buffer (first in the buffers
+list). Return non-nil if BUF1 should be added to the buffers tab. The
+default adds BUF1 if BUF1 and BUF2 have the same major mode, or if both
+match `buffers-tab-grouping-regexp'."
+ :type '(repeat function)
:group 'buffers-tab)
(defcustom buffers-tab-sort-function nil
(interactive "sIndex topic: ")
(let ((pattern (format "\n\\* \\([^\n:]*%s[^\n:]*\\):[ \t]*%s"
(regexp-quote topic)
- "\\(.*\\)\\.[ t]*\\([0-9]*\\)$"))
+ "\\(.*\\)\\.[ \t]*\\([0-9]*\\)$"))
node)
(message "Searching index for `%s'..." topic)
(Info-goto-node "Top")
(define-key global-map "\C-xry" 'yank-rectangle)
(define-key global-map "\C-xro" 'open-rectangle)
(define-key global-map "\C-xrt" 'string-rectangle)
+(define-key global-map "\C-xrp" 'replace-rectangle)
(define-key global-map "\C-xrw" 'window-configuration-to-register)
;(define-key global-map "\C-xrf" 'frame-configuration-to-register)
(let ((path (if (or (null library) (equal library ""))
nil
(locate-file library load-path
- ;; decompression doesn't work with Mule -slb
- (if (featurep 'mule)
- ":.el:.elc"
- ":.el:.el.gz:.el.Z:.elc")))))
+ ":.el:.el.gz:.el.Z:.elc"))))
(if path (funcall (if (fboundp display-function)
display-function 'find-file)
path codesys)
(and (button-event-p event)
;; Give temporary modes such as isearch a chance to turn off.
(run-hooks 'mouse-leave-buffer-hook))
- (or buffer (setq buffer (symbol-value-in-buffer
- 'completion-reference-buffer
- (or (and (button-event-p event)
- (event-buffer event))
- (current-buffer)))))
- (save-selected-window
- (and (button-event-p event)
- (select-window (event-window event)))
- (if (and (one-window-p t 'selected-frame)
- (window-dedicated-p (selected-window)))
- ;; This is a special buffer's frame
- (iconify-frame (selected-frame))
- (or (window-dedicated-p (selected-window))
- (bury-buffer))))
- (choose-completion-string (extent-string extent)
- buffer
- completion-base-size))
+ (let ((list-buffer (or (and (button-event-p event)
+ (event-buffer event))
+ (current-buffer))))
+ (or buffer (setq buffer (symbol-value-in-buffer
+ 'completion-reference-buffer
+ list-buffer)))
+ (save-selected-window
+ (and (button-event-p event)
+ (select-window (event-window event)))
+ (if (and (one-window-p t 'selected-frame)
+ (window-dedicated-p (selected-window)))
+ ;; This is a special buffer's frame
+ (iconify-frame (selected-frame))
+ (or (window-dedicated-p (selected-window))
+ (bury-buffer))))
+ (choose-completion-string (extent-string extent)
+ buffer
+ (symbol-value-in-buffer 'completion-base-size
+ list-buffer))))
;; Delete the longest partial match for STRING
;; that can be found before POINT.
["Save %_As..." write-file]
["Save So%_me Buffers" save-some-buffers]
"-----"
- ,@(if (eq system-type 'windows-nt)
+ ,@(if (valid-specifier-tag-p 'msprinter)
'(["Page Set%_up..." generic-page-setup]))
["%_Print" generic-print-buffer
:active (or (valid-specifier-tag-p 'msprinter)
:suffix (if (region-active-p) "Selection..."
(if put-buffer-names-in-file-menu (concat (buffer-name) "...")
"..."))]
- ,@(unless (eq system-type 'windows-nt)
+ ,@(unless (valid-specifier-tag-p 'msprinter)
'(["Prett%_y-Print" ps-print-buffer-with-faces
:active (fboundp 'ps-print-buffer-with-faces)
:suffix (if put-buffer-names-in-file-menu (buffer-name) "")]))
MENU-DESC and EVENT are as in the call to `popup-menu'."
;; partially stolen from w3
+
+ ;; This function is way gross and assumes to much about menu
+ ;; processing that is X specific. Under mswindows popup menus behave
+ ;; in reasonable ways that you can't obstruct.
(let ((echo-keystrokes 0)
new-event)
(popup-menu menu-desc event)
(setq new-event (next-command-event new-event))
(cond ((misc-user-event-p new-event)
(throw 'popup-done new-event))
- ((not (popup-up-p))
- (setq unread-command-events (cons new-event
- unread-command-events))
- (throw 'popup-done nil))
((button-release-event-p new-event);; don't beep twice
nil)
- ((event-matches-key-specifier-p (quit-char))
+ ;; It shows how bogus this function is that the event
+ ;; arg could be missing and no-one noticed ...
+ ((event-matches-key-specifier-p new-event (quit-char))
(signal 'quit nil))
+ ;; mswindows has no pop-down processing (selection is
+ ;; atomic) so doing anything more makes no sense. Since
+ ;; popup-up-p is always false under mswindows, this
+ ;; function has been ordered to do essentially X-specifc
+ ;; processing after this check.
+ ((not (popup-up-p))
+ (setq unread-command-events (cons new-event
+ unread-command-events))
+ (throw 'popup-done nil))
+ ;; mswindows never gets here
(t
(beep)
(message "please make a choice from the menu.")))))))
(when (string-match mswindows-font-regexp name)
(setq weight (match-string 2 name))
- (setq size (string-to-int (match-string 4 name))))
+ (setq size (string-to-int (or (match-string 4 name) "0"))))
(when (string-match mswindows-font-regexp truename)
(when (not (member weight (aref entry 1)))
(setq weight (match-string 2 truename)))
(when (not (member size (aref entry 2)))
- (setq size (string-to-int (match-string 4 truename))))
+ (setq size (string-to-int (or (match-string 4 truename) "0"))))
(setq slant (match-string 5 truename)))
(vector entry family size weight slant)))
;;; msw-glyphs.el --- Support for glyphs in ms windows
;; Copyright (C) 1994, 1997 Free Software Foundation, Inc.
+;; Copyright (C) 2002 Ben Wing.
;; Author: Kirill M. Katsnelson <kkm@kis.ru>
;; Maintainer: XEmacs Development Team
(set-glyph-image continuation-glyph "\xC3" 'global 'msgdi)
(set-glyph-image truncation-glyph "\xF0" 'global 'msgdi)
(set-glyph-image hscroll-glyph "\xEF" 'global 'msgdi)
+ (set-glyph-contrib-p continuation-glyph nil)
+ (set-glyph-contrib-p truncation-glyph nil)
+ (set-glyph-contrib-p hscroll-glyph nil)
(set-glyph-image octal-escape-glyph "\\")
(set-glyph-image control-arrow-glyph "^")
(if (not (package-get (car pkg) nil 'never))
(throw 'exit nil) ;; Bail out if error detected
))
- packages-package-list)))
+ packages-package-list))
+ (package-net-update-installed-db))
;;;###autoload
(defun package-get-all (package version &optional fetched-packages install-dir)
(defvar package-net-win32-binary-size 0
"The size in bytes of the win32 binary distribution.")
+(defvar package-net-kit-version ""
+ "XEmacs kitting revision, usually empty.")
+
(defvar package-net-setup-version "1.0"
"The version string of setup.")
(file-truename (concat data-directory "../../" (if (eq system-type 'cygwin32)
"xemacs/setup/" "setup/"))))
-(defun package-net-convert-index-to-ini (&optional destdir remote version)
- "Convert the package index to ini file format in DESTDIR.
-DESTDIR defaults to the value of `data-directory'."
- (package-get-require-base remote)
-
- (setq destdir (file-name-as-directory (or destdir data-directory)))
- (let ((buf (get-buffer-create "*setup.ini*")))
- (unwind-protect
- (save-excursion
- (set-buffer buf)
- (erase-buffer buf)
- (goto-char (point-min))
- (let ((entries package-get-base) entry plist)
- (insert "# This file is automatically generated. If you edit it, your\n")
- (insert "# edits will be discarded next time the file is generated.\n")
- (insert "#\n\n")
- (insert (format "setup-timestamp: %d\n"
- (+ (* (car (current-time)) 65536) (car (cdr (current-time))))))
- (insert (format "setup-version: %s\n\n" (or version "1.0")))
- ;; Native version
- (insert (format "@ %s\n" "xemacs-i386-pc-win32"))
- (insert (format "version: %s\n" emacs-program-version))
- (insert "type: native\n")
- (insert (format "install: win32/%s %d\n\n"
- (concat emacs-program-name
- "-i386-pc-win32-"
- emacs-program-version ".tar.gz")
- package-net-win32-binary-size))
- ;; Cygwin version
- (insert (format "@ %s\n" "xemacs-i686-pc-cygwin32"))
- (insert (format "version: %s\n" emacs-program-version))
- (insert "type: cygwin\n")
- (insert (format "install: cygwin32/%s %d\n\n"
- (concat emacs-program-name
- "-i686-pc-cygwin32-"
- emacs-program-version ".tar.gz")
- package-net-cygwin32-binary-size))
- ;; Standard packages
- (while entries
- (setq entry (car entries))
- (setq plist (car (cdr entry)))
- ;; ignore mule packages
- (unless (or (memq 'mule-base (plist-get plist 'requires))
- (eq 'mule-base (car entry)))
- (insert (format "@ %s\n" (symbol-name (car entry))))
- (insert (format "version: %s\n" (plist-get plist 'version)))
- (insert (format "install: packages/%s %s\n" (plist-get plist 'filename)
- (plist-get plist 'size)))
- ;; These are not supported as yet
- ;;
- ;; (insert (format "source: %s\n" (plist-get plist 'source)))
- ;; (insert "[prev]\n")
- ;; (insert (format "version: %s\n" (plist-get plist 'version)))
- ;; (insert (format "install: %s\n" (plist-get plist 'filename)))
- ;; (insert (format "source: %s\n" (plist-get plist 'source)))
- (insert "\n"))
- (setq entries (cdr entries))))
- (insert "# setup.ini file ends here\n")
- (write-region (point-min) (point-max) (concat destdir "setup.ini")))
- (kill-buffer buf))))
-
(defun package-net-generate-bin-ini (&optional version)
"Convert the package index to ini file format in the current directory."
(let ((buf (get-buffer-create "*setup-bin.ini*")))
(insert (format "setup-version: %s\n\n" (or version "1.0")))
;; Native version
(insert (format "@ %s\n" "xemacs-i586-pc-win32"))
- (insert (format "version: %s\n" emacs-program-version))
+ (insert (format "version: %s%s\n" emacs-program-version
+ package-net-kit-version))
(insert "type: native\n")
(insert (format "install: win32/%s %d\n\n"
(concat emacs-program-name
"-i586-pc-win32-"
- emacs-program-version ".tar.gz")
+ emacs-program-version package-net-kit-version
+ ".tar.gz")
package-net-win32-binary-size))
;; Cygwin version
(insert (format "@ %s\n" "xemacs-i686-pc-cygwin"))
- (insert (format "version: %s\n" emacs-program-version))
+ (insert (format "version: %s%s\n" emacs-program-version
+ package-net-kit-version))
(insert "type: cygwin\n")
(insert (format "install: cygwin32/%s %d\n\n"
(concat emacs-program-name
"-i686-pc-cygwin-"
- emacs-program-version ".tar.gz")
+ emacs-program-version package-net-kit-version
+ ".tar.gz")
package-net-cygwin32-binary-size))
(insert "# setup.ini file ends here\n")
(write-region (point-min) (point-max) "setup-bin.ini")))
"Display additional package info in the modeline.
EXTENT determines the package to display (the package information is
attached to the extent as properties)."
- (let (pkg-sym info inst-ver auth-ver date maintainer)
+ (let (pkg-sym info inst-ver auth-ver date maintainer balloon req)
(if (or force-update (not (current-message))
(string-match ".*: .*: " (current-message))
)
inst-ver (package-get-key pkg-sym :version)
auth-ver (package-get-info-prop info 'author-version)
date (package-get-info-prop info 'date)
- maintainer (package-get-info-prop info 'maintainer))
+ maintainer (package-get-info-prop info 'maintainer)
+ req (package-get-info-prop info 'requires))
(if (not inst-ver)
- (setq inst-ver ""))
+ (setq inst-ver 0))
+ (if (featurep 'balloon-help)
+ (progn
+ (setq balloon (format "
+Package Information: [For package: \"%s\"]
+================
+Installed Version : %.2f
+Author Version : %s
+Maintainer: %s
+Released: %s
+Required Packages : %s\n\n"
+ pkg-sym inst-ver auth-ver maintainer
+ date req))
+ (set-extent-property extent 'balloon-help balloon)))
(if pui-list-verbose
- (format "Author version: %-8s %11s: %s"
- auth-ver date maintainer)
- (format "%-6s: %-8s %11s: %s"
- inst-ver auth-ver date maintainer))
+ (format
+ "Inst V: %.2f Auth V: %s Maint: %s"
+ inst-ver auth-ver maintainer)
+ (format "%.2f : %s : %s"
+ inst-ver auth-ver maintainer))
))
))
(make-device 'msprinter printer-name))))
(defun Printer-clear-device ()
+ ;; relying on GC to delete the device is too error-prone since there
+ ;; only can be one anyway.
+ (and printer-current-device (delete-device printer-current-device))
(setq printer-current-device nil))
(defcustom printer-page-header '((face bold date) nil (face bold buffer-name))
If BUFFER is nil or omitted, the current buffer is used."
(interactive (list nil (not current-prefix-arg)))
- (let* ((print-region (and (interactive-p) (region-active-p)))
- (start (if print-region (region-beginning) (point-min buffer)))
- (end (if print-region (region-end) (point-max buffer))))
- (if (or (not (valid-specifier-tag-p 'msprinter))
- (not display-print-dialog))
- (generic-print-region start end buffer)
- (let* ((d (Printer-get-device))
- (props (condition-case err
- (make-dialog-box 'print :device d
+ (condition-case err
+ (let* ((print-region (and (interactive-p) (region-active-p)))
+ (start (if print-region (region-beginning) (point-min buffer)))
+ (end (if print-region (region-end) (point-max buffer))))
+ (if (or (not (valid-specifier-tag-p 'msprinter))
+ (not display-print-dialog))
+ (generic-print-region start end buffer)
+ (let* ((d (Printer-get-device))
+ (props (make-dialog-box 'print :device d
:allow-selection print-region
:selected-page-button
- (if print-region 'selection 'all))
- (error
- (Printer-clear-device)
- (signal (car err) (cdr err))))))
- (and props
- (let ((really-print-region
- (eq (plist-get props 'selected-page-button) 'selection)))
- (generic-print-region (if really-print-region start
- (point-min buffer))
- (if really-print-region end
- (point-max buffer))
- buffer d props)))))))
+ (if print-region 'selection 'all))))
+ (and props
+ (let ((really-print-region
+ (eq (plist-get props 'selected-page-button) 'selection)))
+ (generic-print-region (if really-print-region start
+ (point-min buffer))
+ (if really-print-region end
+ (point-max buffer))
+ buffer d props))))))
+ (error
+ ;; Make sure we catch all errors thrown from the native code.
+ (Printer-clear-device)
+ (signal (car err) (cdr err)))))
(defun generic-print-region (start end &optional buffer print-device props)
"Print region using a printing method appropriate to the O.S. being run.
;; re-create the frame each time so that we eject the piece
;; of paper at the end even if we're printing more than one
;; page per sheet of paper.
- (let ((copies (plist-get props 'copies 1)))
+ (let ((copies (plist-get props 'copies 1))
+ ;; This is not relevant to printing and can mess up
+ ;; msprinter frame sizing
+ default-frame-plist)
(while (> copies 0)
(let (d f header-buffer footer-buffer)
(setq buffer (decode-buffer buffer))
minibuffer none
modeline-shadow-thickness 0
vertical-scrollbar-visible-p nil
- horizontal-scrollbar-visible-p nil))
+ horizontal-scrollbar-visible-p nil
+ [default foreground] "black"
+ [default background] "white"))
d))
(let* ((w (frame-root-window f))
(vertdpi
;; then replace that region with the output.
(progn (setq buffer-read-only nil)
(delete-region (max start end) (point-max))
- (delete-region (point-min) (max start end))
+ (delete-region (point-min) (min start end))
(setq exit-status
(call-process-region (point-min) (point-max)
shell-file-name t t nil
(apply-on-rectangle 'string-rectangle-line start end string
(and (boundp 'pending-delete-mode) pending-delete-mode)))
+;;;###autoload
(defun replace-rectangle (start end string)
"Like `string-rectangle', but unconditionally replace the original region,
as if `pending-delete-mode' were active."
(own-selection string 'CLIPBOARD))
(defun disown-selection (&optional secondary-p)
- "Assuming we own the selection, disown it. With an argument, discard the
-secondary selection instead of the primary selection."
+ "Assuming we own the selection, disown it.
+With an argument, discard the secondary selection instead of the
+primary selection."
(disown-selection-internal (if secondary-p 'SECONDARY 'PRIMARY))
(when (and selection-sets-clipboard
(or (not secondary-p)
(delete-region (point) (+ (point) (length fill-prefix))))
(fixup-whitespace))))
+(defalias 'join-line 'delete-indentation)
+
(defun fixup-whitespace ()
"Fixup white space between objects around point.
Leave one space or none, according to the context."
(make-local-hook hook)
(add-one-shot-hook hook function append t))
-(defun add-to-list (list-var element)
+(defun add-to-list (list-var element &optional append)
"Add to the value of LIST-VAR the element ELEMENT if it isn't there yet.
The test for presence of ELEMENT is done with `equal'.
+If ELEMENT is added, it is added at the beginning of the list,
+unless the optional argument APPEND is non-nil, in which case
+ELEMENT is added at the end.
+
If you want to use `add-to-list' on a variable that is not defined
until a certain package is loaded, you should put the call to `add-to-list'
into a hook function that will be run only after loading the package.
`eval-after-load' provides one way to do this. In some cases
other hooks, such as major mode hooks, can do the job."
- (or (member element (symbol-value list-var))
- (set list-var (cons element (symbol-value list-var)))))
+ (if (member element (symbol-value list-var))
+ (symbol-value list-var)
+ (set list-var
+ (if append
+ (append (symbol-value list-var) (list element))
+ (cons element (symbol-value list-var))))))
;; XEmacs additions
;; called by Fkill_buffer()
(check-argument-type 'stringp str)
(check-argument-type 'stringp newtext)
(if (> (length str) 50)
- (with-temp-buffer
- (insert str)
- (goto-char 1)
+ (let ((cfs case-fold-search))
+ (with-temp-buffer
+ (setq case-fold-search cfs)
+ (insert str)
+ (goto-char 1)
(while (re-search-forward regexp nil t)
(replace-match newtext t literal))
- (buffer-string))
+ (buffer-string)))
(let ((start 0) newstr)
(while (string-match regexp str start)
(setq newstr (replace-match newtext t literal str)
(let ((command (cdr-safe
(assq toolbar-news-reader toolbar-news-commands-alist))))
(or command
- (error "Unkown news reader %s" toolbar-news-reader))
+ (error "Unknown news reader %s" toolbar-news-reader))
(if (symbolp command)
(call-interactively command)
(eval command))))
"If non-nil help is echoed for toolbar buttons.")
(defvar toolbar-icon-directory nil
- "Location of standard toolbar icon bitmaps.")
+ "Location of standard toolbar icon bitmaps, with trailing path separator.")
(defun toolbar-make-button-list (up &optional down disabled cap-up cap-down cap-disabled)
"Call make-glyph on each arg and return a list of the results."
(defun widget-field-activate (pos &optional event)
- "Invoke the ediable field at point."
+ "Invoke the editable field at point."
(interactive "@d")
(let ((field (widget-field-find pos)))
(if field
(defvar display-buffer-function nil
"If non-nil, function to call to handle `display-buffer'.
-It will receive three args: the same as those to `display-buffer'.")
+It will receive four args: the same as those to `display-buffer'.")
(defvar pre-display-buffer-function nil
"If non-nil, function that will be called from `display-buffer'
-as the first action. It will receive three args: the same as those
+as the first action. It will receive four args: the same as those
to `display-buffer'.
This function may be used to select an appropriate frame for the buffer,
for example. See also the variable `display-buffer-function', which may
;; Can you believe that all of this crap was formerly in C?
;; Praise Jesus that it's not there any more.
-(defun display-buffer (buffer &optional not-this-window-p override-frame)
+(defun display-buffer (buffer &optional not-this-window-p override-frame
+ shrink-to-fit)
"Make BUFFER appear in some window on the current frame, but don't select it.
BUFFER can be a buffer or a buffer name.
If BUFFER is shown already in some window in the current frame,
If OVERRIDE-FRAME is non-nil, display on that frame instead of
the current frame (or the dedicated frame).
+If SHRINK-TO-FIT is non-nil and splitting the window is appropriate, give
+the new buffer less than half the space if it is small enough to fit.
+
If `pop-up-windows' is non-nil, always use the
current frame and create a new window regardless of whether the
buffer has a dedicated frame, and regardless of whether
(if pre-display-buffer-function
(funcall pre-display-buffer-function buffer
not-this-window-p
- override-frame)))
+ override-frame
+ shrink-to-fit)))
;; Give the user the ability to completely reimplement
;; this function via the `display-buffer-function'.
(throw 'done
(funcall display-buffer-function buffer
not-this-window-p
- override-frame)))
+ override-frame
+ shrink-to-fit)))
;; If the buffer has a dedicated frame, that takes
;; precedence over the current frame, and over what the
(window-height window))
2)
(window-height upper))
- nil upper)))))
+ nil upper))
+ (if shrink-to-fit
+ (shrink-window-if-larger-than-buffer window)))))
(setq window (get-lru-window target-frame)))
+2002-08-23 Stephen J. Turnbull <stephen@xemacs.org>
+
+ * XEmacs 21.4.9 "Informed Management" is released.
+
+2002-06-07 Andy Piper <andy@xemacs.org>
+
+ * lwlib-Xm.c: (xm_safe_update_label): new function. Call
+ xm_update_label if the class is appropriate.
+ (make_menu_in_widget): use it.
+ (update_one_menu_entry): ditto.
+ (xm_update_one_widget): ditto.
+
+2002-08-14 Stephen J. Turnbull <stephen@xemacs.org>
+
+ * lwlib-Xm.c: revert Darryl's patch in favor of Andy's.
+
+2002-07-17 Stephen J. Turnbull <stephen@xemacs.org>
+
+ * lwlib-utils.c (XtApplyUntilToWidgets):
+ * xlwmenu.c (close_to_reference_time):
+ Fix warnings.
+
+2002-05-14 Darryl Okahata <darrylo@xemacs.org>
+
+ * lwlib-Xm.c: prevent non-label widgets from being treated as
+ labels and having their "labels" updated.
+
2002-05-09 Stephen J. Turnbull <stephen@xemacs.org>
* XEmacs 21.4.8 "Honest Recruiter" is released.
XmStringFree (val_string);
}
+static void
+xm_safe_update_label (widget_instance* instance, Widget widget, widget_value* val)
+{
+ /* Don't clobber non-labels. */
+ if (XtIsSubclass (widget, xmLabelWidgetClass))
+ xm_update_label (instance, widget, val);
+}
+
#endif /* defined (LWLIB_DIALOGS_MOTIF) || defined (LWLIB_MENUBARS_MOTIF) */
\f/* update of list */
XtSetArg (al [ac], XmNsubMenuId, menu); ac++;
button = XmCreateCascadeButton (widget, cur->name, al, ac);
- xm_update_label (instance, button, cur);
+ xm_safe_update_label (instance, button, cur);
XtAddCallback (button, XmNcascadingCallback, xm_pull_down_callback,
(XtPointer)instance);
else
button = XmCreatePushButtonGadget (widget, cur->name, al, ac);
- xm_update_label (instance, button, cur);
+ xm_safe_update_label (instance, button, cur);
/* don't add a callback to a simple label */
if (cur->type == TOGGLE_TYPE || cur->type == RADIO_TYPE)
/* update the menu button as a label. */
if (val->change >= VISIBLE_CHANGE)
{
- xm_update_label (instance, widget, val);
+ xm_safe_update_label (instance, widget, val);
+
if (XtClass (widget) == xmToggleButtonWidgetClass
|| XtClass (widget) == xmToggleButtonGadgetClass)
{
#if defined (LWLIB_DIALOGS_MOTIF) || defined (LWLIB_MENUBARS_MOTIF) || defined (LWLIB_WIDGETS_MOTIF)
/* Common to all label like widgets */
- if (XtIsSubclass (widget, xmLabelWidgetClass))
- xm_update_label (instance, widget, val);
+ xm_safe_update_label (instance, widget, val);
#endif
class = XtClass (widget);
/* Class specific things */
if (XtIsComposite (w))
{
CompositeWidget cw = (CompositeWidget)w;
- int i;
+ unsigned int i;
for (i = 0; i < cw->composite.num_children; i++)
if (XtIsWidget (cw->composite.children [i])){
result = proc (cw->composite.children [i], arg);
{
return
reference_time &&
- (ev->xbutton.time - reference_time < XtGetMultiClickTime (XtDisplay (w)));
+ (ev->xbutton.time - reference_time
+ < (Time) XtGetMultiClickTime (XtDisplay (w)));
}
\f/* Size code */
+2002-08-23 Stephen J. Turnbull <stephen@xemacs.org>
+
+ * XEmacs 21.4.9 "Informed Management" is released.
+
+2002-08-20 Simon Josefsson <simon@xemacs.org>
+
+ * lispref/building.texi (Pure Storage): Deprecate purecopy.
+
+2002-08-16 Stephen J. Turnbull <stephen@xemacs.org>
+
+ * internals/internals.texi (Regression Testing XEmacs): Fix typo.
+
+2002-08-15 Stephen J. Turnbull <stephen@xemacs.org>
+
+ * internals/internals.texi (GCPROing): Add comment on GCPRO.
+ (Regression Testing XEmacs): New node.
+ (Modules for Regression Testing): New node.
+
+2002-08-14 Stephen J. Turnbull <stephen@xemacs.org>
+
+ * xemacs/packages.texi (Installing Packages): Revert EFS patch.
+
+2002-07-13 Adrian Aichner <adrian@xemacs.org>
+
+ * xemacs/packages.texi (Installing Packages): Fix reference to
+ EFS.
+
+2002-08-09 Stephen J. Turnbull <stephen@xemacs.org>
+
+ * packages.texi: Replace with rev 1.16 (from 21.5 current).
+ Includes changes by Ville Skyttä, Adrian Aichner, Simon
+ Josefsson, and Steve Youngs.
+
+2002-07-24 Ville Skyttä <ville.skytta@xemacs.org>
+
+ * term.texi (Input to the inferior): Fix term line/char mode
+ switch keybindings. Kudos to Jacob P. Burckhardt.
+
+ * xemacs/misc.texi (Term Mode): Ditto.
+
+2002-07-06 Adrian Aichner <adrian@xemacs.org>
+
+ * new-users-guide/custom1.texi (Customizing key Bindings): Fix
+ improper use of indef. art. "a".
+
+2002-07-06 Adrian Aichner <adrian@xemacs.org>
+
+ * lispref/commands.texi (Peeking and Discarding): Ditto.
+ * lispref/customize.texi (Type Keywords): Ditto.
+ * lispref/dragndrop.texi (Drop Interface): Ditto.
+
+2002-07-06 Adrian Aichner <adrian@xemacs.org>
+
+ * termcap.texi (Clearing): Ditto.
+ * widget.texi (User Interface): Ditto.
+ * widget.texi (Basic Types): Ditto.
+ * widget.texi (group): Ditto.
+
+2002-07-05 Adrian Aichner <adrian@xemacs.org>
+
+ * xemacs/menus.texi (Edit Menu): Typo fixes for incorrect use of
+ indef. art. "an".
+
+2002-07-05 Adrian Aichner <adrian@xemacs.org>
+
+ * lispref/control.texi (Processing of Errors): Ditto.
+ * lispref/mule.texi (ISO 2022): Ditto.
+ * lispref/packaging.texi (Package Terminology): Ditto.
+ * lispref/text.texi (Transformations): Ditto.
+
+2002-07-05 Adrian Aichner <adrian@xemacs.org>
+
+ * termcap.texi (Naming): Ditto.
+ * texinfo.texi (itemize): Ditto.
+ * texinfo.texi (Tips): Ditto.
+ * widget.texi (Introduction): Ditto.
+ * widget.texi (group): Ditto.
+
+2002-07-02 Stephen J. Turnbull <stephen@xemacs.org>
+
+ * xemacs-faq.texi (Top, Customization, Q3.10.5, Q3.10.6):
+ New "killing is slow" FAQ and link updates..
+
+2002-06-17 Jerry James <james@xemacs.org>
+
+ * emodules.texi (Loading other Modules): Describe why we do not
+ use RTLD_GLOBAL.
+
+2002-06-11 Adrian Aichner <adrian@xemacs.org>
+
+ * xemacs-faq.texi (Q1.3.7): Update broken link to russian.el
+ (found by linklint) with Google's help.
+
+2002-05-25 Adrian Aichner <adrian@xemacs.org>
+
+ * xemacs/custom.texi (Syntax Entry): Deprecate ` ' in favor of `-'.
+
+2002-06-11 Stephen J. Turnbull <stephen@xemacs.org>
+
+ * xemacs/mule.texi (Mule Intro): Better title, explanation.
+
+2002-05-23 Stephen J. Turnbull <stephen@xemacs.org>
+
+ * lispref/packaging.texi (package-info.in Fields): Typo fix.
+
+2002-05-20 Stephen J. Turnbull <stephen@xemacs.org>
+
+ * xemacs/files.texi (Reverting): Mention use of prefix argument
+ and mode recalculation.
+
+2002-05-11 Adrian Aichner <adrian@xemacs.org>
+
+ * xemacs-faq.texi (Top): Add Q2.0.15 under "Installation and
+ Trouble Shooting".
+ * xemacs-faq.texi (Installation): Add Q2.0.15 to Installation
+ menu.
+ * xemacs-faq.texi (Q2.0.14): Fix unnumberedsubsec argument.
+ * xemacs-faq.texi (Q2.0.15): New.
+
2002-05-09 Stephen J. Turnbull <stephen@xemacs.org>
* XEmacs 21.4.8 "Honest Recruiter" is released.
then their parents will also fail to load. This does not include
previous successful calls to @code{emodules_load} at the top level.
+@strong{Warning:} Modules are @emph{not} loaded with the
+@code{RTLD_GLOBAL} flag. The practical upshot is that individual
+modules do not have access to each other's C symbols. One module cannot
+make a C function call to a function defined in another module, nor can
+it read or set a C variable in another module. All interaction between
+modules must, therefore, take place at the Lisp level. This is by
+design. Other projects have attempted to use @code{RTLD_GLOBAL}, only
+to find that spurious symbol name clashes were the result. Helper
+functions often have simple names, increasing the probability of such a
+clash. If you really need to share symbols between modules, create a
+shared library containing those symbols, and link your modules with
+that library. Otherwise, interactions between modules must take place
+via Lisp function calls and Lisp variables accesses.
+
@node Using ellcc, Defining Functions, Anatomy of a Module, Top
@chapter Using @code{ellcc}
@cindex @code{ellcc}
* The XEmacs Object System (Abstractly Speaking)::
* How Lisp Objects Are Represented in C::
* Rules When Writing New C Code::
+* Regression Testing XEmacs::
* A Summary of the Various XEmacs Modules::
* Allocation of Objects in XEmacs Lisp::
* Dumping::
* General Guidelines for Writing Mule-Aware Code::
* An Example of Mule-Aware Code::
+Regression Testing XEmacs
+
A Summary of the Various XEmacs Modules
* Low-Level Modules::
* Modules for Interfacing with the Operating System::
* Modules for Interfacing with X Windows::
* Modules for Internationalization::
+* Modules for Regression Testing::
Allocation of Objects in XEmacs Lisp
nothing unless the corresponding configure error checking flag was
specified.
-@node Rules When Writing New C Code, A Summary of the Various XEmacs Modules, How Lisp Objects Are Represented in C, Top
+@node Rules When Writing New C Code, Regression Testing XEmacs, How Lisp Objects Are Represented in C, Top
@chapter Rules When Writing New C Code
@cindex writing new C code, rules when
@cindex C code, rules when writing new
add an INIT_LRECORD_IMPLEMENTATION call to @code{syms_of_@var{foo}.c}
@end enumerate
-@node A Summary of the Various XEmacs Modules, Allocation of Objects in XEmacs Lisp, Rules When Writing New C Code, Top
+
+@node Regression Testing XEmacs, A Summary of the Various XEmacs Modules, Rules When Writing New C Code, Top
+@chapter Regression Testing XEmacs
+@cindex testing, regression
+
+The source directory @file{tests/automated} contains XEmacs' automated
+test suite. The usual way of running all the tests is running
+@code{make check} from the top-level source directory.
+
+The test suite is unfinished and it's still lacking some essential
+features. It is nevertheless recommended that you run the tests to
+confirm that XEmacs behaves correctly.
+
+If you want to run a specific test case, you can do it from the
+command-line like this:
+
+@example
+$ xemacs -batch -l test-harness.elc -f batch-test-emacs TEST-FILE
+@end example
+
+If something goes wrong, you can run the test suite interactively by
+loading @file{test-harness.el} into a running XEmacs and typing
+@kbd{M-x test-emacs-test-file RET <filename> RET}. You will see a log of
+passed and failed tests, which should allow you to investigate the
+source of the error and ultimately fix the bug.
+
+Adding a new test file is trivial: just create a new file here and it
+will be run. There is no need to byte-compile any of the files in
+this directory---the test-harness will take care of any necessary
+byte-compilation.
+
+Look at the existing test cases for the examples of coding test cases.
+It all boils down to your imagination and judicious use of the macros
+@code{Assert}, @code{Check-Error}, @code{Check-Error-Message}, and
+@code{Check-Message}.
+
+Here's a simple example checking case-sensitive and case-insensitive
+comparisons from @file{case-tests.el}.
+
+@example
+(with-temp-buffer
+ (insert "Test Buffer")
+ (let ((case-fold-search t))
+ (goto-char (point-min))
+ (Assert (eq (search-forward "test buffer" nil t) 12))
+ (goto-char (point-min))
+ (Assert (eq (search-forward "Test buffer" nil t) 12))
+ (goto-char (point-min))
+ (Assert (eq (search-forward "Test Buffer" nil t) 12))
+
+ (setq case-fold-search nil)
+ (goto-char (point-min))
+ (Assert (not (search-forward "test buffer" nil t)))
+ (goto-char (point-min))
+ (Assert (not (search-forward "Test buffer" nil t)))
+ (goto-char (point-min))
+ (Assert (eq (search-forward "Test Buffer" nil t) 12))))
+@end example
+
+This example could be inserted in a file in @file{tests/automated}, and
+it would be a complete test, automatically executed when you run
+@kbd{make check} after building XEmacs. More complex tests may require
+substantial temporary scaffolding to create the environment that elicits
+the bugs, but the top-level Makefile and @file{test-harness.el} handle
+the running and collection of results from the @code{Assert},
+@code{Check-Error}, @code{Check-Error-Message}, and @code{Check-Message}
+macros.
+
+@node A Summary of the Various XEmacs Modules, Allocation of Objects in XEmacs Lisp, Regression Testing XEmacs, Top
@chapter A Summary of the Various XEmacs Modules
@cindex modules, a summary of the various XEmacs
* Modules for Interfacing with the Operating System::
* Modules for Interfacing with X Windows::
* Modules for Internationalization::
+* Modules for Regression Testing::
@end menu
@node Low-Level Modules
+@node Modules for Regression Testing
+@section Modules for Regression Testing
+@cindex modules for regression testing
+@cindex regression testing, modules for
+
+@example
+test-harness.el
+base64-tests.el
+byte-compiler-tests.el
+case-tests.el
+ccl-tests.el
+c-tests.el
+database-tests.el
+extent-tests.el
+hash-table-tests.el
+lisp-tests.el
+md5-tests.el
+mule-tests.el
+regexp-tests.el
+symbol-tests.el
+syntax-tests.el
+@end example
+
+@file{test-harness.el} defines the macros @code{Assert},
+@code{Check-Error}, @code{Check-Error-Message}, and
+@code{Check-Message}. The other files are test files, testing various
+XEmacs modules.
+
+
+
@node Allocation of Objects in XEmacs Lisp, Dumping, A Summary of the Various XEmacs Modules, Top
@chapter Allocation of Objects in XEmacs Lisp
@cindex allocation of objects in XEmacs Lisp
different section of code.
@end enumerate
+If you don't understand whether to @code{GCPRO} in a particular
+instance, ask on the mailing lists. A general hint is that @code{prog1}
+is the canonical example
+
@cindex garbage collection, conservative
@cindex conservative garbage collection
Given the extremely error-prone nature of the @code{GCPRO} scheme, and
as symbols, but just returns them unchanged. It signals an error if
asked to copy markers.
-This function is a no-op except while XEmacs is being built and dumped;
-it is usually called only in the file
-@file{xemacs/lisp/prim/loaddefs.el}, but a few packages call it just in
-case you decide to preload them.
+This function is a no-op in XEmacs, and its use in new code is deprecated.
@end defun
@defvar pure-bytes-used
input. The events are used in the order they appear in the list, and
removed one by one as they are used.
-The variable is needed because in some cases a function reads a event
+The variable is needed because in some cases a function reads an event
and then decides not to use it. Storing the event in this variable
causes it to be processed normally, by the command loop or by the
functions to read command input.
This function displays @var{error-object} on @var{stream}.
@var{error-object} is a cons of error type, a symbol, and error
arguments, a list. If the error type symbol of one of its error
-condition superclasses has an @code{display-error} property, that
+condition superclasses has a @code{display-error} property, that
function is invoked for printing the actual error message. Otherwise,
the error is printed as @samp{Error: arg1, arg2, ...}.
@end defun
@item :parent
The parent of a nested widget (e.g. a @code{menu-choice} item or an
-element of a @code{editable-list} widget).
+element of an @code{editable-list} widget).
@item :sibling-args
This keyword is only used for members of a @code{radio-button-choice} or
@cindex drop
@cindex Drop API
-For each activated low-level protocol, a internal routine will catch
+For each activated low-level protocol, an internal routine will catch
incoming drops and convert them to a dragdrop-drop type
misc-user-event.
the data stream) or locking (effective until the next designation or
locking) control sequences. An encoding conformant to ISO 2022 is
typically defined by designating the initial contents of the G0-G3
-registers, specifying an 7 or 8 bit environment, and specifying whether
+registers, specifying a 7 or 8 bit environment, and specifying whether
further designations will be recognized.
Some examples of character sets and the registered final characters
Examples of algorithms thus provided are MD5 and base64 support.
MD5 is an algorithm for calculating message digests, as described in
-rfc1321. Given a message of arbitrary length, MD5 produces an 128-bit
+rfc1321. Given a message of arbitrary length, MD5 produces a 128-bit
``fingerprint'' (``message digest'') corresponding to that message. It
is considered computationally infeasible to produce two messages having
the same MD5 digest, or to produce a message having a prespecified
@noindent
You might want to have this statement in your @file{init.el} file because
its easy to hit this command by mistake and it could be annoying to exit
-Emacs unintentionally. There is a @b{Exit Emacs} option in the @b{File
+Emacs unintentionally. There is an @b{Exit Emacs} option in the @b{File
menu} which you might want to use instead. To make a particular key
undefined you can also use:
(except possibly the prompt) is sent to the inferior process.
Line mode is basically the original shell mode from earlier Emacs versions.
-To switch from line mode to character mode type @kbd{C-c c}.
-To switch from character mode to line mode type @kbd{C-c l}.
+To switch from line mode to character mode type @kbd{C-c C-k}.
+To switch from character mode to line mode type @kbd{C-c C-j}.
In either mode, "echoing" of user input is handled by the inferior.
Therefor, in line mode after an input line at the end of the buffer
does not touch (@pxref{Status Line}).
Some terminals have a special line that is used only as a status line.
-For these terminals, there is no need for an @samp{-s} variant; the
+For these terminals, there is no need for a @samp{-s} variant; the
status line commands should be defined by default. On other
terminals, enabling a status line means removing one screen line from
ordinary use and reducing the effective screen height. For these
Clear to end of line (@samp{ce}) is extremely important in programs that
maintain an updating display. Nearly all display terminals support this
-operation, so it is acceptable for a an application program to refuse to
+operation, so it is acceptable for an application program to refuse to
work if @samp{ce} is not present. However, if you do not want this
limitation, you can accomplish clearing to end of line by outputting spaces
until you reach the right margin. In order to do this, you must know the
\input texinfo.tex @c -*-texinfo-*-
-@c $Id: texinfo.texi,v 1.14 2001/04/12 18:22:02 michaels Exp $
+@c $Id: texinfo.texi,v 1.14.2.1 2002/08/20 11:35:25 stephent Exp $
@c %**start of header
@c All text is ignored before the setfilename.
very brief, these blank lines make the list look better.@refill
Here is an example of the use of @code{@@itemize}, followed by the
-output it produces. Note that @code{@@bullet} produces an @samp{*} in
+output it produces. Note that @code{@@bullet} produces a @samp{*} in
Info and a round dot in @TeX{}.@refill
@example
@end example
@noindent
-since @samp{au} does @emph{not} serve as an abbreviation for
+since @samp{au} does @emph{not} serve as an abbreviation for
@samp{author.} (with a period following the word).
@subsubheading Introducing New Terms
A simple constant widget intended to be used in the @code{menu-choice} and
@code{radio-button-choice} widgets.
@item choice-item
-An button item only intended for use in choices. When invoked, the user
+A button item only intended for use in choices. When invoked, the user
will be asked to select another option from the choice widget.
@item toggle
A simple @samp{on}/@samp{off} switch.
@comment node-name, next, previous, up
@section User Interface
-A form consist of read only text for documentation and some fields,
-where each the fields contain two parts, as tag and a value. The tags
-are used to identify the fields, so the documentation can refer to the
-foo field, meaning the field tagged with @samp{Foo}. Here is an example
-form:
+A form consists of read only text for documentation and some fields,
+where each of the fields contains two parts, a tag and a value. The
+tags are used to identify the fields, so the documentation can refer to
+the foo field, meaning the field tagged with @samp{Foo}. Here is an
+example form:
@example
Here is some documentation.
field. Option fields are created by the @code{menu-choice} widget. In
the example, @samp{@b{Choose}} is an option field tag.
@item The @samp{@b{[INS]}} and @samp{@b{[DEL]}} buttons.
-Activating these will insert or delete elements from a editable list.
+Activating these will insert or delete elements from an editable list.
The list is created by the @code{editable-list} widget.
@item Embedded Buttons.
The @samp{@b{_other work_}} is an example of an embedded
@item :parent
The parent of a nested widget (e.g. a @code{menu-choice} item or an
-element of a @code{editable-list} widget).
+element of an @code{editable-list} widget).
@item :sibling-args
This keyword is only used for members of a @code{radio-button-choice} or
@comment node-name, next, previous, up
@subsection The @code{group} Widget
-This widget simply group other widget together.
+This widget simply groups other widgets together.
Syntax:
@finalout
@titlepage
@title XEmacs FAQ
-@subtitle Frequently asked questions about XEmacs @* Last Modified: $Date: 2002/04/30 16:06:09 $
+@subtitle Frequently asked questions about XEmacs @* Last Modified: $Date: 2002/08/20 11:35:32 $
@sp 1
@author Tony Rossini <rossini@@biostat.washington.edu>
@author Ben Wing <ben@@xemacs.org>
* Q2.0.12:: Why can't I strip XEmacs?
* Q2.0.13:: I don't need no steenkin' packages. Do I? (NEW)
* Q2.0.14:: How do I figure out which packages to install? (NEW)
+* Q2.0.15:: EFS fails with "500 AUTH not understood" (NEW)
Trouble Shooting:
* Q2.1.1:: XEmacs just crashed on me!
* Q3.10.3:: Can I turn off the highlight during isearch?
* Q3.10.4:: How do I turn off highlighting after @kbd{C-x C-p} (mark-page)?
* Q3.10.5:: The region disappears when I hit the end of buffer while scrolling.
+* Q3.10.6:: Why is killing so slow? (NEW)
Major Subsystems
which can be obtained from
@end quotation
-@uref{http://ftpsearch.lycos.com/?query=russian.el.Z&form=medium}.
+@uref{http://www.math.uga.edu/~valery/russian.el}.
@email{d.barsky@@ee.surrey.ac.uk, Dima Barsky} writes:
* Q2.0.12:: Why can't I strip XEmacs?
* Q2.0.13:: I don't need no steenkin' packages. Do I? (NEW)
* Q2.0.14:: I don't want to install a million .els one at a time! (NEW)
+* Q2.0.15:: EFS fails with "500 AUTH not understood" (NEW)
Trouble Shooting:
* Q2.1.1:: XEmacs just crashed on me!
will be available with no packages installed, so installing packages is
an essential part of making your installed XEmacs _useful_.
-@node Q2.0.14, Q2.1.1, Q2.0.13, Installation
-@unnumberedsubsec Q2.0.12: How do I figure out which packages to install? (NEW)
+@node Q2.0.14, Q2.0.15, Q2.0.13, Installation
+@unnumberedsubsec Q2.0.14: How do I figure out which packages to install? (NEW)
Many people really liked the old way that packages were bundled and do
not want to mess with packages at all. You can grab all the packages at
packages, it is recommended that you use the automatic package tools
afterwards to pick up any recent updates.
-@node Q2.1.1, Q2.1.2, Q2.0.14, Installation
+@node Q2.0.15, Q2.1.1, Q2.0.14, Installation
+@unnumberedsubsec Q2.0.15: EFS fails with "500 AUTH not understood" (NEW)
+
+A typical error: FTP Error: USER request failed; 500 AUTH not understood.
+
+Thanks to giacomo boffi @email{giacomo.boffi@@polimi.it} who recommends
+on comp.emacs.xemacs:
+
+ tell your ftp client to not attempt AUTH authentication (or do not
+ use FTP servers that don't understand AUTH)
+
+and notes that you need to add an element (often "-u") to
+`efs-ftp-program-args'. Use M-x customize-variable, and verify the
+needed flag with `man ftp' or other local documentation.
+
+@node Q2.1.1, Q2.1.2, Q2.0.15, Installation
@unnumberedsec 2.1: Trouble Shooting
@unnumberedsubsec Q2.1.1: Help! XEmacs just crashed on me!
* Q3.10.3:: Can I turn off the highlight during isearch?
* Q3.10.4:: How do I turn off highlighting after @kbd{C-x C-p} (mark-page)?
* Q3.10.5:: The region disappears when I hit the end of buffer while scrolling.
+* Q3.10.6:: Why is killing so slow?
@end menu
@node Q3.0.1, Q3.0.2, Customization, Customization
Also see @ref{Q3.10.1}.
-@node Q3.10.5, , Q3.10.4, Customization
+@node Q3.10.5, Q3.10.6, Q3.10.4, Customization
@unnumberedsubsec Q3.10.5: The region disappears when I hit the end of buffer while scrolling.
This has been fixed by default starting with XEmacs-20.3.
Thanks to @email{raman@@adobe.com, T. V. Raman} for assistance in deriving this
answer.
+@node Q3.10.6, , Q3.10.5, Customization
+@unnumberedsubsec Q3.10.6: Why is killing so slow?
+
+This actually is an X Windows question, although you'll notice it with
+keyboard operations as well as while using the GUI. Basically, there
+are four ways to communicate interprogram via the X server:
+
+@table @strong
+@item Primary selection
+a transient selection that gets replaced every time a new selection is made
+
+@item Secondary selection
+for "exchanging" with the primary selection
+
+@item Cut buffers
+a clipboard internal to the X server (deprecated)
+
+@item Clipboard selection
+a selection with a notification protocol that allows a separate app to
+manage the clipboard
+@end table
+
+The cut buffers are deprecated because managing them is even more
+inefficient than the clipboard notification protocol. The primary
+selection works fine for many users and applications, but is not very
+robust under intensive or sophisticated use.
+
+In Motif and MS Windows, a clipboard has become the primary means for
+managing cut and paste. These means that "modern" applications tend to
+be oriented toward a true clipboard, rather than the primary selection.
+(On Windows, there is nothing equivalent to the primary selection.)
+It's not that XEmacs doesn't support the simple primary selection
+method, it's that more and more other applications don't.
+
+So the slowdown occurs because XEmacs now engages in the clipboard
+notification protocol on @emph{every} kill. This is especially slow on
+Motif.
+
+With most people running most clients and server on the same host, and
+many of the rest working over very fast communication, you may expect
+that the situation is not going to improve.
+
+There are a number of workarounds. The most effective is to use a
+special command to do selection ownership only when you intend to paste
+to another application. Useful commands are @code{kill-primary-selection}
+and @code{copy-primary-selection'}. These work only on text selected
+with the mouse (probably; experiment), and are bound by default to the
+Cut and Copy, respectively, buttons on the toolbar.
+
+If you are communicating by cut and paste with applications that use the
+primary selection, then you can customize @code{interprogram-cut-function}
+to @code{nil}, restoring the XEmacs version 20 behavior. How can you
+tell if a program will support this? Motifly-correct programs require
+the clipboard; you lose. For others, only by trying it. You usually
+don't need to customize the complementary @code{interprogram-paste-function}
+to @code{nil}; presumably you're willing to wait for a paste from another
+program if delays only happen when you specifically request a paste.
+
+You can get some relief on Motif by setting
+@code{x-selection-strict-motif-ownership} to nil, but this means you will
+only intermittently be able to paste XEmacs kills to Motif applications.
+
@node Subsystems, Miscellaneous, Customization, Top
@unnumbered 4 Major Subsystems
table of syntactic classes, with the characters that specify them.
@table @samp
-@item @w{ }
-The class of whitespace characters.
+@item @w{-}
+The class of whitespace characters. Please don't use the formerly
+advertised @w{ }, which is not supported by GNU Emacs.
@item w
The class of word-constituent characters.
@item _
operates on the current buffer. Since reverting a buffer can result in
very extensive changes, you must confirm it with @kbd{yes}.
- If the current buffer has been auto-saved more recently than it has been
-saved explicitly, @code{revert-buffer} offers to read the auto save file
-instead of the visited file (@pxref{Auto Save}). Emacs asks you about
-the auto-save file before the request for confirmation of the
-@kbd{revert-buffer} operation, and demands @kbd{y} or @kbd{n}
-as an answer. If you have started to type @kbd{yes} for confirmation
-without realizing that the auto-save question was going to be asked, the
-@kbd{y} will answer that question, but the @kbd{es} will not be valid
-confirmation. This gives you a chance to cancel the operation with
-@kbd{C-g} and try again with the answers you really intend.
-
- @code{revert-buffer} keeps point at the same distance (measured in
-characters) from the beginning of the file. If the file was edited only
-slightly, you will be at approximately the same piece of text after
-reverting as before. If you have made more extensive changes, the value of
-point in the old file may bring you to a totally different piece of text
-than your last editing point.
+ You may request that @code{revert-buffer} check for an auto-save file
+that is more recent than the visited file by providing a prefix
+argument. If a recent auto-save file exists, @code{revert-buffer}
+offers to read the auto-save file instead of the visited file
+(@pxref{Auto Save}). Emacs asks you about the auto-save file before the
+request for confirmation of the @kbd{revert-buffer} operation, and
+demands @kbd{y} or @kbd{n} as an answer. If you have started to type
+@kbd{yes} to confirm the revert operation, the @kbd{y} will answer the
+question about using the auto-save file, but the @kbd{es} will not be
+valid confirmation for the reversion. This gives you a chance to cancel
+the operation with @kbd{C-g} and try again with the answers you really
+intend.
+
+ @code{revert-buffer} preserves the value of point (in characters from
+the beginning of the file). If the file was edited only slightly, you
+will be at approximately the same piece of text after reverting as
+before. If you have made more extensive changes, after reversion point
+may be in a totally different context than your last edits before
+reversion.
A buffer reverted from its visited file is marked ``not modified'' until
-you make a change.
+you make a change. The buffer's modes will also be recalculated, by
+@code{normal-mode}.
Some kinds of buffers whose contents reflect data bases other than files,
such as Dired buffers, can also be reverted. For them, reverting means
-recalculating their contents from the appropriate data. Buffers
-created randomly with @kbd{C-x b} cannot be reverted; @code{revert-buffer}
+refreshing their contents from the appropriate data. Buffers created
+randomly with @kbd{C-x b} cannot be reverted; @code{revert-buffer}
reports an error when asked to do so.
@node Auto Save, Version Control, Reverting, Files
@c **** zmacs-regions is on by default these days - jwz
@c
@c Note: By default, you can use the @b{Edit} menu items on the region between
-@c point an the mark as well as regions selected with the mouse. To change
+@c point and the mark as well as regions selected with the mouse. To change
@c this behavior, set the variable @code{zmacs-regions} to
@c @code{t}. @xref{Active Regions} for more information.
To switch between line and char mode, use these commands:
@table @kbd
-@kindex C-c C-k @r{(Term mode)}
+@kindex C-c C-j @r{(Term mode)}
findex term-char-mode
-@item C-c C-k
+@item C-c C-j
Switch to line mode. Do nothing if already in line mode.
-@kindex C-c C-j @r{(Term mode)}
+@kindex C-c C-k @r{(Term mode)}
@findex term-line-mode
-@item C-c C-j
+@item C-c C-k
Switch to char mode. Do nothing if already in char mode.
@end table
@end menu
@node Mule Intro, Language Environments, Mule, Mule
-@section Introduction to world scripts
-
- The users of these scripts have established many more-or-less standard
-coding systems for storing files.
-@c XEmacs internally uses a single multibyte character encoding, so that it
-@c can intermix characters from all these scripts in a single buffer or
-@c string. This encoding represents each non-ASCII character as a sequence
-@c of bytes in the range 0200 through 0377.
+@section What is Mule?
+
+Mule is the MUltiLingual Extension to XEmacs. It provides facilities
+not only for handling text written in many different languages, but in
+fact multilingual texts containing several languages in the same buffer.
+This goes beyond the simple facilities offered by Unicode for
+representation of multilingual text. Mule also supports input methods,
+composing display using fonts in various different encodings, changing
+character syntax and other editing facilities to correspond to local
+language usage, and more.
+
+The most obvious problem is that of the different character coding
+systems used by different languages. ASCII supplies all the characters
+needed for most computer programming languages and US English (it lacks
+the currency symbol for British English), but other Western European
+languages (French, Spanish, German) require more than 96 code positions
+for accented characters. In fact, even with 8 bits to represent 96 more
+character (including accented characters and symbols such as currency
+symbols), some languages' alphabets remain incomplete (Croatian,
+Polish). (The 64 "missing characters" are reserved for control
+characters.) Furthermore, many European languages have their own
+alphabets, which must conflict with the accented characters since the
+ASCII characters are needed for computer interaction (error and log
+messages are typically in ASCII).
+
+For economy of space, historical practice has been for each language to
+establish its own encoding for the characters it needs. This allows
+most European languages to represented with one octet (byte) per
+character. However, many Asian languages have thousands of characters
+and require two or more octets per character. For multilingual
+purposes, the ISO 2022 standard establishes escape codes that allow
+switching encodings in midstream. (It's also ISO 2022 that establishes
+the standard that code points 0-31 and 128-159 are control codes.)
+
+However, this is error-prone and complex for internal processing. For
+this reason XEmacs uses an internal coding system which can encode all
+of the world's scripts. Unfortunately, for historical reasons, this
+code is not Unicode, although we are moving in that direction.
+
XEmacs translates between the internal character encoding and various
other coding systems when reading and writing files, when exchanging
data with subprocesses, and (in some cases) in the @kbd{C-q} command
-(see below).
+(see below). The internal encoding is never visible to the user in a
+production XEmacs, but unfortunately the process cannot be completely
+transparent to the user. This is because the same ranges of octets may
+represent 1-octet ISO-8859-1 (which is satisfactory for most Western
+European use prior to the introduction of the Euro currency), 1-octet
+ISO-8859-15 (which substitutes the Euro for the rarely used "generic
+currency" symbol), 1-octet ISO-8859-5 (Cyrillic), or multioctet EUC-JP
+(Japanese). There's no way to tell without being able to read!
+
+A number of heuristics are incorporated in Mule for automatic
+recognition, there are facilities for the user to set defaults, and
+where necessary (rarely, we hope) to set coding systems directly.
@kindex C-h h
@findex view-hello-file
@node Recognize Coding, Specify Coding, Coding Systems, Mule
@section Recognizing Coding Systems
+@c #### This section is out of date. The following set-*-coding-system
+@c functions are known:
+
+@c set-buffer-file-coding-system
+@c set-buffer-file-coding-system-for-read
+@c set-buffer-process-coding-system
+@c set-console-tty-coding-system
+@c set-console-tty-input-coding-system
+@c set-console-tty-output-coding-system
+@c set-default-buffer-file-coding-system
+@c set-default-coding-systems
+@c set-default-file-coding-system
+@c set-file-coding-system
+@c set-file-coding-system-for-read
+@c set-keyboard-coding-system
+@c set-pathname-coding-system
+@c set-process-coding-system
+@c set-process-input-coding-system
+@c set-process-output-coding-system
+@c set-terminal-coding-system
+
+@c Some are marked as broken. Agenda: (1) Update this section using
+@c docstrings. Note that they may be inaccurate. (2) Correct the
+@c documentation here, updating docstrings at the same time.
+
+@c Document this.
+
+@c set-language-environment-coding-systems
+
+@c What are these?
+
+@c dontusethis-set-value-file-name-coding-system-handler
+@c dontusethis-set-value-keyboard-coding-system-handler
+@c dontusethis-set-value-terminal-coding-system-handler
+
Most of the time, XEmacs can recognize which coding system to use for
any given file--once you have specified your preferences.
subdirectory @file{packages}. Package file names follow
the naming convention @file{<package-name>-<version>-pkg.tar.gz}.
-If you have EFS @ref{(EFS)}, packages can be installed over the network.
+If you have @ref{(EFS)}, packages can be installed over the network.
Alternatively, if you have copies of the packages locally, you can
install packages from a local disk or CDROM.
The file @file{etc/PACKAGES} in the core distribution contains a list of
-the @ref{Available Packages} at the time of the XEmacs release. Packages are
-also listed on the @code{Options} menu under:
-
-@example
- Options->Customize->Emacs->Packages
-@end example
-
-However, don't select any of these menu picks unless you actually want
-to install the given package (and have properly configured your system
-to do so).
+the @ref{Available Packages} at the time of the XEmacs release.
You can also get a list of available packages, and whether or not they
are installed, using the visual package browser and installer. You can
access it via the menus:
@example
- Options->Manage Packages->List & Install
+ Tools -> Packages -> List and Install
@end example
Or, you can get to it via the keyboard:
After installing these by hand, fire up XEmacs and follow these
steps.
-Note: The menus in XEmacs 21.2.x and up have changed slightly, so
-where I mention "Options -> Manage Packages", substitute "Tools ->
-Packages".
-
@enumerate 1
@item
Choose a download site.
-via menu: Options -> Manages Packages -> Add Download Site
+via menu: Tools -> Packages -> Add Download Site
via keyb: @code{M-x customize-variable RET package-get-remote RET}
(put in the details of remote host and directory)
@item
Obtain a list of packages and display the list in a buffer named
@file{*Packages*}.
-menu: Options -> Manage Packages -> List & Install
+menu: Tools -> Packages -> List & Install
keyb: @code{M-x pui-list-packages RET}
XEmacs will now connect to the remote site and download the
looking for isn't here, please send a message to the
@email{xemacs-beta@@xemacs.org, XEmacs Beta list}.
-This data is up-to-date as of May 15, 2001.
+This data is up-to-date as of August 8, 2002.
@subsection Normal Packages
A very broad selection of elisp packages.
Basic TeX/LaTeX support.
@item bbdb
-The Big Brother Data Base
+The Big Brother Data Base: a rolodex-like database program.
@item build
Build XEmacs using custom widgets.
@item cc-mode
C, C++ and Java language support.
+@item clearcase
+Support for the Clearcase version control system.
+
@item cookie
-Spook and Yow (Zippy quotes).
+"Fortune cookie"-style messages. Includes Spook (suspicious phrases)
+and Yow (Zippy quotes).
@item crisp
Crisp/Brief emulation.
@item debug
GUD, gdb, dbx debugging support.
+@item dictionary
+Interface to RFC2229 dictionary servers.
+
@item dired
The DIRectory EDitor is for manipulating, and running commands on
files in a directory.
+@item docbookide
+DocBook editing support.
+
+@item ecrypto
+Crypto functionality in Emacs Lisp.
+
@item edebug
A Lisp debugger.
@item efs
Treat files on remote systems the same as local files.
-@item eicq
-ICQ Client developed and tested on Linux x86;
-only supported on that platform
-
@item eieio
Enhanced Implementation of Emacs Interpreted Objects.
@item eshell
Command shell implemented entirely in Emacs Lisp.
+@item ess
+ESS: Emacs Speaks Statistics.
+
@item eterm
Terminal emulator.
@item gnus
The Gnus Newsreader and Mailreader.
+@item haskell-mode
+Haskell editing support.
+
@item hm--html-menus
HTML editing.
+@item ibuffer
+Advanced replacement for buffer-menu.
+
@item idlwave
Editing and Shell mode for the Interactive Data Language.
Enhanced front-end for Grep.
@item ilisp
-Front-end for Inferior Lisp.
+Front-end for interacting with Inferior Lisp (external lisps).
@item ispell
Spell-checking with ispell.
@item jde
Java language and development support.
+@item liece
+IRC (Internet Relay Chat) client for Emacs.
+
@item mail-lib
Fundamental lisp files for providing email support.
Support for messaging encryption with PGP.
@item mew
-Messaging in an Emacs World.
+Messaging in an Emacs World; a MIME-based email program.
@item mh-e
Front end support for MH.
@item mine
-Minehunt.
+Elisp implementation of the game 'Minehunt'.
@item misc-games
Other amusements and diversions.
+@item mmm-mode
+Support for Multiple Major Modes within a single buffer.
+
@item net-utils
Miscellaneous Networking Utilities. This is a single-file package and
files may be deleted at will.
Miscellaneous single-file O/S utilities, for printing, archiving,
compression, remote shells, etc.
+@item ocaml
+Objective Caml editing support.
+
@item pc
PC style interface emulation.
@item prog-modes
Miscellaneous single-file lisp files for various programming languages.
-@item ps-print-nomule
-Old, but no-Mule safe ps-print.
+@item ps-print
+Print buffers to PostScript printers.
@item psgml
Validated HTML/SGML editing.
@item rmail
An obsolete Emacs mailer. If you do not already use it don't start.
+@item sasl
+Simple Authentication and Security Layer (SASL) library.
+
@item scheme
Front-end support for Inferior Scheme.
@item sh-script
Support for editing shell scripts.
+@item sieve
+Manage Sieve email filtering scripts.
+
@item slider
User interface tool.
+@item sml-mode
+Standard ML editing support.
+
@item sounds-au
XEmacs Sun sound files.
@item tpu
DEC EDIT/TPU support.
+@item tramp
+Remote shell-based file editing. This is similar to EFS or Ange-FTP,
+but works with rsh/ssh and rcp/scp.
+
@item vc
Version Control for Free systems.
supporting Lisp development. It is a single-file package so it may be
tailored.
+@item xslide
+XSL editing support.
+
@item xslt-process
A minor mode for (X)Emacs which allows running an XSLT processor on a
buffer.
Wnn (4.2 and 6) support. SJ3 support. Must be installed prior to
XEmacs build.
+@item latin-unity
+Unify character sets in a buffer. When characters belong to disjoint
+character sets, this attempts to translate the characters so
+that they belong to one character set. If the buffer coding system is
+not sufficient, this suggests different coding systems.
+
@item leim
Quail. Used for everything other than English and Japanese.
@item mule-base
Basic Mule support. Must be installed prior to building with Mule.
+@item mule-ucs
+Extended coding systems (including Unicode) for XEmacs.
+
@item skk
Another Japanese Language Input Method. Can be used without a
separate process running as a dictionary server.
+2002-08-23 Stephen J. Turnbull <stephen@xemacs.org>
+
+ * XEmacs 21.4.9 "Informed Management" is released.
+
2002-05-09 Stephen J. Turnbull <stephen@xemacs.org>
* XEmacs 21.4.8 "Honest Recruiter" is released.
+2002-02-04 Andy Piper <andy@xemacs.org>
+
+ * install.cc (install_one): Munge installed filename to fit inside
+ dialog.
+
2002-05-04 Stephen J. Turnbull <stephen@xemacs.org>
* XEmacs 21.4.7 "Economic Science" is released.
+2001-12-17 Andy Piper <andy@xemacs.org>
+
+ * desktop.cc (do_desktop_setup): register the whole gamut of C++
+ file types.
+
+2001-12-12 Andy Piper <andy@xemacs.org>
+
+ * win32.h (CDECL): reorder to remove warnings.
+
+ * Makefile.in.in: add new dependencies.
+
+ * desktop.h: new file.
+
+ * uninstall.cc: use it.
+
+ * install.cc (uninstall_one): when uninstalling xemacs remove
+ shortcuts also.
+
+ * desktop.cc (remove_xemacs_setup): split out from
+ remove_desktop_setup.
+ (remove_desktop_setup): call it.
+
+2001-12-05 Andy Piper <andy@xemacs.org>
+
+ * win32.h: re-order declarations for native windows from Fabrice
+ Popineau.
+
+2001-11-22 Andy Piper <andy@xemacs.org>
+
+ * Makefile.in.in (setup-bin.ini): cope with kit revisions.
+
+ * source.cc (save_dialog): warning removal.
+ (load_dialog): ditto.
+
+ * msg.cc: remove cvs id.
+
+ * desktop.cc (find_xemacs_version): new function. Cope with kit
+ revisions.
+ (find_xemacs_exe_path): use it.
+ (find_xemacs_exe_name): ditto.
+
2001-12-17 Stephen J. Turnbull <stephen@xemacs.org>
* XEmacs 21.4.6 "Common Lisp" is released.
* all: port from cygwin setup.
-%%% $Id: ChangeLog,v 1.2.2.15 2002/05/09 12:02:35 stephent Exp $
-$Revision: 1.2.2.15 $
+%%% $Id: ChangeLog,v 1.2.2.16 2002/08/20 11:36:02 stephent Exp $
+$Revision: 1.2.2.16 $
+
CYGWIN_SIZE=0
WIN32_SIZE=0
+KIT_VERSION=""
CONFIG_H = ../src/config.h
$(XEMACS) -batch -vanilla \
-eval '(setq package-net-cygwin32-binary-size $(CYGWIN_SIZE) \
package-net-win32-binary-size $(WIN32_SIZE) \
+ package-net-kit-version "$(KIT_VERSION)" \
package-net-setup-version "'$$V'")' \
-l ${srcdir}/../lisp/package-net.el \
-f package-net-batch-generate-bin-ini
msg.h log.h find.h reginfo.h
concat.o: concat.cc
desktop.o: desktop.cc win32.h resource.h ini.h msg.h state.h concat.h \
- mkdir.h dialog.h version.h port.h reginfo.h
+ mkdir.h dialog.h version.h port.h reginfo.h desktop.h
dialog.o: dialog.cc win32.h dialog.h msg.h log.h
diskfull.o: diskfull.cc win32.h diskfull.h
download.o: download.cc win32.h resource.h msg.h ini.h dialog.h \
port.h
install.o: install.cc win32.h \
resource.h ini.h dialog.h concat.h geturl.h mkdir.h state.h tar.h \
- diskfull.h msg.h regedit.h reginfo.h log.h hash.h port.h
+ diskfull.h msg.h regedit.h reginfo.h log.h hash.h port.h desktop.h
init.o: init.cc win32.h resource.h dialog.h state.h msg.h log.h
uninstall.o: uninstall.cc win32.h \
resource.h ini.h dialog.h concat.h geturl.h mkdir.h state.h tar.h \
- diskfull.h msg.h regedit.h reginfo.h log.h hash.h port.h
+ diskfull.h msg.h regedit.h reginfo.h log.h hash.h port.h desktop.h
localdir.o: localdir.cc win32.h dialog.h resource.h state.h msg.h \
concat.h log.h
log.o: log.cc win32.h resource.h msg.h log.h dialog.h state.h concat.h \
#include "regedit.h"
#include "port.h"
#include "log.h"
+#include "desktop.h"
extern "C" {
void make_link_2 (char *exepath, char *args, char *icon, char *lname);
}
static char*
+find_xemacs_version ()
+{
+ char* v = strdup (xemacs_package->info[xemacs_package->trust].version);
+ char* dash = strrchr (v, '-');
+ if (dash)
+ *dash = 0;
+ return v;
+}
+
+static char*
find_xemacs_exe_path ()
{
if (xemacs_package->type == TY_CYGWIN)
return backslash (concat (root_dir, "/bin/", XEMACS_CYGWIN_ARCH_NAME, 0));
else
return backslash (concat (root_dir, "\\XEmacs-",
- xemacs_package->info[xemacs_package->trust].version,
+ find_xemacs_version (),
"\\", XEMACS_NATIVE_ARCH_NAME, 0));
}
return strdup ("runemacs.exe");
else if (xemacs_package->type == TY_CYGWIN)
return backslash (concat ("xemacs-",
- xemacs_package->info[xemacs_package->trust].version,
+ find_xemacs_version (),
".exe", 0));
else
return strdup ("xemacs.exe");
}
void
-remove_desktop_setup()
+remove_xemacs_setup()
{
+ if (xemacs_package == 0)
+ return;
+
start_menu ("XEmacs", 0, 1, 0);
- start_menu ("Uninstall XEmacs", 0, 1, 0);
- start_menu (0, 0, 1, 0);
desktop_icon ("XEmacs", 0, 1);
- if (xemacs_package != 0)
- {
#define FROB(exe) remove_app_path (exe)
- FROB (find_xemacs_exe_name ());
- FROB ("runemacs.exe");
- FROB ("xemacs.exe");
+ FROB (find_xemacs_exe_name ());
+ FROB ("runemacs.exe");
+ FROB ("xemacs.exe");
#undef FROB
- }
+}
+
+void
+remove_desktop_setup()
+{
+ remove_xemacs_setup();
+ start_menu ("Uninstall XEmacs", 0, 1, 0);
+ start_menu (0, 0, 1, 0);
}
static void
log (0, "Registering .cpp files");
setup_explorer ("cpp", "C++ Source file", batname);
setup_explorer ("cc", "C++ Source file", batname);
+ setup_explorer ("cxx", "C++ Source file", batname);
setup_explorer ("hh", "C++ Header file", batname);
+ setup_explorer ("hpp", "C++ Header file", batname);
+ setup_explorer ("hxx", "C++ Header file", batname);
}
if (reg_c)
{
#include "reginfo.h"
#include "log.h"
#include "hash.h"
-
+#include "desktop.h"
#include "port.h"
static HWND ins_dialog = 0;
{
SetWindowText (ins_pkgname, name);
SetWindowText (ins_action, "Uninstalling...");
+ // remove shortcuts and registry entries
+ if (type != TY_GENERIC)
+ remove_xemacs_setup();
+
if (action == ACTION_UPGRADE)
log (0, "Uninstalling old %s", name);
else
for (cp=local; *cp; cp++)
if (*cp == '/' || *cp == '\\' || *cp == ':')
base = cp+1;
+
SetWindowText (ins_pkgname, base);
if (!exists (local) && exists (base))
tar_open (local);
while ((fn = tar_next_file ()))
{
- char *dest_file;
+ char *dest_file, *disp_file;
+ int len;
if (lst)
fprintf (lst, "%s\n", fn);
dest_file = map_filename (fn, type);
+
+ // The installer uses a variable width font. Assume roughly 32 chars
+ // will fit and munge the file accordingly.
+#define MAX_DISP_SIZE 50
+ disp_file = strdup(dest_file);
+ if ((len = strlen(dest_file)) > MAX_DISP_SIZE) {
+ disp_file += (len - MAX_DISP_SIZE);
+ disp_file[0] = '.';
+ disp_file[1] = '.';
+ disp_file[2] = '.';
+ }
+#undef MAX_DISP_SIZE
+ SetWindowText (ins_filename, disp_file);
- SetWindowText (ins_filename, dest_file);
log (LOG_BABBLE, "Installing file %s", dest_file);
if (tar_read_file (dest_file) != 0)
{
/* The purpose of this file is to centralize all the message
functions. */
-static char *cvsid = "\n%%% $Id: msg.cc,v 1.2.2.1 2001/12/17 05:49:18 stephent Exp $\n";
-
#include "win32.h"
#include <stdio.h>
#include <stdarg.h>
CAPTION "XEmacs Setup"\r
FONT 8, "MS Sans Serif"\r
BEGIN\r
- PUSHBUTTON "Next >",IDOK,199,176,45,15, WS_GROUP\r
+ PUSHBUTTON "Next >",IDOK,199,176,45,15,WS_GROUP\r
PUSHBUTTON "Cancel",IDCANCEL,256,176,45,15\r
CONTROL "Download from the Internet",IDC_SOURCE_DOWNLOAD,"Button",\r
BS_AUTORADIOBUTTON | WS_TABSTOP,127,102,152,10\r
LTEXT "",IDC_STATIC,10,169,291,1,SS_SUNKEN | NOT WS_GROUP\r
LTEXT "Installing Packages",IDC_STATIC,112,10,170,17\r
LTEXT "(PKG)",IDC_INS_PKG,112,26,170,11\r
- LTEXT "(FILE)",IDC_INS_FILE,112,41,166,11\r
+ LTEXT "(FILE)",IDC_INS_FILE,112,41,183,11\r
CONTROL "Progress1",IDC_INS_DISKFULL,"msctls_progress32",\r
WS_BORDER,123,143,165,10\r
CONTROL "Progress1",IDC_INS_IPROGRESS,"msctls_progress32",\r
IDS_ERR_OPEN_READ "Can't open %s for reading: %s"\r
IDS_ROOT_ABSOLUTE "The install directory must be absolute, with both a drive letter and leading slash, like C:\\Cygwin"\r
IDS_DOWNLOAD_COMPLETE "Download Complete"\r
- IDS_CVSID "\n%%% $Id: res.rc,v 1.2.2.1 2001/12/17 05:49:18 stephent Exp $\n"\r
+ IDS_CVSID "\n%%% $Id: res.rc,v 1.2.2.2 2002/08/20 11:36:07 stephent Exp $\n"\r
IDS_NOLOGFILE "Cannot open log file %s for writing"\r
IDS_UNINSTALL_COMPLETE "Uninstalls complete."\r
IDS_WININET "Unable to find or load the Internet Explorer 5 DLLs"\r
IDS_ERR_CHDIR "Could not change dir to %s"\r
- IDS_CREATE_DIR "The directory %s does not exist, create it?"\r
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."\r
IDS_DOWNLOAD_FAILED "Unable to download %s"\r
IDS_DOWNLOAD_INCOMPLETE "Download Incomplete. Try again?"\r
IDS_INSTALL_INCOMPLETE "Installation incomplete. Check /setup.log.full for details"\r
IDS_ROOT_NOCYGWIN "You should not install the Cygwin version without Cygwin installed. Proceed anyway?"\r
+ IDS_CREATE_DIR "The directory %s does not exist, create it?"\r
END\r
\r
#endif // English (U.S.) resources\r
static int rb[] = { IDC_SOURCE_NETINST, IDC_SOURCE_DOWNLOAD, IDC_SOURCE_CWD, 0 };
static void
-check_if_enable_next (HWND h)
-{
- EnableWindow (GetDlgItem (h, IDOK), source ? 1 : 0);
-}
-
-static void
load_dialog (HWND h)
{
- int i;
rbset (h, rb, source);
}
static void
save_dialog (HWND h)
{
- int i;
source = rbget (h, rb);
}
#define NOCOMATTRIBUTE
-#include <stdarg.h>
-
-#define WIN32_LEAN_AND_MEAN
-#include <windows.h>
-
-#include <wininet.h>
-#include <windowsx.h>
-
/* Cope with native win32 & mingw differences. Written by F. Popineau
<Fabrice.Popineau@supelec.fr> */
#ifdef WIN32_NATIVE
# define strnicmp _strnicmp
#endif
+#include <stdarg.h>
+
+#define WIN32_LEAN_AND_MEAN
+#include <windows.h>
+
+#include <wininet.h>
+#include <windowsx.h>
+
#ifndef CDECL
#define CDECL __cdecl
#endif
+2002-08-23 Stephen J. Turnbull <stephen@xemacs.org>
+
+ * XEmacs 21.4.9 "Informed Management" is released.
+
+2002-08-16 Jonathan Harris <jonathan@xemacs.org>
+
+ * config.inc.samp (USE_PORTABLE_DUMPER): Default to on.
+ * config.inc.samp (USE_MINIMAL_TAGBITS): Removed.
+ * config.inc.samp (USE_INDEXED_LRECORD_IMPLEMENTATION): Removed.
+ * config.inc.samp (GUNG_HO): Removed.
+ * xemacs.mak (USE_MINIMAL_TAGBITS): Removed.
+ * xemacs.mak (USE_INDEXED_LRECORD_IMPLEMENTATION): Removed.
+ * xemacs.mak (GUNG_HO): Removed.
+ * xemacs.mak (TAGBITS_DEFINES): Removed.
+ * xemacs.mak (LRECORD_DEFINES): Removed.
+ * xpm.mak: Default to using MSVCRT as the C runtime
+
+ Remove all vestiges of USE_MINIMAL_TAGBITS,
+ USE_INDEXED_LRECORD_IMPLEMENTATION, and GUNG_HO, since those
+ ifdefs have long been removed.
+
+ Make pdump the default.
+
+2002-07-05 Jonathan Harris <jonathan@xemacs.org>
+
+ * README: Document Visual Studio .NET setup
+
+2002-05-06 Jonathan Harris <jonathan@xemacs.org>
+
+ * README:
+ * config.inc.samp:
+ Update PNG version to 1.0.9, zlib version to 1.1.14.
+
2002-05-09 Stephen J. Turnbull <stephen@xemacs.org>
* XEmacs 21.4.8 "Honest Recruiter" is released.
+2002-03-26 Vin Shelton <acs@xemacs.org>
+
+ * xemacs.mak: Added special rule to build winclient.exe.
+
2002-05-04 Stephen J. Turnbull <stephen@xemacs.org>
* XEmacs 21.4.7 "Economic Science" is released.
-Building and Installing XEmacs on Windows 95/98/NT/2000 -*- mode:outline -*-
+Building and Installing XEmacs on Windows 95/98/NT/2000/XP -*- mode:outline -*-
David Hobley
Marc Paquette
Jonathan Harris
Ben Wing
-This is a port of XEmacs to Windows 95/98/NT/2000. If you are looking for a
+This is a port of XEmacs to Windows 95/98/NT/2000/XP. If you are looking for a
port of GNU Emacs, see http://www.cs.washington.edu/homes/voelker/ntemacs.html.
NT 3.51 or later is required for building on Windows NT. Note that the
developers typically use NT 4.0 and Windows 2000, and there may possibly be
============================
1. You will need Visual C++ V4.0 or later to compile everything. Personally
- we have tested V4.0, V4.2, V5.0 and v6.0.
+ we have tested V4.0, V4.2, V5.0, v6.0 and v7.0/.NET.
Note that Visual C++ assumes that the environment variables INCLUDE and
LIB are set to specify the location of the includes and libraries.
environment variables automatically set up in the registry, which
is generally a good idea.
+ Visual Studio .NET calls this batch file vsvars32.bat and installs it in
+ $Installdir\Common7\Tools, but doesn't offer at install time to
+ automatically set these environment variables up in the registry.
2. Grab the latest XEmacs source from
* Optional libraries
====================
-1. You really want the XPM library. Grab the latest version of the
- xpm sources (xpm-3.4k.tar.gz at time of writing) from
- ftp://ftp.xemacs.org/pub/xemacs/aux/ and unpack them somewhere.
- Copy nt\xpm.mak from the xemacs sources to the lib subdirectory of the
- xpm sources, cd to that directory and build xpm with 'nmake -f xpm.mak'.
+1. You really want the XPM library. Grab the latest version of the xpm
+ sources (xpm-3.4k.tar.gz as of 2002-04-27) from
+ ftp://ftp.xemacs.org/pub/xemacs/aux/ and unpack them somewhere. Copy
+ nt\xpm.mak from the xemacs sources to the lib subdirectory of the xpm
+ sources, cd to that directory and build xpm with 'nmake -f xpm.mak'.
-2. You probably also want PNG image support. Grab the latest versions of zlib
- and libpng (zlib-1.1.3 and libpng-1.0.2 at time of writing) from
- ftp://ftp.xemacs.org/pub/xemacs/aux/, unpack them somewhere and read
- the respective READMEs for details on how to build them. The following
- build procedure works for zlib-1.1.3 and libpng-1.0.2:
+2. You probably also want PNG image support. Grab the latest versions of
+ zlib and libpng (zlib-1.1.4 and libpng-1.0.9 as of 2002-04-27) from
+ ftp://ftp.xemacs.org/pub/xemacs/aux/, unpack them somewhere and read the
+ respective READMEs for details on how to build them. The following
+ build procedure works for zlib-1.1.4 and libpng-1.0.9:
cd to the zlib directory, type 'copy msdos\makefile.w32 Makefile' and
then type 'nmake'.
and type 'nmake -f scripts\makefile.w32'.
3. If you want TIFF support, grap the latest version of libtiff (tiff-v3.4
- at time of writing) from ftp://ftp.xemacs.org/pub/xemacs/aux/ and unpack
+ as of 2002-04-27) from ftp://ftp.xemacs.org/pub/xemacs/aux/ and unpack
it somewhere. Copy nt\tiff.mak from the xemacs sources to the
contrib\winnt subdirectory of the tiff sources, cd to that directory and
build libtiff with 'nmake -f tiff.mak'. Note: tiff.mak has only been
verified to work under WinNT, not Win95 or 98. However, the latest
- distribution of libtiff includes a contrib\win95\makefile.w95; that might
- work.
+ distribution of libtiff includes a contrib\win95\makefile.w95; that
+ might work.
-4. If you want JPEG support grab the latest version of jpegsrc (jpeg-6b at
- time of writing) from ftp://ftp.xemacs.org/pub/xemacs/aux/ and read the
+4. If you want JPEG support grab the latest version of jpegsrc (jpeg-6b as
+ of 2002-04-27) from ftp://ftp.xemacs.org/pub/xemacs/aux/ and read the
README for details on how to build it.
5. If you want X-Face support, grab the compface distribution from
XEmacs will be installed (by default) as
"c:\Program Files\XEmacs\XEmacs-21.4\i586-pc-win32\xemacs.exe".
- To run from the build directory, run the file "nt\xemacs.exe" off of the
+ To run from the build directory, run the file "src\xemacs.exe" off of the
root of the build directory.
You may want to create a shortcut to the file from your Desktop or
# Set this to enable PNG support (virtually mandatory), and specify
# the directories containing png and zlib.
HAVE_PNG=1
-PNG_DIR=c:\src\libpng-1.0.5
-ZLIB_DIR=c:\src\zlib-1.1.3
+PNG_DIR=c:\src\libpng-1.0.9
+ZLIB_DIR=c:\src\zlib
# Set this to enable TIFF support, and specify the directory containing tiff.
HAVE_TIFF=0
# Set this to get nmake to use dependency info (requires Perl to be installed)
DEPEND=0
-############################################################################
-
-# Some technical options.
+# Set this to use the portable dumper for dumping the preloaded Lisp
+# routines, instead of the older "unexec" routines in unexnt.c.
+USE_PORTABLE_DUMPER=1
-USE_MINIMAL_TAGBITS=0
-USE_INDEXED_LRECORD_IMPLEMENTATION=0
-USE_PORTABLE_DUMPER=0
-GUNG_HO=0
!if !defined(USE_MINITAR)
USE_MINITAR=$(HAVE_ZLIB)
!endif
-!if !defined(USE_MINIMAL_TAGBITS)
-USE_MINIMAL_TAGBITS=0
-!endif
-!if !defined(USE_INDEXED_LRECORD_IMPLEMENTATION)
-USE_INDEXED_LRECORD_IMPLEMENTATION=0
-!endif
!if !defined(USE_PORTABLE_DUMPER)
USE_PORTABLE_DUMPER=0
!endif
-!if !defined(GUNG_HO)
-GUNG_HO=0
-!endif
# A little bit of adhockery. Default to use system malloc and
# DLL version of the C runtime library when using portable
!endif
#
-# Handle GUNG_HO
-#
-!if defined(GUNG_HO)
-USE_MINIMAL_TAGBITS=$(GUNG_HO)
-USE_INDEXED_LRECORD_IMPLEMENTATION=$(GUNG_HO)
-!endif
-
-#
# Whether to use dependency information generated by make-src-depend
#
!if !defined(DEPEND)
QUICK_DEFINES=-DQUICK_BUILD
!endif
-!if $(USE_MINIMAL_TAGBITS)
-TAGBITS_DEFINES=-DUSE_MINIMAL_TAGBITS
-!endif
-!if $(USE_INDEXED_LRECORD_IMPLEMENTATION)
-LRECORD_DEFINES=-DUSE_INDEXED_LRECORD_IMPLEMENTATION
-!endif
!if $(USE_UNION_TYPE)
UNION_DEFINES=-DUSE_UNION_TYPE
!endif
INCLUDES=$(X_INCLUDES) $(MSW_INCLUDES) -I$(NT)\inc -I$(SRC) -I$(LWLIB_SRCDIR)
-DEFINES=$(X_DEFINES) $(MSW_DEFINES) $(MULE_DEFINES) \
- $(TAGBITS_DEFINES) $(LRECORD_DEFINES) $(UNION_DEFINES) \
+DEFINES=$(X_DEFINES) $(MSW_DEFINES) $(MULE_DEFINES) $(UNION_DEFINES) \
$(DUMPER_DEFINES) $(MALLOC_DEFINES) $(QUICK_DEFINES) \
-DWIN32_LEAN_AND_MEAN -DWIN32_NATIVE -Demacs \
-DHAVE_CONFIG_H $(PROGRAM_DEFINES) $(PATH_DEFINES)
$(CCV) -I. -I$(XEMACS)/src -I$(XEMACS)/nt/inc $(LIB_SRC_DEFINES) $(CFLAGS) -Fe$@ $** wsock32.lib -link -incremental:no
cd $(NT)
+$(LIB_SRC)/winclient.exe: $(LIB_SRC)/winclient.c
+ cd $(LIB_SRC)
+ $(CCV) -I. -I$(XEMACS)/src -I$(XEMACS)/nt/inc $(LIB_SRC_DEFINES) $(CFLAGS) -Fe$@ $** user32.lib -link -incremental:no
+ cd $(NT)
+
$(LIB_SRC)/minitar.exe : $(NT)/minitar.c
$(CCV) $(CFLAGS) -I$(ZLIB_DIR) -Fe$@ $** $(ZLIB_DIR)\zlib.lib -link -incremental:no
$(LIB_SRC)/etags.exe \
$(LIB_SRC)/hexl.exe \
$(LIB_SRC)/i.exe \
+ $(LIB_SRC)/winclient.exe \
$(LIB_SRC)/make-docfile.exe \
$(LIB_SRC)/mmencode.exe \
$(LIB_SRC)/movemail.exe \
WARNING: expense of an additional ~4KB of code.
--------------------------------------------------------------------
!endif
-!if $(USE_MINIMAL_TAGBITS)
- Using minimal tagbits.
-!endif
-!if $(USE_INDEXED_LRECORD_IMPLEMENTATION)
- Using indexed lrecord implementation.
-!endif
!if $(USE_UNION_TYPE)
Using union type for Lisp object storage.
!endif
!endif
!if !defined(USE_CRTDLL)
-USE_CRTDLL=0
+USE_CRTDLL=1
!endif
!if $(DEBUG)
mkdir ..\X11
Xpm.lib: $(OBJS)
-!if $(USE_CRTDLL)
-# Target is ok, link builds lib as a side effect.
- link -nologo -dll -def:xpm.def -out:Xpm.dll gdi32.lib $(OBJS)
-!else
lib -nologo -out:$@ $(OBJS)
-!endif
+2002-08-23 Stephen J. Turnbull <stephen@xemacs.org>
+
+ * XEmacs 21.4.9 "Informed Management" is released.
+
+2002-08-19 Andy Piper <andy@xemacs.org>
+
+ * fileio.c (Ffile_truename): on cygwin using win32 normalize to
+ win32 format.
+
+ * realpath.c (xrealpath): normalize drive spec also so that dir
+ sep chars are not mixed on cygwin.
+
+2002-08-06 Jerry James <james@xemacs.org>
+
+ * window.c (Fsplit_window): Count only half of the divider width
+ against the left window when splitting horizontally.
+
+2002-06-24 Andy Piper <andy@xemacs.org>
+
+ * toolbar-gtk.c (GTK_OUTPUT_BUTTONS_LOOP): output button if whole
+ toolbar was cleared.
+
+ * toolbar-msw.c (mswindows_clear_frame_toolbars): new
+ function. Split out from mswindows_output_frame_toolbars.
+ (mswindows_output_frame_toolbars): move clear pieces to
+ mswindows_output_frame_toolbars.
+
+ * toolbar-gtk.c (gtk_clear_frame_toolbars): new function. Split
+ out from gtk_output_frame_toolbars.
+ (gtk_output_frame_toolbars): move clear pieces to
+ gtk_clear_frame_toolbars.
+
+ * toolbar-x.c (X_OUTPUT_BUTTONS_LOOP): always output buttons when
+ the frame is cleared. How this ever worked before is a mystery.
+ (x_output_frame_toolbars): Only output toolbars.
+ (x_clear_frame_toolbars): new. Clear previous toolbar locations.
+
+ * gutter.c (update_gutter_geometry):
+ Mark frame layout changed.
+ (update_frame_gutter_geometry, update_frame_gutters):
+ Respect frame_layout_changed.
+
+ * console.h (struct console_methods): add
+ clear_frame_toolbars_method.
+
+ * redisplay.c (redisplay_frame): call
+ update_frame_toolbars_geometry and re-order update_frame_toolbars.
+
+ * toolbar.h: declare update_frame_toolbars_geometry.
+
+ * toolbar.c (update_frame_toolbars_geometry): new function. Split
+ out from update_frame_toolbars. Call clear_frame_toolbars.
+ (update_frame_toolbars): only output, do not change geometry.
+
+ * redisplay.c: add frame_layout_changed.
+
+ * redisplay.h: add frame_layout_changed.
+ (CLASS_RESET_CHANGED_FLAGS): set it.
+ (GLOBAL_RESET_CHANGED_FLAGS): ditto.
+ (CLASS_REDISPLAY_FLAGS_CHANGEDP): test it.
+ (GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto.
+
+ * device.h (struct device): add frame_layout_changed.
+ (MARK_DEVICE_FRAME_LAYOUT_CHANGED): new.
+
+ * frame.h (struct frame): add frame_layout_changed.
+ (MARK_FRAME_LAYOUT_CHANGED): new.
+
+2002-06-30 Mike Alexander <mta@arbortext.com>
+
+ * event-msw.c (mswindows_need_event): Don't wait for a new message
+ if the queue is not empty. Suggested by Paul Moore.
+
+2002-06-12 Andy Piper <andy@xemacs.org>
+
+ * frame-msw.c (msprinter_init_frame_3): calculate the frame size
+ for printing on accurately.
+
+2002-06-09 Rick Rankin <rick_rankin@yahoo.com>
+
+ * event-msw.c (mswindows_wnd_proc): Add a handler for the
+ WM_ACTIVATE message. Make sure that the frame is visible if the
+ window is visible. This seemss to fix the problem where XEmacs
+ appears to freeze after switching desktops with certain virtual
+ window managers.
+ (debug_output_mswin_message): Added code to output message
+ parameters for WM_WINDOWPOSCHANGED,
+ WM_WINDOWPOSCHANGING, WM_MOVE, and WM_SIZE messages.
+
+2002-05-25 Andy Piper <andy@xemacs.org>
+
+ * select-x.c (vars_of_select_x): Fix docstring of
+ x-selection-strict-motif-ownership
+
+2002-08-14 Stephen J. Turnbull <stephen@xemacs.org>
+
+ * keymap.c (get_keymap):
+ Add comment about do_autoload GCPROs own args.
+
+2002-08-14 Stephen J. Turnbull <stephen@xemacs.org>
+
+ * bytecode.c (execute_optimized_program): check_opcode ifdef
+ ERROR_CHECK_BYTE_CODE.
+
+2002-08-14 Stephen J. Turnbull <stephen@xemacs.org>
+
+ Thanks to Ben Wing and Michael Sperber.
+
+ * eval.c (Fcommand_execute):
+ (Feval):
+ (Ffuncall):
+ (Fmacroexpand_internal):
+ (function_argcount):
+ callint.c (Fcall_interactively):
+ Add comment about do_autoload GCPROs own args.
+
+ * (do_autoload): GCPRO both args as well as local Lisp_Object.
+
+ * eval.c (Ffuncall): Extra braces to placate GCC.
+
+2002-08-10 Stephen J. Turnbull <stephen@xemacs.org>
+
+ * backtrace.h (grow_specpdl):
+ (SPECPDL_RESERVE):
+ * EmacsFrame.c (EmacsFrameSetValues):
+ * eval.c (grow_specpdl):
+ * ExternalShell.c (hack_event_masks_1):
+ * glyphs-x.c (convert_EImage_to_XImage):
+ (x_finalize_image_instance):
+ * ralloc.c (page_size):
+ (r_alloc_sbrk):
+ * xgccache.c (gc_cache_hash):
+ Fix unsigned comparison warnings.
+
+2002-07-29 Jerry James <james@xemacs.org>
+
+ * lread.c (locate_file): Any nonnegative return value indicates
+ success if MODE is nonnegative.
+
+2002-08-03 Brian A Palmer <bpalmer@rescomp.Stanford.EDU>
+
+ * emacs.c (Fsplit_string_by_char): Make 2nd arg SEPCHAR a required
+ argument.
+
+2002-07-17 Stephen J. Turnbull <stephen@xemacs.org>
+
+ * process-unix.c (unix_send_process): #ifdef the coding_stream member.
+
+ * dumper.c (pdump_get_indirect_count):
+ (pdump_scan_by_alignment):
+ (pdump_dump_root_struct_ptrs):
+ (pdump_dump_rtables):
+ (pdump_dump_root_objects):
+ (pdump):
+ * nas.c (WaveOpenDataForReading):
+ * fns.c (print_bit_vector):
+ * font-lock.c (SINGLE_SYNTAX_STYLE):
+ * glyphs.c (check_for_ignored_expose):
+ (find_matching_subwindow):
+ * glyphs-eimage.c:
+ * imgproc.c (get_histogram):
+ * redisplay.c (point_in_line_start_cache):
+ * redisplay-output.c (redisplay_unmap_subwindows):
+ * symbols.c (defsymbol_massage_name_1):
+ (defkeyword_massage_name):
+ (deferror_massage_name_and_message):
+ * redisplay-x.c (x_output_string):
+ * emacs.c (run_temacs_argv_size, run_temacs_args_size):
+ * frame.h (struct frame):
+ * filelock.c (current_lock_owner):
+ * doprnt.c (emacs_doprnt_1):
+ * lisp.h (struct Lisp_Bit_Vector):
+ (DO_REALLOC):
+ Fix warnings.
+
+2002-02-13 Ben Wing <ben@xemacs.org>
+
+ * event-stream.c (reset_key_echo):
+ * event-stream.c (reset_this_command_keys):
+ * event-stream.c (execute_command_event):
+ If console is dead as a result of C-x 5 0, then post-command stuff
+ needs to be careful and do only non-console-specific stuff.
+
+2002-07-01 Mike Sperber <mike@xemacs.org>
+
+ * process-unix.c (unix_send_process): Mark coding_outstream as
+ non-open upon SIGPIPE.
+
+ * event-stream.c (Fnext_event): Reorder switch cases to something
+ that makes sense.
+
+2001-08-13 Dmitry Astapov <adept@umc.com.ua>
+
+ * event-Xt.c (maybe_define_x_key_as_self_inserting_character):
+ Don't bogusly reinitialize ascii_character property.
+
+2002-07-08 Mike Sperber <mike@xemacs.org>
+
+ * process.c (Fstart_process_internal): Do error checking before we
+ fork off the child, so the child can't muck with the state of the
+ parent.
+
+2002-07-08 Mike Sperber <mike@xemacs.org>
+
+ * ralloc.c (init_ralloc): Allocate properly for pdump.
+
+2002-06-12 Andy Piper <andy@xemacs.org>
+
+ * glyphs.c (query_string_geometry): check the string.
+
+ * glyphs-widget.c (widget_logical_unit_height): cope with nil
+ widget names.
+
+2002-06-17 Jerry James <james@xemacs.org>
+
+ * sysdll.c: Remove RTLD_GLOBAL initialization.
+ * sysdll.c (dll_open): Do not use RTLD_GLOBAL.
+
+2002-06-25 Stephen J. Turnbull <stephen@xemacs.org>
+
+ * search.c (skip_chars): Port Ben's crash fix and efficiency patch.
+
+2002-05-16 Mathias Grimmberger <mgri@zaphod.sax.de>
+
+ * sysdep.c (sys_rename): Make sys_rename work for the case where
+ Windows rename sets errno to EACCES if target file exists.
+
+2002-05-21 Jonathan Harris <jonathan@xemacs.org>
+
+ * device-msw.c (mswindows_handle_page_setup_dialog_box):
+ Fix detection of metric units to work on Win95
+
+2002-05-21 Stephen J. Turnbull <stephen@xemacs.org>
+
+ * syswindows.h: #define LOCALE_RETURN_NUMBER. Why, I don't know.
+
+2002-04-25 Andy Piper <andy@xemacs.org>
+
+ * redisplay.c (create_text_block): Remove extra comment trailer.
+
+2002-04-24 Andy Piper <andy@xemacs.org>
+
+ * redisplay.c (create_text_block): Don't actually add propagation
+ data if the line ends after we have added a glyph.
+
+2002-04-22 Andy Piper <andy@xemacs.org>
+
+ * extents.c (extent_fragment_update): check for glyphs we have
+ previously displayed.
+ * extents.c (print_extent_1): warning removal.
+ * extents.h: change prototype.
+ * redisplay-output.c (redisplay_normalize_glyph_area): calculate
+ widths correctly for wide glyphs.
+ * redisplay.c (position_redisplay_data_type): add end_glyph_width.
+ * redisplay.c (prop_type): add PROP_GLYPH.
+ * redisplay.c (struct prop_block): add glyph type
+ * redisplay.c (add_glyph_rune): when adding part of a glyph add it
+ to the propagation data.
+ * redisplay.c (create_text_block): if there is a glyph in the
+ propagation data use it to salt extent_fragment_update.
+ * redisplay.c (create_string_text_block): ditto.
+
+2002-04-13 Nix <nix@esperi.demon.co.uk>
+
+ * redisplay.h (struct rune): Add ascent, descent, and yoffset fields.
+ * redisplay-output.c (compare_runes): Compare them.
+ * redisplay.c: Update copyright date.
+ * redisplay.c (pos_data): Add need_baseline_computation field.
+ * redisplay.c (add_glyph_rune): Update ascent, descent, and
+ need_baseline_computation; zero yoffset. Set max_pixmap_height
+ for all pixmaps, not just automatically positioned ones.
+ * redisplay.c (calculate_yoffset): New, compute yoffset values.
+ * redisplay.c (calculate_baseline): New, compute textual baseline.
+ * redisplay.c (add_glyph_rune): Call them.
+ * redisplay.c (create_text_block): Likewise.
+ * redisplay.c (create_overlay_glyph_block): Likewise.
+ * redisplay.c (add_margin_runes): Likewise.
+ * redisplay.c (create_string_text_block): Likewise. Fix tabdamage.
+
+ * redisplay.h: (redisplay_calculate_display_boxes): Change prototype.
+ * redisplay-output.c (redisplay_calculate_display_boxes): Use yoffset.
+ * redisplay-msw.c (mswindows_output_blank): Pass 0 as yoffset.
+ * redisplay-msw.c (mswindows_output_string): Likewise.
+ * redisplay-msw.c (mswindows_output_display_block): Pass yoffset.
+ * redisplay-gtk.c (gtk_output_display_block): Likewise.
+ * redisplay-x.c (x_output_display_block): Likewise.
+
+2002-03-28 Ben Wing <ben@xemacs.org>
+
+ * redisplay.c: Fixed bug in redisplay
+ w.r.t. hscroll/truncation/continuation glyphs causing jumping up
+ and down of the lines, since they're bigger than the line
+ size. (It was seen most obviously when there's a horizontal scroll
+ bar, e.g. do C-h a glyph or something like that.) The problem was
+ that the glyph-contrib-p setting on glyphs was ignored even if it
+ was set properly, which it wasn't until now.
+
+2002-04-24 Andy Piper <andy@xemacs.org>
+
+ * lisp.h (Dynarr_end): Fix definition.
+
+2002-02-06 Adrian Aichner <adrian@xemacs.org>
+
+ * redisplay.c (mark_redisplay): Remove call to
+ update_frame_window_mirror.
+
+2001-11-15 Andy Piper <andy@xemacs.org>
+
+ * win32.c (Fmswindows_shell_execute): fix handling of URL's under
+ cygwin (again).
+
+2002-02-13 Andy Piper <andy@xemacs.org>
+
+ * event-msw.c (mswindows_wnd_proc): only mark the frame visible if
+ we did in fact enqueue the XM_MAPFRAME event.
+
+2002-01-15 Adrian Aichner <adrian@xemacs.org>
+
+ * event-msw.c (mswindows_wnd_proc): Add handling of WM_SHOWWINDOW
+ to fix problem switching between virtual desktops under virtuawin
+ virtual window manager.
+
+2001-07-30 Adrian Aichner <adrian@xemacs.org>
+
+ * event-msw.c: Typo fix.
+ * event-msw.c (mswindows_wnd_proc): Set FRAME_VISIBLE_P after
+ magic XM_MAPFRAME event has been sent.
+
+2001-11-23 Andy Piper <andy@xemacs.org>
+
+ * event-msw.c (mswindows_wnd_proc): Don't pump mousewheel events.
+
+2001-11-21 Andy Piper <andy@xemacs.org>
+
+ * scrollbar-msw.c (mswindows_handle_mousewheel_event): cope with
+ mouse events outside the frame.
+
+2002-03-20 Andy Piper <andy@xemacs.org>
+
+ * menubar-msw.c (mswindows_popup_menu): warning removal.
+ * dialog-msw.c (dialog_popped_down): ditto.
+
+2001-12-11 Andy Piper <andy@xemacs.org>
+
+ * dialog-msw.c (dialog_popped_down): new function. unset popup_up_p.
+ * dialog-msw.c (mswindows_make_dialog_box_internal): set
+ popup_up_p.
+ * menubar-msw.c (unsafe_handle_wm_initmenupopup_1): ditto.
+ * menubar-msw.c (mswindows_handle_wm_command): ditto.
+ * menubar-msw.c (mswindows_popup_menu): ditto.
+
+2001-10-29 Andy Piper <andy@xemacs.org>
+
+ * dialog-msw.c (handle_directory_dialog_box): quit if the user
+ cancels.
+
+2002-01-03 Andy Piper <andy@xemacs.org>
+
+ * realpath.c (ABS_LENGTH): dtrt for cygwin systems using drive
+ letters.
+ (xrealpath): ditto.
+
+2002-03-29 Jonathan Harris <jonathan@xemacs.org>
+
+ * device-msw.c (plist_get_margin): Add arg specifying mm or inches
+ * device-msw.c (plist_set_margin): Fix multiplicand used for mm
+ * device-msw.c (mswindows_handle_page_setup_dialog_box):
+ Detect and handle case where machine is set up for metric units
+
+2002-04-02 Andy Piper <andy@xemacs.org>
+
+ * dired-msw.c (mswindows_get_files):
+ * nt.c (mswindows_stat): SetErrorMode() so that file errors are
+ completely handled by XEmacs. Suggested by Thomas Vogler
+ <mail@thomas-vogler.de>.
+
+2001-11-14 Andy Piper <andy@xemacs.org>
+
+ * nt.c (REG_ROOT): change registry key to XEmacs.
+
+2002-04-27 Andy Piper <andy@xemacs.org>
+
+ * glyphs-msw.c (mswindows_widget_instantiate): remove dead-code.
+
+2002-04-26 Andy Piper <andy@xemacs.org>
+
+ * glyphs-msw.c (mswindows_map_subwindow): observe :initial-focus
+ behavior.
+
+2002-03-14 Mike Alexander <mta@arbortext.com>
+
+ * event-msw.c (mswindows_unwait_process): New, remove process from
+ wait list
+ * process-nt.c (nt_finalize_process_data): Call
+ mswindows_unwait_process
+ * console-msw.h: Declare mswindows_unwait_process
+
+2002-05-14 Stephen J. Turnbull <stephen@xemacs.org>
+
+ * editfns.c (Fdecode_time):
+ (Fformat_time_string):
+ Check for invalid time. Thanks to Nick Pakoulin <npak@ispras.ru>.
+ (make_time): Warning elimination (change arg name).
+
+2001-11-24 Andy Piper <andy@xemacs.org>
+
+ * window.c (Fsplit_window): Doc return type.
+
+2002-04-01 Andy Piper <andy@xemacs.org>
+
+ * emacs.c (Fkill_emacs): Only output message box in interactive
+ mode.
+
+2002-04-26 Andy Piper <andy@xemacs.org>
+
+ * config.h.in: pull in 21.5.x change to stop alloca warnings under
+ cygwin.
+
+2002-03-18 Gregory Steuck <greg-xemacs-patch@nest.cx>
+
+ * unexelf.c: Use ELFSIZE or define from _LP64 to indicate a 64
+ bit platform.
+
2002-05-09 Stephen J. Turnbull <stephen@xemacs.org>
* XEmacs 21.4.8 "Honest Recruiter" is released.
if (cur->core.width == new->core.width
&& cur->core.height == new->core.height)
{
- int i;
+ Cardinal i;
for (i=0; i<*argc; i++)
if (strcmp (argv[i].name, XtNwidth) == 0
|| strcmp (argv[i].name, XtNheight) == 0)
{
Window root, parent, *children;
unsigned int nchildren;
- int i;
+ unsigned int i;
if (!XQueryTree (display, w, &root, &parent, &children, &nchildren))
return;
/* Most callers should simply use specbind() and unbind_to(), but if
speed is REALLY IMPORTANT, you can use the faster macros below */
void specbind_magic (Lisp_Object, Lisp_Object);
-void grow_specpdl (size_t reserved);
+void grow_specpdl (EMACS_INT reserved);
void unbind_to_hairy (int);
extern int specpdl_size;
} while (0)
/* Request enough room for SIZE future entries on special binding stack */
+/* SR_size will typically be compared to an unsigned short */
#define SPECPDL_RESERVE(size) do { \
- size_t SR_size = (size); \
+ EMACS_INT SR_size = (size); \
if (specpdl_depth() + SR_size >= specpdl_size) \
grow_specpdl (SR_size); \
} while (0)
typedef unsigned char Opbyte;
\f
+static void check_opcode (Opcode opcode);
static void invalid_byte_code_error (char *error_message, ...);
Lisp_Object * execute_rare_opcode (Lisp_Object *stack_ptr,
invalid_byte_code_error ("byte code stack overflow");
if (stack_ptr < stack_beg)
invalid_byte_code_error ("byte code stack underflow");
+ check_opcode (opcode);
#endif
#ifdef BYTE_CODE_METER
if (EQ (funcar, Qautoload))
{
- struct gcpro gcpro1, gcpro2;
- GCPRO2 (function, prefix);
+ struct gcpro gcpro1;
+ GCPRO1 (prefix);
+ /* do_autoload GCPROs both arguments */
do_autoload (fun, function);
UNGCPRO;
goto retry;
#undef HAVE_ALLOCA_H
#ifndef NOT_C_CODE
-#ifdef __GNUC__
+#if defined (__CYGWIN__)
+/* We get complaints about redefinitions if we just use the __GNUC__
+ definition: stdlib.h also includes alloca.h, which defines it slightly
+ differently */
+#include <alloca.h>
+#elif defined (__GNUC__)
#define alloca __builtin_alloca
#elif defined __DECC
#include <alloca.h>
HANDLE get_nt_process_handle (Lisp_Process *p);
#endif
+void mswindows_unwait_process (Lisp_Process *p);
+
extern Lisp_Object Vmswindows_frame_being_created;
extern Lisp_Object mswindows_frame_being_created;
#ifdef HAVE_TOOLBARS
/* toolbar methods */
void (*output_frame_toolbars_method) (struct frame *);
+ void (*clear_frame_toolbars_method) (struct frame *);
void (*initialize_frame_toolbars_method) (struct frame *);
void (*free_frame_toolbars_method) (struct frame *);
void (*output_toolbar_button_method) (struct frame *, Lisp_Object);
}
static int
-plist_get_margin (Lisp_Object plist, Lisp_Object prop)
+plist_get_margin (Lisp_Object plist, Lisp_Object prop, int mm_p)
{
Lisp_Object val =
Fplist_get (plist, prop, make_int (mswindows_get_default_margin (prop)));
if (!INTP (val))
invalid_argument ("Margin value must be an integer", val);
- return MulDiv (XINT (val), 100, 144);
+ return MulDiv (XINT (val), mm_p ? 254 : 100, 144);
}
static Lisp_Object
plist_set_margin (Lisp_Object plist, Lisp_Object prop, int margin, int mm_p)
{
- Lisp_Object val = make_int (MulDiv (margin, 144, mm_p ? 2450 : 100));
+ Lisp_Object val = make_int (MulDiv (margin, 144, mm_p ? 254 : 100));
return Fcons (prop, Fcons (val, plist));
}
{
Lisp_Devmode *ldm = decode_devmode (device);
PAGESETUPDLG pd;
+ TCHAR measure[2];
+ int data;
+
+ GetLocaleInfo (LOCALE_USER_DEFAULT, LOCALE_IMEASURE,
+ measure, sizeof(measure));
+ data = (strcmp (measure, "0"));
memset (&pd, 0, sizeof (pd));
pd.lStructSize = sizeof (pd);
pd.hwndOwner = mswindows_get_selected_frame_hwnd ();
pd.Flags = PSD_MARGINS;
- pd.rtMargin.left = plist_get_margin (plist, Qleft_margin);
- pd.rtMargin.top = plist_get_margin (plist, Qtop_margin);
- pd.rtMargin.right = plist_get_margin (plist, Qright_margin);
- pd.rtMargin.bottom = plist_get_margin (plist, Qbottom_margin);
+ pd.rtMargin.left = plist_get_margin (plist, Qleft_margin, !data);
+ pd.rtMargin.top = plist_get_margin (plist, Qtop_margin, !data);
+ pd.rtMargin.right = plist_get_margin (plist, Qright_margin, !data);
+ pd.rtMargin.bottom = plist_get_margin (plist, Qbottom_margin, !data);
pd.hDevMode = devmode_to_hglobal (ldm);
if (!PageSetupDlg (&pd))
unsigned int extents_changed :1;
unsigned int faces_changed :1;
unsigned int frame_changed :1;
+ unsigned int frame_layout_changed :1; /* The layout of frame
+ elements has changed. */
unsigned int glyphs_changed :1;
unsigned int subwindows_changed :1;
unsigned int subwindows_state_changed :1;
#define MARK_DEVICE_FRAME_CHANGED(d) \
((void) (frame_changed = (d)->frame_changed = 1))
+#define MARK_DEVICE_FRAME_LAYOUT_CHANGED(d) \
+ ((void) (frame_layout_changed = (d)->frame_layout_changed = 1))
+
#define MARK_DEVICE_WINDOWS_CHANGED(d) \
((void) (windows_changed = (d)->windows_changed = 1))
return arg;
}
+/* Unwind protection decrements dialog count */
+static Lisp_Object
+dialog_popped_down (Lisp_Object arg)
+{
+ popup_up_p--;
+ return Qnil;
+}
+
#define ALIGN_TEMPLATE \
{ \
pMalloc->lpVtbl->Free(pMalloc, pidl);
pMalloc->lpVtbl->Release(pMalloc);
return ret;
- }
+ }
else if (pd.unknown_fname != 0) {
ret = tstr_to_local_file_format (pd.unknown_fname);
xfree(pd.unknown_fname);
}
-
+ else while (1)
+ signal_quit ();
}
else
signal_type_error (Qdialog_box_error,
mswindows_make_dialog_box_internal (struct frame* f, Lisp_Object type,
Lisp_Object keys)
{
+ int unbind_count = specpdl_depth ();
+ record_unwind_protect (dialog_popped_down, Qnil);
+ popup_up_p++;
+
if (EQ (type, Qfile))
- return handle_file_dialog_box (f, keys);
+ return unbind_to (unbind_count, handle_file_dialog_box (f, keys));
else if (EQ (type, Qdirectory))
- return handle_directory_dialog_box (f, keys);
+ return unbind_to (unbind_count, handle_directory_dialog_box (f, keys));
else if (EQ (type, Qquestion))
- return handle_question_dialog_box (f, keys);
+ return unbind_to (unbind_count, handle_question_dialog_box (f, keys));
else if (EQ (type, Qprint))
- return mswindows_handle_print_dialog_box (f, keys);
+ return unbind_to (unbind_count, mswindows_handle_print_dialog_box (f, keys));
else if (EQ (type, Qpage_setup))
- return mswindows_handle_page_setup_dialog_box (f, keys);
+ return unbind_to (unbind_count,
+ mswindows_handle_page_setup_dialog_box (f, keys));
else
signal_type_error (Qunimplemented, "Dialog box type", type);
return Qnil;
int findex, len;
char win32pattern[MAXNAMLEN+3];
HANDLE fh;
+ int errm;
/*
* Much of the following code and comments were taken from dired.c.
*/
findex = 0;
fh = INVALID_HANDLE_VALUE;
+ errm = SetErrorMode (SEM_FAILCRITICALERRORS
+ | SEM_NOOPENFILEERRORBOX);
while (1)
{
fh = FindFirstFile(win32pattern, &files[findex]);
if (fh == INVALID_HANDLE_VALUE)
{
+ SetErrorMode (errm);
report_file_error ("Opening directory",
list1(build_string(dirfile)));
}
break;
}
FindClose(fh);
+ SetErrorMode (errm);
report_file_error ("Reading directory",
list1(build_string(dirfile)));
}
*nfiles = findex;
break;
}
+
+ SetErrorMode (errm);
return (files);
}
char *text_to_print =
alloca_array (char, 32 +
max (spec->minwidth,
- max (sizeof (double), sizeof (long)) * 3 +
+ (EMACS_INT)
+ max (sizeof (double), sizeof (long)) * 3 +
max (spec->precision, 0)));
char constructed_spec[100];
char *p = constructed_spec;
const struct lrecord_description *idesc,
const void *idata)
{
- EMACS_INT count;
+ EMACS_INT count = 0; /* initialize to shut up GCC */
const void *irdata;
int line = XD_INDIRECT_VAL (code);
for (align = ALIGNOF (max_align_t); align; align>>=1)
{
- int i;
+ size_t i;
pdump_entry_list_elt *elt;
for (i=0; i<lrecord_type_count; i++)
static void
pdump_dump_root_struct_ptrs (void)
{
- int i;
+ size_t i;
size_t count = Dynarr_length (pdump_root_struct_ptrs);
pdump_static_pointer *data = alloca_array (pdump_static_pointer, count);
for (i = 0; i < count; i++)
static void
pdump_dump_rtables (void)
{
- int i;
+ size_t i;
pdump_entry_list_elt *elt;
pdump_reloc_table rt;
{
size_t count = (Dynarr_length (pdump_root_objects) +
Dynarr_length (pdump_weak_object_chains));
- size_t i;
+ EMACS_INT i;
PDUMP_WRITE_ALIGNED (size_t, count);
PDUMP_ALIGN_OUTPUT (pdump_static_Lisp_Object);
void
pdump (void)
{
- int i;
+ size_t i;
Lisp_Object t_console, t_device, t_frame;
int none;
pdump_header header;
if (!none)
return;
- for (i=0; i<Dynarr_length (pdump_root_struct_ptrs); i++)
+ for (i=0; i<(size_t)Dynarr_length (pdump_root_struct_ptrs); i++)
{
pdump_root_struct_ptr info = Dynarr_at (pdump_root_struct_ptrs, i);
pdump_register_struct (*(info.ptraddress), info.desc, 1);
{
time_t value;
size_t size;
+ struct tm * tm;
CHECK_STRING (format_string);
- if (! lisp_to_time (time_, &value))
+ if (! lisp_to_time (time_, &value) || ! (tm = localtime (&value)))
error ("Invalid time specification");
/* This is probably enough. */
*buf = 1;
if (emacs_strftime (buf, size,
(const char *) XSTRING_DATA (format_string),
- localtime (&value))
+ tm)
|| !*buf)
return build_ext_string (buf, Qbinary);
/* If buffer was too small, make it bigger. */
struct tm *decoded_time;
Lisp_Object list_args[9];
- if (! lisp_to_time (specified_time, &time_spec))
+ if (! lisp_to_time (specified_time, &time_spec)
+ || ! (decoded_time = localtime (&time_spec)))
error ("Invalid time specification");
- decoded_time = localtime (&time_spec);
list_args[0] = make_int (decoded_time->tm_sec);
list_args[1] = make_int (decoded_time->tm_min);
list_args[2] = make_int (decoded_time->tm_hour);
/* from GNU Emacs 21, per Simon Josefsson, modified by stephen
The slight inefficiency is justified since negative times are weird. */
Lisp_Object
-make_time (time_t time)
+make_time (time_t tval)
{
- return list2 (make_int (time < 0 ? time / 0x10000 : time >> 16),
- make_int (time & 0xFFFF));
+ return list2 (make_int (tval < 0 ? tval / 0x10000 : tval >> 16),
+ make_int (tval & 0xFFFF));
}
DEFUN ("encode-time", Fencode_time, 6, MANY, 0, /*
static int run_temacs_argc;
static char **run_temacs_argv;
static char *run_temacs_args;
-static size_t run_temacs_argv_size;
-static size_t run_temacs_args_size;
+static EMACS_INT run_temacs_argv_size;
+static EMACS_INT run_temacs_args_size;
static void shut_down_emacs (int sig, Lisp_Object stuff, int no_auto_save);
#ifdef HAVE_MS_WINDOWS
/* If we displayed a message on the console, then we must allow the
- user to see this message. This may be unnecessary, but can't hurt,
- and we can't necessarily check arg; e.g. xemacs --help kills with
- argument 0. */
- if (mswindows_message_outputted)
+ user to see this message. This may be unnecessary, but can't
+ hurt, and we can't necessarily check arg; e.g. xemacs --help
+ kills with argument 0.
+
+ Don't do this in batch mode, it makes no sense and is more
+ annoying than useful. --andyp */
+ if (mswindows_message_outputted && !noninteractive)
Fmswindows_message_box (build_string ("Messages outputted. XEmacs is exiting."),
Qnil, Qnil);
#endif
/* Ben thinks this function should not exist or be exported to Lisp.
We use it to define split-path-string in subr.el (not!). */
-DEFUN ("split-string-by-char", Fsplit_string_by_char, 1, 2, 0, /*
+DEFUN ("split-string-by-char", Fsplit_string_by_char, 2, 2, 0, /*
Split STRING into a list of substrings originally separated by SEPCHAR.
*/
(string, sepchar))
if (EQ (tem, Qt) || EQ (tem, Qmacro))
{
/* Yes, load it and try again. */
+ /* do_autoload GCPROs both arguments */
do_autoload (def, sym);
continue;
}
{
final = indirect_function (cmd, 1);
if (CONSP (final) && EQ (Fcar (final), Qautoload))
- do_autoload (final, cmd);
+ {
+ /* do_autoload GCPROs both arguments */
+ do_autoload (final, cmd);
+ }
else
break;
}
/* This function can GC */
int speccount = specpdl_depth();
Lisp_Object fun = funname;
- struct gcpro gcpro1, gcpro2;
+ struct gcpro gcpro1, gcpro2, gcpro3;
CHECK_SYMBOL (funname);
- GCPRO2 (fun, funname);
+ GCPRO3 (fun, funname, fundef);
/* Value saved here is to be restored into Vautoload_queue */
record_unwind_protect (un_autoload, Vautoload_queue);
if (EQ (funcar, Qautoload))
{
+ /* do_autoload GCPROs both arguments */
do_autoload (fun, original_fun);
goto retry;
}
}
\f
+/* #### Why is Feval so anal about GCPRO, Ffuncall so cavalier? */
DEFUN ("funcall", Ffuncall, 1, MANY, 0, /*
Call first argument as a function, passing the remaining arguments to it.
Thus, (funcall 'cons 'x 'y) returns (x . y).
if (fun_nargs == max_args) /* Optimize for the common case */
{
funcall_subr:
- FUNCALL_SUBR (val, subr, fun_args, max_args);
+ {
+ /* The "extra" braces placate GCC 2.95.4. */
+ FUNCALL_SUBR (val, subr, fun_args, max_args);
+ }
}
else if (fun_nargs < subr->min_args)
{
}
else if (EQ (funcar, Qautoload))
{
+ /* do_autoload GCPROs both arguments */
do_autoload (fun, args[0]);
goto retry;
}
}
else if (EQ (funcar, Qautoload))
{
- struct gcpro gcpro1;
-
- GCPRO1 (function);
+ /* do_autoload GCPROs both arguments */
do_autoload (function, orig_function);
- UNGCPRO;
function = orig_function;
goto retry;
}
#define min_max_specpdl_size 400
void
-grow_specpdl (size_t reserved)
+grow_specpdl (EMACS_INT reserved)
{
- size_t size_needed = specpdl_depth() + reserved;
+ EMACS_INT size_needed = specpdl_depth() + reserved;
if (size_needed >= max_specpdl_size)
{
if (max_specpdl_size < min_max_specpdl_size)
{
extern Lisp_Object Vcurrent_global_map;
extern Lisp_Object Qascii_character;
- Fput (symbol, Qascii_character, character);
- if (NILP (Flookup_key (Vcurrent_global_map, symbol, Qnil)))
- Fdefine_key (Vcurrent_global_map, symbol, Qself_insert_command);
+ if (NILP (Flookup_key (Vcurrent_global_map, symbol, Qnil)))
+ {
+ Fput (symbol, Qascii_character, character);
+ Fdefine_key (Vcurrent_global_map, symbol, Qself_insert_command);
+ }
}
}
exists. For example, "start notepad" command is issued from the
shell, then the shell is closed by C-c C-d. Although the shell
process exits, its output pipe will not get closed until the
- notepad process exits also, because it inherits the pipe form the
+ notepad process exits also, because it inherits the pipe from the
shell. In this case, we abandon the thread, and let it live until
all such processes exit. While struct ntpipe_slurp_stream is
deallocated in this case, ntpipe_slurp_stream_shared_data are not. */
}
#endif /* HAVE_MSG_SELECT */
+/*
+ * Given a lisp process pointer remove the corresponding process handle
+ * from mswindows_waitable_handles if it is in it. Normally the handle is
+ * removed when the process terminates, but if the lisp process structure
+ * is deleted before the process terminates we must delete the process
+ * handle since it will be invalid and will cause the wait to fail
+ */
+void
+mswindows_unwait_process (Lisp_Process *p)
+{
+#ifndef HAVE_MSG_SELECT
+ remove_waitable_handle (get_nt_process_handle (p));
+#endif /* HAVE_MSG_SELECT */
+}
+
\f
/************************************************************************/
/* Event pump */
#else
/* Now try getting a message or process event */
DWORD what_events;
+ MSG msg;
+
if (mswindows_in_modal_loop)
/* In a modal loop, only look for timer events, and only if
we really need one. */
/* Look for any event */
what_events = QS_ALLINPUT;
- active = MsgWaitForMultipleObjects (mswindows_waitable_count,
- mswindows_waitable_handles,
- FALSE, badly_p ? INFINITE : 0,
- what_events);
+ /* This fixes a long outstanding bug, where XEmacs would occasionally
+ * not redraw its window (or process other events) until "something
+ * happened" - usually the mouse moving over a frame.
+ *
+ * The problem is that MsgWaitForMultipleObjects only checks to see
+ * if NEW messages have been placed into the thread queue. So we
+ * specifically check to see if the queue is empty (using PeekMessage
+ * with the PM_NOREMOVE flag) before we wait.
+ */
+ if (what_events == QS_ALLINPUT && badly_p &&
+ PeekMessage (&msg, 0, 0, 0, PM_NOREMOVE))
+ active = WAIT_OBJECT_0 + mswindows_waitable_count;
+ else
+ active = MsgWaitForMultipleObjects (mswindows_waitable_count,
+ mswindows_waitable_handles,
+ FALSE, badly_p ? INFINITE : 0,
+ what_events);
/* This will assert if handle being waited for becomes abandoned.
Not the case currently tho */
else if (active == WAIT_OBJECT_0 + mswindows_waitable_count)
{
/* Got your message, thanks */
- if (mswindows_in_modal_loop)
- mswindows_need_event_in_modal_loop (badly_p);
- else
- mswindows_drain_windows_queue ();
+ if (mswindows_in_modal_loop)
+ mswindows_need_event_in_modal_loop (badly_p);
+ else
+ mswindows_drain_windows_queue ();
}
else
{
mswindows_handle_paint (XFRAME (mswindows_find_frame (hwnd)));
break;
+ case WM_ACTIVATE:
+ {
+ /*
+ * If we receive a WM_ACTIVATE message that indicates that our frame
+ * is being activated, make sure that the frame is marked visible
+ * if the window itself is visible. This seems to fix the problem
+ * where XEmacs appears to lock-up after switching desktops with
+ * some virtual window managers.
+ */
+ int state = (int)(short) LOWORD(wParam);
+#ifdef DEBUG_XEMACS
+ if (debug_mswindows_events)
+ stderr_out("state = %d\n", state);
+#endif /* DEBUG_XEMACS */
+ if (state == WA_ACTIVE || state == WA_CLICKACTIVE)
+ {
+#ifdef DEBUG_XEMACS
+ if (debug_mswindows_events)
+ stderr_out(" activating\n");
+#endif /* DEBUG_XEMACS */
+
+ fobj = mswindows_find_frame (hwnd);
+ frame = XFRAME (fobj);
+ if (IsWindowVisible (hwnd))
+ {
+#ifdef DEBUG_XEMACS
+ if (debug_mswindows_events)
+ stderr_out(" window is visible\n");
+#endif /* DEBUG_XEMACS */
+ if (!FRAME_VISIBLE_P (frame))
+ {
+#ifdef DEBUG_XEMACS
+ if (debug_mswindows_events)
+ stderr_out(" frame is not visible\n");
+#endif /* DEBUG_XEMACS */
+ /*
+ * It seems that we have to enqueue the XM_MAPFRAME event
+ * prior to setting the frame visible so that
+ * suspend-or-iconify-emacs works properly.
+ */
+ mswindows_enqueue_magic_event (hwnd, XM_MAPFRAME);
+ FRAME_VISIBLE_P (frame) = 1;
+ FRAME_ICONIFIED_P (frame) = 0;
+ }
+#ifdef DEBUG_XEMACS
+ else
+ {
+ if (debug_mswindows_events)
+ stderr_out(" frame is visible\n");
+ }
+#endif /* DEBUG_XEMACS */
+ }
+#ifdef DEBUG_XEMACS
+ else
+ {
+ if (debug_mswindows_events)
+ stderr_out(" window is not visible\n");
+ }
+#endif /* DEBUG_XEMACS */
+ }
+ return DefWindowProc (hwnd, message_, wParam, lParam);
+ }
+ break;
+
case WM_WINDOWPOSCHANGED:
/* This is sent before WM_SIZE; in fact, the processing of this
by DefWindowProc() sends WM_SIZE. But WM_SIZE is not sent when
}
else if (IsWindowVisible (hwnd))
{
- FRAME_VISIBLE_P (frame) = 1;
+ /* APA: It's too early here to set the frame visible.
+ * Let's do this later, in WM_SIZE processing, after the
+ * magic XM_MAPFRAME event has been sent (just like 21.1
+ * did). */
+ /* FRAME_VISIBLE_P (frame) = 1; */
FRAME_ICONIFIED_P (frame) = 0;
}
else
return DefWindowProc (hwnd, message_, wParam, lParam);
}
+ case WM_SHOWWINDOW:
+ /*
+ The WM_SHOWWINDOW message is sent to a window when the window
+ is about to be hidden or shown.
+ APA: This message is also sent when switching to a virtual
+ desktop under the virtuawin virtual window manager.
+
+ */
+ {
+ fobj = mswindows_find_frame (hwnd);
+ frame = XFRAME (fobj);
+ if (wParam == TRUE)
+ {
+ mswindows_enqueue_magic_event (hwnd, XM_MAPFRAME);
+ FRAME_VISIBLE_P (frame) = 1;
+ }
+ else
+ {
+ mswindows_enqueue_magic_event (hwnd, XM_UNMAPFRAME);
+ FRAME_VISIBLE_P (frame) = 0;
+ }
+ }
+ break;
+
case WM_SIZE:
/* We only care about this message if our size has really changed */
if (wParam==SIZE_RESTORED || wParam==SIZE_MAXIMIZED || wParam==SIZE_MINIMIZED)
else
{
if (!msframe->sizing && !FRAME_VISIBLE_P (frame))
- mswindows_enqueue_magic_event (hwnd, XM_MAPFRAME);
+ {
+ mswindows_enqueue_magic_event (hwnd, XM_MAPFRAME);
+ /* APA: Now that the magic XM_MAPFRAME event has
+ * been sent we can mark the frame as visible (just
+ * like 21.1 did). */
+ FRAME_VISIBLE_P (frame) = 1;
+ }
if (!msframe->sizing || mswindows_dynamic_frame_resize)
redisplay ();
{
int keys = LOWORD (wParam); /* Modifier key flags */
int delta = (short) HIWORD (wParam); /* Wheel rotation amount */
- struct gcpro gcpro1, gcpro2;
if (mswindows_handle_mousewheel_event (mswindows_find_frame (hwnd),
keys, delta,
MAKEPOINTS (lParam)))
- {
- GCPRO2 (emacs_event, fobj);
- if (UNBOUNDP(mswindows_pump_outstanding_events ())) /* Can GC */
- SendMessage (hwnd, WM_CANCELMODE, 0, 0);
- UNGCPRO;
- }
+ /* We are not in a modal loop so no pumping is necessary. */
+ break;
else
goto defproc;
- break;
}
#endif
stderr_out (" wparam=%d lparam=%d hwnd=%x frame: ",
wParam, (int) lParam, (unsigned int) hwnd);
debug_print (frame);
+ if (message_ == WM_WINDOWPOSCHANGED ||
+ message_ == WM_WINDOWPOSCHANGING)
+ {
+ WINDOWPOS *wp = (WINDOWPOS *) lParam;
+ stderr_out(" WINDOWPOS: x=%d, y=%d, h=%d, w=%d\n",
+ wp->x, wp->y, wp->cx, wp->cy);
+ }
+ else if (message_ == WM_MOVE)
+ {
+ int x = (int)(short) LOWORD(lParam); /* horizontal position */
+ int y = (int)(short) HIWORD(lParam); /* vertical position */
+ stderr_out(" MOVE: x=%d, y=%d\n", x, y);
+ }
+ else if (message_ == WM_SIZE)
+ {
+ int w = (int)(short) LOWORD(lParam); /* width */
+ int h = (int)(short) HIWORD(lParam); /* height */
+ stderr_out(" SIZE: w=%d, h=%d\n", w, h);
+ }
}
else
stderr_out ("\n");
/* This function can GC */
struct frame *f = selected_frame ();
- command_builder->echo_buf_index = -1;
+ if (command_builder)
+ command_builder->echo_buf_index = -1;
if (remove_echo_area_echo)
clear_echo_area (f, Qcommand, 0);
switch (XEVENT_TYPE (event))
{
- default:
- goto RETURN;
case button_release_event:
case misc_user_event:
/* don't echo menu accelerator keys */
goto STORE_AND_EXECUTE_KEY;
case key_press_event: /* any key input can trigger autosave */
break;
+ default:
+ goto RETURN;
}
maybe_do_auto_save ();
void
reset_this_command_keys (Lisp_Object console, int clear_echo_area_p)
{
- struct command_builder *command_builder =
- XCOMMAND_BUILDER (XCONSOLE (console)->command_builder);
-
- reset_key_echo (command_builder, clear_echo_area_p);
+ if (!NILP (console))
+ {
+ /* console is nil if we just deleted the console as a result of C-x 5
+ 0. Unfortunately things are currently in a messy situation where
+ some stuff is console-local and other stuff isn't, so we need to
+ do everything that's not console-local. */
+ struct command_builder *command_builder =
+ XCOMMAND_BUILDER (XCONSOLE (console)->command_builder);
+
+ reset_key_echo (command_builder, clear_echo_area_p);
+ reset_current_events (command_builder);
+ }
+ else
+ reset_key_echo (0, clear_echo_area_p);
deallocate_event_chain (Vthis_command_keys);
Vthis_command_keys = Qnil;
Vthis_command_keys_tail = Qnil;
-
- reset_current_events (command_builder);
}
static void
post_command_hook ();
- if (!NILP (con->prefix_arg))
+ /* Console might have been deleted by command */
+ if (CONSOLE_LIVE_P (con) && !NILP (con->prefix_arg))
{
/* Commands that set the prefix arg don't update last-command, don't
reset the echoing state, and don't go into keyboard macros unless
so we don't either */
if (!is_scrollbar_event (event))
- reset_this_command_keys (make_console (con), 0);
+ reset_this_command_keys (CONSOLE_LIVE_P (con) ? make_console (con)
+ : Qnil, 0);
}
}
face_index
extent_fragment_update (struct window *w, struct extent_fragment *ef,
- Bytind pos)
+ Bytind pos, Lisp_Object last_glyph)
{
int i;
+ int seen_glyph = NILP (last_glyph) ? 1 : 0;
Extent_List *sel =
buffer_or_string_stack_of_extents_force (ef->object)->extents;
EXTENT lhe = 0;
if (extent_start (e) == mempos && !NILP (extent_begin_glyph (e)))
{
Lisp_Object glyph = extent_begin_glyph (e);
- struct glyph_block gb;
-
- gb.glyph = glyph;
- XSETEXTENT (gb.extent, e);
- Dynarr_add (ef->begin_glyphs, gb);
+ if (seen_glyph) {
+ struct glyph_block gb;
+
+ gb.glyph = glyph;
+ XSETEXTENT (gb.extent, e);
+ Dynarr_add (ef->begin_glyphs, gb);
+ }
+ else if (EQ (glyph, last_glyph))
+ seen_glyph = 1;
}
}
if (extent_end (e) == mempos && !NILP (extent_end_glyph (e)))
{
Lisp_Object glyph = extent_end_glyph (e);
- struct glyph_block gb;
+ if (seen_glyph) {
+ struct glyph_block gb;
- gb.glyph = glyph;
- XSETEXTENT (gb.extent, e);
- Dynarr_add (ef->end_glyphs, gb);
+ gb.glyph = glyph;
+ XSETEXTENT (gb.extent, e);
+ Dynarr_add (ef->end_glyphs, gb);
+ }
+ else if (EQ (glyph, last_glyph))
+ seen_glyph = 1;
}
}
if (extent_detached_p (ext))
strcpy (bp, "detached");
else
- sprintf (bp, "%ld, %ld",
- (long) XINT (Fextent_start_position (obj)),
- (long) XINT (Fextent_end_position (obj)));
+ sprintf (bp, "%d, %d",
+ XINT (Fextent_start_position (obj)),
+ XINT (Fextent_end_position (obj)));
bp += strlen (bp);
*bp++ = (extent_end_open_p (anc) ? ')': ']');
if (!NILP (extent_end_glyph (anc))) *bp++ = '*';
face_index extent_fragment_update (struct window *w,
struct extent_fragment *ef,
/* Note this is in Bytinds */
- Bytind pos);
+ Bytind pos, Lisp_Object last_glyph);
void extent_fragment_delete (struct extent_fragment *ef);
\f
TO_EXTERNAL_FORMAT (LISP_STRING, expanded_name,
ALLOCA, (path, elen),
Qfile_name);
+
+#if defined(WIN32_FILENAMES) && defined(CYGWIN)
+ /* When using win32 filenames in cygwin we want file-truename to
+ detect that c:/windows == /windows for example. */
+ if ((IS_DIRECTORY_SEP (path[0])
+ && (elen == 1 || !IS_DIRECTORY_SEP (path[1])))
+ || (isalpha (path[0])
+ && (elen == 1 || !IS_DEVICE_SEP (path[1])))) {
+ int ltwff2 =
+ cygwin_posix_to_win32_path_list_buf_size (path);
+ p = (Bufbyte *) alloca (ltwff2);
+ cygwin_posix_to_win32_path_list (path, p);
+ path = p;
+ }
+#endif
p = path;
+
if (elen > MAXPATHLEN)
goto toolong;
if (STRINGP (Fsystem_name ())
&& strcmp (owner->host, (char *) XSTRING_DATA (Fsystem_name ())) == 0)
{
- if (owner->pid == getpid ())
+ if (owner->pid == (unsigned long) getpid ())
ret = 2; /* We own it. */
else if (owner->pid > 0
&& (kill (owner->pid, 0) >= 0 || errno == EPERM))
size_t last = len;
if (INTP (Vprint_length))
- last = min (len, XINT (Vprint_length));
+ last = min ((EMACS_INT) len, XINT (Vprint_length));
write_c_string ("#*", printcharfun);
for (i = 0; i < last; i++)
{
comment_style_b : \
comment_style_none)
+/* GCC 2.95.4 seems to need the cast */
#define SINGLE_SYNTAX_STYLE(c) \
+ ((enum comment_style) \
(SYNTAX_CODE_MATCHES_1CHAR_P (c, SYNTAX_COMMENT_STYLE_A) ? \
comment_style_a : \
SYNTAX_CODE_MATCHES_1CHAR_P (c, SYNTAX_COMMENT_STYLE_B) ? \
comment_style_b : \
- comment_style_none)
+ comment_style_none))
/* Set up context_cache for position PT in BUF. */
{
DOCINFO di;
struct device *device = XDEVICE (FRAME_DEVICE (f));
- HDC hdc;
int frame_left, frame_top, frame_width, frame_height;
/* DC might be recreated in msprinter_apply_devmode,
so do not initialize until now */
- hdc = DEVICE_MSPRINTER_HDC (device);
-
- /* Compute geometry properties */
- frame_left = (MulDiv (GetDeviceCaps (hdc, LOGPIXELSX),
- FRAME_MSPRINTER_LEFT_MARGIN(f), 1440)
- - GetDeviceCaps (hdc, PHYSICALOFFSETX));
+ HDC hdc = DEVICE_MSPRINTER_HDC (device);
+ int logpixelsx = GetDeviceCaps (hdc, LOGPIXELSX);
+ int logpixelsy = GetDeviceCaps (hdc, LOGPIXELSY);
+ int physicaloffsetx = GetDeviceCaps (hdc, PHYSICALOFFSETX);
+ int physicaloffsety = GetDeviceCaps (hdc, PHYSICALOFFSETY);
+ int physicalheight = GetDeviceCaps (hdc, PHYSICALHEIGHT);
+ int physicalwidth = GetDeviceCaps (hdc, PHYSICALWIDTH);
+
+ /* Compute geometry properties.
+ Conversion is from TWIPS -> inches -> pixels. */
+ frame_left = MulDiv (logpixelsx, FRAME_MSPRINTER_LEFT_MARGIN(f), 1440)
+ - physicaloffsetx;
if (FRAME_MSPRINTER_CHARWIDTH(f) > 0)
{
char_to_real_pixel_size (f, FRAME_MSPRINTER_CHARWIDTH(f), 0,
&frame_width, NULL);
FRAME_MSPRINTER_RIGHT_MARGIN(f) =
- MulDiv (GetDeviceCaps (hdc, PHYSICALWIDTH)
- - (frame_left + frame_width), 1440,
- GetDeviceCaps (hdc, LOGPIXELSX));
+ MulDiv (physicalwidth - (frame_left + frame_width), 1440,
+ logpixelsx);
}
else
- frame_width = (GetDeviceCaps (hdc, PHYSICALWIDTH)
- - frame_left
- - MulDiv (GetDeviceCaps (hdc, LOGPIXELSX),
- FRAME_MSPRINTER_RIGHT_MARGIN(f), 1440));
+ frame_width = physicalwidth - frame_left
+ - MulDiv (logpixelsx, FRAME_MSPRINTER_RIGHT_MARGIN(f), 1440)
+ - physicaloffsetx;
- frame_top = (MulDiv (GetDeviceCaps (hdc, LOGPIXELSY),
- FRAME_MSPRINTER_TOP_MARGIN(f), 1440)
- - GetDeviceCaps (hdc, PHYSICALOFFSETY));
+ frame_top = MulDiv (logpixelsy, FRAME_MSPRINTER_TOP_MARGIN(f), 1440)
+ - physicaloffsety;
if (FRAME_MSPRINTER_CHARHEIGHT(f) > 0)
{
NULL, &frame_height);
FRAME_MSPRINTER_BOTTOM_MARGIN(f) =
- MulDiv (GetDeviceCaps (hdc, PHYSICALHEIGHT)
- - (frame_top + frame_height), 1440,
- GetDeviceCaps (hdc, LOGPIXELSY));
+ MulDiv (physicalheight - (frame_top + frame_height), 1440,
+ logpixelsy);
}
else
- frame_height = (GetDeviceCaps (hdc, PHYSICALHEIGHT)
- - frame_top
- - MulDiv (GetDeviceCaps (hdc, LOGPIXELSY),
- FRAME_MSPRINTER_BOTTOM_MARGIN(f), 1440));
+ frame_height = physicalheight - frame_top
+ - MulDiv (logpixelsy, FRAME_MSPRINTER_BOTTOM_MARGIN(f), 1440)
+ - physicaloffsety;
/* Geometry sanity checks */
if (!frame_pixsize_valid_p (f, frame_width, frame_height))
/* Size of toolbars as seen by redisplay. This is used to determine
whether to re-layout windows by a call to change_frame_size early
in redisplay_frame. */
- unsigned int current_toolbar_size[4];
+ int current_toolbar_size[4];
#endif
/* Size of gutters as seen by redisplay. This is used to determine
whether to re-layout windows by a call to change_frame_size early
in redisplay_frame. */
- unsigned int current_gutter_bounds[4];
+ int current_gutter_bounds[4];
/* Dynamic arrays of display lines for gutters */
display_line_dynarr *current_display_lines[4];
unsigned int extents_changed :1;
unsigned int faces_changed :1;
unsigned int frame_changed :1;
+ unsigned int frame_layout_changed :1; /* The layout of frame
+ elements has changed. */
unsigned int subwindows_changed :1;
unsigned int subwindows_state_changed :1;
unsigned int glyphs_changed :1;
frame_changed = 1; \
} while (0)
+#define MARK_FRAME_LAYOUT_CHANGED(f) do { \
+ struct frame *mfc_f = (f); \
+ mfc_f->frame_layout_changed = 1; \
+ mfc_f->modiff++; \
+ if (!NILP (mfc_f->device)) \
+ { \
+ struct device *mfc_d = XDEVICE (mfc_f->device); \
+ MARK_DEVICE_FRAME_LAYOUT_CHANGED (mfc_d); \
+ } \
+ else \
+ frame_layout_changed = 1; \
+} while (0)
+
#define MARK_FRAME_WINDOWS_CHANGED(f) do { \
struct frame *mfwc_f = (f); \
mfwc_f->windows_changed = 1; \
if (!src)
{
return;
- } else if (num_bytes > src->bytes_in_buffer)
+ } else if (num_bytes > (long) src->bytes_in_buffer)
{
ERREXIT(cinfo, JERR_INPUT_EOF);
/*NOTREACHED*/
*/
while (cinfo.output_scanline < cinfo.output_height)
{
- int i;
+ unsigned int i;
/* jpeg_read_scanlines expects an array of pointers to scanlines.
* Here the array is only one element long, but you could ask for
{
gif_memory_storage *mem = (gif_memory_storage*)data;
- if (size > (mem->len - mem->index))
+ if ((ssize_t) size > (mem->len - mem->index))
return (size_t) -1;
memcpy(buf, mem->bytes + mem->index, size);
mem->index = mem->index + size;
struct png_memory_storage *tbr =
(struct png_memory_storage *) png_get_io_ptr (png_ptr);
- if (length > (tbr->len - tbr->index))
+ if ((ssize_t) length > (tbr->len - tbr->index))
png_error (png_ptr, (png_const_charp) "Read Error");
memcpy (data,tbr->bytes + tbr->index,length);
tbr->index = tbr->index + length;
raster = (uint32*) _TIFFmalloc (width * height * sizeof (uint32));
if (raster != NULL)
{
- int i,j;
+ unsigned int i,j;
uint32 *rp;
ep = unwind.eimage;
rp = raster;
0, 0, 0, 0,
SWP_NOZORDER | SWP_NOSIZE | SWP_NOMOVE
| SWP_SHOWWINDOW | SWP_NOCOPYBITS | SWP_NOACTIVATE);
+
+ /* Doing this once does not seem to be enough, for instance when
+ mapping the search dialog this gets called four times. If we
+ only set on the first time through then the subwindow never
+ gets focus as intended. However, doing this everytime doesn't
+ seem so bad, after all we only need to redo this after the
+ focus changes - and if that happens resetting the initial
+ focus doesn't seem so bad. */
+ if (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS (p))
+ SetFocus (WIDGET_INSTANCE_MSWINDOWS_HANDLE (p));
#endif
}
}
SendMessage (wnd, WM_SETFONT,
(WPARAM) mswindows_widget_hfont (ii, domain),
MAKELPARAM (TRUE, 0));
-#if 0
- /* #### doesn't work. need to investigate more closely. */
- if (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS (ii))
- SetFocus (wnd);
-#endif
}
/* Instantiate a native layout widget. */
if (vis->class == PseudoColor)
{
unsigned long pixarray[256];
- int pixcount, n;
+ int pixcount;
+ unsigned int n;
/* use our quantize table to allocate the colors */
pixcount = 32;
*pixtbl = xnew_array (unsigned long, pixcount);
}
else
{
- int i;
+ unsigned int i;
if (IMAGE_INSTANCE_PIXMAP_TIMEOUT (p))
disable_glyph_animated_timeout (IMAGE_INSTANCE_PIXMAP_TIMEOUT (p));
struct face_cachel *cachel;
Lisp_Object frame = DOMAIN_FRAME (domain);
+ CHECK_STRING (string);
+
/* Compute height */
if (height)
{
we have to check for overlaps. Being conservative, we will
check for exposures wholly contained by the subwindow - this
might give us what we want.*/
- if (ei->x <= x && ei->y <= y
- && ei->x + ei->width >= x + width
- && ei->y + ei->height >= y + height)
+ if (ei->x <= (unsigned) x && ei->y <= (unsigned) y
+ && ei->x + ei->width >= (unsigned) (x + width)
+ && ei->y + ei->height >= (unsigned) (y + height))
{
#ifdef DEBUG_WIDGETS
stderr_out ("ignored %d+%d, %dx%d for exposure %d+%d, %dx%d\n",
if (IMAGE_INSTANCE_SUBWINDOW_DISPLAYEDP (ii)
&&
- IMAGE_INSTANCE_DISPLAY_X (ii) <= x
+ IMAGE_INSTANCE_DISPLAY_X (ii) <= (unsigned) x
&&
- IMAGE_INSTANCE_DISPLAY_Y (ii) <= y
+ IMAGE_INSTANCE_DISPLAY_Y (ii) <= (unsigned) y
&&
IMAGE_INSTANCE_DISPLAY_X (ii)
- + IMAGE_INSTANCE_DISPLAY_WIDTH (ii) >= x + width
+ + IMAGE_INSTANCE_DISPLAY_WIDTH (ii) >= (unsigned) (x + width)
&&
IMAGE_INSTANCE_DISPLAY_Y (ii)
- + IMAGE_INSTANCE_DISPLAY_HEIGHT (ii) >= y + height)
+ + IMAGE_INSTANCE_DISPLAY_HEIGHT (ii) >= (unsigned) (y + height))
{
return 1;
}
pixel_to_char_size (f, FRAME_PIXWIDTH (f), FRAME_PIXHEIGHT (f),
&width, &height);
change_frame_size (f, height, width, 0);
+ MARK_FRAME_LAYOUT_CHANGED (f);
}
/* Mark sizes as up-to-date. */
void
update_frame_gutter_geometry (struct frame *f)
{
- if (f->gutter_changed || f->windows_structure_changed)
+ if (f->gutter_changed
+ || f->frame_layout_changed
+ || f->windows_structure_changed)
{
enum gutter_pos pos;
f->gutter_changed || f->glyphs_changed ||
f->size_changed || f->subwindows_changed ||
f->windows_changed || f->windows_structure_changed ||
- f->extents_changed)
+ f->extents_changed || f->frame_layout_changed)
{
enum gutter_pos pos;
{
register unsigned char *inptr;
register int red, green, blue;
- register unsigned int j, i;
+ register int j, i;
box->rmin = box->gmin = box->bmin = 999;
box->rmax = box->gmax = box->bmax = -1;
&& EQ (XCAR (tem), Qautoload)
&& EQ (Fcar (Fcdr (Fcdr (Fcdr (Fcdr (tem))))), Qkeymap))
{
- struct gcpro gcpro1, gcpro2;
- GCPRO2 (tem, object);
+ /* do_autoload GCPROs both arguments */
do_autoload (tem, object);
- UNGCPRO;
}
else if (errorp)
object = wrong_type_argument (Qkeymapp, object);
#define Dynarr_at(d, pos) ((d)->base[pos])
#define Dynarr_atp(d, pos) (&Dynarr_at (d, pos))
#define Dynarr_begin(d) Dynarr_atp (d, 0)
-#define Dynarr_end(d) Dynarr_atp (d, Dynarr_length (d))
+#define Dynarr_end(d) Dynarr_atp (d, Dynarr_length (d) - 1)
#define Dynarr_sizeof(d) ((d)->cur * (d)->elsize)
#define Dynarr_length(d) ((d)->cur)
#define Dynarr_largest(d) ((d)->largest)
least NEEDED_SIZE objects. The reallocing is done by doubling,
which ensures constant amortized time per element. */
#define DO_REALLOC(basevar, sizevar, needed_size, type) do { \
- size_t do_realloc_needed_size = (needed_size); \
+ EMACS_INT do_realloc_needed_size = (needed_size); \
if ((sizevar) < do_realloc_needed_size) \
{ \
if ((sizevar) < 32) \
{
struct lrecord_header lheader;
Lisp_Object next;
- size_t size;
+ EMACS_INT size;
unsigned long bits[1];
};
typedef struct Lisp_Bit_Vector Lisp_Bit_Vector;
MODE nonnegative means don't open the files,
just look for one for which access(file,MODE) succeeds. In this case,
- returns 1 on success.
+ returns a nonnegative value on success. On failure, returns -1.
If STOREPTR is nonzero, it points to a slot where the name of
the file actually found should be stored as a Lisp string.
breaks customize because the misc_event gets eval'ed in some
circumstances. Don't change it back unless you can fix the
customize problem also.*/
- enqueue_misc_user_event (frame, fn, arg);
- mswindows_enqueue_magic_event (NULL, XM_BUMPQUEUE);
+ mswindows_enqueue_misc_user_event (frame, fn, arg);
UNGCPRO; /* data */
return Qt;
eev = NULL;
}
+ popup_up_p++;
+
/* Default is to put the menu at the point (10, 10) in frame */
if (eev)
{
CHECK_CONS (menu_desc);
CHECK_STRING (XCAR (menu_desc));
+ menu_cleanup (f);
+
current_menudesc = menu_desc;
current_hash_table =
make_lisp_hash_table (10, HASH_TABLE_NON_WEAK, HASH_TABLE_EQUAL);
DestroyMenu (menu);
- /* Signal a signal if caught by Track...() modal loop */
+ /* A WM_COMMAND is not issued until TrackPopupMenu returns. This
+ makes setting popup_up_p fairly pointless since we cannot keep
+ the menu up and dispatch events. Furthermore, we seem to have
+ little control over what happens to the menu when we click. */
+ popup_up_p--;
+
+ /* Signal a signal if caught by Track...() modal loop. */
+ /* I think this is pointless, the code hasn't actually put us in a
+ modal loop at this time -- andyp. */
mswindows_unmodalize_signal_maybe ();
/* This is probably the only real reason for failure */
fileSize = PAD2(ck.ckSize) - sizeof(RIFF_FOURCC);
- while (fileSize >= sizeof(RiffChunk))
+ while (fileSize >= (AuInt32) sizeof(RiffChunk))
{
if (!readChunk(&ck))
Err();
}
#endif /* 0 */
-#define REG_ROOT "SOFTWARE\\GNU\\XEmacs"
+#define REG_ROOT "SOFTWARE\\XEmacs\\XEmacs"
LPBYTE
nt_get_resource (char *key, LPDWORD lpdwtype)
int permission;
int len;
int rootdir = FALSE;
+ int errm;
if (path == NULL || buf == NULL)
{
rootdir = (path >= name + len - 1
&& (IS_DIRECTORY_SEP (*path) || *path == 0));
name = strcpy ((char *)alloca (len + 2), name);
-
+ errm = SetErrorMode (SEM_FAILCRITICALERRORS
+ | SEM_NOOPENFILEERRORBOX);
if (rootdir)
{
if (!IS_DIRECTORY_SEP (name[len-1]))
strcat (name, "\\");
+
if (GetDriveType (name) < 2)
{
+ SetErrorMode (errm);
errno = ENOENT;
return -1;
}
}
else
{
- fh = FindFirstFile (name, &wfd);
- if (fh == INVALID_HANDLE_VALUE)
- {
- errno = ENOENT;
- return -1;
+ fh = FindFirstFile (name, &wfd);
+ if (fh == INVALID_HANDLE_VALUE)
+ {
+ SetErrorMode (errm);
+ errno = ENOENT;
+ return -1;
+ }
+ FindClose (fh);
}
- FindClose (fh);
- }
}
if (wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
}
else
{
+ SetErrorMode (errm);
errno = EACCES;
return -1;
}
fake_inode = 0;
}
+ SetErrorMode (errm);
+
#if 0
/* Not sure if there is any point in this. */
if (!NILP (Vwin32_generate_fake_inodes))
nt_finalize_process_data (Lisp_Process *p, int for_disksave)
{
assert (!for_disksave);
+ /* If it's still in the list of processes we are waiting on delete
+ it. */
+ mswindows_unwait_process (p);
if (NT_DATA (p)->h_process)
CloseHandle (NT_DATA (p)->h_process);
}
/* #### There is controversy over whether this might cause fd leakage */
/* my tests say no. -slb */
XLSTREAM (p->pipe_outstream)->flags &= ~LSTREAM_FL_IS_OPEN;
+#ifdef FILE_CODING
+ XLSTREAM (p->coding_outstream)->flags &= ~LSTREAM_FL_IS_OPEN;
+#endif
p->status_symbol = Qexit;
p->exit_code = 256; /* #### SIGPIPE ??? */
p->core_dumped = 0;
p->tick++;
process_tick++;
- deactivate_process (*((Lisp_Object *) (&vol_proc)));
+ deactivate_process (vol_proc);
invalid_operation ("SIGPIPE raised on process; closed it", p->name);
}
/* !!#### This function has not been Mule-ized */
Lisp_Object buffer, name, program, process, current_dir;
Lisp_Object tem;
+ int i;
int speccount = specpdl_depth ();
struct gcpro gcpro1, gcpro2, gcpro3;
CHECK_STRING (name);
CHECK_STRING (program);
+ for (i = 3; i < nargs; ++i)
+ CHECK_STRING (args[i]);
/* Make sure that the child will be able to chdir to the current
buffer's current directory, or its unhandled equivalent. We
static POINTER break_value;
/* This is the size of a page. We round memory requests to this boundary. */
-static int page_size;
+static size_t page_size;
/* Whenever we get memory from the system, get this many extra bytes. This
must be a multiple of page_size. */
}
else /* size < 0 */
{
- size_t excess = (char *)first_heap->bloc_start
+ EMACS_INT excess = (char *)first_heap->bloc_start
- ((char *)virtual_break_value + size);
address = virtual_break_value;
if (r_alloc_initialized > 1)
return; /* used to return 1 */
+#ifdef PDUMP
+ /* Under pdump, we need to activate ralloc on the first go. */
+ ++r_alloc_initialized;
+#endif
if (++r_alloc_initialized == 1)
return; /* used to return 1 */
#include <sys/stat.h> /* for S_IFLNK */
+#if defined(WIN32_NATIVE) || defined(CYGWIN)
+#define WIN32_FILENAMES
+#endif
+
/* First char after start of absolute filename. */
#define ABS_START(name) (name + ABS_LENGTH (name))
# define system_readlink win32_readlink
#else
# ifdef CYGWIN
-# define ABS_LENGTH(name) (IS_DIRECTORY_SEP (*name) ? \
- (IS_DIRECTORY_SEP (name[1]) ? 2 : 1) : 0)
+# ifdef WIN32_FILENAMES
+# define ABS_LENGTH(name) (win32_abs_start (name))
+static int win32_abs_start (const char * name);
+# else
+# define ABS_LENGTH(name) (IS_DIRECTORY_SEP (*name) ? \
+ (IS_DIRECTORY_SEP (name[1]) ? 2 : 1) : 0)
+# endif
# define system_readlink cygwin_readlink
# else
# define ABS_LENGTH(name) (IS_DIRECTORY_SEP (*name) ? 1 : 0)
}
#endif /* CYGWIN */
-#ifdef WIN32_NATIVE
+#ifdef WIN32_FILENAMES
#ifndef ELOOP
#define ELOOP 10062 /* = WSAELOOP in winsock.h */
#endif
path = copy_path;
max_path = copy_path + PATH_MAX - 2;
-#ifdef WIN32_NATIVE
+ if (0)
+ ;
+#ifdef WIN32_FILENAMES
/* Check for c:/... or //server/... */
- if (abslen == 2 || abslen == 3)
+ else if (abslen == 3 || abslen == 2)
{
- strncpy (new_path, path, abslen);
/* Make sure drive letter is lowercased. */
- if (abslen == 3)
- *new_path = tolower (*new_path);
- new_path += abslen;
- path += abslen;
+ if (abslen == 3) {
+ *new_path = tolower (*path);
+ new_path++;
+ path++;
+ abslen--;
+ }
+ /* Coerce directory chars. */
+ while (abslen-- > 0) {
+ if (IS_DIRECTORY_SEP (*path))
+ *new_path++ = DIRECTORY_SEP;
+ else
+ *new_path++ = *path;
+ path++;
+ }
}
+#endif
+#ifdef WIN32_NATIVE
/* No drive letter, but a beginning slash? Prepend drive letter. */
else if (abslen == 1)
{
path++;
}
/* Just a path name, prepend the current directory */
- else
+ else if (1)
{
getcwd (new_path, PATH_MAX - 1);
new_path += strlen (new_path);
}
#else
/* If it's a relative pathname use getcwd for starters. */
- if (abslen == 0)
+ else if (abslen == 0)
{
getcwd (new_path, PATH_MAX - 1);
new_path += strlen (new_path);
struct display_box dbox;
struct display_glyph_area dga;
redisplay_calculate_display_boxes (dl, rb->xpos, rb->object.dglyph.xoffset,
- start_pixpos, rb->width,
- &dbox, &dga);
+ rb->object.dglyph.yoffset ,start_pixpos,
+ rb->width, &dbox, &dga);
XSETWINDOW (window, w);
instance = glyph_image_instance (rb->object.dglyph.glyph,
struct display_glyph_area dga;
redisplay_calculate_display_boxes (dl, rb->xpos,
/*rb->object.dglyph.xoffset*/ 0,
+ /*rb->object.dglyph.yoffset*/ 0,
start_pixpos, rb->width,
&db, &dga);
/* blank the background in the appropriate color */
{
struct display_box db;
struct display_glyph_area dga;
- redisplay_calculate_display_boxes (dl, xpos + xoffset, 0,
+ redisplay_calculate_display_boxes (dl, xpos + xoffset, 0, 0,
clip_start, width, &db, &dga);
/* blank the background in the appropriate color */
mswindows_update_dc (hdc,
struct display_glyph_area dga;
redisplay_calculate_display_boxes (dl, rb->xpos, rb->object.dglyph.xoffset,
- start_pixpos, rb->width,
- &dbox, &dga);
+ rb->object.dglyph.yoffset,
+ start_pixpos, rb->width, &dbox, &dga);
XSETWINDOW (window, w);
instance = glyph_image_instance (rb->object.dglyph.glyph,
else if (crb->type == RUNE_DGLYPH &&
(!EQ (crb->object.dglyph.glyph, drb->object.dglyph.glyph) ||
!EQ (crb->object.dglyph.extent, drb->object.dglyph.extent) ||
- crb->object.dglyph.xoffset != drb->object.dglyph.xoffset))
+ crb->object.dglyph.xoffset != drb->object.dglyph.xoffset ||
+ crb->object.dglyph.yoffset != drb->object.dglyph.yoffset ||
+ crb->object.dglyph.ascent != drb->object.dglyph.ascent ||
+ crb->object.dglyph.descent != drb->object.dglyph.descent))
return 0;
/* Only check dirtiness if we know something has changed. */
else if (crb->type == RUNE_DGLYPH &&
if (IMAGE_INSTANCE_SUBWINDOW_DISPLAYEDP (ii)
&&
IMAGE_INSTANCE_DISPLAY_X (ii)
- + IMAGE_INSTANCE_DISPLAY_WIDTH (ii) > x
+ + IMAGE_INSTANCE_DISPLAY_WIDTH (ii) > (unsigned) x
&&
- IMAGE_INSTANCE_DISPLAY_X (ii) < x + width
+ IMAGE_INSTANCE_DISPLAY_X (ii) < (unsigned) (x + width)
&&
IMAGE_INSTANCE_DISPLAY_Y (ii)
- + IMAGE_INSTANCE_DISPLAY_HEIGHT (ii) > y
+ + IMAGE_INSTANCE_DISPLAY_HEIGHT (ii) > (unsigned) y
&&
- IMAGE_INSTANCE_DISPLAY_Y (ii) < y + height
+ IMAGE_INSTANCE_DISPLAY_Y (ii) < (unsigned) (y + height)
&&
!EQ (XCAR (rest), ignored_window))
{
dga->height = IMAGE_INSTANCE_PIXMAP_HEIGHT (p);
dga->width = IMAGE_INSTANCE_PIXMAP_WIDTH (p);
+#ifdef DEBUG_REDISPLAY
+ printf ("redisplay_output_pixmap(request) \
+[%dx%d@%d+%d] in [%dx%d@%d+%d]\n",
+ db->width, db->height, db->xpos, db->ypos,
+ dga->width, dga->height, dga->xoffset, dga->yoffset);
+#endif
+
/* This makes the glyph area fit into the display area. */
if (!redisplay_normalize_glyph_area (db, dga))
return;
+#ifdef DEBUG_REDISPLAY
+ printf ("redisplay_output_pixmap(normalized) \
+[%dx%d@%d+%d] in [%dx%d@%d+%d]\n",
+ db->width, db->height, db->xpos, db->ypos,
+ dga->width, dga->height, dga->xoffset, dga->yoffset);
+#endif
+
/* Clear the area the pixmap is going into. The pixmap itself will
always take care of the full width. We don't want to clear where
it is going to go in order to avoid flicker. So, all we have to
redisplay_normalize_glyph_area
redisplay_normalize_display_box
- Calculate the visible box for displaying src in dest.
+ Calculate the visible box for displaying glyphsrc in dest.
+
+ display_box and display_glyph_area are used to represent an area to
+ displayed and where to display it. Using these two structures all
+ combinations of clipping and position can be accommodated.
+
+ dest - display_box
+
+ xpos - absolute horizontal position of area.
+
+ ypos - absolute vertical position of area.
+
+ glyphsrc - display_glyph_area
+
+ xoffset - horizontal offset of the glyph, +ve means display
+ the glyph with the x position offset by xoffset, -ve means
+ display starting xoffset into the glyph.
+
+ yoffset - vertical offset of the glyph, +ve means display the
+ glyph with y position offset by yoffset, -ve means display
+ starting xoffset into the glyph.
+
****************************************************************************/
int
redisplay_normalize_glyph_area (struct display_box* dest,
return 0;
}
- /* Horizontal offsets. This works because xoffset can be -ve as well as +ve */
+ /* Horizontal offsets. This works because xoffset can be -ve as well
+ as +ve. When we enter this function the glyphsrc width and
+ height are set to the actual glyph width and height irrespective
+ of how much can be displayed. We are trying to clip both the
+ offset into the image and the rightmost bounding box. Its
+ possible for the glyph width to be much larger than the area we
+ are displaying into (e.g. a large glyph in a small frame). */
if (dest->xpos + glyphsrc->xoffset + glyphsrc->width > dest->xpos + dest->width)
{
+ /* glyphsrc offset is +ve we are trying to display offset from the
+ origin (the bounding box contains some space and then the
+ glyph). At most the width we want to display is dest->width -
+ glyphsrc->xoffset. */
if (glyphsrc->xoffset > 0)
glyphsrc->width = dest->width - glyphsrc->xoffset;
+ /* glyphsrc offset is -ve we are trying to display hard up
+ against the dest corner inset into the glyphsrc by
+ xoffset.*/
+ else if (glyphsrc->xoffset < 0)
+ {
+ glyphsrc->width += glyphsrc->xoffset;
+ glyphsrc->width = min (glyphsrc->width, dest->width);
+ }
else
glyphsrc->width = dest->width;
}
- if (glyphsrc->xoffset < 0)
+ else if (glyphsrc->xoffset < 0)
glyphsrc->width += glyphsrc->xoffset;
/* Vertical offsets. This works because yoffset can be -ve as well as +ve */
if (dest->ypos + glyphsrc->yoffset + glyphsrc->height > dest->ypos + dest->height)
{
- if (glyphsrc->yoffset > 0)
+ if ((glyphsrc->yoffset > 0) && (dest->height > glyphsrc->yoffset))
glyphsrc->height = dest->height - glyphsrc->yoffset;
+ else if (glyphsrc->yoffset < 0)
+ {
+ glyphsrc->height += glyphsrc->yoffset;
+ glyphsrc->height = min (glyphsrc->height, dest->height);
+ }
else
glyphsrc->height = dest->height;
}
- if (glyphsrc->yoffset < 0)
+ else if (glyphsrc->yoffset < 0)
glyphsrc->height += glyphsrc->yoffset;
return 1;
****************************************************************************/
int
redisplay_calculate_display_boxes (struct display_line *dl, int xpos,
- int xoffset, int start_pixpos, int width,
- struct display_box* dest,
+ int xoffset, int yoffset, int start_pixpos,
+ int width, struct display_box* dest,
struct display_glyph_area* src)
{
dest->xpos = xpos;
dest->height = DISPLAY_LINE_HEIGHT (dl);
src->xoffset = -xoffset;
- src->yoffset = -dl->top_clip;
src->width = 0;
src->height = 0;
+ src->yoffset = -dl->top_clip + yoffset;
+
if (start_pixpos >=0 && start_pixpos > xpos)
{
/* Oops, we're asking for a start outside of the displayable
Lisp_Object instance;
struct display_box dbox;
struct display_glyph_area dga;
+
redisplay_calculate_display_boxes (dl, rb->xpos, rb->object.dglyph.xoffset,
- start_pixpos, rb->width,
- &dbox, &dga);
+ rb->object.dglyph.yoffset, start_pixpos,
+ rb->width, &dbox, &dga);
- XSETWINDOW (window, w);
+ XSETWINDOW (window, w);
instance = glyph_image_instance (rb->object.dglyph.glyph,
window, ERROR_ME_NOT, 1);
findex = rb->findex;
/* We draw underlines in the same color as the text. */
if (cachel->underline)
{
- unsigned long upos, uthick;
+ long upos;
+ long uthick;
XFontStruct *xfont;
xfont = FONT_INSTANCE_X_FONT (XFONT_INSTANCE (font));
to be skipped before anything is displayed. */
Bytind bi_start_col_enabled;
int start_col_xoffset; /* Number of pixels that still need to
- be skipped. This is used for
- horizontal scrolling of glyphs, where we want
- to be able to scroll over part of the glyph. */
+ be skipped. This is used for
+ horizontal scrolling of glyphs, where we want
+ to be able to scroll over part of the glyph. */
int hscroll_glyph_width_adjust; /* how much the width of the hscroll
glyph differs from space_width (w).
struct extent_fragment *ef;
face_index findex;
- /* The height of a pixmap may either be predetermined if the user
- has set a baseline value, or it may be dependent on whatever the
- line ascent and descent values end up being, based just on font
- information. In the first case we can immediately update the
- values, thus their inclusion here. In the last case we cannot
- determine the actual contribution to the line height until we
- have finished laying out all text on the line. Thus we propagate
- the max height of such pixmaps and do a final calculation after
- all text has been added to the line. */
+ /* The height of a pixmap may either be predetermined if the user has set a
+ baseline value, or it may be dependent on whatever the line ascent and
+ descent values end up being, based just on font and pixmap-ascent
+ information. In the first case we can immediately update the values, thus
+ their inclusion here. In the last case we cannot determine the actual
+ contribution to the line height until we have finished laying out all text
+ on the line. Thus we propagate the max height of such pixmaps and do a
+ final calculation (in calculate_baseline()) after all text has been added
+ to the line. */
int new_ascent;
int new_descent;
int max_pixmap_height;
+ int need_baseline_computation;
+ int end_glyph_width; /* Well, it is the kitchen sink after all ... */
Lisp_Object result_str; /* String where we put the result of
generating a formatted string in the modeline. */
PROP_STRING,
PROP_CHAR,
PROP_MINIBUF_PROMPT,
- PROP_BLANK
+ PROP_BLANK,
+ PROP_GLYPH
};
/* Data that should be propagated to the next line. Either a single
- Emchar or a string of Bufbyte's.
+ Emchar, a string of Bufbyte's or a glyph.
The actual data that is propagated ends up as a Dynarr of these
blocks.
+ prop_blocks are used to indicate that data that was supposed to go
+ on the previous line couldn't actually be displayed. Generally this
+ shouldn't happen if we are clipping the end of lines. If we are
+ wrapping then we need to display the propagation data before moving
+ on. Its questionable whether we should wrap or clip glyphs in this
+ instance. Most e-lisp relies on clipping so we preserve this
+ behavior.
+
#### It's unclean that both Emchars and Bufbytes are here.
*/
int width;
face_index findex;
} p_blank;
+
+ struct
+ {
+ /* Not used as yet, but could be used to wrap rather than clip glyphs. */
+ int width;
+ Lisp_Object glyph;
+ } p_glyph;
+
} data;
};
static void update_line_start_cache (struct window *w, Bufpos from, Bufpos to,
Bufpos point, int no_regen);
static int point_visible (struct window *w, Bufpos point, int type);
+static void calculate_yoffset (struct display_line *dl,
+ struct display_block *fixup);
+static void calculate_baseline (pos_data *data);
/* This used to be 10 but 30 seems to give much better performance. */
#define INIT_MAX_PREEMPTS 30
int toolbar_changed;
int toolbar_changed_set;
+/* Nonzero if some frame has changed the layout of internal elements
+ (gutters or toolbars). */
+int frame_layout_changed;
+
/* non-nil if any gutter has changed */
int gutter_changed;
int gutter_changed_set;
return bounds;
}
+/* This takes a display_block and its containing line and corrects the yoffset
+ of each glyph in the block to cater for the ascent of the line as a
+ whole. Must be called *after* the line-ascent is known! */
+
+static void
+calculate_yoffset (struct display_line *dl, struct display_block *fixup)
+{
+ int i;
+ for (i=0; i<Dynarr_length (fixup->runes); i++)
+ {
+ struct rune *r = Dynarr_atp (fixup->runes,i);
+ if (r->type == RUNE_DGLYPH)
+ {
+ if (r->object.dglyph.ascent < dl->ascent)
+ r->object.dglyph.yoffset = dl->ascent - r->object.dglyph.ascent +
+ r->object.dglyph.descent;
+ }
+ }
+}
+
+/* Calculate the textual baseline (the ascent and descent values for the
+ display_line as a whole).
+
+ If the baseline is completely blank, or contains no manually positioned
+ glyphs, then the textual baseline is simply the baseline of the default font.
+ (The `contains no manually positioned glyphs' part is actually done for
+ us by `add_emchar_rune'.)
+
+ If the baseline contains pixmaps, and they're all manually positioned, then
+ the textual baseline location is constrained that way, and we need do no
+ work.
+
+ If the baseline contains pixmaps, and at least one is automatically
+ positioned, then the textual ascent is the largest ascent on the line, and
+ the textual descent is the largest descent (which is how things are set up at
+ entry to this function anyway): except that if the max_ascent + max_descent
+ is too small for the height of the line (say you've adjusted the baseline of
+ a short glyph, and there's a tall one next to it), then take the ascent and
+ descent for the line individually from the largest of the explicitly set
+ ascent/descent, and the rescaled ascent/descent of the default font, scaled
+ such that the largest glyph will fit.
+
+ This means that if you have a short glyph (but taller than the default
+ font's descent) forced right under the baseline, and a really tall
+ automatically positioned glyph, that the descent for the line is just big
+ enough for the manually positioned short glyph, and the tall one uses as
+ much of that space as the default font would were it as tall as the tall
+ glyph; but that the ascent is big enough for the tall glyph to fit.
+
+ This behaviour means that under no circumstances will changing the baseline
+ of a short glyph cause a tall glyph to move around; nor will it move the
+ textual baseline more than necessary. (Changing a tall glyph's baseline
+ might move the text's baseline arbitrarily, of course.) */
+
+static void
+calculate_baseline (pos_data *data)
+{
+ /* Blank line: baseline is default font's baseline. */
+
+ if (!data->new_ascent && !data->new_descent)
+ {
+ /* We've got a blank line so initialize these values from the default
+ face. */
+ default_face_font_info (data->window, &data->new_ascent,
+ &data->new_descent, 0, 0, 0);
+ }
+
+ /* No automatically positioned glyphs? Return at once. */
+ if (!data->need_baseline_computation)
+ return;
+
+ /* Is the tallest glyph on the line automatically positioned?
+ If it's manually positioned, or it's automatically positioned
+ and there's enough room for it anyway, we need do no more work. */
+ if (data->max_pixmap_height > data->new_ascent + data->new_descent)
+ {
+ int default_font_ascent, default_font_descent, default_font_height;
+ int scaled_default_font_ascent, scaled_default_font_descent;
+
+ default_face_font_info (data->window, &default_font_ascent,
+ &default_font_descent, &default_font_height,
+ 0, 0);
+
+ scaled_default_font_ascent = data->max_pixmap_height *
+ default_font_ascent / default_font_height;
+
+ data->new_ascent = max (data->new_ascent, scaled_default_font_ascent);
+
+ /* The ascent may have expanded now. Do we still need to grow the descent,
+ or are things big enough?
+
+ The +1 caters for the baseline row itself. */
+ if (data->max_pixmap_height > data->new_ascent + data->new_descent)
+ {
+ scaled_default_font_descent = (data->max_pixmap_height *
+ default_font_descent / default_font_height) + 1;
+
+ data->new_descent = max (data->new_descent, scaled_default_font_descent);
+ }
+ }
+}
+
/* Given a display line and a starting position, ensure that the
contents of the display line accurately represent the visual
representation of the buffer contents starting from the given
return retval;
}
-/* Adds a character rune to a display block. If there is not enough
- room to fit the rune on the display block (as determined by the
- MAX_PIXPOS) then it adds nothing and returns ADD_FAILED. */
+/* Adds a character rune to a display block. If there is not enough room
+ to fit the rune on the display block (as determined by the MAX_PIXPOS)
+ then it adds nothing and returns ADD_FAILED. If
+ NO_CONTRIBUTE_TO_LINE_HEIGHT is non-zero, don't allow the char's height
+ to affect the total line height. (See add_intbyte_string_runes()). */
static prop_block_dynarr *
-add_emchar_rune (pos_data *data)
+add_emchar_rune_1 (pos_data *data, int no_contribute_to_line_height)
{
struct rune rb, *crb;
int width, local;
data->last_char_width = fi->width;
else
data->last_char_width = -1;
- data->new_ascent = max (data->new_ascent, (int) fi->ascent);
- data->new_descent = max (data->new_descent, (int) fi->descent);
+
+ if (!no_contribute_to_line_height)
+ {
+ data->new_ascent = max (data->new_ascent, (int) fi->ascent);
+ data->new_descent = max (data->new_descent, (int) fi->descent);
+ }
+
data->last_charset = charset;
data->last_findex = data->findex;
}
return NULL;
}
-/* Given a string C_STRING of length C_LENGTH, call add_emchar_rune
- for each character in the string. Propagate any left-over data
- unless NO_PROP is non-zero. */
-
+static prop_block_dynarr *
+add_emchar_rune (pos_data *data)
+{
+ return add_emchar_rune_1 (data, 0);
+}
+
+/* Given a string C_STRING of length C_LENGTH, call add_emchar_rune for
+ each character in the string. Propagate any left-over data unless
+ NO_PROP is non-zero. If NO_CONTRIBUTE_TO_LINE_HEIGHT is non-zero, don't
+ allow this character to increase the total height of the line. (This is
+ used when the character is part of a text glyph. In that case, the
+ glyph code itself adjusts the line height as necessary, depending on
+ whether glyph-contrib-p is true.) */
+
static prop_block_dynarr *
add_bufbyte_string_runes (pos_data *data, Bufbyte *c_string,
- Bytecount c_length, int no_prop)
+ Bytecount c_length, int no_prop,
+ int no_contribute_to_line_height)
{
Bufbyte *pos, *end = c_string + c_length;
prop_block_dynarr *prop;
data->ch = charptr_emchar (pos);
- prop = add_emchar_rune (data);
+ prop = add_emchar_rune_1 (data, no_contribute_to_line_height);
if (prop)
{
static prop_block_dynarr *
add_octal_runes (pos_data *data)
{
- prop_block_dynarr *prop, *add_failed;
+ prop_block_dynarr *add_failed, *prop = 0;
Emchar orig_char = data->ch;
unsigned int orig_cursor_type = data->cursor_type;
/* Initialize */
- prop = NULL;
add_failed = NULL;
if (data->start_col)
ADD_NEXT_OCTAL_RUNE_CHAR;
data->cursor_type = orig_cursor_type;
- return prop;
+ return NULL;
}
#undef ADD_NEXT_OCTAL_RUNE_CHAR
prop = add_bufbyte_string_runes (data,
XSTRING_DATA (entry),
XSTRING_LENGTH (entry),
- 0);
+ 0, 0);
}
else if (GLYPHP (entry))
{
}
}
}
- prop = add_bufbyte_string_runes (data, result, dst - result, 0);
+ prop = add_bufbyte_string_runes (data, result, dst - result, 0, 0);
}
}
Lisp_Object face;
Lisp_Object instance;
face_index findex;
+ prop_block_dynarr *retval = 0;
if (cachel)
width = cachel->width;
if (data->start_col || data->start_col_xoffset)
{
- prop_block_dynarr *retval;
int glyph_char_width = width / space_width (w);
/* If we still have not fully scrolled horizontally after
if (data->pixpos + width > data->max_pixpos)
{
/* If this is the first object we are attempting to add to
- the line then we ignore the horizontal_clip threshold.
- Otherwise we will loop until the bottom of the window
- continually failing to add this glyph because it is wider
- than the window. We could alternatively just completely
- ignore the glyph and proceed from there but I think that
- this is a better solution. */
+ the line then we ignore the horizontal_clip threshold.
+ Otherwise we will loop until the bottom of the window
+ continually failing to add this glyph because it is wider
+ than the window. We could alternatively just completely
+ ignore the glyph and proceed from there but I think that
+ this is a better solution.
+
+ This does, however, create a different problem in that we
+ can end up adding the object to every single line, never
+ getting any further - for instance an extent with a long
+ start-glyph that covers multitple following
+ characters. */
if (Dynarr_length (data->db->runes)
&& data->max_pixpos - data->pixpos < horizontal_clip)
return ADD_FAILED;
- else
+ else {
+ struct prop_block pb;
+
+ /* We need to account for the width of the end-of-line
+ glyph if there is nothing more in the line to display,
+ since we will not display it in this instance. It seems
+ kind of gross doing it here, but otherwise we have to
+ search the runes in create_text_block(). */
+ if (data->ch == '\n')
+ data->max_pixpos += data->end_glyph_width;
width = data->max_pixpos - data->pixpos;
+ /* Add the glyph we are displaying, but clipping, to the
+ propagation data so that we don't try and do it
+ again. */
+ retval = Dynarr_new (prop_block);
+ pb.type = PROP_GLYPH;
+ pb.data.p_glyph.glyph = gb->glyph;
+ pb.data.p_glyph.width = width;
+ Dynarr_add (retval, pb);
+ }
}
if (cachel)
baseline = glyph_baseline (gb->glyph, data->window);
+ rb.object.dglyph.descent = 0; /* Gets reset lower down, if it is known. */
+
if (glyph_contrib_p (gb->glyph, data->window))
{
/* A pixmap that has not had a baseline explicitly set. Its
if (NILP (baseline))
{
int height = ascent + descent;
+ data->need_baseline_computation = 1;
data->max_pixmap_height = max (data->max_pixmap_height, height);
}
data->new_ascent = max (data->new_ascent, pix_ascent);
data->new_descent = max (data->new_descent, pix_descent);
+ data->max_pixmap_height = max (data->max_pixmap_height, height);
+
+ rb.object.dglyph.descent = pix_descent;
}
/* Otherwise something is screwed up. */
if (!allow_cursor)
data->bi_bufpos = 0;
add_bufbyte_string_runes (data, XSTRING_DATA (string),
- XSTRING_LENGTH (string), 0);
+ XSTRING_LENGTH (string), 0, 1);
data->findex = orig_findex;
data->bi_bufpos = orig_bufpos;
data->bi_start_col_enabled = orig_start_col_enabled;
- return NULL;
+ return retval;
}
rb.findex = findex;
rb.object.dglyph.glyph = gb->glyph;
rb.object.dglyph.extent = gb->extent;
rb.object.dglyph.xoffset = xoffset;
+ rb.object.dglyph.ascent = ascent;
+ rb.object.dglyph.yoffset = 0; /* Until we know better, assume that it has
+ a normal (textual) baseline. */
if (allow_cursor)
{
Dynarr_add (data->db->runes, rb);
data->pixpos += width;
- return NULL;
+ return retval;
}
else
{
abort (); /* there are no unknown types */
}
- return NULL; /* shut up compiler */
+ return NULL;
}
/* Add all glyphs at position POS_TYPE that are contained in the given
is_surrogate_for_selected_frame (f));
int truncate_win = window_truncation_on (w);
- int end_glyph_width;
/* If the buffer's value of selective_display is an integer then
only lines that start with less than selective_display columns of
glyph. Save the width of the end glyph for later use. */
data.max_pixpos = dl->bounds.right_in;
if (truncate_win)
- end_glyph_width = GLYPH_CACHEL_WIDTH (w, TRUN_GLYPH_INDEX);
+ data.end_glyph_width = GLYPH_CACHEL_WIDTH (w, TRUN_GLYPH_INDEX);
else
- end_glyph_width = GLYPH_CACHEL_WIDTH (w, CONT_GLYPH_INDEX);
- data.max_pixpos -= end_glyph_width;
+ data.end_glyph_width = GLYPH_CACHEL_WIDTH (w, CONT_GLYPH_INDEX);
+ data.max_pixpos -= data.end_glyph_width;
if (cursor_in_echo_area && MINI_WINDOW_P (w) && echo_area_active (f))
{
/* Check for face changes. */
if (initial || (!no_more_frags && data.bi_bufpos == data.ef->end))
{
+ Lisp_Object last_glyph = Qnil;
+
+ /* Deal with glyphs that we have already displayed. The
+ theory is that if we end up with a PROP_GLYPH in the
+ propagation data then we are clipping the glyph and there
+ can be no propagation data before that point. The theory
+ works because we always recalculate the extent-fragments
+ for propagated data, we never actually propagate the
+ fragments that still need to be displayed. */
+ if (*prop && Dynarr_atp (*prop, 0)->type == PROP_GLYPH)
+ {
+ last_glyph = Dynarr_atp (*prop, 0)->data.p_glyph.glyph;
+ Dynarr_free (*prop);
+ *prop = 0;
+ }
/* Now compute the face and begin/end-glyph information. */
data.findex =
/* Remember that the extent-fragment routines deal in Bytind's. */
- extent_fragment_update (w, data.ef, data.bi_bufpos);
+ extent_fragment_update (w, data.ef, data.bi_bufpos, last_glyph);
get_display_tables (w, data.findex, &face_dt, &window_dt);
}
/* If there is propagation data, then it represents the current
- buffer position being displayed. Add them and advance the
- position counter. This might also add the minibuffer
- prompt. */
+ buffer position being displayed. Add them and advance the
+ position counter. This might also add the minibuffer
+ prompt. */
else if (*prop)
{
dl->used_prop_data = 1;
here rather than doing them at the end of handling the
previous run so that glyphs at the beginning and end of
a line are handled correctly. */
- else if (Dynarr_length (data.ef->end_glyphs) > 0)
+ else if (Dynarr_length (data.ef->end_glyphs) > 0
+ || Dynarr_length (data.ef->begin_glyphs) > 0)
{
- *prop = add_glyph_runes (&data, END_GLYPHS);
- if (*prop)
- goto done;
- }
+ glyph_block_dynarr* tmpglyphs = 0;
+ /* #### I think this is safe, but could be wrong. */
+ data.ch = BI_BUF_FETCH_CHAR (b, data.bi_bufpos);
- /* If there are begin glyphs, add them to the line. */
- else if (Dynarr_length (data.ef->begin_glyphs) > 0)
- {
- *prop = add_glyph_runes (&data, BEGIN_GLYPHS);
- if (*prop)
- goto done;
+ if (Dynarr_length (data.ef->end_glyphs) > 0)
+ {
+ *prop = add_glyph_runes (&data, END_GLYPHS);
+ tmpglyphs = data.ef->end_glyphs;
+ }
+
+ /* If there are begin glyphs, add them to the line. */
+ if (!*prop && Dynarr_length (data.ef->begin_glyphs) > 0)
+ {
+ *prop = add_glyph_runes (&data, BEGIN_GLYPHS);
+ tmpglyphs = data.ef->begin_glyphs;
+ }
+
+ if (*prop)
+ {
+ /* If we just clipped a glyph and we are at the end of a
+ line and there are more glyphs to display then do
+ appropriate processing to not get a continuation
+ glyph. */
+ if (*prop != ADD_FAILED
+ && Dynarr_atp (*prop, 0)->type == PROP_GLYPH
+ && data.ch == '\n')
+ {
+ /* If there are no more glyphs then do the normal
+ processing.
+
+ #### This doesn't actually work if the same glyph is
+ present more than once in the block. To solve
+ this we would have to carry the index around
+ which might be problematic since the fragment is
+ recalculated for each line. */
+ if (EQ (Dynarr_end (tmpglyphs)->glyph,
+ Dynarr_atp (*prop, 0)->data.p_glyph.glyph))
+ {
+ Dynarr_free (*prop);
+ *prop = 0;
+ }
+ else {
+ data.blank_width = DEVMETH (d, eol_cursor_width, ());
+ add_emchar_rune (&data); /* discard prop data. */
+ goto done;
+ }
+ }
+ else
+ goto done;
+ }
}
/* If at end-of-buffer, we've already processed begin and
/* We aren't going to be adding an end glyph so give its
space back in order to make sure that the cursor can
fit. */
- data.max_pixpos += end_glyph_width;
+ data.max_pixpos += data.end_glyph_width;
if (selective > 0
&& (bi_spaces_at_point
/* We won't be adding a truncation or continuation glyph
so give up the room allocated for them. */
- data.max_pixpos += end_glyph_width;
+ data.max_pixpos += data.end_glyph_width;
if (!NILP (b->selective_display_ellipses))
{
for the next newline. We also add the end-of-line glyph which
we know will fit because we adjusted the right border before
we starting laying out the line. */
- data.max_pixpos += end_glyph_width;
+ data.max_pixpos += data.end_glyph_width;
data.findex = DEFAULT_INDEX;
gb.extent = Qnil;
else
db->end_pos = dl->bounds.right_white;
- /* update line height parameters */
- if (!data.new_ascent && !data.new_descent)
- {
- /* We've got a blank line so initialize these values from the default
- face. */
- default_face_font_info (data.window, &data.new_ascent,
- &data.new_descent, 0, 0, 0);
- }
-
- if (data.max_pixmap_height)
- {
- int height = data.new_ascent + data.new_descent;
- int pix_ascent, pix_descent;
-
- pix_descent = data.max_pixmap_height * data.new_descent / height;
- pix_ascent = data.max_pixmap_height - pix_descent;
-
- data.new_ascent = max (data.new_ascent, pix_ascent);
- data.new_descent = max (data.new_descent, pix_descent);
- }
+ calculate_baseline (&data);
dl->ascent = data.new_ascent;
dl->descent = data.new_descent;
dl->descent = descent;
}
+ calculate_yoffset (dl, db);
+
dl->cursor_elt = data.cursor_x;
/* #### lossage lossage lossage! Fix this shit! */
if (data.bi_bufpos > BI_BUF_ZV (b))
(&data,
XSTRING_DATA (Voverlay_arrow_string),
XSTRING_LENGTH (Voverlay_arrow_string),
- 1);
+ 1, 0);
}
else if (GLYPHP (Voverlay_arrow_string))
{
add_glyph_rune (&data, &gb, BEGIN_GLYPHS, 0, 0);
}
- if (data.max_pixmap_height)
- {
- int height = data.new_ascent + data.new_descent;
- int pix_ascent, pix_descent;
-
- pix_descent = data.max_pixmap_height * data.new_descent / height;
- pix_ascent = data.max_pixmap_height - pix_descent;
-
- data.new_ascent = max (data.new_ascent, pix_ascent);
- data.new_descent = max (data.new_descent, pix_descent);
- }
+ calculate_baseline (&data);
dl->ascent = data.new_ascent;
dl->descent = data.new_descent;
data.db->start_pos = dl->bounds.left_in;
data.db->end_pos = data.pixpos;
+ calculate_yoffset (dl, data.db);
+
return data.pixpos - dl->bounds.left_in;
}
(reverse ? elt-- : elt++);
}
- if (data.max_pixmap_height)
- {
- int height = data.new_ascent + data.new_descent;
- int pix_ascent, pix_descent;
-
- pix_descent = data.max_pixmap_height * data.new_descent / height;
- pix_ascent = data.max_pixmap_height - pix_descent;
- data.new_ascent = max (data.new_ascent, pix_ascent);
- data.new_descent = max (data.new_descent, pix_descent);
- }
+ calculate_baseline (&data);
dl->ascent = data.new_ascent;
dl->descent = data.new_descent;
+ calculate_yoffset (dl, data.db);
+
return data.pixpos;
}
\f
/***************************************************************************/
-/* */
-/* displayable string routines */
-/* */
+/* */
+/* displayable string routines */
+/* */
/***************************************************************************/
/* Given a position for a string in a window, ensure that the given
pos_data data;
int truncate_win = b ? window_truncation_on (w) : 0;
- int end_glyph_width = 0;
/* We're going to ditch selective display for static text, it's an
FSF thing and invisible extents are the way to go here.
/* Set the right boundary adjusting it to take into account any end
glyph. Save the width of the end glyph for later use. */
data.max_pixpos = dl->bounds.right_in;
-#if 0
- if (truncate_win)
- end_glyph_width = GLYPH_CACHEL_WIDTH (w, TRUN_GLYPH_INDEX);
- else
- end_glyph_width = GLYPH_CACHEL_WIDTH (w, CONT_GLYPH_INDEX);
-#endif
- data.max_pixpos -= end_glyph_width;
+ data.max_pixpos -= data.end_glyph_width;
data.cursor_type = NO_CURSOR;
data.cursor_x = -1;
/* Check for face changes. */
if (initial || (!no_more_frags && data.bi_bufpos == data.ef->end))
{
+ Lisp_Object last_glyph = Qnil;
+ /* Deal with clipped glyphs that we have already displayed. */
+ if (*prop && Dynarr_atp (*prop, 0)->type == PROP_GLYPH)
+ {
+ last_glyph = Dynarr_atp (*prop, 0)->data.p_glyph.glyph;
+ Dynarr_free (*prop);
+ *prop = 0;
+ }
/* Now compute the face and begin/end-glyph information. */
data.findex =
/* Remember that the extent-fragment routines deal in Bytind's. */
- extent_fragment_update (w, data.ef, data.bi_bufpos);
+ extent_fragment_update (w, data.ef, data.bi_bufpos, last_glyph);
/* This is somewhat cheesy but the alternative is to
propagate default_face into extent_fragment_update. */
if (data.findex == DEFAULT_INDEX)
a line are handled correctly. */
else if (Dynarr_length (data.ef->end_glyphs) > 0)
{
+ data.ch = string_char (s, data.bi_bufpos);
*prop = add_glyph_runes (&data, END_GLYPHS);
- if (*prop)
+
+ if (*prop) {
goto done;
+ }
}
/* If there are begin glyphs, add them to the line. */
else if (Dynarr_length (data.ef->begin_glyphs) > 0)
{
+ data.ch = string_char (s, data.bi_bufpos);
*prop = add_glyph_runes (&data, BEGIN_GLYPHS);
- if (*prop)
+
+ if (*prop) {
goto done;
+ }
}
/* If at end-of-buffer, we've already processed begin and
/* We aren't going to be adding an end glyph so give its
space back in order to make sure that the cursor can
fit. */
- data.max_pixpos += end_glyph_width;
+ data.max_pixpos += data.end_glyph_width;
goto done;
}
*prop = add_blank_rune (&data, w, char_tab_width);
/* add_blank_rune is only supposed to be called with
- sizes guaranteed to fit in the available space. */
+ sizes guaranteed to fit in the available space. */
assert (!(*prop));
if (prop_width)
}
}
-done:
+ done:
/* Determine the starting point of the next line if we did not hit the
end of the buffer. */
for the next newline. We also add the end-of-line glyph which
we know will fit because we adjusted the right border before
we starting laying out the line. */
- data.max_pixpos += end_glyph_width;
+ data.max_pixpos += data.end_glyph_width;
data.findex = default_face;
gb.extent = Qnil;
cachel = GLYPH_CACHEL (w, CONT_GLYPH_INDEX);
}
- if (end_glyph_width)
+ if (data.end_glyph_width)
add_glyph_rune (&data, &gb, BEGIN_GLYPHS, 0, cachel);
if (truncate_win && data.bi_bufpos == bi_string_zv)
else
db->end_pos = dl->bounds.right_white;
- /* update line height parameters */
- if (!data.new_ascent && !data.new_descent)
- {
- /* We've got a blank line so initialize these values from the default
- face. */
- default_face_font_info (data.window, &data.new_ascent,
- &data.new_descent, 0, 0, 0);
- }
-
- if (data.max_pixmap_height)
- {
- int height = data.new_ascent + data.new_descent;
- int pix_ascent, pix_descent;
-
- pix_descent = data.max_pixmap_height * data.new_descent / height;
- pix_ascent = data.max_pixmap_height - pix_descent;
-
- data.new_ascent = max (data.new_ascent, pix_ascent);
- data.new_descent = max (data.new_descent, pix_descent);
- }
+ calculate_baseline (&data);
dl->ascent = data.new_ascent;
dl->descent = data.new_descent;
dl->descent = descent;
}
+ calculate_yoffset (dl, db);
+
dl->cursor_elt = data.cursor_x;
/* #### lossage lossage lossage! Fix this shit! */
if (data.bi_bufpos > bi_string_zv)
update_frame_menubars (f);
#endif /* HAVE_MENUBARS */
#ifdef HAVE_TOOLBARS
- /* Update the toolbars. */
- update_frame_toolbars (f);
+ /* Update the toolbars geometry. We don't update the toolbars
+ themselves at this point since the space they are trying to
+ occupy may currently by occupied by gutter elements. Instead we
+ update the geometry, then update the gutter geometry, then update
+ the gutters - which will cause mapped windows to be repositioned
+ - and finally update the toolbars. */
+ update_frame_toolbars_geometry (f);
#endif /* HAVE_TOOLBARS */
/* Gutter update proper has to be done inside display when no frame
size changes can occur, thus we separately update the gutter
update_frame_title (f);
+#ifdef HAVE_TOOLBARS
+ /* Finally update the toolbars. It seems its possible to get in a
+ cycle between updating the gutter and the toolbars. Basically we
+ want to end up with both being up-to-date and this doesn't seem
+ possible in a single pass. */
+ update_frame_toolbars (f);
+#endif /* HAVE_TOOLBARS */
+
CLASS_RESET_CHANGED_FLAGS (f);
f->window_face_cache_reset = 0;
f->echo_area_garbaged = 0;
FRAME_LOOP_NO_BREAK (frmcons, devcons, concons)
{
struct frame *f = XFRAME (XCAR (frmcons));
- /* #### urk! this does tons o' crap, such as creating lots of
- structs, doing window system actions, etc. we DO NOT want to
- be doing this -- marking should never change any state.
- i think we can just delete this. --ben */
- update_frame_window_mirror (f);
mark_window_mirror (f->root_mirror);
mark_gutters (f);
}
{
struct buffer *b = XBUFFER (w->buffer);
line_start_cache_dynarr *cache = w->line_start_cache;
- unsigned int top, bottom, pos;
+ unsigned int top, bottom;
+ EMACS_INT pos;
validate_line_start_cache (w);
w->line_cache_validation_override++;
If this is a rune in the modeline
then this might be nil. */
+ int ascent; /* Ascent of this glyph, in pixels. */
+ int descent; /* Descent of this glyph, in pixels. */
+ int yoffset; /* Offset from line top to reach glyph top */
int xoffset; /* Number of pixels that need to be
chopped off the left of the glyph.
This has the effect of shifting the
/* Nonzero if some device has signaled that it wants to change size. */
extern int asynch_device_change_pending;
+/* Nonzero if some frame has changed the layout of internal elements
+ (gutters or toolbars). */
+extern int frame_layout_changed;
+
/* Nonzero if any toolbar has changed. */
extern int toolbar_changed;
extern int toolbar_changed_set;
(p)->extents_changed = 0; \
(p)->faces_changed = 0; \
(p)->frame_changed = 0; \
+ (p)->frame_layout_changed = 0; \
(p)->icon_changed = 0; \
(p)->menubar_changed = 0; \
(p)->modeline_changed = 0; \
clip_changed = 0; \
extents_changed = 0; \
frame_changed = 0; \
+ frame_layout_changed = 0; \
icon_changed = 0; \
menubar_changed = 0; \
modeline_changed = 0; \
(p)->extents_changed || \
(p)->faces_changed || \
(p)->frame_changed || \
+ (p)->frame_layout_changed || \
(p)->icon_changed || \
(p)->menubar_changed || \
(p)->modeline_changed || \
extents_changed || \
faces_changed || \
frame_changed || \
+ frame_layout_changed || \
icon_changed || \
menubar_changed || \
modeline_changed || \
face_index findex, int cursor_start, int cursor_width,
int cursor_height, int offset_bitmap);
int redisplay_calculate_display_boxes (struct display_line *dl, int xpos,
- int xoffset, int start_pixpos, int width,
- struct display_box* dest,
+ int xoffset, int yoffset, int start_pixpos,
+ int width, struct display_box* dest,
struct display_glyph_area* src);
int redisplay_normalize_glyph_area (struct display_box* dest,
struct display_glyph_area* glyphsrc);
{
int hasVertBar, hasHorzBar; /* Indicates presence of scroll bars */
unsigned wheelScrollLines = 0; /* Number of lines per wheel notch */
- Lisp_Object win;
+ Lisp_Object win, corpore, sano;
struct window_mirror *mirror;
+ int mene, _mene, tekel, upharsin;
+ Bufpos mens, sana;
+ Charcount in;
+ struct window *needle_in_haystack = 0;
POINT donde_esta;
donde_esta.x = where.x;
donde_esta.y = where.y;
- ScreenToClient (FRAME_MSWINDOWS_HANDLE (XFRAME (frame)), &donde_esta);
-
/* Find the window to scroll */
- {
- int mene, _mene, tekel, upharsin;
- Bufpos mens, sana;
- Charcount in;
- Lisp_Object corpore, sano;
- struct window *needle_in_haystack;
-
- // stderr_out ("donde_esta: %d %d\n", donde_esta.x, donde_esta.y);
- pixel_to_glyph_translation (XFRAME (frame), donde_esta.x, donde_esta.y,
- &mene, &_mene, &tekel, &upharsin,
- &needle_in_haystack,
- &mens, &sana, &in, &corpore, &sano);
-
- if (needle_in_haystack)
- {
- XSETWINDOW (win, needle_in_haystack);
- // stderr_out ("found needle\n");
- // debug_print (win);
- }
- else
- {
- win = FRAME_SELECTED_WINDOW (XFRAME (frame));
- needle_in_haystack = XWINDOW (win);
- }
- mirror = find_window_mirror (needle_in_haystack);
- }
+ /* The mouse event could actually occur outside of the emacs
+ frame. */
+ if (ScreenToClient (FRAME_MSWINDOWS_HANDLE (XFRAME (frame)),
+ &donde_esta) != 0)
+ {
+ /* stderr_out ("donde_esta: %d %d\n", donde_esta.x, donde_esta.y); */
+ pixel_to_glyph_translation (XFRAME (frame), donde_esta.x, donde_esta.y,
+ &mene, &_mene, &tekel, &upharsin,
+ &needle_in_haystack,
+ &mens, &sana, &in, &corpore, &sano);
+
+ if (needle_in_haystack)
+ {
+ XSETWINDOW (win, needle_in_haystack);
+ /* stderr_out ("found needle\n");
+ debug_print (win); */
+ }
+ }
+
+ if (!needle_in_haystack)
+ {
+ win = FRAME_SELECTED_WINDOW (XFRAME (frame));
+ needle_in_haystack = XWINDOW (win);
+ }
+
+ mirror = find_window_mirror (needle_in_haystack);
/* Check that there is something to scroll */
hasVertBar = can_scroll (mirror->scrollbar_vertical_instance);
Lisp_Object Vskip_chars_range_table;
static void set_search_regs (struct buffer *buf, Bufpos beg, Charcount len);
+/* #### 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,
return pos;
}
\f
+/* This function synched with FSF 21.1 */
static Lisp_Object
skip_chars (struct buffer *buf, int forwardp, int syntaxp,
Lisp_Object string, Lisp_Object lim)
{
Emchar cend;
+ /* Skip over the dash. */
p++;
if (p == pend) break;
cend = charptr_emchar (p);
}
}
+ /* #### Not in FSF 21.1 */
if (syntaxp && fastmap['-'] != 0)
fastmap[' '] = 1;
{
Bufpos start_point = BUF_PT (buf);
+ Bufpos pos = start_point;
+ Bytind pos_byte = BI_BUF_PT (buf);
if (syntaxp)
{
- SETUP_SYNTAX_CACHE_FOR_BUFFER (buf, BUF_PT (buf), forwardp ? 1 : -1);
+ SETUP_SYNTAX_CACHE_FOR_BUFFER (buf, pos, forwardp ? 1 : -1);
/* All syntax designators are normal chars so nothing strange
to worry about */
if (forwardp)
{
- while (BUF_PT (buf) < limit
- && fastmap[(unsigned char)
- syntax_code_spec
- [(int) SYNTAX_FROM_CACHE (syntax_table,
- BUF_FETCH_CHAR
- (buf, BUF_PT (buf)))]])
- {
- BUF_SET_PT (buf, BUF_PT (buf) + 1);
- UPDATE_SYNTAX_CACHE_FORWARD (BUF_PT (buf));
- }
+ if (pos < limit)
+ while (fastmap[(unsigned char)
+ syntax_code_spec
+ [(int) SYNTAX_FROM_CACHE
+ (syntax_table,
+ BI_BUF_FETCH_CHAR (buf, pos_byte))]])
+ {
+ pos++;
+ INC_BYTIND (buf, pos_byte);
+ if (pos >= limit)
+ break;
+ UPDATE_SYNTAX_CACHE_FORWARD (pos);
+ }
}
else
{
- while (BUF_PT (buf) > limit
- && fastmap[(unsigned char)
- syntax_code_spec
- [(int) SYNTAX_FROM_CACHE (syntax_table,
- BUF_FETCH_CHAR
- (buf, BUF_PT (buf) - 1))]])
+ while (pos > limit)
{
- BUF_SET_PT (buf, BUF_PT (buf) - 1);
- UPDATE_SYNTAX_CACHE_BACKWARD (BUF_PT (buf) - 1);
+ Bufpos savepos = pos_byte;
+ pos--;
+ DEC_BYTIND (buf, pos_byte);
+ UPDATE_SYNTAX_CACHE_BACKWARD (pos);
+ if (!fastmap[(unsigned char)
+ syntax_code_spec
+ [(int) SYNTAX_FROM_CACHE
+ (syntax_table,
+ BI_BUF_FETCH_CHAR (buf, pos_byte))]])
+ {
+ pos++;
+ pos_byte = savepos;
+ break;
+ }
}
}
}
{
if (forwardp)
{
- while (BUF_PT (buf) < limit)
+ while (pos < limit)
{
- Emchar ch = BUF_FETCH_CHAR (buf, BUF_PT (buf));
+ Emchar ch = BI_BUF_FETCH_CHAR (buf, pos_byte);
if ((ch < 0400) ? fastmap[ch] :
(NILP (Fget_range_table (make_int (ch),
Vskip_chars_range_table,
Qnil))
== negate))
- BUF_SET_PT (buf, BUF_PT (buf) + 1);
+ {
+ pos++;
+ INC_BYTIND (buf, pos_byte);
+ }
else
break;
}
}
else
{
- while (BUF_PT (buf) > limit)
+ while (pos > limit)
{
- Emchar ch = BUF_FETCH_CHAR (buf, BUF_PT (buf) - 1);
+ Bufpos prev_pos_byte = pos_byte;
+ Emchar ch;
+
+ DEC_BYTIND (buf, prev_pos_byte);
+ ch = BI_BUF_FETCH_CHAR (buf, prev_pos_byte);
if ((ch < 0400) ? fastmap[ch] :
- (NILP (Fget_range_table (make_int (ch),
- Vskip_chars_range_table,
- Qnil))
- == negate))
- BUF_SET_PT (buf, BUF_PT (buf) - 1);
- else
- break;
+ (NILP (Fget_range_table (make_int (ch),
+ Vskip_chars_range_table,
+ Qnil))
+ == negate))
+ {
+ pos--;
+ pos_byte = prev_pos_byte;
+ }
+ else
+ break;
}
}
}
QUIT;
+ BOTH_BUF_SET_PT (buf, pos, pos_byte);
return make_int (BUF_PT (buf) - start_point);
}
}
int num_regs;
int length;
+#if 0
+ /* #### according to 21.5 comment, unnecessary */
if (running_asynch_code)
save_search_regs ();
+#endif
CONCHECK_LIST (list);
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;
}
}
+/* #### 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)
x_selection_timeout = 0;
DEFVAR_BOOL ("x-selection-strict-motif-ownership", &x_selection_strict_motif_ownership /*
-*If true and XEmacs already owns the clipboard, don't own it again in the
+*If nil and XEmacs already owns the clipboard, don't own it again in the
Motif way. Owning the selection on the Motif way does a huge amount of
X protocol, and it makes killing text incredibly slow when using an
X terminal. However, when enabled Motif text fields don't bother to look up
int multiword_predicate_p)
{
char temp[500];
- int len = strlen (name) - 1;
- int i;
+ size_t len = strlen (name) - 1;
+ size_t i;
if (multiword_predicate_p)
assert (len + 1 < sizeof (temp));
defkeyword_massage_name (Lisp_Object *location, const char *name)
{
char temp[500];
- int len = strlen (name);
+ size_t len = strlen (name);
assert (len < sizeof (temp));
strcpy (temp, name);
Lisp_Object inherits_from)
{
char temp[500];
- int i;
- int len = strlen (name) - 1;
+ size_t i;
+ size_t len = strlen (name) - 1;
assert (len < sizeof (temp));
strcpy (temp, name + 1); /* Remove initial Q */
/* Windows rename fails if NEW exists */
if (rename (old, new) == 0)
return 0;
- if (errno != EEXIST)
+ /* In some cases errno is EACCES if NEW exists */
+ if (errno != EEXIST && errno != EACCES)
+ return -1;
+ if (unlink (new) != 0)
return -1;
- unlink (new);
#endif /* WIN32_NATIVE */
return rename (old, new);
}
# define RTLD_LAZY 1
#endif /* RTLD_LAZY isn't defined under FreeBSD - ick */
-#ifndef RTLD_GLOBAL
-# define RTLD_GLOBAL 0
-#endif
-
#ifndef RTLD_NOW
# define RTLD_NOW 2
#endif
dll_handle
dll_open (const char *fname)
{
- return (dll_handle) dlopen (fname, RTLD_NOW | RTLD_GLOBAL);
+ return (dll_handle) dlopen (fname, RTLD_NOW);
}
int
#ifndef MAC_CHARSET
#define MAC_CHARSET 77
#endif
+#ifndef LOCALE_RETURN_NUMBER
+#define LOCALE_RETURN_NUMBER 0x20000000
+#endif
/***************************************************************/
|| tb->y != y \
|| tb->width != width \
|| tb->height != height \
- || tb->dirty) \
+ || tb->dirty \
+ || f->clear) /* This is clearly necessary. */ \
{ \
if (width && height) \
{ \
if (FRAME_REAL_TOP_TOOLBAR_VISIBLE (f))
gtk_output_toolbar (f, TOP_TOOLBAR);
- else if (f->top_toolbar_was_visible)
- gtk_clear_toolbar (f, TOP_TOOLBAR, 0);
-
if (FRAME_REAL_BOTTOM_TOOLBAR_VISIBLE (f))
gtk_output_toolbar (f, BOTTOM_TOOLBAR);
- else if (f->bottom_toolbar_was_visible)
- gtk_clear_toolbar (f, BOTTOM_TOOLBAR, 0);
-
if (FRAME_REAL_LEFT_TOOLBAR_VISIBLE (f))
gtk_output_toolbar (f, LEFT_TOOLBAR);
- else if (f->left_toolbar_was_visible)
- gtk_clear_toolbar (f, LEFT_TOOLBAR, 0);
-
if (FRAME_REAL_RIGHT_TOOLBAR_VISIBLE (f))
gtk_output_toolbar (f, RIGHT_TOOLBAR);
- else if (f->right_toolbar_was_visible)
+}
+
+static void
+gtk_clear_frame_toolbars (struct frame *f)
+{
+ assert (FRAME_GTK_P (f));
+
+ if (f->top_toolbar_was_visible
+ && !FRAME_REAL_TOP_TOOLBAR_VISIBLE (f))
+ gtk_clear_toolbar (f, TOP_TOOLBAR, 0);
+ if (f->bottom_toolbar_was_visible
+ && !FRAME_REAL_BOTTOM_TOOLBAR_VISIBLE (f))
+ gtk_clear_toolbar (f, BOTTOM_TOOLBAR, 0);
+ if (f->left_toolbar_was_visible
+ && !FRAME_REAL_LEFT_TOOLBAR_VISIBLE (f))
+ gtk_clear_toolbar (f, LEFT_TOOLBAR, 0);
+ if (f->right_toolbar_was_visible
+ && !FRAME_REAL_RIGHT_TOOLBAR_VISIBLE (f))
gtk_clear_toolbar (f, RIGHT_TOOLBAR, 0);
}
console_type_create_toolbar_gtk (void)
{
CONSOLE_HAS_METHOD (gtk, output_frame_toolbars);
+ CONSOLE_HAS_METHOD (gtk, clear_frame_toolbars);
CONSOLE_HAS_METHOD (gtk, initialize_frame_toolbars);
CONSOLE_HAS_METHOD (gtk, free_frame_toolbars);
CONSOLE_HAS_METHOD (gtk, output_toolbar_button);
the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
-/* This implementation by Andy Piper <andyp@parallax.co.uk>, with bits
+/* This implementation by Andy Piper <andy@xemacs.org>, with bits
borrowed from toolbar-x.c */
/* Synched up with: Not in FSF. */
if (FRAME_REAL_TOP_TOOLBAR_VISIBLE (f))
mswindows_output_toolbar (f, TOP_TOOLBAR);
- else if (f->top_toolbar_was_visible)
- mswindows_clear_toolbar (f, TOP_TOOLBAR, 0);
-
if (FRAME_REAL_BOTTOM_TOOLBAR_VISIBLE (f))
mswindows_output_toolbar (f, BOTTOM_TOOLBAR);
- else if (f->bottom_toolbar_was_visible)
- mswindows_clear_toolbar (f, BOTTOM_TOOLBAR, 0);
-
if (FRAME_REAL_LEFT_TOOLBAR_VISIBLE (f))
mswindows_output_toolbar (f, LEFT_TOOLBAR);
- else if (f->left_toolbar_was_visible)
- mswindows_clear_toolbar (f, LEFT_TOOLBAR, 0);
-
if (FRAME_REAL_RIGHT_TOOLBAR_VISIBLE (f))
mswindows_output_toolbar (f, RIGHT_TOOLBAR);
- else if (f->right_toolbar_was_visible)
+}
+
+static void
+mswindows_clear_frame_toolbars (struct frame *f)
+{
+ assert (FRAME_MSWINDOWS_P (f));
+
+ if (f->top_toolbar_was_visible
+ && !FRAME_REAL_TOP_TOOLBAR_VISIBLE (f))
+ mswindows_clear_toolbar (f, TOP_TOOLBAR, 0);
+ if (f->bottom_toolbar_was_visible
+ && !FRAME_REAL_BOTTOM_TOOLBAR_VISIBLE (f))
+ mswindows_clear_toolbar (f, BOTTOM_TOOLBAR, 0);
+ if (f->left_toolbar_was_visible
+ && !FRAME_REAL_LEFT_TOOLBAR_VISIBLE (f))
+ mswindows_clear_toolbar (f, LEFT_TOOLBAR, 0);
+ if (f->right_toolbar_was_visible
+ && !FRAME_REAL_RIGHT_TOOLBAR_VISIBLE (f))
mswindows_clear_toolbar (f, RIGHT_TOOLBAR, 0);
}
console_type_create_toolbar_mswindows (void)
{
CONSOLE_HAS_METHOD (mswindows, output_frame_toolbars);
+ CONSOLE_HAS_METHOD (mswindows, clear_frame_toolbars);
CONSOLE_HAS_METHOD (mswindows, initialize_frame_toolbars);
CONSOLE_HAS_METHOD (mswindows, free_frame_toolbars);
CONSOLE_HAS_METHOD (mswindows, redraw_exposed_toolbars);
|| tb->y != y \
|| tb->width != width \
|| tb->height != height \
- || tb->dirty) \
+ || tb->dirty \
+ || f->clear) /* This is clearly necessary. */ \
{ \
if (width && height) \
{ \
if (FRAME_REAL_TOP_TOOLBAR_VISIBLE (f))
x_output_toolbar (f, TOP_TOOLBAR);
- else if (f->top_toolbar_was_visible)
- x_clear_toolbar (f, TOP_TOOLBAR, 0);
-
if (FRAME_REAL_BOTTOM_TOOLBAR_VISIBLE (f))
x_output_toolbar (f, BOTTOM_TOOLBAR);
- else if (f->bottom_toolbar_was_visible)
- x_clear_toolbar (f, BOTTOM_TOOLBAR, 0);
-
if (FRAME_REAL_LEFT_TOOLBAR_VISIBLE (f))
x_output_toolbar (f, LEFT_TOOLBAR);
- else if (f->left_toolbar_was_visible)
- x_clear_toolbar (f, LEFT_TOOLBAR, 0);
-
if (FRAME_REAL_RIGHT_TOOLBAR_VISIBLE (f))
x_output_toolbar (f, RIGHT_TOOLBAR);
- else if (f->right_toolbar_was_visible)
+}
+
+static void
+x_clear_frame_toolbars (struct frame *f)
+{
+ assert (FRAME_X_P (f));
+
+ if (f->top_toolbar_was_visible
+ && !FRAME_REAL_TOP_TOOLBAR_VISIBLE (f))
+ x_clear_toolbar (f, TOP_TOOLBAR, 0);
+ if (f->bottom_toolbar_was_visible
+ && !FRAME_REAL_BOTTOM_TOOLBAR_VISIBLE (f))
+ x_clear_toolbar (f, BOTTOM_TOOLBAR, 0);
+ if (f->left_toolbar_was_visible
+ && !FRAME_REAL_LEFT_TOOLBAR_VISIBLE (f))
+ x_clear_toolbar (f, LEFT_TOOLBAR, 0);
+ if (f->right_toolbar_was_visible
+ && !FRAME_REAL_RIGHT_TOOLBAR_VISIBLE (f))
x_clear_toolbar (f, RIGHT_TOOLBAR, 0);
}
console_type_create_toolbar_x (void)
{
CONSOLE_HAS_METHOD (x, output_frame_toolbars);
+ CONSOLE_HAS_METHOD (x, clear_frame_toolbars);
CONSOLE_HAS_METHOD (x, initialize_frame_toolbars);
CONSOLE_HAS_METHOD (x, free_frame_toolbars);
CONSOLE_HAS_METHOD (x, output_toolbar_button);
set_frame_toolbar (f, RIGHT_TOOLBAR);
}
+/* Update the toolbar geometry separately from actually displaying the
+ toolbar. This is necessary because both the gutter and the toolbar
+ are competing for redisplay cycles and, unfortunately, gutter
+ updates happen late in the game. Firstly they are done inside of
+ redisplay proper and secondly subcontrols may not get moved until
+ the next screen refresh. Only after subcontrols have been moved to
+ their final destinations can we be certain of updating the
+ toolbar. Under X this probably is exacerbated by the toolbar button
+ dirty flags which prevent updates happening when they possibly
+ should. */
void
-update_frame_toolbars (struct frame *f)
+update_frame_toolbars_geometry (struct frame *f)
{
struct device *d = XDEVICE (f->device);
if (DEVICE_SUPPORTS_TOOLBARS_P (d)
- && (f->toolbar_changed || f->frame_changed || f->clear))
+ && (f->toolbar_changed
+ || f->frame_layout_changed
+ || f->frame_changed
+ || f->clear))
{
int pos;
pixel_to_char_size (f, FRAME_PIXWIDTH (f), FRAME_PIXHEIGHT (f),
&width, &height);
change_frame_size (f, height, width, 0);
+ MARK_FRAME_LAYOUT_CHANGED (f);
break;
}
- for (pos = 0; pos < 4; pos++)
+ for (pos = 0; pos < 4; pos++) {
f->current_toolbar_size[pos] = FRAME_REAL_TOOLBAR_SIZE (f, pos);
+ }
/* Removed the check for the minibuffer here. We handle this
more correctly now by consistently using
FRAME_LAST_NONMINIBUF_WINDOW instead of FRAME_SELECTED_WINDOW
throughout the toolbar code. */
compute_frame_toolbars_data (f);
+
+ /* Clear the previous toolbar locations. If we do it later
+ (after redisplay) we end up clearing what we have just
+ displayed. */
+ MAYBE_DEVMETH (d, clear_frame_toolbars, (f));
+ }
+}
+
+/* Actually redisplay the toolbar buttons. */
+void
+update_frame_toolbars (struct frame *f)
+{
+ struct device *d = XDEVICE (f->device);
+ if (DEVICE_SUPPORTS_TOOLBARS_P (d)
+ && (f->toolbar_changed
+ || f->frame_layout_changed
+ || f->frame_changed
+ || f->clear))
+ {
DEVMETH (d, output_frame_toolbars, (f));
}
extern Lisp_Object Vtoolbar_size[4];
extern Lisp_Object Vtoolbar_border_width[4];
void update_frame_toolbars (struct frame *f);
+void update_frame_toolbars_geometry (struct frame *f);
void init_frame_toolbars (struct frame *f);
void init_device_toolbars (struct device *d);
void init_global_toolbars (struct device *d);
#ifndef ElfW
# ifdef __STDC__
-# define ElfW(type) Elf32_##type
+# define ElfBitsW(bits, type) Elf##bits##_##type
# else
-# define ElfW(type) Elf32_/**/type
+# define ElfBitsW(bits, type) Elf/**/bits/**/_/**/type
# endif
+# ifndef ELFSIZE
+# ifdef _LP64
+# define ELFSIZE 64
+# else
+# define ELFSIZE 32
+# endif
+# endif
+ /* This macro expands `bits' before invoking ElfBitsW. */
+# define ElfExpandBitsW(bits, type) ElfBitsW (bits, type)
+# define ElfW(type) ElfExpandBitsW (ELFSIZE, type)
#endif
#ifndef ELF_BSS_SECTION_NAME
if ((fname1 = strchr (doc, ':')) != NULL
&& *++fname1 == '/' && *++fname1 == '/')
{
- fname1++;
- pos = fname1 - doc;
- if (!(isalpha (fname1[0]) && (IS_DEVICE_SEP (fname1[1]))))
+ // URL-style if we get here, but we must only convert file
+ // arguments, since win32 paths are illegal in http etc.
+ if (strncmp (doc, "file://", 7) == 0)
{
- sz = cygwin_posix_to_win32_path_list_buf_size (fname1);
- fname2 = alloca (sz + pos);
- strncpy (fname2, doc, pos);
- doc = fname2;
- fname2 += pos;
- cygwin_posix_to_win32_path_list (fname1, fname2);
+ fname1++;
+ pos = fname1 - doc;
+ if (!(isalpha (fname1[0]) && (IS_DEVICE_SEP (fname1[1]))))
+ {
+ sz = cygwin_posix_to_win32_path_list_buf_size (fname1);
+ fname2 = alloca (sz + pos);
+ strncpy (fname2, doc, pos);
+ doc = fname2;
+ fname2 += pos;
+ cygwin_posix_to_win32_path_list (fname1, fname2);
+ }
}
}
else {
+ // Not URL-style, must be a straight filename.
LOCAL_TO_WIN32_FILE_FORMAT (document, doc);
}
#endif
DEFUN ("split-window", Fsplit_window, 0, 3, "", /*
Split WINDOW, putting SIZE lines in the first of the pair.
WINDOW defaults to the selected one and SIZE to half its size.
-If optional third arg HORFLAG is non-nil, split side by side
-and put SIZE columns in the first of the pair.
+If optional third arg HORFLAG is non-nil, split side by side and put
+SIZE columns in the first of the pair. The newly created window is
+returned.
*/
(window, size, horflag))
{
/* In the new scheme, we are symmetric with respect to separators
so there is no need to do weird things here. */
{
- psize = WINDOW_WIDTH (o) >> 1;
+ psize = (WINDOW_WIDTH (o) + window_divider_width (o)) >> 1;
csize = window_pixel_width_to_char_width (o, psize, 0);
}
else
const struct gcv_and_mask *gcvm = (const struct gcv_and_mask *) arg;
unsigned long *longs = (unsigned long *) &gcvm->gcv;
unsigned long hash = gcvm->mask;
- int i;
+ size_t i;
/* This could look at the mask and only use the used slots in the
hash code. That would win in that we wouldn't have to initialize
every slot of the gcv when calling gc_cache_lookup. But we need
+2002-08-23 Stephen J. Turnbull <stephen@xemacs.org>
+
+ * XEmacs 21.4.9 "Informed Management" is released.
+
+2002-07-20 Mike Sperber <mike@xemacs.org>
+
+ * automated/test-harness.el (test-harness-read-from-buffer): Fix
+ incorrect call of `princ'.
+
2002-05-09 Stephen J. Turnbull <stephen@xemacs.org>
* XEmacs 21.4.8 "Honest Recruiter" is released.
(setq body (cons (read buffer) body)))
(end-of-file nil)
(error
- (princ "Unexpected error %S reading forms from buffer\n" error-info)))
+ (princ (format "Unexpected error %S reading forms from buffer\n" error-info))))
`(lambda ()
(defvar passes)
(defvar assertion-failures)
emacs_is_beta=
emacs_major_version=21
emacs_minor_version=4
-emacs_beta_version=8
-xemacs_codename="Honest Recruiter"
-emacs_kitname=""
+emacs_beta_version=9
+xemacs_codename="Informed Management"
+emacs_kit_version=
infodock_major_version=4
infodock_minor_version=0
infodock_build_version=8