--- /dev/null
+typescript
+config.log
+Makefile
+Installation
+Installation.el
+config.status
+GNUmakefile
+Makefile.in
+so_locations
-*- indented-text -*-
+to 21.2.14 ""
+-- mingw32 port from Andy Piper
+
+to 21.2.13 "Demeter"
+-- Build fixes from Martin Buchholz
+-- experimental splash screen rewrite from Didier Verna
+-- Various patches from Jan Vroonhof and Andy Piper
+-- alist.el synched up with APEL 9.13 from MORIOKA Tomohiko
+-- MS Window build fixes from Jonathan Harris
+-- UCS-4/UTF-8 support from MORIOKA Tomohiko
+
+to 21.2.12 "Clio"
+-- event-stream unification for MS Windows from Andy Piper
+-- Determine best visual to use to avoid flashing from IENAGA Kazuyuki
+-- Fix for new Berkeley DB library from Paul Keusemann/Gregory Neil Shapiro
+-- Various package-ui fixes from Jan Vroonhof
+-- Fix for doubled font-locking during buffer reversion
+-- KFM browsing support from Neal Becker
+-- info fix from Didier Verna
+-- Build bug fixes from Martin Buchholz
+-- Various Documentation updates
+-- X-Face support for MS Windows native build from Gleb Arshinov
+
+to 21.2 beta11 "Calliope"
+-- Dialog box fix from Jan Vroonhof
+-- unified mswindows and tty event loops from Andy Piper
+-- miscellaneous patches from Gleb Arshinov
+-- miscellaneous patches from Charles Waldman and Adrian Aichner
+-- Mule dump time files remerged from mule-base package
+-- Documentation fixes from Jan Vroonhof
+-- 24bit color image fix from Kazuo OISHI
+-- various build fixes from Martin Buchholz
+
+to 21.2 beta10 "Boreas"
+-- package UI fix from Jan Vroonhof
+-- MS Windows NT process fix from Gleb Arshinov
+
+to 21.2 beta9 "Athena"
+-- parameterize replace-match function from Didier Verna
+-- X-Face support under mswindows from Andy Piper
+-- doc fixes from Adrian Aichner
+-- about patchlet from Marcus Thiessel
+-- isearch doc fixes from Didier Verna
+-- interlaced gif fix from Gunnar Evermann
+-- isearch improvements from Didier Verna
+-- eldap connection fix from William Perry
+-- package-get site fix from Robert Pluim
+-- loadable modules fix from Damon Lipparelli
+-- ldap fixes from Oscar Figueiredo
+-- loadable modules from J. Kean Johnston
+-- runwhatever from Charles Wilson
+-- redisplay fixes for glyphs from Andy Piper
+-- progress gauge widgets implentation from Andy Piper
+-- W3 works again due to font.el being fixed
+-- Another mule xemacs crash fixed
+-- Images in widgets, warning fixes and gui_item cleanup from Andy Piper
+-- package admin fixes under mswindows from Charles Waldman
+-- miscellaneous mswindows build fixes from Jonathan Harris
+-- help-echo fix from Hrvoje Niksic
+-- x font path support from Jim Radford
+-- MSVC compile fixes from Damon Lipparelli
+
+to 21.2 beta8 "Artemis"
+-- A bunch of Mule fixes from Martin Buchholz
+
+to 21.2 beta7 "Ares"
+-- mswindows modeline crash fix from Jonathan Harris
+-- picon glyph fix from Gunnar Evermann
+-- widgets-in-buffers and subwindow support from Andy Piper
+-- movemail pop support under mswindows from Fabrice Popineau
+-- ldap fixes from Oscar Figueiredo
+-- fns cleanup from Hrvoje Niksic
+-- menubar fixes from Didier Verna
+-- mswindows accelerator fix from Jonathan Harris
+-- dired mule fix from Didier Verna
+-- sound doc cleanup from Charles Waldman
+-- new display table functionality from Hrvoje Niksic
+-- minor cleanups
+-- package fixes from Jan Vroonhof
+-- subwindow support fixes from Martin Buchholz
+
+to 21.2 beta6 "Apollo"
+-- mswindows compile fixes from Martin Buchholz, Andy Piper, Greg
+ Klanderman and Adrian Aichner
+-- Synch with XEmacs 21.0.60
+-- mega-patch fixes from Martin Buchholz
+-- md5 fixes and testsuite from Hrvoje Niksic
+-- database fix from Hrvoje Niksic
+
+to 21.2 beta5 "Aphrodite"
+-- synch with XEmacs 21.0.58
+-- bytecode interpreter rewritten
+-- byte compiler fixes
+-- hash table implementation rewritten
+-- basic lisp functions rewritten
+-- spelling fixes
+-- garbage collector tuned a little
+-- various global code changes for consistency
+-- automated test suite
+-- major internals manual updates
+-- lisp reference updates
+
+to 21.2 beta4 "Aglaophonos"
+-- isearch keymap fix from Katsumi Yamaoka
+-- directory_files cleanup from Hrvoje Niksic
+-- C implementation of base64 from Hrvoje Niksic
+-- C implementation of `buffer-substring-no-properties' from Hrvoje Niksic
+-- Experimental fix for spurious `file has changed on disk' message from
+ Charles Waldman
+-- Fix for etags.el hook calling from Malcolm Box
+-- User-name-completion fix for MS Windows NT from Greg Klanderman
+
+to 21.2 beta3 "Aglaia"
+-- case sensitiveness improvements from Didier Verna
+-- Bug fixes from 21.0
+-- Word selection on mouse click on quotes from Hrvoje Niksic
+-- WAVE support for NAS from Raymond Toy
+
+to 21.2 beta2 "Aether"
+-- Synched with 21.0-pre14 "Poitou"
+-- isearch improvements from Hrvoje Niksic
+-- bytecompiler fix from Martin Buccholz
+-- shadow.el speedup from Martin Buchholz
+-- clash detection update from Jan Vroonhof
+-- Indirect buffers from Hrvoje Niksic
+-- ~user completion cleanup from Greg Klanderman
+-- New face property from Didier Verna
+-- ~user completion and fixes from Greg Klanderman
+-- casefiddle.c speedup from Martin Buchholz
+
to 21.2 beta1 "Aeolus"
-- Synch with 21.0-pre6
-- Removal of ancient obsolete symbols courtesy of Altrasoft
+1999-05-14 XEmacs Build Bot <builds@cvs.xemacs.org>
+
+ * XEmacs 21.2.14 is released
+
+1999-05-11 SL Baur <steve@altair.xemacs.org>
+
+ * version.sh (infodock_build_version): Synch InfoDock version.
+
+1999-05-06 Hrvoje Niksic <hniksic@srce.hr>
+
+ * aclocal.m4 (ld_dynamic_link_flags): Change -Bexport to -Bdynamic
+ for Solaris.
+
+1999-05-03 Hrvoje Niksic <hniksic@srce.hr>
+
+ * configure.in (xemacs_betaname): Don't generate Installation.el.
+
+ * Makefile.in.in (top_distclean): Don't remove Installation.el.
+
+1999-04-29 Andy Piper <andy@xemacs.org>
+
+ * configure.in: add mingw32 as a target platform. add nt process
+ support options.
+
+1999-03-30 MORIOKA Tomohiko <tomo@etl.go.jp>
+
+ * etc/HELLO (Amharic): New language.
+ (Slovak): Likewise.
+ (Thai): Likewise (by Virach Sornlertlamvanich).
+ (Greek): Fixed (by Yannis Haralambous).
+
+1998-09-04 MORIOKA Tomohiko <morioka@jaist.ac.jp>
+
+ * configure.in: Delete mule-coding.o.
+
+1999-04-22 Gunnar Evermann <ge204@eng.cam.ac.uk>
+
+ * lwlib/xlwmenu.c (string_width_u): Initialise chars before
+ calling XmStringGetLtoR
+ (string_draw_u): ditto and check return value of XmStringGetLtoR()
+
+1999-04-05 Olivier Galibert <galibert@pobox.com>
+
+ * Makefile.in.in (GENERATED_HEADERS): Don't generate
+ puresize-adjust.h anymore
+
+ * configure.usage: Remove everything gung-ho or purespace related
+
+ * configure.in: Ditto
+
+1999-04-17 Hrvoje Niksic <hniksic@srce.hr>
+
+ * configure.in: Check for getloadavg().
+
+1999-03-12 XEmacs Build Bot <builds@cvs.xemacs.org>
+
+ * XEmacs 21.2.13 is released
+
+1999-03-09 SL Baur <steve@xemacs.org>
+
+ * Makefile.in.in (LC_ALL): Try very, very hard to build in C locale.
+
+1999-03-05 XEmacs Build Bot <builds@cvs.xemacs.org>
+
+ * XEmacs 21.2.12 is released
+
+1999-03-04 Martin Buchholz <martin@xemacs.org>
+
+ * Makefile.in.in (top_distclean): Remove confdefs.h as well.
+
+1999-03-03 Martin Buchholz <martin@xemacs.org>
+
+ * configure.in:
+ `uname -v` -> "`uname -v`":
+ backquoted expressions need additional double
+ quotes to be a single token.
+ Use separate if's to avoid extra process invocations.
+
+1999-01-05 Gunnar Evermann <ge204@eng.cam.ac.uk>
+
+ * PROBLEMS: Document crashes on SPARC with gcc 2.8.1.
+
+1999-03-01 XEmacs Build Bot <builds@cvs.xemacs.org>
+
+ * XEmacs 21.2.11 is released
+
+1999-02-16 Andy Piper <andy@xemacs.org>
+
+ * PROBLEMS: add entries for building under Cygwin.
+
+1999-02-14 Jan Vroonhof <vroonhof@math.ethz.ch>
+
+ * README.packages: Clear up that mule-sumo packages is used _in
+ addition_ to the normal sumo.
+
+1999-02-16 Martin Buchholz <martin@xemacs.org>
+
+ * configure.usage: Move quantify/purify into debug flags section
+
+1999-02-10 Martin Buchholz <martin@xemacs.org>
+
+ * configure.in:
+ - Fixup xfs comments and redundant option checking
+
+ * configure.in:
+ * INSTALL:
+ * lisp/paths.el:
+ - improved automounter tmp directory support.
+ - support 4 (!) empirically discovered automounter conventions
+
+1999-02-10 Martin Buchholz <martin@xemacs.org>
+
+ * lwlib/lwlib.h:
+ - redo CONST hacking to deal with X11 R4, which was
+ broken in a previous patch.
+
+1999-02-10 Martin Buchholz <martin@xemacs.org>
+
+ * configure.in:
+ - irix uses -rpath
+
+1999-02-10 Martin Buchholz <martin@xemacs.org>
+
+ * configure.in:
+ - Check for XOpenIM before using xim=xlib
+ - only use XmIm if $have_motif = yes
+
+1999-02-10 Martin Buchholz <martin@xemacs.org>
+
+ * configure.in. Port to BSDI BSD/OS 4.0.
+
+1999-01-07 Michael Sperber [Mr. Preprocessor] <sperber@informatik.uni-tuebingen.de>
+
+ * configure.in: Warn if using Motif dialog boxes on AIX 4.3.
+
+1999-02-05 XEmacs Build Bot <builds@cvs.xemacs.org>
+
+ * XEmacs 21.2.10 is released
+
+1999-02-02 XEmacs Build Bot <builds@cvs.xemacs.org>
+
+ * XEmacs 21.2.9 is released
+
+1999-02-01 Glynn Clements <glynn@sensei.co.uk>
+
+ * etc/recycle.xpm: Fix colours so that they work on TrueColor
+ and DirectColor displays
+
+1999-01-21 Andy Piper <andy@xemacs.org>
+
+ * configure.in: make xface detection specifc to a window system in
+ general rather than just X.
+
+1999-18-10 Andy Piper <andy@xemacs.org>
+
+ * configure.in: remove -O3 prevention on cygwin - current versions
+ cope ok now. remove dll prevention on cygwin - the new module
+ code checks correctly.
+
+1999-01-10 J. Kean Johnston <jkj@sco.com>
+
+ * configure.in: Added moduledir as the path where loadable modules
+ are stored. Added --with-site-modules and --moduledir options.
+ - Ensure the SCO OpenServer compiles with --dynamic by default
+ - Check for dlfcn.h for dynamic loader
+ - Renamed dll.o to emodules.o and changed dynamic loader tests
+ - Renabled code that deals with site-lisp so that it is handled
+ correctly when a user specifies --with-site-lisp.
+
+ * aclocal.m4: Replaced entire file with more complete DLL tests
+ by way of libtool.
+
+ * config.usage: Removed TAB characters which caused it to be
+ displayed incorrectly on terminals where TAB != 8.
+ - Added help text to describe --with-site-modules and --moduledir.
+
+ * INSTALL: Updated documentation to describe module directories
+
+ * Makefile.in.in: Added moduledir, sitemoduledir macros.
+ - Make those directories at install time.
+
+1998-12-28 Martin Buchholz <martin@xemacs.org>
+
+ * XEmacs 21.2.8 is released.
+
+1998-12-28 Martin Buchholz <martin@xemacs.org>
+
+ * PROBLEMS: Document Linux GNU Libc 2.0 I18N crashes.
+
+1998-12-24 Martin Buchholz <martin@xemacs.org>
+
+ * XEmacs 21.2.7 is released.
+
+1998-12-20 Martin Buchholz <martin@xemacs.org>
+
+ * configure.in: Redo DBM support
+ - die if dbm support requested, but not provided.
+ - properly check for libgdbm, then libc, then libdbm
+ - properly check for ndbm.h
+ - comments improved
+ - XE_DIE should always prefix messages with Error: for clarity
+
+1998-12-07 Martin Buchholz <martin@xemacs.org>
+
+ * xemacs.mak (TEMACS_OBJS):
+ (DOC_SRC4):
+ - Remove pure.c, pure.obj
+
+1998-12-06 Martin Buchholz <martin@xemacs.org>
+
+ * Makefile.in.in (distclean):
+ * dynodump/Makefile.in.in (distclean):
+ * src/Makefile.in.in (distclean):
+ * lib-src/Makefile.in.in (distclean):
+ * lwlib/Makefile.in.in (distclean):
+ - Make sure GNUmakefile is deleted.
+
+1998-12-17 Andy Piper <andy@xemacs.org>
+
+ * configure.in (all_widgets): remove gui.o addition - its always
+ in the makefile now.
+
+ * configure.in: add gui-msw.o to msw objects.
+
+1998-12-16 Andy Piper <andy@xemacs.org>
+
+ * XEmacs 21.2.6 is released
+
+1998-12-05 XEmacs Build Bot <builds@cvs.xemacs.org>
+
+ * XEmacs 21.2.5 is released
+
+1998-11-28 SL Baur <steve@altair.xemacs.org>
+
+ * XEmacs 21.2-beta4 is released.
+
+1998-11-27 SL Baur <steve@altair.xemacs.org>
+
+ * configure.in: Linux/Arm Support.
+ From James LewisMoss <dres@ioa.com>
+
+1998-11-27 Takeshi Hagiwara <hagiwara@ie.niigata-u.ac.jp>
+
+ * configure.in:
+ Fix the realpath() problem of UnixWare2.1.3.
+ Patches for NEC's sysv4.2 machine.
+
+1998-11-09 Kazuyuki IENAGA <ienaga@jsys.co.jp>
+
+ * configure.in: Check if there's wnn4.2 or wnn6 specific library
+ installed. The Wnn library will be checked if the --with-wnn
+ and/or --with-wnn6 was specified compulsory.
+
+1998-07-28 Jan Vroonhof <vroonhof@math.ethz.ch>
+
+ * configure.in (CPP): Too many spaces im run-patch flag detection.
+
+1998-10-15 SL Baur <steve@altair.xemacs.org>
+
+ * XEmacs 21.2-beta3 is released.
+
+1998-10-13 Andy Piper <andyp@parallax.co.uk>
+
+ * configure.in: enable drag and drop support by default if mswindows is
+ detected.
+
+1998-10-09 Kevin Oberman <oberman@es.net>
+
+ * config.sub: Fix for Alpha architecture
+
+1998-10-05 Andy Piper <andyp@parallax.co.uk>
+
+ * configure.in: don't enable shared lib support for cygwin unless
+ explititly told to.
+
+1998-10-02 Andreas Jaeger <aj@arthur.rhein-neckar.de>
+
+ * etc/xemacs.1: Remove misplace "\".
+
+1998-09-29 SL Baur <steve@altair.xemacs.org>
+
+ * XEmacs 21.2-beta2 is released.
+
+1998-09-09 Gunnar Evermann <Gunnar.Evermann@nats.informatik.uni-hamburg.de>
+
+ * lwlib/xlwmenu.c:
+ * lwlib/xlwscrollbar: fix for Motif >=2.0
+ Patch provided by Glenn Barry <gtb@eng.sun.com>
+
+ * PROBLEMS: XEmacs 21.0 now works on HP-UX 11.0
+
+1998-09-02 Andy Piper <andyp@parallax.co.uk>
+
+ * configure.in: check for cygwin32/version.h.
+
+1998-08-31 Michael Sperber [Mr. Preprocessor] <sperber@informatik.uni-tuebingen.de>
+
+ * PROBLEMS: Added AIX 4.3 note.
+
+ * configure.in: Better detection of AIX 4.3.
+ AIX xlc can do -g and -Ox at the same time.
+
+1998-09-05 SL Baur <steve@altair.xemacs.org>
+
+ * etc/check_cygwin_setup.sh: grammar fix.
+
+1998-09-02 Andy Piper <andyp@parallax.co.uk>
+
+ * etc/check_cygwin_setup.sh: fix a couple of buglets.
+
+1998-08-23 Adrian Aichner <aichner@ecf.teradyne.com>
+
+ * etc/sample.emacs: Enable sound support on mswindows devices.
+
+1998-08-17 P. E. Jareth Hein <jareth@camelot.co.jp>
+
+ * configure.in: Alter configure so that it checks for mismatched PNG
+ header/libs, screams a little louder on old/mismatched library
+ conditions for both PNG and XPM, stop screaming if png is not found and
+ no window-system is selected, and fixed a bug in the XPM checking.
+
+1998-08-06 Adrian Aichner <aichner@ecf.teradyne.com>
+
+ * etc/TUTORIAL.de: Fixing typos and grammatical errors. Fixing
+ inconsistent usage of RET, <Return>, and <return> (only using
+ <Return> now). Changing TUTORIAL to TUTORIAL.de throughout
+ itself. Adding english equivalent to german translation of all
+ concepts used in TUTORIAL.de.
+
+1998-08-07 P. E. Jareth Hein <jareth@camelot.co.jp>
+
+ * configure.usage (--without-gif): Modify text to reflect status
+ of GIF support
+
+1998-08-04 P. E. Jareth Hein <jareth@camelot.co.jp>
+
+ * configure.in: add back in the support for the in-core GIF
+ code, change the required PNG library version to 1.0.2, and add
+ a warning if PNG not found, since PNG images are now distributed
+ as part of the core. Also minor wording changes in things reported
+ to the user.
+
+1998-07-28 Kai Haberzettl <khaberz@synnet.de>
+
+ * BETA: Update mailing-list address for build-reports
+
+1998-08-01 SL Baur <steve@altair.xemacs.org>
+
+ * Makefile.in (TAGS tags): Add variable `tagslisp' so a TAGS file
+ can built that includes package lisp.
+
+1998-07-23 Martin Buchholz <martin@xemacs.org>
+
+ * configure.in:
+ - support multiple flavors of alpha, (XEmacs treats them identically)
+ - Fix AC_TRY_RUN so that actions have access to $?
+ - Identify DEC C compilers. Add default optimization CFLAGS and
+ always use -std.
+ - Use an extensible method for adding support for future compilers.
+ - Have SunPro C use that same extensible method.
+ - Make sol2 always use `-R', Linux and DEC OSF always use `-rpath'
+
1998-07-19 SL Baur <steve@altair.xemacs.org>
* XEmacs 21.2-beta1 is released.
* config.guess: Synched with latest FSF version.
-1998-07-12 Björn Torkelsson <torkel@hpc2n.umu.se>
+1998-07-12 Bjrn Torkelsson <torkel@hpc2n.umu.se>
- * Makefile.in: added LDFLAGS.
+ * Makefile.in: added LDFLAGS.
1998-07-12 SL Baur <steve@altair.xemacs.org>
1998-06-20 Michael Sperber [Mr. Preprocessor] <sperber@informatik.uni-tuebingen.de>
- * etc/PACKAGES:
+ * etc/PACKAGES:
* etc/BETA: Moved some package stuff into Texinfo docs. Other nitpicks
1998-06-20 Kazuyuki IENAGA <ienaga@jsys.co.jp>
* PROBLEMS:
Document problems with Solaris 2.6 + XSUNTRANSPORT
- * Makefile.in:
+ * Makefile.in:
* lwlib/Makefile.in.in:
* modules/Makefile.in:
- Adjust for luser's CDPATH being set to something weird.
1998-04-27 SL Baur <steve@altair.xemacs.org>
- * configure.in (progname): Parameterize program name on `progname'
+ * configure.in (progname): Parameterize program name on `progname'
and add --with-infodock.
1998-04-26 SL Baur <steve@altair.xemacs.org>
* info/dir: Fixed the explanatory notes for
`Info-default-directory-list' removal and the new automatic dir
rebuilding facility. Reindented the menu. Added an entry for
- term.info
+ term.info
1998-04-20 SL Baur <steve@altair.xemacs.org>
* configure.in: enable install pre-processing for mswindows
Fri Apr 17 12:59:35 1998 Andy Piper <andyp@parallax.co.uk>
-
+
* Makefile.in.in: add install_pp to install incantation.
* installexe.sh: new file. Add .exe to install targets if the
result is executable.
Fri Apr 17 12:59:35 1998 Andy Piper <andyp@parallax.co.uk>
-
+
* Makefile.in: add install_pp to install incantation.
1998-04-14 Itay Ben-Yaacov <pezz@www-mail.huji.ac.il>
1998-04-06 Martin Buchholz <martin@xemacs.org>
- * config.h.in: Add _SVID_SOURCE to list of xmkmf #defines.
+ * config.h.in: Add _SVID_SOURCE to list of xmkmf #defines.
Used (at least) by RedHat 4.2.
1998-04-11 Michael Sperber [Mr. Preprocessor] <sperber@informatik.uni-tuebingen.de>
* configure.in: Check for -lz, -lgz unconditionally. Too many
system linkers don't properly die when there are cascaded link
dependencies, so we can't rely on the linker for that. The only
- downside is that we might link with an extra unneeded library. If
+ downside is that we might link with an extra unneeded library. If
you really really care about this, you can go fix it.
* configure.in: Enhance PANIC msg to make it clear that
1998-03-27 Martin Buchholz <martin@xemacs.org>
* configure.in: $debug was not properly dependent on $beta
-
- * configure.in: Move offix configuration out of src/Makefile.in.in
+
+ * configure.in: Move offix configuration out of src/Makefile.in.in
into configure.in.
* configure.in: Reorganize xpm detection code.
- * configure.in: XIM default to ON if Motif which is not Lesstif is
+ * configure.in: XIM default to ON if Motif which is not Lesstif is
found.
* configure.in: Keep auto-generated makefile dependencies out of
* configure.in (quoted_arguments): Fix unquoted variable in
error-checking test.
- fix bogus substitution.
-
+
1998-03-17 SL Baur <steve@altair.xemacs.org>
* configure.in: In -lpng test, look for png_set_strip_alpha.
1998-02-21 SL Baur <steve@altair.xemacs.org>
- * configure.in (after_morecore_hook_exists): Modify dlmalloc tests
+ * configure.in (after_morecore_hook_exists): Modify dlmalloc tests
to also test for Linux libc5.
1998-02-19 SL Baur <steve@altair.xemacs.org>
* configure.usage (--with-gung): Document. Turns on
USE_MINIMAL_TAGBITS and USE_INDEXED_LRECORD_IMPLEMENTATION.
(--with-term): Remove.
-
+
* XEmacs-20.5-beta26 is released.
1998-02-18 SL Baur <steve@altair.xemacs.org>
1998-01-13 Martin Buchholz <martin@xemacs.org>
- * configure.usage:
- * etc/NEWS:
+ * configure.usage:
+ * etc/NEWS:
Remove doc for configure-time INFOPATH, no longer used.
* etc/BETA: Update ftp addresses.
* src/config.h.in:
Define HAVE_INVERSE_HYPERBOLIC using 1 configure test, not 3.
- * lwlib/lwlib.h:
- * lwlib/lwlib.c:
- * lwlib/lwlib-config.c:
- * lwlib/lwlib-Xm.c:
- * lwlib/lwlib-Xaw.c:
- * lwlib/lwlib-Xlw.c:
- * lwlib/config.h.in:
+ * lwlib/lwlib.h:
+ * lwlib/lwlib.c:
+ * lwlib/lwlib-config.c:
+ * lwlib/lwlib-Xm.c:
+ * lwlib/lwlib-Xaw.c:
+ * lwlib/lwlib-Xlw.c:
+ * lwlib/config.h.in:
* src/menubar-x.c:
Prepend LWLIB_ to (SCROLLBARS|MENUBARS|DIALOGS)_(MOTIF|LUCID|ATHENA).
Maintain only one set of variables.
* etc/xemacs.1: Update author list.
* Makefile.in (install-arch-dep): Simplify.
- Replace construct `test -d $dir && foo' with
+ Replace construct `test -d $dir && foo' with
`if test -d $dir; then foo; fi'
- * lwlib/xlwmenu.c:
- * lwlib/xlwscrollbar.c:
- * lwlib/lwlib-Xlw.c:
- * lwlib/lwlib-Xm.c:
+ * lwlib/xlwmenu.c:
+ * lwlib/xlwscrollbar.c:
+ * lwlib/lwlib-Xlw.c:
+ * lwlib/lwlib-Xm.c:
Always assume presence of limits.h (ANSI).
1998-01-12 SL Baur <steve@altair.xemacs.org>
1997-12-21 SL Baur <steve@altair.xemacs.org>
- * etc/BETA (Prerequisite): Add cookbook procedures for maintaining
+ * etc/BETA (Prerequisite): Add cookbook procedures for maintaining
package lisp directories.
1997-12-20 SL Baur <steve@altair.xemacs.org>
1997-12-19 SL Baur <steve@altair.xemacs.org>
- * configure.in (bitmapdir): Reenable --with-session by default for
+ * configure.in (bitmapdir): Reenable --with-session by default for
testing.
1997-12-18 Kyle Jones <kyle_jones@wonderworks.com>
1997-12-18 Kyle Jones <kyle_jones@wonderworks.com>
* etc/toolbar: Added support for foregroundToolBarColor
- symbol to most icons.
+ symbol to most icons.
1997-12-17 SL Baur <steve@altair.xemacs.org>
device-msw.c, emacs.c, event-msw.c, event-msw.h, event-stream.c,
events.c, events.h, faces.c, frame-msw.c, frame.c, general.c,
msw-proc.c, objects-msw.c, objects-msw.h, redisplay-msw.c,
- redisplay.c, symsinit.h,
+ redisplay.c, symsinit.h,
* Didn't change 'win32' in nt.c, nt.h, ntproc.c
1997-11-05 Didier Verna <verna@inf.enst.fr>
* configure.in: Added the --site-prefixes options for the configure
- script. You give a colon or space separated list of prefixes, and
+ script. You give a colon or space separated list of prefixes, and
subdirectories include/ and lib/ will be added with -I and -L.
1997-11-05 Martin Buchholz <Martin Buchholz <martin@xemacs.org>>
TIFF(broken) and replace with test for ImageMagick.
1997-10-30 Kyle Jones <kyle_jones@wonderworks.com>
-
+
* etc/Emacs.ad: Added *XlwMenu*highlightForeground entry.
Added *XlwMenu*titleForeground entry.
* lib-src/gnuslib.c: Always include config.h before system headers
* configure.in: Improve AIX configure support
- NON_GNU_CC defaults to `xlc'
- - CFLAGS defaults to "-O3 -qstrict -qlibansi -qinfo -qro
+ - CFLAGS defaults to "-O3 -qstrict -qlibansi -qinfo -qro
-qmaxmem=20000"
- check for sin instead of sqrt in -lm to avoid xlc internal error
- Detect -li18n for use with Motif
1997-10-18 SL Baur <steve@altair.xemacs.org>
- * XEmacs 20.3-beta91 is released.
+ * XEmacs 20.3-beta91 is released.
1997-10-16 Hrvoje Niksic <hniksic@srce.hr>
* Makefile.in: Add `make configure' target
- * etc/BETA:
+ * etc/BETA:
- remove Chuck as contact name
- random small improvements
- remove I/me references - the message should be that XEmacs
1997-10-03 Martin Buchholz <mrb@eng.sun.com>
* lib-src/etags.c: etags 12.28 + prototypization
- * INSTALL: Better document --site-runtime-libraries
- * src/scrollbar-x.c (x_update_scrollbar_instance_status):
+ * INSTALL: Better document --site-runtime-libraries
+ * src/scrollbar-x.c (x_update_scrollbar_instance_status):
FIX: M-x scroll-left; horizontal scrollbar appears; drag it
left; scrollbar disappears; keyboard inoperative.
* configure.in: Remove left-over references to *_switch_x_*
* etc/BETA: Document existence of `Installation' file.
- Document requirement of rebuilding finder-inf.el when building
from the full tarball.
-
+
* Makefile.in (top_distclean): Remove finder-inf.el*.
* configure.in (use_union_type): Default to "yes".
* src/redisplay-tty.c: Fix crashes with non-7bit tty escape
sequences (needs more testing).
- * */Makefile*:
+ * */Makefile*:
- Cleanup man/*/Makefile for consistency.
- use $(MAKEFINFO), $(TEXI2DVI), etc...
- Make combination --with-srcdir + Sun make work properly.
- - Change construct: test -d $${dir} || mkdir $${dir}
+ - Change construct: test -d $${dir} || mkdir $${dir}
--> if test ! -d $${dir}; then mkdir $${dir}; fi
* lisp/x11/x-win-sun.el: Fix remaining glitches with
re-mappings of Sun function keys.
- x-keysym-on-keyboard-sans-modifiers-p introduced.
- x-keysym-hashtable introduced.
- allow X11R4 libs to guess keysyms on X11R5 servers.
- - A better workaround for the bug that some Xlibs generate
+ - A better workaround for the bug that some Xlibs generate
Multi_key a adiaeresis when pressing Multi_key a "
-
+
* src/dgif_lib.c: Make sure size_t is defined before using it.
1997-09-12 SL Baur <steve@altair.xemacs.org>
- new variable `blddir' introduced for informational purposes.
* lib-src/config.values.in: new config.el implementation
* lib-src/config.values.sh: new config.el implementation
- * lisp/modes/pascal.el: Sync with GNU Emacs, fix infloop problem
+ * lisp/modes/pascal.el: Sync with GNU Emacs, fix infloop problem
(thanks to Espen Skoglund, pascal.el maintainer)
* src/chartab.c: maintainability improvements.
* src/mule-coding.c: FIX for: editing DOS files with ISO2022*
* src/fns.c (require): Print messages when loading a file as a
result of require.
-
+
* configure.in:
* lisp/utils/config.el:
- * lib-src/config.values:
+ * lib-src/config.values:
- new file created and installed by building.
- Allow configuration time values to be queried by the lisp code.
1997-07-10 Hrvoje Niksic <hniksic@srce.hr>
* extents.c (print_extent): Print correctly.
-
+
1997-07-13 Steven L Baur <steve@altair.xemacs.org>
* configure.in (CPP): Add -Wall to default gcc CFLAGS.
* lisp/x11/x-select.el:
* src/xselect.c: Try STRING if selection owner couldn't convert
- COMPOUND_TEXT.
+ COMPOUND_TEXT.
* src/*.c: Change defalt to default_, and in general allow
doc-snarfing functions to recognize and ignore trailing `_'
- * src/*.[ch]: Introduce XVECTOR_DATA and XVECTOR_LENGTH macros and
+ * src/*.[ch]: Introduce XVECTOR_DATA and XVECTOR_LENGTH macros and
convert source code to use them consistently.
1997-07-08 Steven L Baur <steve@altair.xemacs.org>
1997-07-08 Martin Buchholz <mrb@eng.sun.com>
- * configure.in: Set options differently, depending on beta-ness of
+ * configure.in: Set options differently, depending on beta-ness of
build tree.
* *Makefile*: Clean up *clean: targets, esp. Steven's beloved
distclean.
- Autodetect usleep
* src/s/sol2.h: Support gcc on various Solaris releases.
-
+
* lib-src/*.c: Ansify prototypes.
* lisp/prim/files.el: Optimize auto-mode-alist.
* configure.in (CPP): Correct typo `print-lib-gcc-file-name'
should be `print-libgcc-file-name'
From Katsumi Yamaoka <yamaoka@ga.sony.co.jp>
-
+
* XEmacs 20.3-beta10 is released.
1997-06-29 MORIOKA Tomohiko <morioka@jaist.ac.jp>
* lwlib/lwlib-Xaw.c, lwlib/lwlib-Xlw.c, lwlib/lwlib-Xm.c,
lwlib/lwlib.c: Make 64 bit clean.
-
+
1997-06-20 Steven L Baur <steve@altair.xemacs.org>
* etc/gnuserv.1: Updates and cleanup.
* */Makefile.in.in: Another rewrite
Make makefiles immune from being mangled by various cpp
- implementations by quoting non-preprocessor directive lines.
+ implementations by quoting non-preprocessor directive lines.
- random cleanup
- Use $(RM) and $(pwd) macros consistently
- Add dependencies for balloon-help source files
previously commented out and normalized everything vis a vis
'backspace and 'delete keysyms.
* lisp/packages/*.el: Normalized all the "\177" bindings
- * lisp/modes/cperl-mode.el: Created cperl-electric-delete function
+ * lisp/modes/cperl-mode.el: Created cperl-electric-delete function
which is a "smart" version of the cperl-electric-backspace
function (it honors the desired delete direction). Bound it to
'delete and the electric-backspace to 'backspace.
- * lisp/packages/pending-del.el: Added cperl-electric-backspace and
+ * lisp/packages/pending-del.el: Added cperl-electric-backspace and
cperl-electric-delete to the 'supersede list.
1997-06-11 Steven L Baur <steve@altair.xemacs.org>
1997-06-11 Martin Buchholz <mrb@eng.sun.com>
- * src/Makefile.in:
- * lwlib/Makefile.in:
- * lib-src/Makefile.in:
+ * src/Makefile.in:
+ * lwlib/Makefile.in:
+ * lib-src/Makefile.in:
* Makefile.in: More Makefile cleanup
- add .PHONY targets where necessary
- remove most builtin rules using .SUFFIXES
- -lXau only gets used for linking gnuserv binaries
- No VPATH for root Makefile
- remove gcc v1 support
- * configure.in:
+ * configure.in:
- A new test to autodetect need to define NARROWPROTO,
needed by XFree86
- Consistently use idiom foo=`echo '' $foo | sed -s 's:^ ::' -e ...`
- Check for libPW
- Use more sophisticated Xpm test that confirms xpm.h and libXpm
are in sync.
- * src/s/linux.h:
+ * src/s/linux.h:
* src/m/intel386.h: Yet another attempt to clean up linux defines.
1997-06-10 Steven L Baur <steve@altair.xemacs.org>
smiley faces.
1997-06-10 Gary D. Foster <Gary.Foster@corp.sun.com>
-
+
* lisp/modes/view-less.el: Changed \177 bindings to 'delete
* lisp/modes/help.el: Changed \177 bindings to 'delete
* lisp/modes/cc-mode.el:
* lisp/modes/cperl-mode.el: Fixed references to delete functions
to use the new names.
-
+
1997-06-09 Steven L Baur <steve@altair.xemacs.org>
* XEmacs 20.3-b5 is released.
* src/s/netbsd.h: complete rewrite, use ORDINARY_LINK, #ifdef out
old cruft that can be obtained from system header files.
* lib-src/getopt*: Synch with FSF, remove compiler warnings.
-
- * lib-src/b2m.c:
- * src/gifalloc.c:
- * lib-src/gnuslib.c:
- * lib-src/profile.c:
+
+ * lib-src/b2m.c:
+ * src/gifalloc.c:
+ * lib-src/gnuslib.c:
+ * lib-src/profile.c:
* lib-src/movemail.c: Fix compiler warnings
-
+
* lib-src/Makefile.in.in: Remove unused -DCONFIG_BROKETS flag
- Fix up compile flags for new etags version
- * etc/NEWS:
- * etc/etags.1:
- * man/xemacs/programs.texi:
+ * etc/NEWS:
+ * etc/etags.1:
+ * man/xemacs/programs.texi:
* lib-src/etags.c: Upgraded to etags 12.11
* src/config.h.in: Fix inline keyword support
-
- * configure.in: Use a different mechanism for removing extra white
+
+ * configure.in: Use a different mechanism for removing extra white
space. Avoid using foo=`echo $bar`, which loses with various echos.
- new M4 macro XE_SPACE(var, words...)
- Use autoconf 2's AC_HEADER_SYS_WAIT
1997-06-04 Gary D. Foster <Gary.Foster@corp.sun.com>
- * lisp/modes/cc-mode.el: Modified `c-electric-delete' to honor the
+ * lisp/modes/cc-mode.el: Modified `c-electric-delete' to honor the
desired delete direction in both normal and "hungry" modes.
- * lisp/modes/cperl-mode.el: Modified `cperl-electric-backspace' to
+ * lisp/modes/cperl-mode.el: Modified `cperl-electric-backspace' to
honor the desired delete direction.
-
+
1997-05-30 Martin Buchholz <mrb@eng.sun.com>
* configure.in: Automagically compute -R path for gcc
* lisp/vm/vm-vars.el: Fixed delete key binding to call
`vm-scroll-down'
-
+
Thu May 29 15:35:07 1997 Martin Buchholz <mrb@eng.sun.com>
* configure.in: Add support for Solaris2.6 -z ignore linker flags
* lisp/modes/*.el: Removed conflicting \177 bindings.
* lisp/modes/cc-mode.el: Modified `c-electric-delete' to use new
delete bindings.
- * lisp/modes/cperl-mode.el: Modified `cperl-electric-backspace' to
+ * lisp/modes/cperl-mode.el: Modified `cperl-electric-backspace' to
use new delete bindings.
-
+
1997-06-03 MORIOKA Tomohiko <morioka@jaist.ac.jp>
* lisp/x11/x-menubar.el (default-menubar): Add menu for Mule.
depend on it.
with-xim=motif only default on Solaris.
realpath moved from s&m to configure.in.
- xemacs-version.h removed. main_1 now contains $canonical as well,
+ xemacs-version.h removed. main_1 now contains $canonical as well,
for even more useful backtraces.
termcap handling rewritten.
Create .sbinit for Sun's source browser.
Warn user if no XPM support present.
Warn user if compiling in error checking.
- * Makefile.in: use MAKE_SUBDIR consistently. Remove references to
+ * Makefile.in: use MAKE_SUBDIR consistently. Remove references to
dynodump. Remove core when cleaning. Remove config.log.
make distclean now functional.
3) Rearranging the entries by relevance. I have tried to put the most
relevant entries in front.
-
+
Thu Apr 10 19:07:26 1997 Steven L Baur <steve@altair.xemacs.org>
* XEmacs 20.1-b14 is released. (Beta 13 was skipped).
Wed Apr 2 15:27:35 1997 Steven L Baur <steve@altair.xemacs.org>
- * Makefile.in (install-only): New target. Functionality suggested
+ * Makefile.in (install-only): New target. Functionality suggested
by Larry Schwimmer, correct way of doing it suggested by Chuck
Thompson.
Wed Mar 26 22:31:10 1997 Steven L Baur <steve@altair.xemacs.org>
* Remove vms top-level directory.
-
+
* XEmacs 19.15 final released to beta testers.
Tue Mar 25 19:13:27 1997 Steven L Baur <steve@altair.xemacs.org>
* XEmacs 20.0 beta90 (prerelease 1) is released.
* XEmacs 19.15 beta90 (prerelease 1) is released.
-
+
Tue Jan 7 08:45:16 1997 Steven L Baur <steve@altair.xemacs.org>
* configure.in (LIBS): Revise test for XFree86 (look for XF86Config).
Wed Jan 1 08:30:48 1997 Martin Buchholz <mrb@eng.sun.com>
- * src/emacs.c: Make sure
- `./temacs -batch -l loadup.el run-temacs <emacs-args>'
+ * src/emacs.c: Make sure
+ `./temacs -batch -l loadup.el run-temacs <emacs-args>'
works properly
* src/Makefile.in.in (rtcmacs): Add support for RTC, Sun's
* lib-src/update-autoloads.sh: Rewritten to use auto-autoloads.el.
* lisp/utils/autoload.el: Reorganization of autoload mechanism:
Errors during autoload generation are just that - errors.
-
+
Generated autoloads are now in a separate file of their own.
-
+
Reliability of autoload generation greatly increased.
-
+
Distribution smaller by about 100k.
-
+
`make autoloads' is still the preferred mechanism for update.
-
+
Autoloads are always regenerated completely from scratch. This
avoids errors with obsolete or corrupted autoload entries.
Caching of autoload entries using timestamps has been eliminated.
-
+
Files that have no autoloads no longer have a comment placed into
the generated autoloads file.
that various tools can recognize the filename as such.
* src/event-Xt.c (x_to_emacs_keysym): Fix crash when
- --with-xim=xlib and key event on window frame.
+ --with-xim=xlib and key event on window frame.
Change return foo to return (foo) when return is a macro.
* src/editfns.c (Ffollowing_char): docstring fixes.
packages `mule-base' and `egg-its'. By default, packages will be
searched for in the path
-~/.xemacs::$prefix/lib/xemacs-${version}/mule-packages:$prefix/lib/xemacs/mule-packages:$prefix/lib/xemacs-${version}/packages:$prefix/lib/xemacs/packages
+~/.xemacs::$prefix/lib/xemacs-${version}/mule-packages:$prefix/lib/xemacs/mule-packages:$prefix/lib/xemacs-${version}/xemacs-packages:$prefix/lib/xemacs/xemacs-packages
This may be changed by specifying a different value with the
--package-path configuration option.
variable CFLAGS is consulted. If that is also undefined, CFLAGS
defaults to "-g -O" for gcc and "-g" for all other compilers.
-The `--with-gnu-make' option specifies that Makefiles should be
-written to take advantage of special features of GNU Make. GNU Make
-works fine on Makefiles even without this option. This flag just
-allows for simultaneous in-place and --srcdir building.
-
The `--dynamic' option specifies that configure should try to link
emacs dynamically rather than statically.
variable should have. If you don't pay attention to what you are
doing, you'll make a mistake.
-Things may malfunction if the variable `directory-abbrev-alist' is not set
-up to translate "temporary" automounter mount points into the canonical
-form. The default value of this variable contains the translation
-
- ("^/tmp_mnt/" . "/")
-
-meaning translate "/tmp_mnt/net/FOO" into "/net/FOO", which is appropriate
-for the default configuration of the Sun automounter, but which may be
-inappropriate for different vendor's automounters, or if you have customized
-your mount-point names.
+Things may malfunction if the variable `directory-abbrev-alist' is not
+set up to translate "temporary" automounter mount points into the
+canonical form. XEmacs tries to detect how your automounter is
+configured. If you have an unusual automounter configuration that
+XEmacs cannot detect, you may need to change the value of
+`directory-abbrev-alist'.
5) Put into `./lisp/site-init.el' or `./lisp/site-load.el' any Emacs
Lisp code you want XEmacs to load before it is dumped out. Use
By default, XEmacs installs its files in the following directories:
`/usr/local/bin' holds the executable programs users normally run -
- `xemacs', `etags', `ctags', `b2m', `emacsclient',
+ `xemacs', `etags', `ctags', `b2m', `emacsclient', `ellcc',
`gnuclient', `gnudoit', `gnuattach', and `rcs-checkin'.
`/usr/local/lib/xemacs-VERSION/lisp' holds the Emacs Lisp libraries;
kinds of machines share the file system XEmacs is
installed on.
+`/usr/local/lib/xemacs-VERSION/CONFIGURATION-NAME/modules' holds the Emacs
+ dynamically loadable modules. These are special programs
+ typically written in C that can be loaded in much the same
+ way that Lisp packages are. Not all systems support
+ dynamic modules, so do not be alarmed if this directory
+ does not exist or is empty.
+
+ XEmacs searches for modules in this directory, or any
+ sub-directory of it, and then in
+ `/usr/local/lib/xemacs/site-modules/*'.
+
`/usr/local/lib/xemacs-VERSION/info' holds the on-line documentation
for XEmacs, known as "info files".
the command. See the section below called `MAKE VARIABLES' for more
information on this.
+Using GNU Make allows for simultaneous builds with and without the
+--srcdir option.
+
8) If your system uses lock files to interlock access to mailer inbox files,
then you might need to make the movemail program setuid or setgid
to enable it to write the lock files. We believe this is safe.
above), is `/usr/local/lib/xemacs-VERSION/CONFIGURATION-NAME'
(where VERSION and CONFIGURATION-NAME are as described above).
+`moduledir' indicates where XEmacs installs and expects to find
+ any dynamic modules. Its default value, based on
+ `archlibdir' (see above) is
+ `/usr/local/lib/xemacs-VERSION/CONFIGURATION-NAME/modules'
+ (where VERSION and CONFIGURATION-NAME are as described above).
+ By their very nature, dynamic loadable modules are architecture-
+ dependant, and care should be taken not to set this directory
+ to a system- or architecture-independant directory.
+
Remember that you must specify any variable values you need each time
you run `make' in the top directory. If you run `make' once to build
xemacs, test it, and then run `make' again to install the files, you
SHELL = /bin/sh
LANG = C
+LC_ALL = C
RM = rm -f
pwd = /bin/pwd
## themselves in separate directories.
lispdir=@lispdir@
+## Where to install the module files distributed with
+## XEmacs. This includes the XEmacs version, so that the
+## module files for different versions of XEmacs will install
+## themselves in separate directories.
+moduledir=@moduledir@
+
## Directory XEmacs should search for lisp files specific
## to this site (i.e. customizations), before consulting
## ${lispdir}.
sitelispdir=@sitelispdir@
+## Directory XEmacs should search for module files specific
+## to this site (i.e. customizations), before consulting
+## ${moduledir}.
+sitemoduledir=@sitemoduledir@
+
## Where XEmacs will search for its lisp files while
## building. This is only used during the process of
## compiling XEmacs, to help XEmacs find its lisp files
## instead, we have written out explicit code in the `install' targets.
COPYDIR = ${srcdir}/etc ${srcdir}/lisp
COPYDESTS = ${etcdir} ${lispdir}
-GENERATED_HEADERS = src/paths.h src/Emacs.ad.h src/puresize-adjust.h src/config.h lwlib/config.h src/sheap-adjust.h
+GENERATED_HEADERS = src/paths.h src/Emacs.ad.h src/config.h lwlib/config.h src/sheap-adjust.h
GENERATED_LISP = lisp/finder-inf.el
all: ${PROGNAME} all-elc info
/bin/sh ${srcdir}/lib-src/ad2c ${srcdir}/etc/Emacs.ad ) > \
src/Emacs.ad.h
-src/puresize-adjust.h: ${srcdir}/src/puresize.h
- @echo "Resetting \`src/puresize-adjust.h'."; \
- (echo "/* Do not edit this file!" ; \
- echo " Automatically generated by XEmacs */" ; \
- echo "#define PURESIZE_ADJUSTMENT 0") > $@
-
src/sheap-adjust.h:
@echo "Resetting \`src/sheap-adjust.h'."; \
(echo "/* Do not edit this file!" ; \
## make-path instead of mkdir. Not all mkdirs have the `-p' flag.
mkdir: FRC.mkdir
${MAKEPATH} ${COPYDESTS} ${lockdir} ${infodir} ${archlibdir} \
- ${mandir} ${bindir} ${datadir} ${libdir} ${pkgdir}
+ ${mandir} ${bindir} ${datadir} ${libdir} ${pkgdir} \
+ ${sitelispdir} ${moduledir} ${sitemoduledir}
-chmod 0777 ${lockdir}
## Delete all the installed files that the `install' target would
## `make distclean' should leave only the files that were in the
## distribution.
top_distclean=\
- $(RM) config.status config.log config-tmp-* build-install Installation ; \
- for d in src lib-src lwlib dynodump ; do \
- $(RM) $$d/Makefile $$d/Makefile.in ; \
- done ; \
- $(RM) core .sbinit Makefile Makefile.in lock/*; \
- $(RM) lisp/finder-inf.el* Installation.el Installation.elc; \
+ $(RM) config.status config.log confdefs.h config-tmp-* build-install Installation ; \
+ $(RM) core .sbinit lock/* GNUmakefile Makefile Makefile.in ; \
+ $(RM) lisp/finder-inf.el* Installation.el Installation.elc ; \
$(RM) packages mule-packages site-lisp
distclean: FRC.distclean
This file describes various problems that have been encountered
in compiling, installing and running XEmacs. It has been updated for
-XEmacs 21.2.
+XEmacs 21.0.
This file is rather large, but we have tried to sort the entries by
their respective relevance for XEmacs, but may have not succeeded
* Problems with building XEmacs
===============================
-** Don't use -O2 with gcc 2.7.2 under Intel/XXX without also using
+** General
+*** Don't use -O2 with gcc 2.8.1 and egcs 1.0 under SPARC architectures
+without also using `-fno-schedule-insns'.
+
+gcc will generate incorrect code otherwise, typically resulting in
+crashes in the function skip-syntax-backward.
+
+*** egcs-1.1
+
+There have been reports of egcs-1.1 not compiling XEmacs correctly on
+Alpha Linux. There have also been reports that egcs-1.0.3a is O.K.
+
+*** Don't use -O2 with gcc 2.7.2 under Intel/XXX without also using
`-fno-strength-reduce'.
gcc will generate incorrect code otherwise. This bug is present in at
This problem is known to be fixed in egcs (or pgcc) 1.0 or later.
-** Don't use -O2 with gcc 2.7.2 under Intel architectures without also
+*** Don't use -O2 with gcc 2.7.2 under Intel architectures without also
using `-fno-caller-saves'.
gcc will generate incorrect code otherwise. This bug is still
This problem is known to be fixed in egcs (or pgcc) 1.0 or later.
-** Excessive optimization with pgcc can break XEmacs
+*** When using gcc, you get the error message "undefined symbol __fixunsdfsi".
+When using gcc, you get the error message "undefined symbol __main".
+
+This means that you need to link with the gcc library. It may be called
+"gcc-gnulib" or "libgcc.a"; figure out where it is, and define LIB_GCC in
+config.h to point to it.
+
+It may also work to use the GCC version of `ld' instead of the standard one.
+
+*** Excessive optimization with pgcc can break XEmacs
It has been reported on some systems that compiling with -O6 can lead
to XEmacs failures. The workaround is to use a lower optimization
extensively and no sign of breakage has been seen on systems using
glibc-2.
-** `compress' and `uncompress' not found and XFree86
-
-XFree86 installs a very old version of libz.a by default ahead of where
-more modern version of libz might be installed. This will cause problems
-when attempting to link against libMagick. The fix is to remove the old
-libz.a in the X11 binary directory.
+*** src/Makefile and lib-src/Makefile are truncated--most of the file missing.
-** Excessive optimization on AIX 4.2 can lead to compiler failure.
+This can happen if configure uses GNU sed version 2.03. That version
+had a bug. GNU sed version 2.05 works properly.
-Valdis.Kletnieks@vt.edu writes:
- At least at the b34 level, and the latest-and-greatest IBM xlc
- (3.1.4.4), there are problems with -O3. I haven't investigated
- further.
+*** When compiling with X11, you get "undefined symbol _XtStrings".
-** Sed problems on Solaris 2.5
+This means that you are trying to link emacs against the X11r4 version of
+libXt.a, but you have compiled either Emacs or the code in the lwlib
+subdirectory with the X11r5 header files. That doesn't work.
-There have been reports of Sun sed truncating very lines in the
-Makefile during configuration. The workaround is to use GNU sed or,
-even better, think of a better way to generate Makefile, and send us a
-patch. :-)
+Remember, you can't compile lwlib for r4 and emacs for r5, or vice versa.
+They must be in sync.
-** test-distrib says that the distribution has been clobbered
+*** test-distrib says that the distribution has been clobbered
or, temacs prints "Command key out of range 0-127"
or, temacs runs and dumps xemacs, but xemacs totally fails to work.
or, temacs gets errors dumping xemacs
This will rebuild all the needed .elc files.
-** `Error: No ExtNode to pop!' on Linux systems with Lesstif.
+*** `compress' and `uncompress' not found and XFree86
+
+XFree86 installs a very old version of libz.a by default ahead of where
+more modern version of libz might be installed. This will cause problems
+when attempting to link against libMagick. The fix is to remove the old
+libz.a in the X11 binary directory.
+
+
+** AIX
+*** On AIX 4.3, you must specify --with-dialogs=athena with configure
+
+*** The libXt shipped with AIX 4.3 is broken. This causes xemacs -nw
+ to fail in various ways. The solution is to build against stock
+ X11R6.
+
+*** On AIX, you get this compiler error message:
+
+ Processing include file ./XMenuInt.h
+ 1501-106: (S) Include file X11/Xlib.h not found.
+
+This means your system was installed with only the X11 runtime i.d
+libraries. You have to find your sipo (bootable tape) and install
+X11Dev... with smit.
+
+*** On AIX 4.1.2, linker error messages such as
+ ld: 0711-212 SEVERE ERROR: Symbol .__quous, found in the global symbol table
+ of archive /usr/lib/libIM.a, was not defined in archive member shr.o.
+
+This is a problem in libIM.a. You can work around it by executing
+these shell commands in the src subdirectory of the directory where
+you build Emacs:
+
+ cp /usr/lib/libIM.a .
+ chmod 664 libIM.a
+ ranlib libIM.a
+
+Then change -lIM to ./libIM.a in the command to link temacs (in
+Makefile).
+
+*** Excessive optimization on AIX 4.2 can lead to compiler failure.
+
+Valdis.Kletnieks@vt.edu writes:
+ At least at the b34 level, and the latest-and-greatest IBM xlc
+ (3.1.4.4), there are problems with -O3. I haven't investigated
+ further.
+
+
+** SunOS/Solaris
+*** Link failure when using acc on a Sun.
+
+To use acc, you need additional options just before the libraries, such as
+
+ /usr/lang/SC2.0.1/values-Xt.o -L/usr/lang/SC2.0.1/cg87 -L/usr/lang/SC2.0.1
+
+and you need to add -lansi just before -lc.
+
+The precise file names depend on the compiler version, so we
+cannot easily arrange to supply them.
+
+*** Problems finding X11 libraries on Solaris with Openwindows
+
+Some users have reported problems in this area. The reported solution
+is to define the environment variable OPENWINHOME, even if you must set
+it to `/usr/openwin'.
+
+*** Sed problems on Solaris 2.5
+
+There have been reports of Sun sed truncating very lines in the
+Makefile during configuration. The workaround is to use GNU sed or,
+even better, think of a better way to generate Makefile, and send us a
+patch. :-)
+
+*** On Solaris 2 I get undefined symbols from libcurses.a.
+
+You probably have /usr/ucblib/ on your LD_LIBRARY_PATH. Do the link with
+LD_LIBRARY_PATH unset. Generally, avoid using any ucb* stuff when
+building XEmacs.
+
+*** On Solaris 2 I cannot make alloc.o, glyphs.o or process.o.
+
+The SparcWorks C compiler may have difficulty building those modules
+with optimization level -xO4. Try using only "-fast" optimization
+for just those modules. (Or use gcc).
+
+*** Solaris 2.3 /bin/sh coredumps during configuration.
+
+This only occurs if you have LANG != C. This is a known bug with
+/bin/sh fixed by installing Patch-ID# 101613-01. Or, you can use
+bash, as a workaround.
+
+*** On SunOS, you get linker errors
+ ld: Undefined symbol
+ _get_wmShellWidgetClass
+ _get_applicationShellWidgetClass
+
+The fix to this is to install patch 100573 for OpenWindows 3.0
+or link libXmu statically.
+
+*** On Sunos 4, you get the error ld: Undefined symbol __lib_version.
+
+This is the result of using cc or gcc with the shared library meant
+for acc (the Sunpro compiler). Check your LD_LIBRARY_PATH and delete
+/usr/lang/SC2.0.1 or some similar directory.
+
+*** Undefined symbols when linking on Sunos 4.1.
+
+If you get the undefined symbols _atowc _wcslen, _iswprint, _iswspace,
+_iswcntrl, _wcscpy, and _wcsncpy, then you need to add -lXwchar after
+-lXaw in the command that links temacs.
+
+This problem seems to arise only when the international language
+extensions to X11R5 are installed.
+
+*** On a Sun running SunOS 4.1.1, you get this error message from GNU ld:
+
+ /lib/libc.a(_Q_sub.o): Undefined symbol __Q_get_rp_rd referenced from text segment
+
+The problem is in the Sun shared C library, not in GNU ld.
+
+The solution is to install Patch-ID# 100267-03 from Sun.
+
+*** SunOS 4.1.2: undefined symbol _get_wmShellWidgetClass
+
+ Apparently the version of libXmu.so.a that Sun ships is hosed: it's missing
+ some stuff that is in libXmu.a (the static version). Sun has a patch for
+ this, but a workaround is to use the static version of libXmu, by changing
+ the link command from "-lXmu" to "-Bstatic -lXmu -Bdynamic". If you have
+ OpenWindows 3.0, ask Sun for these patches:
+ 100512-02 4.1.x OpenWindows 3.0 libXt Jumbo patch
+ 100573-03 4.1.x OpenWindows 3.0 undefined symbols with shared libXmu
+
+*** Random other SunOS 4.1.[12] link errors.
+
+ The X headers and libraries that Sun ships in /usr/{include,lib}/X11 are
+ broken. Use the ones in /usr/openwin/{include,lib} instead.
+
+** Linux
+*** Under Linux, you get "too many arguments to function `getpgrp'".
+
+You have probably installed LessTiff under `/usr/local' and `libXm.so'
+could not be found when linking `getpgrp()' test program, making XEmacs
+think that `getpgrp()' takes an argument. Try adding `/usr/local/lib'
+in `/etc/ld.so.conf' and run `ldconfig'. Then run XEmacs's `configure'
+again. As with all problems of this type, reading the config.log file
+generated from configure and seeing the log of how the test failed can
+prove enlightening.
+
+*** `Error: No ExtNode to pop!' on Linux systems with Lesstif.
This error message has been observed with lesstif-0.75a. It does not
appear to cause any harm.
-** Linking with -rpath on IRIX.
+*** xemacs: can't resolve symbol '__malloc_hook'
+
+This is a Linux problem where you've compiled the XEmacs binary on a libc
+5.4 with version higher than 5.4.19 and attempted to run the binary against
+an earlier version. The solution is to upgrade your old library.
+
+** IRIX
+*** Linking with -rpath on IRIX.
Darrell Kindred <dkindred@cmu.edu> writes:
There are a couple of problems [with use of -rpath with Irix ld], though:
or --site-runtime-libraries, you must use --use-gcc=no,
or configure will fail.
-** On Irix 6.3, the SGI ld quits with segmentation fault when linking temacs
+*** On Irix 6.3, the SGI ld quits with segmentation fault when linking temacs
This occurs if you use the SGI linker version 7.1. Installing the
patch SG0001872 fixes this problem.
-** xemacs: can't resolve symbol '__malloc_hook'
+*** On Irix 6.0, make tries (and fails) to build a program named unexelfsgi
-This is a Linux problem where you've compiled the XEmacs binary on a libc
-5.4 with version higher than 5.4.19 and attempted to run the binary against
-an earlier version. The solution is to upgrade your old library.
+A compiler bug inserts spaces into the string "unexelfsgi . o"
+in src/Makefile. Edit src/Makefile, after configure is run,
+find that string, and take out the spaces.
-** Compilation errors on VMS.
+Compiler fixes in Irix 6.0.1 should eliminate this problem.
-Sorry, XEmacs does not work under VMS. You might consider working on
-the port if you really want to have XEmacs work under VMS.
+*** On Irix 5.2, unexelfsgi.c can't find cmplrs/stsupport.h.
-** On Solaris 2 I get undefined symbols from libcurses.a.
+The file cmplrs/stsupport.h was included in the wrong file set in the
+Irix 5.2 distribution. You can find it in the optional fileset
+compiler_dev, or copy it from some other Irix 5.2 system. A kludgy
+workaround is to change unexelfsgi.c to include sym.h instead of
+syms.h.
-You probably have /usr/ucblib/ on your LD_LIBRARY_PATH. Do the link with
-LD_LIBRARY_PATH unset. Generally, avoid using any ucb* stuff when
-building XEmacs.
+*** Coredumping in Irix 6.2
-** On Solaris 2 I cannot make alloc.o, glyphs.o or process.o.
+Pete Forman <gsez020@compo.bedford.waii.com> writes:
+A problem noted by myself and others (I've lost the references) was
+that XEmacs coredumped when the cut or copy toolbar buttons were
+pressed. This has been fixed by loading the SGI patchset (Feb 98)
+without having to recompile XEmacs.
-The SparcWorks C compiler may have difficulty building those modules
-with optimization level -xO4. Try using only "-fast" optimization
-for just those modules. (Or use gcc).
+My versions are XEmacs 20.3 (problem first noted in 19.15) and IRIX
+6.2, compiled using -n32. I'd guess that the relevant individual
+patch was "SG0002580: multiple fixes for X libraries". SGI recommends
+that the complete patch set be installed rather than parts of it.
-** On Digital UNIX, the DEC C compiler might have a problem compiling
+** Digital UNIX/OSF/VMS
+*** On Digital UNIX, the DEC C compiler might have a problem compiling
some files.
In particular, src/extents.c and src/faces.c might cause the DEC C
A related compiler bug has been fixed by the DEC compiler team. The
new versions of the compiler should run fine.
-** On HPUX, the HP C compiler might have a problem compiling some files
+*** Under some versions of OSF XEmacs runs fine if built without
+optimization but will crash randomly if built with optimization.
+
+Using 'cc -g' is not sufficient to eliminate all optimization. Try
+'cc -g -O0' instead.
+
+*** Compilation errors on VMS.
+
+Sorry, XEmacs does not work under VMS. You might consider working on
+the port if you really want to have XEmacs work under VMS.
+
+** HP-UX
+*** On HPUX, the HP C compiler might have a problem compiling some files
with optimization.
Richard Cognot <cognot@ensg.u-nancy.fr> writes:
remember the patch numbers. I think potential XEmacs builders
on HP should be warned about this.
-** I don't have `xmkmf' and `imake' on my HP.
+*** I don't have `xmkmf' and `imake' on my HP.
You can get these standard X tools by anonymous FTP to
hpcvaaz.cv.hp.com. Essentially all X programs need these.
-** On HP-UX, problems with make
+*** On HP-UX, problems with make
Marcus Thiessel <marcus_thiessel@hp.com>
Some releases of XEmacs (e.g. 20.4) require GNU make to build
successfully. You don't need GNU make when building 21.x.
-** On HP-UX 9.05 XEmacs won't compile or coredump during the build.
+*** On HP-UX 9.05 XEmacs won't compile or coredump during the build.
Marcus Thiessel <marcus_thiessel@hp.com>
This might be a sed problem. For your own safety make sure to use
GNU sed while dumping XEmacs.
-** On HP-UX 11.0 XEmacs causes excessive X11 errors when running.
+*** On HP-UX 11.0 XEmacs causes excessive X11 errors when running.
Marcus Thiessel <marcus_thiessel@hp.com>
- Unfortunately, XEmacs releases don't work with Motif2.1. It
+ Unfortunately, XEmacs releases <21.0 don't work with Motif2.1. It
will compile but you will get excessive X11 errors like
xemacs: X Error of failed request: BadGC (invalid GC parameter)
Make sure /usr/lib/Motif1.2_R6/libXm.sl is a link to
/usr/lib/Motif1.2_R6/libXm.3.
-** Solaris 2.3 /bin/sh coredumps during configuration.
-
-This only occurs if you have LANG != C. This is a known bug with
-/bin/sh fixed by installing Patch-ID# 101613-01. Or, you can use
-bash, as a workaround.
-
-** On Irix 6.0, make tries (and fails) to build a program named unexelfsgi
-
-A compiler bug inserts spaces into the string "unexelfsgi . o"
-in src/Makefile. Edit src/Makefile, after configure is run,
-find that string, and take out the spaces.
-
-Compiler fixes in Irix 6.0.1 should eliminate this problem.
-
-** Coredumping in Irix 6.2
-
-Pete Forman <gsez020@compo.bedford.waii.com> writes:
-A problem noted by myself and others (I've lost the references) was
-that XEmacs coredumped when the cut or copy toolbar buttons were
-pressed. This has been fixed by loading the SGI patchset (Feb 98)
-without having to recompile XEmacs.
-
-My versions are XEmacs 20.3 (problem first noted in 19.15) and IRIX
-6.2, compiled using -n32. I'd guess that the relevant individual
-patch was "SG0002580: multiple fixes for X libraries". SGI recommends
-that the complete patch set be installed rather than parts of it.
-
-** Native cc on SCO OpenServer 5 is now OK. Icc may still throw you
+** SCO OpenServer
+*** Native cc on SCO OpenServer 5 is now OK. Icc may still throw you
a curve. Here is what Robert Lipe <robertl@arnet.com> says:
Unlike XEmacs 19.13, building with the native cc on SCO OpenServer 5
the emacstrs.sco is a suitable candidate for /usr/lib/keyboard/strings
to take advantage of the keyboard map in emacskeys.sco.
-Note: Much of the above entry is probably not valid for XEmacs 21.2
+Note: Much of the above entry is probably not valid for XEmacs 21.0
and later.
-** Under some versions of OSF XEmacs runs fine if built without
-optimization but will crash randomly if built with optimization.
-
-Using 'cc -g' is not sufficient to eliminate all optimization. Try
-'cc -g -O0' instead.
+** Cygwin
+*** In general use etc/check_cygwin_setup.sh to trap environment problems.
-** On SunOS, you get linker errors
- ld: Undefined symbol
- _get_wmShellWidgetClass
- _get_applicationShellWidgetClass
+The script etc/check_cygwin_setup.sh will attempt to detect whether
+you have a suitable environment for building. This script may not work
+correctly if you are using ash instead of bash (see below).
-The fix to this is to install patch 100573 for OpenWindows 3.0
-or link libXmu statically.
+*** X11 not detected.
-** On Sunos 4, you get the error ld: Undefined symbol __lib_version.
+This is usually because xmkmf is not in your path or because you are
+using the default cygwin shell. The default cygwin shell (/bin/sh.exe)
+is ash which appears to work in most circumstances but has some wierd
+failure modes. I recommend replacing sh.exe with bash.exe, this will
+mean configure is slower but more reliable.
-This is the result of using cc or gcc with the shared library meant
-for acc (the Sunpro compiler). Check your LD_LIBRARY_PATH and delete
-/usr/lang/SC2.0.1 or some similar directory.
+*** Subprocesses do not work.
-** On AIX 4.1.2, linker error messages such as
- ld: 0711-212 SEVERE ERROR: Symbol .__quous, found in the global symbol table
- of archive /usr/lib/libIM.a, was not defined in archive member shr.o.
+You do not have "tty" in your CYGWIN32 (for b19) or CYGWIN (for b20)
+environment variable. This must be set in your autoexec.bat (win95) or
+the system properties (winnt) as it must be read before the cygwin dll
+initializes.
-This is a problem in libIM.a. You can work around it by executing
-these shell commands in the src subdirectory of the directory where
-you build Emacs:
+*** ^G does not work on hung subprocesses.
- cp /usr/lib/libIM.a .
- chmod 664 libIM.a
- ranlib libIM.a
+This is a known problem. It can be remedied with cygwin b20 or greater
+by defining BROKEN_SIGIO in src/s/cygwin32.h, however this currently
+leads to instability in XEmacs.
-Then change -lIM to ./libIM.a in the command to link temacs (in
-Makefile).
+*** The XEmacs executable crashes at startup.
-** On Irix 5.2, unexelfsgi.c can't find cmplrs/stsupport.h.
+This can be caused by many things.
-The file cmplrs/stsupport.h was included in the wrong file set in the
-Irix 5.2 distribution. You can find it in the optional fileset
-compiler_dev, or copy it from some other Irix 5.2 system. A kludgy
-workaround is to change unexelfsgi.c to include sym.h instead of
-syms.h.
+If you are running with X11 you need to have cygwin b19 or cygwin
+b20.1 or greater, cygwin b20 will not work.
-** Link failure when using acc on a Sun.
+If you are running with cygwin b19 make sure you are using egcs 1.0.2
+rather than vanilla gcc. XEmacs builds by default with -O3 which does
+not work with the gcc that ships with b19. Alternatively use -O2.
-To use acc, you need additional options just before the libraries, such as
+*** The info files will not build.
- /usr/lang/SC2.0.1/values-Xt.o -L/usr/lang/SC2.0.1/cg87 -L/usr/lang/SC2.0.1
+makeinfo that ships with cygwin (all versions) is a noop. You need to
+obtain makeinfo from somewhere or build it yourself.
-and you need to add -lansi just before -lc.
+*** I have no graphics.
-The precise file names depend on the compiler version, so we
-cannot easily arrange to supply them.
+You need to obtain the various graphics libraries. Pre-built versions
+of these and the X libraries are located on the XEmacs website in
+ftp://ftp.xemacs.org/pub/aux/cygwin*.
-** Link failure on IBM AIX 1.3 ptf 0013.
+*** There are no images in the toolbar buttons.
-There is a real duplicate definition of the function `_slibc_free' in
-the library /lib/libc_s.a (just do nm on it to verify). The
-workaround/fix is:
+You need version 4.71 of commctrl.dll which does not ship with windows
+95. You can get this by installing IE 4.0 or downloading it from the
+microsoft website.
- cd /lib
- ar xv libc_s.a NLtmtime.o
- ar dv libc_s.a NLtmtime.o
-** Undefined symbols when linking on Sunos 4.1.
-
-If you get the undefined symbols _atowc _wcslen, _iswprint, _iswspace,
-_iswcntrl, _wcscpy, and _wcsncpy, then you need to add -lXwchar after
--lXaw in the command that links temacs.
-
-This problem seems to arise only when the international language
-extensions to X11R5 are installed.
-
-** src/Makefile and lib-src/Makefile are truncated--most of the file missing.
-
-This can happen if configure uses GNU sed version 2.03. That version
-had a bug. GNU sed version 2.05 works properly.
-
-** On AIX, you get this compiler error message:
-
- Processing include file ./XMenuInt.h
- 1501-106: (S) Include file X11/Xlib.h not found.
-
-This means your system was installed with only the X11 runtime i.d
-libraries. You have to find your sipo (bootable tape) and install
-X11Dev... with smit.
-
-** C-z just refreshes the screen instead of suspending Emacs.
+* Problems with running XEmacs
+==============================
+** General
+*** C-z just refreshes the screen instead of suspending Emacs.
You are probably using a shell that doesn't support job control, even
though the system itself is capable of it. Try using a different
shell.
-** On a Sun running SunOS 4.1.1, you get this error message from GNU ld:
-
- /lib/libc.a(_Q_sub.o): Undefined symbol __Q_get_rp_rd referenced from text segment
-
-The problem is in the Sun shared C library, not in GNU ld.
-
-The solution is to install Patch-ID# 100267-03 from Sun.
-
-** SunOS 4.1.2: undefined symbol _get_wmShellWidgetClass
-
- Apparently the version of libXmu.so.a that Sun ships is hosed: it's missing
- some stuff that is in libXmu.a (the static version). Sun has a patch for
- this, but a workaround is to use the static version of libXmu, by changing
- the link command from "-lXmu" to "-Bstatic -lXmu -Bdynamic". If you have
- OpenWindows 3.0, ask Sun for these patches:
- 100512-02 4.1.x OpenWindows 3.0 libXt Jumbo patch
- 100573-03 4.1.x OpenWindows 3.0 undefined symbols with shared libXmu
-
-** Random other SunOS 4.1.[12] link errors.
-
- The X headers and libraries that Sun ships in /usr/{include,lib}/X11 are
- broken. Use the ones in /usr/openwin/{include,lib} instead.
-
-** When using gcc, you get the error message "undefined symbol __fixunsdfsi".
-When using gcc, you get the error message "undefined symbol __main".
-
-This means that you need to link with the gcc library. It may be called
-"gcc-gnulib" or "libgcc.a"; figure out where it is, and define LIB_GCC in
-config.h to point to it.
-
-It may also work to use the GCC version of `ld' instead of the standard one.
-
-** When compiling with X11, you get "undefined symbol _XtStrings".
-
-This means that you are trying to link emacs against the X11r4 version of
-libXt.a, but you have compiled either Emacs or the code in the lwlib
-subdirectory with the X11r5 header files. That doesn't work.
-
-Remember, you can't compile lwlib for r4 and emacs for r5, or vice versa.
-They must be in sync.
-
-** Problems finding X11 libraries on Solaris with Openwindows
-
-Some users have reported problems in this area. The reported solution
-is to define the environment variable OPENWINHOME, even if you must set
-it to `/usr/openwin'.
-
-** Under Linux, you get "too many arguments to function `getpgrp'".
-
-You have probably installed LessTiff under `/usr/local' and `libXm.so'
-could not be found when linking `getpgrp()' test program, making XEmacs
-think that `getpgrp()' takes an argument. Try adding `/usr/local/lib'
-in `/etc/ld.so.conf' and run `ldconfig'. Then run XEmacs's `configure'
-again. As with all problems of this type, reading the config.log file
-generated from configure and seeing the log of how the test failed can
-prove enlightening.
-
-
-* Problems with running XEmacs
-==============================
-** On Solaris 2.6, XEmacs dumps core when exiting.
-
-This happens if you're XEmacs is running on the same machine as the X
-server, and the optimized memory transport has been turned on by
-setting the environment variable XSUNTRANSPORT. The crash occurs
-during the call to XCloseDisplay.
-
-If this describes your situation, you need to undefine the
-XSUNTRANSPORT environment variable.
-
-** `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.
-
-** You type Control-H (Backspace) expecting to delete characters.
+*** You type Control-H (Backspace) expecting to delete characters.
Emacs has traditionally used Control-H for help; unfortunately this
interferes with its use as Backspace on TTY's. One way to solve this
Note that you can probably also access help using F1.
-** Mail agents (VM, Gnus, rmail) cannot get new mail
+*** Mail agents (VM, Gnus, rmail) cannot get new mail
rmail and VM get new mail from /usr/spool/mail/$USER using a program
called `movemail'. This program interlocks with /bin/mail using the
mode of the installed copy; changing the group and mode of the build
directory copy is ineffective.
-** XEmacs crashes on Digital Unix within font-lock, or when dealing
-with large compilation buffers.
-
-The default stack size under Digital Unix is rather small (2M as
-opposed to Solaris 8M), hosing the regexp code, which uses alloca()
-extensively, overflowing the stack when complex regexps are used.
-Workarounds:
-
-1) Increase your stack size, using `ulimit -s 8192' or a (t)csh
- equivalent;
-
-2) Recompile regex.c with REGEX_MALLOC defined.
-
-** On Solaris, C-x doesn't get through to Emacs when you use the console.
-
-This is a Solaris feature (at least on Intel x86 cpus). Type C-r
-C-r C-t, to toggle whether C-x gets through to Emacs.
-
-** VM appears to hang in large folders.
+*** VM appears to hang in large folders.
This is normal (trust us) when upgrading to VM-6.22 from earlier
versions. Let VM finish what it is doing and all will be well.
-** Changes made to .el files do not take effect.
+*** Changes made to .el files do not take effect.
You may have forgotten to recompile them into .elc files. Then the
old .elc files will be loaded, and your changes will not be seen. To
Note that you will get a warning when loading a .elc file that is
older than the corresponding .el file.
-** Things which should be bold or italic (such as the initial
+*** Things which should be bold or italic (such as the initial
copyright notice) are not.
The fonts of the "bold" and "italic" faces are generated from the font
should use those forms. See the man pages for X(1), xlsfonts(1), and
xfontsel(1).
-** The dumped Emacs crashes when run, trying to write pure data.
+*** The dumped Emacs crashes when run, trying to write pure data.
Two causes have been seen for such problems.
not initialized are not supposed to be pure. On these systems you
may need to add "#define static" to the m- or the s- file.
-** Reading and writing files is very very slow.
+*** Reading and writing files is very very slow.
Try evaluating the form (setq lock-directory nil) and see if that helps.
There is a problem with file-locking on some systems (possibly related
to NFS) that I don't understand. Please send mail to the address
xemacs@xemacs.org if you figure this one out.
-** The Emacs window disappears when you type M-q.
-
-Some versions of the Open Look window manager interpret M-q as a quit
-command for whatever window you are typing at. If you want to use
-Emacs with that window manager, you should try to configure the window
-manager to use some other command. You can disable the
-shortcut keys entirely by adding this line to ~/.OWdefaults:
-
- OpenWindows.WindowMenuAccelerators: False
-
-** The `Alt' key doesn't behave as `Meta' when running DECwindows.
-
-The default DEC keyboard mapping has the Alt keys set up to generate the
-keysym `Multi_key', which has a meaning to xemacs which is distinct from that
-of the `Meta_L' and `Meta-R' keysyms. A second problem is that certain keys
-have the Mod2 modifier attached to them for no adequately explored reason.
-The correct fix is to pass this file to xmodmap upon starting X:
-
- clear mod2
- keysym Multi_key = Alt_L
- add mod1 = Alt_L
- add mod1 = Alt_R
-
-** The Compose key on a DEC keyboard does not work as Meta key.
-
-This shell command should fix it:
-
- xmodmap -e 'keycode 0xb1 = Meta_L'
-
-** When emacs starts up, I get lots of warnings about unknown keysyms.
+*** When emacs starts up, I get lots of warnings about unknown keysyms.
If you are running the prebuilt binaries, the Motif library expects to find
certain thing in the XKeysymDB file. This file is normally in /usr/lib/X11/
too old. There is a copy of the MIT X11R5 XKeysymDB file in the emacs `etc'
directory. Try using that one.
-** My X resources used to work, and now some of them are being ignored.
+*** My X resources used to work, and now some of them are being ignored.
Check the resources in .../etc/Emacs.ad (which is the same as the file
sample.Xdefaults). Perhaps some of the default resources built in to
emacs are now overriding your existing resources. Copy and edit the
resources in Emacs.ad as necessary.
-** I get complaints about the mapping of my HP keyboard at startup,
-but I haven't changed anything.
-
-The default HP keymap is set up to have Mod1 assigned to two different keys:
-Meta_L and Mode_switch (even though there is not actually a Mode_switch key on
-the keyboard -- it uses an "imaginary" keycode.) There actually is a reason
-for this, but it's not a good one. The correct fix is to execute this command
-upon starting X:
-
- xmodmap -e 'remove mod1 = Mode_switch'
-
-** I have focus problems when I use `M-o' to switch to another screen
+*** I have focus problems when I use `M-o' to switch to another screen
without using the mouse.
The focus issues with a program like XEmacs, which has multiple
behavior. Implementing such policy is the responsibility of the
window manager itself, it is not legal for a client to do this.)
-** Emacs spontaneously displays "I-search: " at the bottom of the screen.
+*** Emacs spontaneously displays "I-search: " at the bottom of the screen.
This means that Control-S/Control-Q (XON/XOFF) "flow control" is being
used. C-s/C-q flow control is bad for Emacs editors because it takes
will not make Emacs worse for properly designed systems for the sake
of inferior systems.
-** Control-S and Control-Q commands are ignored completely.
+*** Control-S and Control-Q commands are ignored completely.
For some reason, your system is using brain-damaged C-s/C-q flow
control despite Emacs's attempts to turn it off. Perhaps your
into C-s and C-q using keyboard-translate-table. The example above
shows how to do this with C-^ and C-\.
-** Control-S and Control-Q commands are ignored completely on a net
+*** Control-S and Control-Q commands are ignored completely on a net
connection.
Some versions of rlogin (and possibly telnet) do not pass flow
See the entry about spontaneous display of I-search (above) for more
info.
-** TTY redisplay is slow.
+*** TTY redisplay is slow.
XEmacs has fairly new TTY redisplay support (beginning from 19.12),
which doesn't include some basic TTY optimizations -- like using
If you are interested in fixing this, please let us know at
<xemacs@xemacs.org>.
-** Screen is updated wrong, but only on one kind of terminal.
+*** Screen is updated wrong, but only on one kind of terminal.
This could mean that the termcap entry you are using for that terminal
is wrong, or it could mean that Emacs has a bug handing the
termcap.c, terminfo.c, tparam.c, cm.c, redisplay-tty.c,
redisplay-output.c, or redisplay.c.
-** Your Delete key sends a Backspace to the terminal, using an AIXterm.
+*** My buffers are full of \000 characters or otherwise corrupt.
-The solution is to include in your .Xdefaults the lines:
+Some compilers have trouble with gmalloc.c and ralloc.c; try recompiling
+without optimization. If that doesn't work, try recompiling with
+SYSTEM_MALLOC defined, and/or with REL_ALLOC undefined.
- *aixterm.Translations: #override <Key>BackSpace: string(0x7f)
- aixterm*ttyModes: erase ^?
+*** A position you specified in .Xdefaults is ignored, using twm.
-This makes your Backspace key send DEL (ASCII 127).
+twm normally ignores "program-specified" positions.
+You can tell it to obey them with this command in your `.twmrc' file:
-** With certain fonts, when the cursor appears on a character, the
-character doesn't appear--you get a solid box instead.
+ UsePPosition "on" #allow clents to request a position
-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.
+*** With M-x enable-flow-control, you need to type C-\ twice to do
+incremental search--a single C-\ gets no response.
-** On SunOS 4.1.3, Emacs unpredictably crashes in _yp_dobind_soft.
+This has been traced to communicating with your machine via kermit,
+with C-\ as the kermit escape character. One solution is to use
+another escape character in kermit. One user did
-This happens if you configure Emacs specifying just `sparc-sun-sunos4'
-on a system that is version 4.1.3. You must specify the precise
-version number (or let configure figure out the configuration, which
-it can do perfectly well for SunOS).
+ set escape-character 17
-** On Irix, I don't see the toolbar icons and I'm getting lots of
-entries in the warnings buffer.
+in his .kermrc file, to make C-q the kermit escape character.
-SGI ships a really old Xpm library in /usr/lib which does not work at
-all well with XEmacs. The solution is to install your own copy of the
-latest version of Xpm somewhere and then use the --site-includes and
---site-libraries flags to tell configure where to find it.
+*** The Motif version of Emacs paints the screen a solid color.
-** On HPUX, you get "poll: Interrupted system call" message in the
-window where XEmacs was launched.
+This has been observed to result from the following X resource:
-Richard Cognot <cognot@ensg.u-nancy.fr> writes:
+ Emacs*default.attributeFont: -*-courier-medium-r-*-*-*-140-*-*-*-*-iso8859-*
- I get a very strange problem when linking libc.a dynamically: every
- event (mouse, keyboard, expose...) results in a "poll: Interrupted
- system call" message in the window where XEmacs was
- launched. Forcing a static link of libc.a alone by adding
- /usr/lib/libc.a at the end of the link line solves this. Note that
- my 9.07 build of 19.14b17 and my (old) build of 19.13 both exhibit
- the same behaviour. I've tried various hpux patches to no avail. If
- this problem cannot be solved before the release date, binary kits
- for HP *must* be linked statically against libc, otherwise this
- problem will show up. (This is directed at whoever will volunteer
- for this kit, as I won't be available to do it, unless 19.14 gets
- delayed until mid-june ;-). I think this problem will be an FAQ soon
- after the release otherwise.
+That the resource has this effect indicates a bug in something, but we
+do not yet know what. If it is an Emacs bug, we hope someone can
+explain what the bug is so we can fix it. In the mean time, removing
+the resource prevents the problem.
-Note: The above entry is probably not valid for XEmacs 21.2 and
-later.
+*** After running emacs once, subsequent invocations crash.
-** When Emacs tries to ring the bell, you get an error like
+Some versions of SVR4 have a serious bug in the implementation of the
+mmap () system call in the kernel; this causes emacs to run correctly
+the first time, and then crash when run a second time.
- audio: sst_open: SETQSIZE" Invalid argument
- audio: sst_close: SETREG MMR2, Invalid argument
+Contact your vendor and ask for the mmap bug fix; in the mean time,
+you may be able to work around the problem by adding a line to your
+operating system description file (whose name is reported by the
+configure script) that reads:
+#define SYSTEM_MALLOC
+This makes Emacs use memory less efficiently, but seems to work around
+the kernel bug.
-you have probably compiled using an ANSI C compiler, but with non-ANSI
-include files. In particular, on Suns, the file
-/usr/include/sun/audioio.h uses the _IOW macro to define the constant
-AUDIOSETQSIZE. _IOW in turn uses a K&R preprocessor feature that is
-now explicitly forbidden in ANSI preprocessors, namely substitution
-inside character constants. All ANSI C compilers must provide a
-workaround for this problem. Lucid's C compiler is shipped with a new
-set of system include files. If you are using GCC, there is a script
-called fixincludes that creates new versions of some system include
-files that use this obsolete feature.
+*** Inability to send an Alt-modified key, when Emacs is communicating
+directly with an X server.
-** My buffers are full of \000 characters or otherwise corrupt.
+If you have tried to bind an Alt-modified key as a command, and it
+does not work to type the command, the first thing you should check is
+whether the key is getting through to Emacs. To do this, type C-h c
+followed by the Alt-modified key. C-h c should say what kind of event
+it read. If it says it read an Alt-modified key, then make sure you
+have made the key binding correctly.
-Some compilers have trouble with gmalloc.c and ralloc.c; try recompiling
-without optimization. If that doesn't work, try recompiling with
-SYSTEM_MALLOC defined, and/or with REL_ALLOC undefined.
+If C-h c reports an event that doesn't have the Alt modifier, it may
+be because your X server has no key for the Alt modifier. The X
+server that comes from MIT does not set up the Alt modifier by
+default.
-** On AIX 4, some programs fail when run in a Shell buffer
-with an error message like No terminfo entry for "unknown".
+If your keyboard has keys named Alt, you can enable them as follows:
-On AIX, many terminal type definitions are not installed by default.
-`unknown' is one of them. Install the "Special Generic Terminal
-Definitions" to make them defined.
+ xmodmap -e 'add mod2 = Alt_L'
+ xmodmap -e 'add mod2 = Alt_R'
-** Emacs exits with "X protocol error" when run with an X server for
-Windows.
+If the keyboard has just one key named Alt, then only one of those
+commands is needed. The modifier `mod2' is a reasonable choice if you
+are using an unmodified MIT version of X. Otherwise, choose any
+modifier bit not otherwise used.
-A certain X server for Windows had a bug which caused this.
-Supposedly the newer 32-bit version of this server doesn't have the
-problem.
+If your keyboard does not have keys named Alt, you can use some other
+keys. Use the keysym command in xmodmap to turn a function key (or
+some other 'spare' key) into Alt_L or into Alt_R, and then use the
+commands show above to make them modifier keys.
-** A position you specified in .Xdefaults is ignored, using twm.
+Note that if you have Alt keys but no Meta keys, Emacs translates Alt
+into Meta. This is because of the great importance of Meta in Emacs.
-twm normally ignores "program-specified" positions.
-You can tell it to obey them with this command in your `.twmrc' file:
+*** In Shell mode, you get a ^M at the end of every line.
- UsePPosition "on" #allow clents to request a position
+This happens to people who use tcsh, because it is trying to be too
+smart. It sees that the Shell uses terminal type `unknown' and turns
+on the flag to output ^M at the end of each line. You can fix the
+problem by adding this to your .cshrc file:
-** The right Alt key works wrong on German HP keyboards (and perhaps
- other non-English HP keyboards too).
+ if ($?EMACS) then
+ if ($EMACS == "t") then
+ unset edit
+ stty -icrnl -onlcr -echo susp ^Z
+ endif
+ endif
-This is because HPUX defines the modifiers wrong in X. Here is a
-shell script to fix the problem; be sure that it is run after VUE
-configures the X server.
+*** An error message such as `X protocol error: BadMatch (invalid
+parameter attributes) on protocol request 93'.
- xmodmap 2> /dev/null - << EOF
- keysym Alt_L = Meta_L
- keysym Alt_R = Meta_R
- EOF
+This comes from having an invalid X resource, such as
+ emacs*Cursor: black
+(which is invalid because it specifies a color name for something
+that isn't a color.)
- xmodmap - << EOF
- clear mod1
- keysym Mode_switch = NoSymbol
- add mod1 = Meta_L
- keysym Meta_R = Mode_switch
- add mod2 = Mode_switch
- EOF
+The fix is to correct your X resources.
-** Trouble using ptys on IRIX, or running out of ptys.
+*** Once you pull down a menu from the menubar, it won't go away.
-The program mkpts (which may be in `/usr/adm' or `/usr/sbin') needs to
-be set-UID to root, or non-root programs like Emacs will not be able
-to allocate ptys reliably.
+It has been claimed that this is caused by a bug in certain very old
+(1990?) versions of the twm window manager. It doesn't happen with
+recent vintages, or with other window managers.
-** Motif dialog boxes lose on Irix.
+*** Emacs ignores the "help" key when running OLWM.
-Larry Auton <lda@control.att.com> writes:
-Beware of not specifying
+OLWM grabs the help key, and retransmits it to the appropriate client
+using XSendEvent. Allowing emacs to react to synthetic events is a
+security hole, so this is turned off by default. You can enable it by
+setting the variable x-allow-sendevents to t. You can also cause fix
+this by telling OLWM to not grab the help key, with the null binding
+"OpenWindows.KeyboardCommand.Help:".
- --with-dialogs=athena
+*** Programs running under terminal emulator do not recognize `emacs'
+terminal type.
-if it builds with the motif dialogs [boom!] you're a dead man.
+The cause of this is a shell startup file that sets the TERMCAP
+environment variable. The terminal emulator uses that variable to
+provide the information on the special terminal type that Emacs
+emulates.
-** Beware of the default image & graphics library on Irix
+Rewrite your shell startup file so that it does not change TERMCAP
+in such a case. You could use the following conditional which sets
+it only if it is undefined.
-Richard Cognot <cognot@ensg.u-nancy.fr> writes:
-You *have* to compile your own jpeg lib. The one delivered with SGI
-systems is a C++ lib, which apparently XEmacs cannot cope with.
+ if ( ! ${?TERMCAP} ) setenv TERMCAP ~/my-termcap-file
-** Slow startup on Linux.
+Or you could set TERMCAP only when you set TERM--which should not
+happen in a non-login shell.
-People using systems based on the Linux kernel sometimes report that
-startup takes 10 to 15 seconds longer than `usual'.
+*** The popup menu appears at the buttom/right of my screen.
-This is because Emacs looks up the host name when it starts.
-Normally, this takes negligible time; the extra delay is due to
-improper system configuration. This problem can occur for both
-networked and non-networked machines.
+You probably have something like the following in your ~/.Xdefaults
-Here is how to fix the configuration. It requires being root.
+ Emacs.geometry: 81x56--9--1
-*** Networked Case
+Use the following instead
-First, make sure the files `/etc/hosts' and `/etc/host.conf' both
-exist. The first line in the `/etc/hosts' file should look like this
-(replace HOSTNAME with your host name):
+ Emacs*EmacsFrame.geometry: 81x56--9--1
- 127.0.0.1 localhost HOSTNAME
-Also make sure that the `/etc/host.conf' files contains the following
-lines:
+** AIX
+*** Your Delete key sends a Backspace to the terminal, using an AIXterm.
- order hosts, bind
- multi on
+The solution is to include in your .Xdefaults the lines:
-Any changes, permanent and temporary, to the host name should be
-indicated in the `/etc/hosts' file, since it acts a limited local
-database of addresses and names (e.g., some SLIP connections
-dynamically allocate ip addresses).
+ *aixterm.Translations: #override <Key>BackSpace: string(0x7f)
+ aixterm*ttyModes: erase ^?
-*** Non-Networked Case
+This makes your Backspace key send DEL (ASCII 127).
-The solution described in the networked case applies here as well.
-However, if you never intend to network your machine, you can use a
-simpler solution: create an empty `/etc/host.conf' file. The command
-`touch /etc/host.conf' suffices to create the file. The `/etc/hosts'
-file is not necessary with this approach.
+*** On AIX 4, some programs fail when run in a Shell buffer
+with an error message like No terminfo entry for "unknown".
+
+On AIX, many terminal type definitions are not installed by default.
+`unknown' is one of them. Install the "Special Generic Terminal
+Definitions" to make them defined.
+
+*** On AIX, you get this message when running Emacs:
+
+ Could not load program emacs
+ Symbol smtcheckinit in csh is undefined
+ Error was: Exec format error
+
+or this one:
+
+ Could not load program .emacs
+ Symbol _system_con in csh is undefined
+ Symbol _fp_trapsta in csh is undefined
+ Error was: Exec format error
+
+These can happen when you try to run on AIX 3.2.5 a program that was
+compiled with 3.2.4. The fix is to recompile.
+
+*** Trouble using ptys on AIX.
+
+People often install the pty devices on AIX incorrectly.
+Use `smit pty' to reinstall them properly.
+
+
+** SunOS/Solaris
+*** The Emacs window disappears when you type M-q.
+
+Some versions of the Open Look window manager interpret M-q as a quit
+command for whatever window you are typing at. If you want to use
+Emacs with that window manager, you should try to configure the window
+manager to use some other command. You can disable the
+shortcut keys entirely by adding this line to ~/.OWdefaults:
+
+ OpenWindows.WindowMenuAccelerators: False
+
+*** When Emacs tries to ring the bell, you get an error like
+
+ audio: sst_open: SETQSIZE" Invalid argument
+ audio: sst_close: SETREG MMR2, Invalid argument
+
+you have probably compiled using an ANSI C compiler, but with non-ANSI
+include files. In particular, on Suns, the file
+/usr/include/sun/audioio.h uses the _IOW macro to define the constant
+AUDIOSETQSIZE. _IOW in turn uses a K&R preprocessor feature that is
+now explicitly forbidden in ANSI preprocessors, namely substitution
+inside character constants. All ANSI C compilers must provide a
+workaround for this problem. Lucid's C compiler is shipped with a new
+set of system include files. If you are using GCC, there is a script
+called fixincludes that creates new versions of some system include
+files that use this obsolete feature.
+
+*** On Solaris 2.6, XEmacs dumps core when exiting.
+
+This happens if you're XEmacs is running on the same machine as the X
+server, and the optimized memory transport has been turned on by
+setting the environment variable XSUNTRANSPORT. The crash occurs
+during the call to XCloseDisplay.
+
+If this describes your situation, you need to undefine the
+XSUNTRANSPORT environment variable.
-** On Solaris 2.4, Dired hangs and C-g does not work. Or Emacs hangs
+*** On Solaris, C-x doesn't get through to Emacs when you use the console.
+
+This is a Solaris feature (at least on Intel x86 cpus). Type C-r
+C-r C-t, to toggle whether C-x gets through to Emacs.
+
+*** On Solaris 2.4, Dired hangs and C-g does not work. Or Emacs hangs
forever waiting for termination of a subprocess that is a zombie.
casper@fwi.uva.nl says the problem is in X11R6. Rebuild libX11.so
`-DXTHREAD*' flags and `-lthread' entries from lib/X11/Makefile and
typing 'make install' in that directory also seemed to work.
-** With M-x enable-flow-control, you need to type C-\ twice to do
-incremental search--a single C-\ gets no response.
-
-This has been traced to communicating with your machine via kermit,
-with C-\ as the kermit escape character. One solution is to use
-another escape character in kermit. One user did
-
- set escape-character 17
-
-in his .kermrc file, to make C-q the kermit escape character.
-
-** The Motif version of Emacs paints the screen a solid color.
-
-This has been observed to result from the following X resource:
-
- Emacs*default.attributeFont: -*-courier-medium-r-*-*-*-140-*-*-*-*-iso8859-*
-
-That the resource has this effect indicates a bug in something, but we
-do not yet know what. If it is an Emacs bug, we hope someone can
-explain what the bug is so we can fix it. In the mean time, removing
-the resource prevents the problem.
-
-** Regular expressions matching bugs on SCO systems.
-
-On SCO, there are problems in regexp matching when Emacs is compiled
-with the system compiler. The compiler version is "Microsoft C
-version 6", SCO 4.2.0h Dev Sys Maintenance Supplement 01/06/93; Quick
-C Compiler Version 1.00.46 (Beta). The solution is to compile with
-GCC.
-
-** In Shell mode, you get a ^M at the end of every line.
-
-This happens to people who use tcsh, because it is trying to be too
-smart. It sees that the Shell uses terminal type `unknown' and turns
-on the flag to output ^M at the end of each line. You can fix the
-problem by adding this to your .cshrc file:
-
- if ($?EMACS) then
- if ($EMACS == "t") then
- unset edit
- stty -icrnl -onlcr -echo susp ^Z
- endif
- endif
-
-** An error message such as `X protocol error: BadMatch (invalid
-parameter attributes) on protocol request 93'.
+*** On SunOS 4.1.3, Emacs unpredictably crashes in _yp_dobind_soft.
-This comes from having an invalid X resource, such as
- emacs*Cursor: black
-(which is invalid because it specifies a color name for something
-that isn't a color.)
-
-The fix is to correct your X resources.
+This happens if you configure Emacs specifying just `sparc-sun-sunos4'
+on a system that is version 4.1.3. You must specify the precise
+version number (or let configure figure out the configuration, which
+it can do perfectly well for SunOS).
-** Mail is lost when sent to local aliases.
+*** Mail is lost when sent to local aliases.
Many emacs mail user agents (VM and rmail, for instance) use the
sendmail.el library. This library can arrange for mail to be
IDA sendmail on vixen.cso.uiuc.edu in /pub:
sendmail-5.67b+IDA-1.5.tar.gz
-** On AIX, you get this message when running Emacs:
+*** Emacs fails to understand most Internet host names, even though
+the names work properly with other programs on the same system.
+ Emacs won't work with X-windows if the value of DISPLAY is HOSTNAME:0.
+ Gnus can't make contact with the specified host for nntp.
- Could not load program emacs
- Symbol smtcheckinit in csh is undefined
- Error was: Exec format error
+This typically happens on Suns and other systems that use shared
+libraries. The cause is that the site has installed a version of the
+shared library which uses a name server--but has not installed a
+similar version of the unshared library which Emacs uses.
-or this one:
+The result is that most programs, using the shared library, work with
+the nameserver, but Emacs does not.
- Could not load program .emacs
- Symbol _system_con in csh is undefined
- Symbol _fp_trapsta in csh is undefined
- Error was: Exec format error
+The fix is to install an unshared library that corresponds to what you
+installed in the shared library, and then relink Emacs.
-These can happen when you try to run on AIX 3.2.5 a program that was
-compiled with 3.2.4. The fix is to recompile.
+On SunOS 4.1, simply define HAVE_RES_INIT.
-** After running emacs once, subsequent invocations crash.
+If you have already installed the name resolver in the file libresolv.a,
+then you need to compile Emacs to use that library. The easiest way to
+do this is to add to config.h a definition of LIBS_SYSTEM, LIBS_MACHINE
+or LIB_STANDARD which uses -lresolv. Watch out! If you redefine a macro
+that is already in use in your configuration to supply some other libraries,
+be careful not to lose the others.
-Some versions of SVR4 have a serious bug in the implementation of the
-mmap () system call in the kernel; this causes emacs to run correctly
-the first time, and then crash when run a second time.
+Thus, you could start by adding this to config.h:
-Contact your vendor and ask for the mmap bug fix; in the mean time,
-you may be able to work around the problem by adding a line to your
-operating system description file (whose name is reported by the
-configure script) that reads:
-#define SYSTEM_MALLOC
-This makes Emacs use memory less efficiently, but seems to work around
-the kernel bug.
+#define LIBS_SYSTEM -lresolv
-** Inability to send an Alt-modified key, when Emacs is communicating
-directly with an X server.
+Then if this gives you an error for redefining a macro, and you see that
+the s- file defines LIBS_SYSTEM as -lfoo -lbar, you could change config.h
+again to say this:
-If you have tried to bind an Alt-modified key as a command, and it
-does not work to type the command, the first thing you should check is
-whether the key is getting through to Emacs. To do this, type C-h c
-followed by the Alt-modified key. C-h c should say what kind of event
-it read. If it says it read an Alt-modified key, then make sure you
-have made the key binding correctly.
+#define LIBS_SYSTEM -lresolv -lfoo -lbar
-If C-h c reports an event that doesn't have the Alt modifier, it may
-be because your X server has no key for the Alt modifier. The X
-server that comes from MIT does not set up the Alt modifier by
-default.
+*** With process-connection-type set to t, each line of subprocess
+output is terminated with a ^M, making ange-ftp and GNUS not work.
-If your keyboard has keys named Alt, you can enable them as follows:
+On SunOS systems, this problem has been seen to be a result of an
+incomplete installation of gcc 2.2 which allowed some non-ANSI
+compatible include files into the compilation. In particular this
+affected virtually all ioctl() calls.
- xmodmap -e 'add mod2 = Alt_L'
- xmodmap -e 'add mod2 = Alt_R'
-If the keyboard has just one key named Alt, then only one of those
-commands is needed. The modifier `mod2' is a reasonable choice if you
-are using an unmodified MIT version of X. Otherwise, choose any
-modifier bit not otherwise used.
+** Linux
+*** You get crashes in a non-C locale with Linux GNU Libc 2.0.
-If your keyboard does not have keys named Alt, you can use some other
-keys. Use the keysym command in xmodmap to turn a function key (or
-some other 'spare' key) into Alt_L or into Alt_R, and then use the
-commands show above to make them modifier keys.
+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.
-Note that if you have Alt keys but no Meta keys, Emacs translates Alt
-into Meta. This is because of the great importance of Meta in Emacs.
+*** `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.
-** `Pid xxx killed due to text modification or page I/O error'
+*** With certain fonts, when the cursor appears on a character, the
+character doesn't appear--you get a solid box instead.
-On HP/UX, you can get that error when the Emacs executable is on an NFS
-file system. HP/UX responds this way if it tries to swap in a page and
-does not get a response from the server within a timeout whose default
-value is just ten seconds.
+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.
-If this happens to you, extend the timeout period.
+*** Slow startup on Linux.
+
+People using systems based on the Linux kernel sometimes report that
+startup takes 10 to 15 seconds longer than `usual'.
+
+This is because Emacs looks up the host name when it starts.
+Normally, this takes negligible time; the extra delay is due to
+improper system configuration. This problem can occur for both
+networked and non-networked machines.
+
+Here is how to fix the configuration. It requires being root.
+
+**** Networked Case
+
+First, make sure the files `/etc/hosts' and `/etc/host.conf' both
+exist. The first line in the `/etc/hosts' file should look like this
+(replace HOSTNAME with your host name):
+
+ 127.0.0.1 localhost HOSTNAME
+
+Also make sure that the `/etc/host.conf' files contains the following
+lines:
+
+ order hosts, bind
+ multi on
+
+Any changes, permanent and temporary, to the host name should be
+indicated in the `/etc/hosts' file, since it acts a limited local
+database of addresses and names (e.g., some SLIP connections
+dynamically allocate ip addresses).
+
+**** Non-Networked Case
+
+The solution described in the networked case applies here as well.
+However, if you never intend to network your machine, you can use a
+simpler solution: create an empty `/etc/host.conf' file. The command
+`touch /etc/host.conf' suffices to create the file. The `/etc/hosts'
+file is not necessary with this approach.
+
+
+** IRIX
+*** On Irix, I don't see the toolbar icons and I'm getting lots of
+entries in the warnings buffer.
+
+SGI ships a really old Xpm library in /usr/lib which does not work at
+all well with XEmacs. The solution is to install your own copy of the
+latest version of Xpm somewhere and then use the --site-includes and
+--site-libraries flags to tell configure where to find it.
+
+*** Trouble using ptys on IRIX, or running out of ptys.
+
+The program mkpts (which may be in `/usr/adm' or `/usr/sbin') needs to
+be set-UID to root, or non-root programs like Emacs will not be able
+to allocate ptys reliably.
+
+*** Motif dialog boxes lose on Irix.
+
+Larry Auton <lda@control.att.com> writes:
+Beware of not specifying
+
+ --with-dialogs=athena
+
+if it builds with the motif dialogs [boom!] you're a dead man.
+
+*** Beware of the default image & graphics library on Irix
+
+Richard Cognot <cognot@ensg.u-nancy.fr> writes:
+
+You *have* to compile your own jpeg lib. The one delivered with SGI
+systems is a C++ lib, which apparently XEmacs cannot cope with.
+
+
+** Digital UNIX/OSF/VMS/Ultrix
+*** XEmacs crashes on Digital Unix within font-lock, or when dealing
+with large compilation buffers.
+
+The default stack size under Digital Unix is rather small (2M as
+opposed to Solaris 8M), hosing the regexp code, which uses alloca()
+extensively, overflowing the stack when complex regexps are used.
+Workarounds:
+
+1) Increase your stack size, using `ulimit -s 8192' or a (t)csh
+ equivalent;
+
+2) Recompile regex.c with REGEX_MALLOC defined.
+
+*** The `Alt' key doesn't behave as `Meta' when running DECwindows.
+
+The default DEC keyboard mapping has the Alt keys set up to generate the
+keysym `Multi_key', which has a meaning to xemacs which is distinct from that
+of the `Meta_L' and `Meta-R' keysyms. A second problem is that certain keys
+have the Mod2 modifier attached to them for no adequately explored reason.
+The correct fix is to pass this file to xmodmap upon starting X:
+
+ clear mod2
+ keysym Multi_key = Alt_L
+ add mod1 = Alt_L
+ add mod1 = Alt_R
-** `expand-file-name' fails to work on any but the machine you dumped
+*** The Compose key on a DEC keyboard does not work as Meta key.
+
+This shell command should fix it:
+
+ xmodmap -e 'keycode 0xb1 = Meta_L'
+
+*** `expand-file-name' fails to work on any but the machine you dumped
Emacs on.
On Ultrix, if you use any of the functions which look up information
Perhaps the YP functions cache some information, the cache is included
in the dumped Emacs, and is then inaccurate on any other host.
-** Emacs fails to understand most Internet host names, even though
-the names work properly with other programs on the same system.
- Emacs won't work with X-windows if the value of DISPLAY is HOSTNAME:0.
- Gnus can't make contact with the specified host for nntp.
-This typically happens on Suns and other systems that use shared
-libraries. The cause is that the site has installed a version of the
-shared library which uses a name server--but has not installed a
-similar version of the unshared library which Emacs uses.
+** HP-UX
+*** I get complaints about the mapping of my HP keyboard at startup,
+but I haven't changed anything.
-The result is that most programs, using the shared library, work with
-the nameserver, but Emacs does not.
+The default HP keymap is set up to have Mod1 assigned to two different keys:
+Meta_L and Mode_switch (even though there is not actually a Mode_switch key on
+the keyboard -- it uses an "imaginary" keycode.) There actually is a reason
+for this, but it's not a good one. The correct fix is to execute this command
+upon starting X:
-The fix is to install an unshared library that corresponds to what you
-installed in the shared library, and then relink Emacs.
+ xmodmap -e 'remove mod1 = Mode_switch'
-On SunOS 4.1, simply define HAVE_RES_INIT.
+*** On HP-UX, you get "poll: Interrupted system call" message in the
+window where XEmacs was launched.
-If you have already installed the name resolver in the file libresolv.a,
-then you need to compile Emacs to use that library. The easiest way to
-do this is to add to config.h a definition of LIBS_SYSTEM, LIBS_MACHINE
-or LIB_STANDARD which uses -lresolv. Watch out! If you redefine a macro
-that is already in use in your configuration to supply some other libraries,
-be careful not to lose the others.
+Richard Cognot <cognot@ensg.u-nancy.fr> writes:
-Thus, you could start by adding this to config.h:
+ I get a very strange problem when linking libc.a dynamically: every
+ event (mouse, keyboard, expose...) results in a "poll: Interrupted
+ system call" message in the window where XEmacs was
+ launched. Forcing a static link of libc.a alone by adding
+ /usr/lib/libc.a at the end of the link line solves this. Note that
+ my 9.07 build of 19.14b17 and my (old) build of 19.13 both exhibit
+ the same behaviour. I've tried various hpux patches to no avail. If
+ this problem cannot be solved before the release date, binary kits
+ for HP *must* be linked statically against libc, otherwise this
+ problem will show up. (This is directed at whoever will volunteer
+ for this kit, as I won't be available to do it, unless 19.14 gets
+ delayed until mid-june ;-). I think this problem will be an FAQ soon
+ after the release otherwise.
-#define LIBS_SYSTEM -lresolv
+Note: The above entry is probably not valid for XEmacs 21.0 and
+later.
-Then if this gives you an error for redefining a macro, and you see that
-the s- file defines LIBS_SYSTEM as -lfoo -lbar, you could change config.h
-again to say this:
+*** The right Alt key works wrong on German HP keyboards (and perhaps
+ other non-English HP keyboards too).
-#define LIBS_SYSTEM -lresolv -lfoo -lbar
+This is because HP-UX defines the modifiers wrong in X. Here is a
+shell script to fix the problem; be sure that it is run after VUE
+configures the X server.
-** Trouble using ptys on AIX.
+ xmodmap 2> /dev/null - << EOF
+ keysym Alt_L = Meta_L
+ keysym Alt_R = Meta_R
+ EOF
-People often install the pty devices on AIX incorrectly.
-Use `smit pty' to reinstall them properly.
+ xmodmap - << EOF
+ clear mod1
+ keysym Mode_switch = NoSymbol
+ add mod1 = Meta_L
+ keysym Meta_R = Mode_switch
+ add mod2 = Mode_switch
+ EOF
+
+*** `Pid xxx killed due to text modification or page I/O error'
+
+On HP-UX, you can get that error when the Emacs executable is on an NFS
+file system. HP-UX responds this way if it tries to swap in a page and
+does not get a response from the server within a timeout whose default
+value is just ten seconds.
+
+If this happens to you, extend the timeout period.
-** Shell mode on HP/UX gives the message, "`tty`: Ambiguous".
+*** Shell mode on HP-UX gives the message, "`tty`: Ambiguous".
christos@theory.tn.cornell.edu says:
Even better, move things that set up terminal sections out of .cshrc
and into .login.
-** With process-connection-type set to t, each line of subprocess
-output is terminated with a ^M, making ange-ftp and GNUS not work.
-
-On SunOS systems, this problem has been seen to be a result of an
-incomplete installation of gcc 2.2 which allowed some non-ANSI
-compatible include files into the compilation. In particular this
-affected virtually all ioctl() calls.
-
-** Once you pull down a menu from the menubar, it won't go away.
-
-It has been claimed that this is caused by a bug in certain very old
-(1990?) versions of the twm window manager. It doesn't happen with
-recent vintages, or with other window managers.
-** Emacs ignores the "help" key when running OLWM.
+** SCO
+*** Regular expressions matching bugs on SCO systems.
-OLWM grabs the help key, and retransmits it to the appropriate client
-using XSendEvent. Allowing emacs to react to synthetic events is a
-security hole, so this is turned off by default. You can enable it by
-setting the variable x-allow-sendevents to t. You can also cause fix
-this by telling OLWM to not grab the help key, with the null binding
-"OpenWindows.KeyboardCommand.Help:".
-
-** Programs running under terminal emulator do not recognize `emacs'
-terminal type.
+On SCO, there are problems in regexp matching when Emacs is compiled
+with the system compiler. The compiler version is "Microsoft C
+version 6", SCO 4.2.0h Dev Sys Maintenance Supplement 01/06/93; Quick
+C Compiler Version 1.00.46 (Beta). The solution is to compile with
+GCC.
-The cause of this is a shell startup file that sets the TERMCAP
-environment variable. The terminal emulator uses that variable to
-provide the information on the special terminal type that Emacs
-emulates.
-Rewrite your shell startup file so that it does not change TERMCAP
-in such a case. You could use the following conditional which sets
-it only if it is undefined.
+** Windows
+*** Emacs exits with "X protocol error" when run with an X server for
+Windows.
- if ( ! ${?TERMCAP} ) setenv TERMCAP ~/my-termcap-file
+A certain X server for Windows had a bug which caused this.
+Supposedly the newer 32-bit version of this server doesn't have the
+problem.
-Or you could set TERMCAP only when you set TERM--which should not
-happen in a non-login shell.
* Compatibility problems (with Emacs 18, GNU Emacs, or previous XEmacs/lemacs)
==============================================================================
-** "Symbol's value as variable is void: unread-command-char".
+*** "Symbol's value as variable is void: unread-command-char".
"Wrong type argument: arrayp, #<keymap 143 entries>"
"Wrong type argument: stringp, [#<keypress-event return>]"
Those with little time, cheap connections and plenty of disk space can
install all packages at once using the sumo tarballs.
-Download the files
+Download the file
-xemacs-sumo-<date>.tar.gz if you have a latin-1 XEmacs.
+xemacs-sumo-<date>.tar.gz
-or
+For an XEmacs compiled with Mule you also need
-xemacs-mule-sumo-<date>.tar.gz if you have a MULE XEmacs.
+xemacs-mule-sumo-<date>.tar.gz
-N.B. There are called 'Sumo Tarballs' for good reason. They are
-currently 15MB and 23MB (gzipped) respectively.
+N.B. They are called 'Sumo Tarballs' for good reason. They are
+currently about 15MB and 2.3MB (gzipped) respectively.
Install them by
installing easier. It will notice if new packages or versions are
available and will fetch them from the ftp site.
-Unfortunately this requires that a few packages are alreadyin place.
+Unfortunately this requires that a few packages are already in place.
You will have to install them by hand as above or use a SUMO tarball.
This requirement will hopefully go away in the future. The packages
you need are:
dnl aclocal.m4 --- Dynamically linked library support for XEmacs
-dnl Copyright (C) 1998 Free Software Foundation, Inc.
-dnl Author: William Perry <wmperry@aventail.com>
-dnl This file is part of XEmacs
-
-AC_DEFUN(XE_MAKE_SHAREDLIB, [
-dll_ld="ld"
-dll_lflags="-shared"
-dll_cflags="-r"
-dll_oflags="-o "
-
-AC_MSG_CHECKING(how to build a shared library)
-case `uname -rs` in
- UNIX_SV*|UNIX_System_V*)
- dll_lflags="-G"
- dll_cflags=-Kpic
- dll_ld="ld"
- ;;
- BSD/OS*)
- dll_cflags=
- dll_lflags="-r"
- dll_ld="shlicc2"
- ;;
- FreeBSD*2*)
- dll_lflags="-Bshareable"
- dll_cflags="-fPIC -DPIC"
- dll_ld=ld
- ;;
- SunOS*4.*)
- dll_cflags="-P"
- dll_lflags="-dp -assert pure-text -assert nodefinitions"
- ;;
- SunOS*5.*)
- dll_ld="cc"
- dll_cflags="-KPIC"
- dll_lflags="-G"
- dll_oflags="-W0,-y-o -W0,-y"
- ;;
- IRIX*5.*|IRIX*6.*)
- dll_cflags="-KPIC"
- ;;
- OSF1*)
- ;;
- HP-UX*)
- dll_ld="ld"
- dll_lflags="-b"
- dll_cflags="+z"
- ;;
- SCO_SV*)
- dll_ld="ld"
- dll_lflags="-G"
- dll_cflags="-Kpic"
- ;;
- AIX*)
- dll_lflags="-H512 -T512 -bhalt:4 -bM:SRE -bE:\${@:.ell=.exp} -b noentry -lc"
- dll_ld="ld"
- ;;
- *)
- ;;
- esac
-
- if test "$GCC" = "yes" ; then
- dll_cflags="-fPIC"
- case `uname -rs` in
- SunOS*5.*)
- dll_ld="ld"
- dll_oflags="-o "
- dll_lflags="-G"
- ;;
- SCO_SV*)
- dll_ld="ld"
- dll_lflags="-G"
- dll_cflags="-b elf"
- ;;
- FreeBSD*)
- dll_cflags="-DDLSYM_NEEDS_UNDERSCORE -DPIC -fPIC"
- dll_lflags="-Bshareable"
- dll_ld=ld
- ;;
- BSD/OS*)
- dll_cflags=
- dll_lflags="-r"
- dll_ld="shlicc2"
- ;;
- UNIX_SV*)
- dll_cflags="-fPIC"
- ;;
- *)
- dll_ld="$CC"
- dll_lflags="-shared"
- esac
- fi
-
- AC_MSG_RESULT("lflags: $dll_lflags cflags: $dll_cflags")
+dnl Copyright (C) 1998, 1999 J. Kean Johnston.
+dnl Author: J. Kean Johnston <jkj@sco.com>, based on work in libtool.
+dnl This file is part of XEmacs.
+
+dnl
+dnl There are several things we care about here. First, we need to find
+dnl out how we create an executable that has its symbols exported, so
+dnl that dynamically loaded modules have access to the internal XEmacs
+dnl symbols. This is stored in ``ld_dynamic_link_flags'' and is used
+dnl in the main Makefile.
+dnl Next, we need to know how we compile actual shared libraries, and
+dnl the objects in them. For these purposes, we need to determine the
+dnl C compiler flags used to produce shared objects (``dll_cflags''),
+dnl what linker to use to create the final shared object that will be
+dnl loaded (``dll_ld'') and the flags to pass to that linker
+dnl (``dll_ldflags''). This information is used by ellcc to build up
+dnl the command line when compiling modules. We build up two other commands
+dnl for extremely weird systems where special things need to be done.
+dnl The first is ``dll_ldo'', which is the flag used to specify the output
+dnl file name, and the second is ``dll_post'' which is inserted after the
+dnl list of objects.
+dnl After all of this, we should be able to:
+dnl $(CC) $(CFLAGS) $(dll_cflags) -c module.c
+dnl to produce a single shared object
+dnl And then:
+dnl $(dll_ld) $(dll_ldflags) $(dll_ldo) module.ell module.o $(dll_post)
+dnl to create the loadable shared library.
+dnl
+dnl NOTE: In the code below, where I have modified things to work with
+dnl XEmacs, we use $canonical instead of libtool's $host, and we use
+dnl $internal_configuration instead of $host_alias. To make typing
+dnl shorter we assign these to $xehost and $xealias
+
+AC_DEFUN(XE_SHLIB_STUFF,[
+dll_ld=
+dll_ldflags=
+dll_cflags=
+dll_post=
+dll_ldo="-o"
+ld_dynamic_link_flags=
+xehost=$canonical
+xealias=$internal_configuration
+
+AC_CHECKING([how to build dynamic libraries for ${xehost}])
+# Transform *-*-linux* to *-*-linux-gnu*, to support old configure scripts.
+case "$xehost" in
+*-*-linux-gnu*) ;;
+*-*-linux*) xehost=`echo $xehost | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'`
+esac
+
+changequote(<<, >>)dnl
+xehost_cpu=`echo $xehost | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+xehost_vendor=`echo $xehost | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+xehost_os=`echo $xehost | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+changequote([, ])dnl
+
+case "$xehost_os" in
+aix3*)
+ # AIX sometimes has problems with the GCC collect2 program. For some
+ # reason, if we set the COLLECT_NAMES environment variable, the problems
+ # vanish in a puff of smoke.
+ if test "${COLLECT_NAMES+set}" != set; then
+ COLLECT_NAMES=
+ export COLLECT_NAMES
+ fi
+ ;;
+esac
+
+# Now see if the compiler is really GCC.
+if test "$GCC" = "yes"; then
+ XEGCC=yes
+else
+ AC_MSG_CHECKING(checking whether we are using GNU C)
+ AC_EGREP_CPP(yes,[
+#ifdef __GNUC__
+ yes;
+#endif
+],XEGCC=yes, XEGCC=no)
+ AC_MSG_RESULT([${XEGCC}])
+fi
+
+AC_MSG_CHECKING(how to produce PIC code)
+wl=
+
+can_build_shared=yes
+if test "$XEGCC" = yes; then
+ wl='-Wl,'
+
+ case "$xehost_os" in
+ aix3* | aix4* | irix5* | irix6* | osf3* | osf4*)
+ # PIC is the default for these OSes.
+ ;;
+
+ os2*)
+ # We can build DLLs from non-PIC.
+ ;;
+ amigaos*)
+ # FIXME: we need at least 68020 code to build shared libraries, but
+ # adding the `-m68020' flag to GCC prevents building anything better,
+ # like `-m68040'.
+ dll_cflags='-m68020 -resident32 -malways-restore-a4'
+ ;;
+ *)
+ dll_cflags='-fPIC'
+ ;;
+ esac
+else
+ # PORTME Check for PIC flags for the system compiler.
+ case "$xehost_os" in
+ hpux9* | hpux10*)
+ # Is there a better link_static_flag that works with the bundled CC?
+ wl='-Wl,'
+ dll_cflags='+Z'
+ ;;
+
+ irix5* | irix6*)
+ wl='-Wl,'
+ # PIC (with -KPIC) is the default.
+ ;;
+
+ os2*)
+ # We can build DLLs from non-PIC.
+ ;;
+
+ osf3* | osf4*)
+ # All OSF/1 code is PIC.
+ wl='-Wl,'
+ ;;
+
+ sco3.2v5*)
+ dll_cflags='-belf -Kpic'
+ wl='-Wl,'
+ ;;
+
+ unixware*)
+ dll_cflags="-KPIC"
+ wl="-Wl,"
+ ;;
+
+ sysv4*)
+ dll_cflags="-KPIC"
+ wl="-Wl,"
+ ;;
+
+ sysv5*)
+ dll_cflags="-KPIC"
+ wl="-Wl,"
+ ;;
+
+ solaris2*)
+ dll_cflags='-KPIC'
+ wl='-Wl,'
+ ;;
+
+ sunos4*)
+ dll_cflags='-PIC'
+ wl='-Qoption ld '
+ ;;
+
+ uts4*)
+ dll_cflags='-pic'
+ ;;
+
+ *)
+ can_build_shared=no
+ ;;
+ esac
+fi
+
+if test -n "$dll_cflags"; then
+ AC_MSG_RESULT([${dll_cflags}])
+
+ # Check to make sure the dll_cflags actually works.
+ AC_MSG_CHECKING([if PIC flag ${dll_cflags} really works])
+ save_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS $dll_cflags -DPIC"
+ AC_TRY_COMPILE(,[int x=0;],[
+ # On HP-UX, the stripped-down bundled CC doesn't accept +Z, but also
+ # reports no error. So, we need to grep stderr for (Bundled).
+ if grep '(Bundled)' config.log >/dev/null; then
+ AC_MSG_RESULT(no)
+ can_build_shared=no
+ dll_cflags=
+ else
+ AC_MSG_RESULT(yes)
+ fi], [AC_MSG_RESULT(no)
+ can_build_shared=no
+ dll_cflags=])
+ CFLAGS="$save_CFLAGS"
+else
+ AC_MSG_RESULT(none)
+fi
+
+dnl
+dnl Now comes the LD trickery. We do things differently to libtool here.
+dnl I believe that libtool is incorrect in trying to drive the linker
+dnl directly. This can cause considerable problems if the module you are
+dnl compiling has C++ or other static initializers. If we use ld directly,
+dnl we dont end up with the crt stuff being linked in, and we dont end up
+dnl with any .init or .fini sections (or the moral equivalent thereof).
+dnl gcc takes great care to do this propperly when invoked in -shared
+dnl mode, and we really do want this behaviour. Perhaps the libtool folks
+dnl are not aware that any SVR4 based dynamic loader will automatically
+dnl execute code in the .init section before dlopen() returns. This is
+dnl vital, as the module may have been compiled to rely on that behaviour.
+dnl
+dnl So, having said all of that, we diverge from libtool significantly
+dnl here. We want to try and use the C compiler as much as possible. Only
+dnl if the C compiler itself cannot create shared libraries to we try to
+dnl find the linker.
+dnl
+dnl The other advantage to my scheme is that it removes the dependancy
+dnl on a given compiler version remaining static with relation to the
+dnl version of XEmacs. With the libtool way, it picks up the linker that
+dnl gcc uses, which can be the internal collect2 that comes with gcc.
+dnl If the user ever changes their compiler version, the paths will no
+dnl longer be correct, and ellcc will break. This is clearly unacceptable.
+dnl By using the compiler driver on the path, we dont have this problem.
+dnl If that is not clear, consider that gcc -print-prog-name=ld can
+dnl produce something along the lines of:
+dnl /usr/local/lib/gcc-lib/OS-NAME/GCC-VERSION/ld
+dnl If you ever change GCC versions, then that path no longer exists.
+dnl
+dnl So, we change the check order here. We first check to see if we are
+dnl using GCC, and if so, we see if -shared works. If it does, great.
+dnl If we are not using gcc, but the system C compiler can produce
+dnl shared objects, we try that. Only if all of that fails do we revert
+dnl back to the libtool ld trickery.
+dnl
+dnl We dont do ANY of this if we can't produce shared objects.
+dnl
+if test "$can_build_shared" = "yes"; then
+cc_produces_so=no
+xldf=
+xcldf=
+AC_MSG_CHECKING(if C compiler can produce shared libraries)
+if test "$XEGCC" = yes; then
+ xcldf="-shared"
+ xldf="-shared"
+else # Not using GCC
+ case "$xehost_os" in
+ aix3* | aix4*)
+ xldf="-bE:ELLSONAME.exp -H512 -T512 -bhalt:4 -bM:SRE -bnoentry -lc"
+ xcldf="${wl}-bE:ELLSONAME.exp ${wl}-H512 ${wl}-T512 ${wl}-bhalt:4 ${wl}-bM:SRE ${wl}-bnoentry ${wl}-lc"
+ ;;
+
+ freebsd2* | netbsd* | openbsd*)
+ xldf="-Bshareable"
+ xcldf="${wl}-Bshareable"
+ ;;
+
+ freebsd3*)
+ xcldf="-shared"
+ ;;
+
+ hpux*)
+ xldf="-b +s"
+ xcldf="${wl}-b ${wl}+s"
+ ;;
+
+ irix5* | irix6* | osf3* | osf4*)
+ xcldf="${wl}-shared"
+ xldf="-shared"
+ ;;
+
+ sco3.2v5* | unixware* | sysv5* | sysv4* | solaris2* | solaris7* | uts4*)
+ xcldf="-G"
+ xldf="-G"
+ ;;
+
+ sunos4*)
+ xcldf="${wl}-assert ${wl}pure-text ${wl}-Bstatic"
+ xldf="-assert pure-text -Bstatic"
+ ;;
+ esac
+fi # End if if we are using gcc
+
+if test -n "$xcldf"; then
+ save_LDFLAGS=$LDFLAGS
+ save_LIBS=$LIBS
+ save_xe_libs=$xe_libs
+ LDFLAGS="$xcldf $LDFLAGS"
+ LIBS=
+ xe_libs=
+ ac_link='${CC-cc} -o conftest $CFLAGS '"$xe_cppflags $xe_ldflags"' conftest.$ac_ext '"$xe_libs"' 1>&AC_FD_CC'
+ AC_TRY_LINK(,[int x=0;],cc_produces_so=yes,cc_produces_so=no)
+ LDFLAGS=$save_LDFLAGS
+ LIBS=$save_LIBS
+ xe_libs=$save_xe_libs
+ ac_link='${CC-cc} -o conftest $CFLAGS '"$xe_cppflags $xe_ldflags"' conftest.$ac_ext '"$xe_libs"' 1>&AC_FD_CC'
+else
+ cc_produces_so=no
+fi
+AC_MSG_RESULT([${cc_produces_so}])
+
+LTLD=$LD
+if test -z "$LTLD"; then
+ ac_prog=ld
+ if test "$XEGCC" = yes; then
+ # Check if gcc -print-prog-name=ld gives a path.
+ AC_MSG_CHECKING(for ld used by GCC)
+ ac_prog=`($CC -print-prog-name=ld) 2>&5`
+ case "$ac_prog" in
+ # Accept absolute paths.
+ /*)
+ if test -z "$LTLD"; then
+ case "$ac_prog" in
+ *gcc-lib*) LTLD="$CC"
+ ;;
+ *) LTLD="$ac_prog"
+ ;;
+ esac
+ fi
+ ;;
+ "")
+ # If it fails, then pretend we aren't using GCC.
+ ac_prog=ld
+ ;;
+ *)
+ # If it is relative, then search for the first ld in PATH.
+ with_gnu_ld=unknown
+ ;;
+ esac
+ else
+ AC_MSG_CHECKING(for GNU ld)
+ fi
+
+ if test -z "$LTLD"; then
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+ for ac_dir in $PATH; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f "$ac_dir/$ac_prog"; then
+ LTLD="$ac_dir/$ac_prog"
+ # Check to see if the program is GNU ld. I'd rather use --version,
+ # but apparently some GNU ld's only accept -v.
+ # Break only if it was the GNU/non-GNU ld that we prefer.
+ if "$LTLD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then
+ xe_gnu_ld=yes
+ else
+ xe_gnu_ld=no
+ fi
+ fi
+ done
+ IFS="$ac_save_ifs"
+ fi
+
+ if test -n "$LTLD"; then
+ AC_MSG_RESULT([${LTLD}])
+ else
+ AC_MSG_RESULT(no)
+ fi
+
+ if test -z "$LTLD" -a "$cc_produces_so" = no; then
+ AC_MSG_ERROR(no acceptable linker found in \$PATH)
+ exit 1
+ fi
+fi
+
+dnl
+dnl Order of the tests changed somewhat to prevent repetition
+dnl
+ld_dynamic_link_flags=
+
+# Check to see if it really is or isn't GNU ld.
+AC_MSG_CHECKING(if the linker is GNU ld)
+# 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
+else
+ xe_gnu_ld=no
+fi
+AC_MSG_RESULT([${xe_gnu_ld}])
+
+case "$xehost_os" in
+ amigaos* | sunos4*)
+ # On these operating systems, we should treat GNU ld like the system ld.
+ gnu_ld_acts_native=yes
+ ;;
+ *)
+ gnu_ld_acts_native=no
+ ;;
+esac
+
+if test "$cc_produces_so" = "yes"; then
+ dll_ld=$CC
+ dll_ldflags=$xcldf
+ can_build_shared=yes
+else
+ # OK - only NOW do we futz about with ld.
+ # See if the linker supports building shared libraries.
+ AC_MSG_CHECKING(whether the linker supports shared libraries)
+ dll_ld=$CC
+ dll_ldflags=$LDFLAGS
+ ld_shlibs=yes
+ can_build_shared=yes
+ if test "$xe_gnu_ld" = yes && test "$gnu_ld_acts_native" != yes; then
+ # See if GNU ld supports shared libraries.
+ if $LTLD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
+ dll_ld=$CC
+ dll_ldflags="-shared"
+ ld_shlibs=yes
+ else
+ ld_shlibs=no
+ fi
+ else
+ # PORTME fill in a description of your system's linker (not GNU ld)
+ case "$xehost_os" in
+ aix3*)
+ dll_ld=$LTLD
+ dll_ldflags=$xldf
+ ;;
+
+ aix4*)
+ dll_ldflags=$xcldf
+ ;;
+
+ # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
+ # support. Future versions do this automatically, but an explicit c++rt0.o
+ # doesn't break anything, and helps significantly (at the cost of a little
+ # extra space).
+ freebsd2.2*)
+ dll_ld=$LTLD
+ dll_ldflags=$xldf
+ dll_post="/usr/lib/c++rt0.o"
+ ;;
+
+ # Unfortunately, older versions of FreeBSD 2 don't have this feature.
+ freebsd2*)
+ dll_ld=$LTLD
+ dll_ldflags="-Bshareable"
+ ;;
+
+ # FreeBSD 3, at last, uses gcc -shared to do shared libraries.
+ freebsd3*)
+ dll_ldflags="-shared"
+ ;;
+
+ hpux*)
+ dll_ld=$LTLD
+ dll_ldflags=$xldf
+ ;;
+
+ irix5* | irix6*)
+ dll_ld=$LTLD
+ dll_ldflags=$xldf
+ ;;
+
+ netbsd*)
+ # Tested with NetBSD 1.2 ld
+ dll_ld=$LTLD
+ dll_ldflags=$xldf
+ ;;
+
+ openbsd*)
+ dll_ld=$LTLD
+ dll_ldflags=$xldf
+ ;;
+
+ osf3* | osf4*)
+ dll_ld=$LTLD
+ dll_ldflags=$xldf
+ ;;
+
+ # For both SCO and Solaris we MAY want to have LDFLAGS include -z text
+ sco3.2v5* | unixware* | sysv5* | sysv4* | solaris2* | solaris7*)
+ dll_ld=$LTLD
+ case "$dll_ld" in
+ *gcc*) dll_ldflags="-shared"
+ dll_ld=$CC
+ ;;
+ *) dll_ldflags="-G"
+ ;;
+ esac
+ ;;
+
+ sunos4*)
+ if test "$XEGCC" = yes; then
+ dll_ld=$CC
+ else
+ dll_ld=$LTLD
+ fi
+ dll_ldflags=$xldf
+ ;;
+
+ uts4*)
+ dll_ld=$LTLD
+ dll_ldflags="-G"
+ ;;
+
+ bsdi*)
+ dll_ldflags="-r"
+ dll_ld="shlicc2"
+ ;;
+
+ *)
+ ld_shlibs=no
+ can_build_shared=no
+ ;;
+ esac
+ fi
+ AC_MSG_RESULT([${ld_shlibs}])
+ if test "$ld_shlibs" = "no"; then
+ can_build_shared=no
+ fi
+fi # End of if cc_produces_so = no
+
+dnl
+dnl Last thing, check how to get a linked executable to have its symbols
+dnl exported, so that the modules have access to them.
+dnl
+dnl XEmacs FIXME - we need to set ld_dynamic_link_flags propperly for
+dnl most of these systems, which was missing from libtool. I know they
+dnl all have a way of doing this, but someone needs to look at this
+dnl for each OS and make sure it is correct. Remember that the arguments
+dnl are passed when temacs is linked, this is NOT for modules. The sole
+dnl purpose of the argument is to get the internal XEmacs symbols exposed
+dnl for modules to use. This means that the COMPILER (and NOT the linker)
+dnl is most often used to create temacs, so arguments to the linker will
+dnl usually need to be prefix with ${wl} or some other such thing.
+dnl
+
+if test "$xe_gnu_ld" = yes; then
+ if test "$ld_shlibs" = yes; then
+ ld_dynamic_link_flags="${wl}-export-dynamic"
+ fi
+fi
+
+if test -z "$ld_dynamic_link_flags"; then
+ case "$xehost_os" in
+ aix3*)
+ ld_dynamic_link_flags=
+ ;;
+
+ aix4*)
+ ld_dynamic_link_flags=
+ ;;
+
+ freebsd2.2*)
+ ld_dynamic_link_flags=
+ ;;
+
+ freebsd2*)
+ ld_dynamic_link_flags=
+ ;;
+
+ freebsd3*)
+ ld_dynamic_link_flags=
+ ;;
+
+ hpux*)
+ ld_dynamic_link_flags="${wl}-E"
+ ;;
+
+ irix5* | irix6*)
+ ld_dynamic_link_flags=
+ ;;
+
+ netbsd*)
+ ld_dynamic_link_flags=
+ ;;
+
+ openbsd*)
+ ld_dynamic_link_flags=
+ ;;
+
+ osf3* | osf4*)
+ ld_dynamic_link_flags=
+ ;;
+
+ solaris2* | solaris7*)
+ ld_dynamic_link_flags="${wl}-Bdynamic"
+ ;;
+
+ sco3.2v5* | unixware* | sysv5* | sysv4*)
+ ld_dynamic_link_flags="${wl}-Bexport"
+ ;;
+
+ sunos4*)
+ ld_dynamic_link_flags=
+ ;;
+
+ uts4*)
+ ld_dynamic_link_flags=
+ ;;
+
+ bsdi*)
+ ld_dynamic_link_flags=
+ ;;
+
+ esac
+fi # End of if -z ld_dynamic_link_flags
+fi # End of if test "$can_build_shared" = "yes"
+
AC_SUBST(dll_ld)
AC_SUBST(dll_cflags)
-AC_SUBST(dll_oflags)
-AC_SUBST(dll_lflags)
+AC_SUBST(dll_ldflags)
+AC_SUBST(dll_post)
+AC_SUBST(dll_ldo)
+AC_SUBST(ld_dynamic_link_flags)
])dnl
+
amiga:OpenBSD:*:*)
echo m68k-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
+ *:[Aa]miga[Oo][Ss]:*:*)
+ echo ${UNAME_MACHINE}-unknown-amigaos
+ exit 0 ;;
arc64:OpenBSD:*:*)
echo mips64el-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
SR2?01:HI-UX/MPP:*:*)
echo hppa1.1-hitachi-hiuxmpp
exit 0;;
- Pyramid*:OSx*:*:*|MIS*:OSx*:*:*)
+ Pyramid*:OSx*:*:*|MIS*:OSx*:*:*|MIS*:SMP_DC-OSx*:*:*)
# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
if test "`(/bin/universe) 2>/dev/null`" = att ; then
echo pyramid-pyramid-sysv3
powerpc:machten:*:*)
echo powerpc-apple-machten${UNAME_RELEASE}
exit 0 ;;
+ macppc:NetBSD:*:*)
+ echo powerpc-apple-netbsd${UNAME_RELEASE}
+ exit 0 ;;
RISC*:Mach:*:*)
echo mips-dec-mach_bsd4.3
exit 0 ;;
fi
exit 0 ;;
*:AIX:*:4)
- if /usr/sbin/lsattr -EHl proc0 | grep POWER >/dev/null 2>&1; then
+ IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | head -1 | awk '{ print $1 }'`
+ if /usr/sbin/lsattr -EHl ${IBM_CPU_ID} | grep POWER >/dev/null 2>&1; then
IBM_ARCH=rs6000
else
IBM_ARCH=powerpc
hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
echo m68k-hp-bsd4.4
exit 0 ;;
- 9000/[3478]??:HP-UX:*:*)
+ 9000/[34678]??:HP-UX:*:*)
case "${UNAME_MACHINE}" in
9000/31? ) HP_ARCH=m68000 ;;
9000/[34]?? ) HP_ARCH=m68k ;;
- 9000/7?? | 9000/8?[1679] ) HP_ARCH=hppa1.1 ;;
- 9000/8?? ) HP_ARCH=hppa1.0 ;;
+ 9000/6?? | 9000/7?? | 9000/80[24] | 9000/8?[13679] | 9000/892 )
+ sed 's/^ //' << EOF >dummy.c
+ #include <stdlib.h>
+ #include <unistd.h>
+
+ int main ()
+ {
+ #if defined(_SC_KERNEL_BITS)
+ long bits = sysconf(_SC_KERNEL_BITS);
+ #endif
+ long cpu = sysconf (_SC_CPU_VERSION);
+
+ switch (cpu)
+ {
+ case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
+ case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
+ case CPU_PA_RISC2_0:
+ #if defined(_SC_KERNEL_BITS)
+ switch (bits)
+ {
+ case 64: puts ("hppa2.0w"); break;
+ case 32: puts ("hppa2.0n"); break;
+ default: puts ("hppa2.0"); break;
+ } break;
+ #else /* !defined(_SC_KERNEL_BITS) */
+ puts ("hppa2.0"); break;
+ #endif
+ default: puts ("hppa1.0"); break;
+ }
+ exit (0);
+ }
+EOF
+ ${CC-cc} dummy.c -o dummy && HP_ARCH=`./dummy`
+ rm -f dummy.c dummy
esac
HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
echo ${HP_ARCH}-hp-hpux${HPUX_REV}
hp300:OpenBSD:*:*)
echo m68k-unknown-openbsd${UNAME_RELEASE}
exit 0 ;;
+ sparc*:BSD/OS:*:*)
+ echo sparc-unknown-bsdi${UNAME_RELEASE}
+ exit 0 ;;
i?86:BSD/386:*:* | *:BSD/OS:*:*)
echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
exit 0 ;;
echo ${UNAME_MACHINE}-pc-sysv32
fi
exit 0 ;;
+ i?86:UnixWare:*:*)
+ if /bin/uname -X 2>/dev/null >/dev/null ; then
+ (/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \
+ && UNAME_MACHINE=i586
+ fi
+ echo ${UNAME_MACHINE}-unixware-${UNAME_RELEASE}-${UNAME_VERSION}
+ exit 0 ;;
pc:*:*:*)
# uname -m prints for DJGPP always 'pc', but it prints nothing about
# the processor, so we play safe by assuming i386.
news*:NEWS-OS:*:6*)
echo mips-sony-newsos6
exit 0 ;;
- R3000:*System_V*:*:* | R4000:UNIX_SYSV:*:*)
+ R3000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R4000:UNIX_SV:*:*)
if [ -d /usr/nec ]; then
echo mips-nec-sysv${UNAME_RELEASE}
else
echo mips-unknown-sysv${UNAME_RELEASE}
fi
exit 0 ;;
+ BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
+ echo powerpc-be-beos
+ exit 0 ;;
+ BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
+ echo powerpc-apple-beos
+ exit 0 ;;
+ BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
+ echo i586-pc-beos
+ exit 0 ;;
esac
#echo '(No uname command or uname output not recognized.)' 1>&2
#! /bin/sh
# Configuration validation subroutine script, version 1.1.
-# Copyright (C) 1991, 92, 93, 94, 95, 1996 Free Software Foundation, Inc.
+# Copyright (C) 1991, 92-97, 1998 Free Software Foundation, Inc.
# This file is (in principle) common to ALL GNU software.
# The presence of a machine in this file suggests that SOME GNU software
# can handle that machine. It does not imply ALL GNU software can.
# Foundation, Inc., 59 Temple Place - Suite 330,
# Boston, MA 02111-1307, USA.
-# Synched up with: FSF 19.31.
-
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# The goal of this file is to map all the various variations of a given
# machine specification into a single specification in the form:
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
+# or in some cases, the newer four-part form:
+# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
# It is wrong to echo any other type of specification.
if [ x$1 = x ]
;;
esac
-# Separate what the user gave into CPU-COMPANY and OS (if any).
-basic_machine=`echo $1 | sed 's/-[^-]*$//'`
-if [ $basic_machine != $1 ]
-then os=`echo $1 | sed 's/.*-/-/'`
-else os=; fi
+# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
+# Here we must recognize all the valid KERNEL-OS combinations.
+maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
+case $maybe_os in
+ linux-gnu*)
+ os=-$maybe_os
+ basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
+ ;;
+ *)
+ basic_machine=`echo $1 | sed 's/-[^-]*$//'`
+ if [ $basic_machine != $1 ]
+ then os=`echo $1 | sed 's/.*-/-/'`
+ else os=; fi
+ ;;
+esac
### Let's recognize common machines as not being operating systems so
### that things like config.sub decstation-3100 work. We also
;;
-sco5)
os=sco3.2v5
- basic_machine=`echo $1 | sed -e 's/86-.*/86-unknown/'`
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
-sco4)
os=-sco3.2v4
- basic_machine=`echo $1 | sed -e 's/86-.*/86-unknown/'`
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
-sco3.2.[4-9]*)
os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
- basic_machine=`echo $1 | sed -e 's/86-.*/86-unknown/'`
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
-sco3.2v[4-9]*)
# Don't forget version if it is 3.2v4 or newer.
- basic_machine=`echo $1 | sed -e 's/86-.*/86-unknown/'`
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
-sco*)
os=-sco3.2v2
- basic_machine=`echo $1 | sed -e 's/86-.*/86-unknown/'`
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
-isc)
os=-isc2.2
- basic_machine=`echo $1 | sed -e 's/86-.*/86-unknown/'`
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
-clix*)
basic_machine=clipper-intergraph
;;
-isc*)
- basic_machine=`echo $1 | sed -e 's/86-.*/86-unknown/'`
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
-lynx*)
os=-lynxos
case $basic_machine in
# Recognize the basic CPU types without company name.
# Some are omitted here because they have special meanings below.
- tahoe | i[3-9]86 | i860 | m68k | m68000 | m88k | ns32k | arm \
- | arme[lb] | pyramid \
- | tron | a29k | 580 | i960 | h8300 | hppa1.0 | hppa1.1 \
- | alpha | we32k | mab | ns16k | clipper | i370 | sh \
- | powerpc | powerpcle | 1750a | dsp16xx | mips64 | mipsel \
- | pdp11 | mips64el | mips64orion | mips64orionel \
- | sparc | sparclet | sparclite | sparc64)
+ tahoe | i860 | m32r | m68k | m68000 | m88k | ns32k | arc | arm \
+ | arme[lb] | pyramid | mn10200 | mn10300 | tron | a29k \
+ | 580 | i960 | h8300 | hppa | hppa1.0 | hppa1.1 | hppa2.0 \
+ | alpha | alphaev5 | alphaev56 | we32k | ns16k | clipper \
+ | i370 | sh | powerpc | powerpcle | 1750a | dsp16xx | pdp11 \
+ | mips64 | mipsel | mips64el | mips64orion | mips64orionel \
+ | mipstx39 | mipstx39el \
+ | sparc | sparclet | sparclite | sparc64 | v850)
basic_machine=$basic_machine-unknown
;;
+ # We use `pc' rather than `unknown'
+ # because (1) that's what they normally are, and
+ # (2) the word "unknown" tends to confuse beginning users.
+ i[34567]86)
+ basic_machine=$basic_machine-pc
+ ;;
# Object if more than one company name word.
*-*-*)
echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
exit 1
;;
# Recognize the basic CPU types with company name.
- vax-* | tahoe-* | i[3-9]86-* | i860-* | m68k-* | m68000-* | m88k-* \
- | sparc-* | ns32k-* | fx80-* | arm-* | c[123]* \
- | mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* | power-* \
- | none-* | 580-* | cray2-* | h8300-* | i960-* | xmp-* | ymp-* \
- | hppa1.0-* | hppa1.1-* | alpha-* | we32k-* | cydra-* | ns16k-* \
- | pn-* | np1-* | xps100-* | clipper-* | orion-* | sparclite-* \
- | pdp11-* | sh-* | powerpc-* | powerpcle-* | sparc64-* | mips64-* | mipsel-* \
- | mips64el-* | mips64orion-* | mips64orionel-* | mab-*)
- ;;
- # Recognize names of some NetBSD ports.
- amiga-* | hp300-* | mac68k-* | sun3-* | pmax-*)
+ vax-* | tahoe-* | i[34567]86-* | i860-* | m32r-* | m68k-* | m68000-* \
+ | m88k-* | sparc-* | ns32k-* | fx80-* | arc-* | arm-* | c[123]* \
+ | mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* \
+ | power-* | none-* | 580-* | cray2-* | h8300-* | i960-* \
+ | xmp-* | ymp-* | hppa-* | hppa1.0-* | hppa1.1-* | hppa2.0-* \
+ | alpha-* | alphaev5-* | alphaev56-* | we32k-* | cydra-* \
+ | ns16k-* | pn-* | np1-* | xps100-* | clipper-* | orion-* \
+ | sparclite-* | pdp11-* | sh-* | powerpc-* | powerpcle-* \
+ | sparc64-* | mips64-* | mipsel-* \
+ | mips64el-* | mips64orion-* | mips64orionel-* \
+ | mipstx39-* | mipstx39el-* \
+ | f301-*)
;;
# Recognize the various machine names and aliases which stand
# for a CPU type and a company and sometimes even an OS.
amiga | amiga-*)
basic_machine=m68k-cbm
;;
- amigados)
+ amigaos | amigados)
basic_machine=m68k-cbm
- os=-amigados
+ os=-amigaos
;;
amigaunix | amix)
basic_machine=m68k-cbm
basic_machine=m68k-apple
os=-aux
;;
- aux)
- basic_machine=m68k-apple
- os=-aux
- ;;
balance)
basic_machine=ns32k-sequent
os=-dynix
hp9k8[0-9][0-9] | hp8[0-9][0-9])
basic_machine=hppa1.0-hp
;;
+ hppa-next)
+ os=-nextstep3
+ ;;
i370-ibm* | ibm*)
basic_machine=i370-ibm
os=-mvs
;;
# I'm not sure what "Sysv32" means. Should this be sysv3.2?
- i[3-9]86v32)
- basic_machine=`echo $1 | sed -e 's/86.*/86-unknown/'`
+ i[34567]86v32)
+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
os=-sysv32
;;
- i[3-9]86v4*)
- basic_machine=`echo $1 | sed -e 's/86.*/86-unknown/'`
+ i[34567]86v4*)
+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
os=-sysv4
;;
- i[3-9]86v)
- basic_machine=`echo $1 | sed -e 's/86.*/86-unknown/'`
+ i[34567]86v)
+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
os=-sysv
;;
- i[3-9]86sol2)
- basic_machine=`echo $1 | sed -e 's/86.*/86-unknown/'`
+ i[34567]86sol2)
+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
os=-solaris2
;;
iris | iris4d)
miniframe)
basic_machine=m68000-convergent
;;
+ mipsel*-linux*)
+ basic_machine=mipsel-unknown
+ os=-linux-gnu
+ ;;
+ mips*-linux*)
+ basic_machine=mips-unknown
+ os=-linux-gnu
+ ;;
mips3*-*)
basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
;;
basic_machine=m68k-tti
;;
pc532 | pc532-*)
- case $os in
- -netbsd*)
- basic_machine=pc532-unknown
- ;;
- *)
- basic_machine=ns32k-pc532
- ;;
- esac
+ basic_machine=ns32k-pc532
+ ;;
+ pentium | p5 | k5 | nexen)
+ basic_machine=i586-pc
;;
- pentium | p5)
- basic_machine=i586-intel
+ pentiumpro | p6 | k6 | 6x86)
+ basic_machine=i686-pc
;;
- pentiumpro | p6)
- basic_machine=i686-intel
+ pentiumii | pentium2)
+ basic_machine=i786-pc
;;
- pentium-* | p5-*)
+ pentium-* | p5-* | k5-* | nexen-*)
basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
- pentiumpro-* | p6-*)
+ pentiumpro-* | p6-* | k6-* | 6x86-*)
basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
- k5)
- # We don't have specific support for AMD's K5 yet, so just call it a Pentium
- basic_machine=i586-amd
- ;;
- nexen)
- # We don't have specific support for Nexgen yet, so just call it a Pentium
- basic_machine=i586-nexgen
+ pentiumii-* | pentium2-*)
+ basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
pn)
basic_machine=pn-gould
basic_machine=i386-sequent
os=-dynix
;;
+ tx39)
+ basic_machine=mipstx39-unknown
+ ;;
+ tx39el)
+ basic_machine=mipstx39el-unknown
+ ;;
tower | tower-32)
basic_machine=m68k-ncr
;;
basic_machine=vax-dec
os=-vms
;;
+ vpp*|vx|vx-*)
+ basic_machine=f301-fujitsu
+ ;;
vxworks960)
basic_machine=i960-wrs
os=-vxworks
# Here we handle the default manufacturer of certain CPU types. It is in
# some cases the only manufacturer, in others, it is the most popular.
mips)
- basic_machine=mips-mips
+ if [ x$os = x-linux-gnu ]; then
+ basic_machine=mips-unknown
+ else
+ basic_machine=mips-mips
+ fi
;;
romp)
basic_machine=romp-ibm
if [ x"$os" != x"" ]
then
case $os in
+ # First match some system type aliases
+ # that might get confused with valid system types.
# -solaris* is a basic system type, with this one exception.
-solaris1 | -solaris1.*)
os=`echo $os | sed -e 's|solaris1|sunos4|'`
-solaris)
os=-solaris2
;;
- -unixware* | svr4*)
+ -svr4*)
os=-sysv4
;;
+ -unixware*)
+ os=-sysv4.2uw
+ ;;
-gnu/linux*)
- os=`echo $os | sed -e 's|gnu/linux|linux|'`
+ os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
;;
# First accept the basic system types.
# The portable systems comes first.
# Each alternative MUST END IN A *, to match a version number.
# -sysv* is not here because it comes later, after sysvr4.
-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
- | -vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[345]* \
+ | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
| -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
- | -amigados* | -msdos* | -newsos* | -unicos* | -aof* | -aos* \
- | -nindy* | -vxworks* | -ebmon* | -hms* | -mvs* | -clix* \
- | -riscos* | -linux* | -uniplus* | -iris* | -rtu* | -xenix* \
- | -hiux* | -386bsd* | -netbsd* | -freebsd* | -riscix* \
+ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
+ | -aos* \
+ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
+ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
+ | -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \
| -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* \
| -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
- | -cygwin32* | -pe* | -psos* | -moss* | -openbsd* )
+ | -cygwin32* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
+ | -mingw32* | -linux-gnu* | -uxpv* | -beos*)
# Remember, each alternative MUST END IN *, to match a version number.
;;
+ -linux*)
+ os=`echo $os | sed -e 's|linux|linux-gnu|'`
+ ;;
-sunos5*)
os=`echo $os | sed -e 's|sunos5|solaris2|'`
;;
sparc-* | *-sun)
os=-sunos4.1.1
;;
+ *-be)
+ os=-beos
+ ;;
*-ibm)
os=-aix
;;
os=-sysv
;;
*-cbm)
- os=-amigados
+ os=-amigaos
;;
*-dg)
os=-dgux
*-masscomp)
os=-rtu
;;
+ f301-fujitsu)
+ os=-uxpv
+ ;;
*)
os=-none
;;
-sunos*)
vendor=sun
;;
- -lynxos*)
- vendor=lynx
- ;;
-aix*)
vendor=ibm
;;
-ptx*)
vendor=sequent
;;
- -vxworks*)
+ -vxsim* | -vxworks*)
vendor=wrs
;;
-aux*)
vendor=apple
;;
- -aux*)
- vendor=apple
esac
basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
;;
#### Copyright (C) 1993-1995 Board of Trustees, University of Illinois.
#### Copyright (C) 1996, 1997 Sun Microsystems, Inc.
#### Copyright (C) 1995, 1996 Ben Wing.
+#### Copyright (C) 1998, 1999 J. Kean Johnston.
### Don't edit this script!
### This script was automatically generated by the `autoconf' program
infopath=''
install_pp=''
lispdir='${datadir}/${PROGNAME}-${version}/lisp'
+moduledir='${datadir}/${PROGNAME}-${version}/${configuration}/modules'
+sitelispdir='${datadir}/xemacs/site-lisp'
+sitemoduledir='${datadir}/xemacs/site-modules'
pkgdir='${datadir}/${PROGNAME}-${version}/lisp'
package_path=''
etcdir='${datadir}/${PROGNAME}-${version}/etc'
lockdir='${statedir}/${PROGNAME}/lock'
-archlibdir='${libdir}/${PROGNAME}-${version}/${configuration}'
+archlibdir='${datadir}/${PROGNAME}-${version}/${configuration}'
with_site_lisp='no'
+with_site_modules='yes'
with_menubars=''
with_scrollbars=''
with_dialogs=''
with_file_coding=''
-puresize=''
cpp='' cppflags='' libs='' ldflags=''
dynamic=''
with_x11=''
case "$opt" in
- run_in_place | \
- with_site_lisp | \
+ with_site_lisp | \
+ with_site_modules | \
with_x | \
with_x11 | \
with_msw | \
with_gcc | \
- with_gnu_make | \
dynamic | \
with_ncurses | \
with_dnet | \
with_tiff | \
with_session | \
with_xmu | \
+ with_purify | \
with_quantify | \
with_toolbars | \
with_tty | \
with_xfs | \
with_i18n3 | \
with_mule | \
- with_file_coding | \
+ with_file_coding| \
with_canna | \
with_wnn | \
with_wnn6 | \
with_workshop | \
with_sparcworks | \
- with_tooltalk | \
+ with_tooltalk | \
with_ldap | \
with_pop | \
with_kerberos | \
verbose | \
extra_verbose | \
const_is_losing | \
- usage_tracking | \
- use_union_type | \
+ usage_tracking | \
+ use_union_type | \
debug | \
use_assertions | \
- use_minimal_tagbits | \
- use_indexed_lrecord_implementation | \
- gung_ho | \
- use_assertions | \
memory_usage_stats | \
with_clash_detection | \
with_shlib | \
no_doc_file )
case "$val" in
y | ye | yes ) val=yes ;;
- n | no ) val=no ;;
+ n | no ) val=no ;;
* ) (echo "$progname: Usage error:"
echo " " "The \`--$optname' option requires a boolean value: \`yes' or \`no'."
echo " Use \`$progname --help' to show usage.") >&2 && exit 1 ;;
esac
- eval "$opt=\"$val\"" ;;
+ eval "$opt=\"$val\"" ;;
srcdir | \
cppflags | \
libs | \
ldflags | \
- puresize | \
cache_file | \
- native_sound_lib | \
+ native_sound_lib| \
site_lisp | \
x_includes | \
x_libraries | \
* ) (echo "$progname: Usage error:"
echo " " "The \`--$optname' option value
must be either \`no' or a comma-separated list
- of one or more of \`berkdb', \`dbm', or \`gnudbm'."
+ of one or more of \`berkdb' and either \`dbm' or \`gnudbm'."
echo " Use \`$progname --help' to show usage.") >&2 && exit 1 ;;
esac
done
eval "$opt=\"$val\""
;;
- "with_xfs" )
- case "$val" in
- y | ye | yes ) val=yes ;;
- n | no | non | none ) val=no ;;
- * ) (echo "$progname: Usage error:"
-echo " " "The \`--$optname' option must have one of these values:
- \`yes', or \`no'."
-echo " Use \`$progname --help' to show usage.") >&2 && exit 1 ;;
- esac
- eval "$opt=\"$val\""
- ;;
-
"mail_locking" )
case "$val" in
lockf ) val=lockf ;;
prefix | exec_prefix | bindir | datadir | statedir | libdir | \
mandir | infodir | infopath | lispdir | etcdir | lockdir | pkgdir | \
- archlibdir | docdir | package_path )
+ archlibdir | docdir | package_path )
if test "$valomitted" = "yes"; then
if test "$#" = 0; then
(echo "$progname: Usage error:"
EOF
}
;;
+ sitelispdir ) { test "$extra_verbose" = "yes" && cat << \EOF
+ Defining SITELISPDIR_USER_DEFINED
+EOF
+cat >> confdefs.h <<\EOF
+#define SITELISPDIR_USER_DEFINED 1
+EOF
+}
+ ;;
+ moduledir ) { test "$extra_verbose" = "yes" && cat << \EOF
+ Defining MODULEDIR_USER_DEFINED
+EOF
+cat >> confdefs.h <<\EOF
+#define MODULEDIR_USER_DEFINED 1
+EOF
+}
+ ;;
etcdir ) { test "$extra_verbose" = "yes" && cat << \EOF
Defining ETCDIR_USER_DEFINED
EOF
EOF
}
+ { test "$extra_verbose" = "yes" && cat << \EOF
+ Defining MODULEDIR_USER_DEFINED
+EOF
+cat >> confdefs.h <<\EOF
+#define MODULEDIR_USER_DEFINED 1
+EOF
+}
+
{ test "$extra_verbose" = "yes" && cat << \EOF
Defining ETCDIR_USER_DEFINED
EOF
"usage" | "help" ) ${PAGER-more} ${srcdir}/configure.usage; exit 0 ;;
- "with_menubars" | "with_scrollbars" | "with_dialogs" )
+ "with_menubars" | \
+ "with_scrollbars" | \
+ "with_dialogs" )
case "$val" in
l | lu | luc | luci | lucid ) val=lucid ;;
m | mo | mot | moti | motif ) val=motif ;;
eval "$opt=\"$val\""
;;
+ "run_in_place" | \
+ "with_gnu_make" )
+ echo "configure: warning: Obsolete option \`--$optname' ignored." 1>&2
+ ;;
+
* ) (echo "$progname: Usage error:"
echo " " "Unrecognized option: $arg"
echo " Use \`$progname --help' to show usage.") >&2 && exit 1 ;;
test "$extra_verbose" = "yes" && verbose=yes
-case "$site_includes" in *:* ) site_includes="`echo '' $site_includes | sed -e 's/^ //' -e 's/:/ /g'`";; esac
-case "$site_libraries" in *:* ) site_libraries="`echo '' $site_libraries | sed -e 's/^ //' -e 's/:/ /g'`";; esac
-case "$site_prefixes" in *:* ) site_prefixes="`echo '' $site_prefixes | sed -e 's/^ //' -e 's/:/ /g'`";; esac
-case "$site_runtime_libraries" in *:* ) site_runtime_libraries="`echo '' $site_runtime_libraries | sed -e 's/^ //' -e 's/:/ /g'`";; esac
-
test -n "$with_x" && with_x11="$with_x"
-
-if test -n "$gung_ho"; then
- test -z "$use_minimal_tagbits" && use_minimal_tagbits="$gung_ho"
- test -z "$use_indexed_lrecord_implementation" && \
- use_indexed_lrecord_implementation="$gung_ho"
-fi
-if test "$use_minimal_tagbits" = "no"; then
- test "$with_dlmalloc" = "yes" && \
- (echo "$progname: Usage error:"
-echo " " "--with-dlmalloc requires --use-minimal-tagbits"
-echo " Use \`$progname --help' to show usage.") >&2 && exit 1
- with_dlmalloc=no
+if test "$with_purify" = "yes" -o "$with_quantify" = "yes"; then
+ test "$with_system_malloc" = "default" && with_system_malloc=yes
fi
fi
-if test "$run_in_place" = "yes"; then
- echo "configure: warning: "The --run-in-place option is ignored because it is unnecessary."" 1>&2
-fi
-
case "$srcdir" in
"" )
esac
if test -z "$configuration"; then
- echo $ac_n "checking "host system type"""... $ac_c" 1>&6
-echo "configure:759: checking "host system type"" >&5
- if configuration=`${CONFIG_SHELL-/bin/sh} $srcdir/config.guess | \
- sed 's/^\([^-][^-]*-[^-][^-]*-[^-][^-]*\)-.*$/\1/'` ; then
- echo "$ac_t""$configuration" 1>&6
- else
- echo "$ac_t""unknown" 1>&6
+ configuration=`${CONFIG_SHELL-/bin/sh} $srcdir/config.guess`
+ if test -z "$configuration"; then
(echo "$progname: Usage error:"
echo " " "XEmacs has not been ported to this host type.
Try explicitly specifying the CONFIGURATION when rerunning configure."
fi
echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6
-echo "configure:773: checking whether ln -s works" >&5
+echo "configure:767: checking whether ln -s works" >&5
rm -f conftestdata
if ln -s X conftestdata 2>/dev/null
fi
done
+
absolute_pwd="`pwd`";
if test -n "$PWD" -a "`cd $PWD && pwd`" = "$absolute_pwd"
then blddir="$PWD"
-else blddir="$absolute_pwd"
+else blddir="$absolute_pwd"; if test -d "/net"; then
+ if test -d "/tmp_mnt/net"; then tdir="tmp_mnt/net"; else tdir="tmp_mnt"; fi
+ blddir=`echo "$blddir" | \
+ sed -e "s|^${tdir}/|/net/|" -e "s|^/a/|/net/|" -e "s|^/amd/|/net/|"`
+fi
fi
case "$srcdir" in
/* ) ;;
. ) srcdir="$blddir" ;;
- * ) srcdir="`cd $srcdir && pwd`" ;;
+ * ) srcdir="`cd $srcdir && pwd`"; if test -d "/net"; then
+ if test -d "/tmp_mnt/net"; then tdir="tmp_mnt/net"; else tdir="tmp_mnt"; fi
+ srcdir=`echo "$srcdir" | \
+ sed -e "s|^${tdir}/|/net/|" -e "s|^/a/|/net/|" -e "s|^/amd/|/net/|"`
+fi ;;
esac
if test `pwd` != `sh -c cd $srcdir && pwd` \
-echo "checking "the configuration name"" 1>&6
-echo "configure:989: checking "the configuration name"" >&5
+echo $ac_n "checking "host system type"""... $ac_c" 1>&6
+echo "configure:992: checking "host system type"" >&5
internal_configuration=`echo $configuration | sed 's/-\(workshop\)//'`
-if canonical=`$srcdir/config.sub "$internal_configuration"` ; then : ; else
- exit $?
-fi
+canonical=`${CONFIG_SHELL-/bin/sh} $srcdir/config.sub "$internal_configuration"`
+configuration=`echo "$configuration" | sed 's/^\([^-][^-]*-[^-][^-]*-[^-][^-]*\)-.*$/\1/'`
+canonical=`echo "$canonical" | sed 's/^\([^-][^-]*-[^-][^-]*-[^-][^-]*\)-.*$/\1/'`
+echo "$ac_t""$configuration" 1>&6
case "$canonical" in
sparc-*-* ) machine=sparc ;;
- alpha-*-* ) machine=alpha ;;
+ alpha*-*-* ) machine=alpha ;;
vax-*-* ) machine=vax ;;
mips-dec-* ) machine=pmax ;;
mips-sgi-* ) machine=iris4d ;;
m68*-sony-* ) machine=news ;;
mips-sony-* ) machine=news-risc ;;
clipper-* ) machine=clipper ;;
+ arm-* ) machine=arm ;;
+ ns32k-* ) machine=ns32000 ;;
esac
case "$canonical" in
*-*-aix3.1* ) opsys=aix3-1 ;;
*-*-aix3.2.5 ) opsys=aix3-2-5 ;;
*-*-aix3* ) opsys=aix3-2 ;;
- *-*-aix4.2* ) opsys=aix4-2 ;;
+ *-*-aix4.0* ) opsys=aix4 ;;
*-*-aix4.1* ) opsys=aix4-1 ;;
- *-*-aix4* ) opsys=aix4 ;;
+ *-*-aix4* ) opsys=aix4-2 ;;
*-gnu* ) opsys=gnu ;;
*-*-bsd4.[01] ) opsys=bsd4-1 ;;
*-*-openbsd* )
case "${canonical}" in
- alpha*-*-openbsd*) machine=alpha ;;
i386-*-openbsd*) machine=intel386 ;;
m68k-*-openbsd*) machine=hp9000s300 ;;
mipsel-*-openbsd*) machine=pmax ;;
- ns32k-*-openbsd*) machine=ns32000 ;;
- sparc-*-openbsd*) machine=sparc ;;
- vax-*-openbsd*) machine=vax ;;
esac
;;
NON_GNU_CPP=/usr/ccs/lib/cpp
;;
+ mips-nec-sysv*)
+ machine=mips-nec
+ NON_GNU_CC=/usr/ccs/bin/cc
+ NON_GNU_CPP=/usr/ccs/lib/cpp
+ ;;
+
m68*-sgi-iris3.5* ) machine=irist opsys=iris3-5 ;;
m68*-sgi-iris3.6* | m68*-sgi-iris*) machine=irist opsys=iris3-6 ;;
mips-sgi-irix3.* ) opsys=irix3-3 ;;
*-xenix* ) opsys=xenix ;;
*-sco3.2v4* ) opsys=sco4 NON_GNU_CPP=/lib/cpp ;;
*-bsd386* | *-bsdi1* ) opsys=bsd386 ;;
+ *-bsdi4* ) opsys=bsdos4 ;;
*-bsdi3* ) opsys=bsdos3 ;;
*-bsdi2.1* ) opsys=bsdos2-1 ;;
*-bsdi2* ) opsys=bsdos2 ;;
*-386bsd* ) opsys=386bsd ;;
*-freebsd* ) opsys=freebsd ;;
*-nextstep* ) opsys=nextstep ;;
- *-pc-cygwin32 ) opsys=cygwin32 ;;
+ *-pc-cygwin* ) opsys=cygwin32 ;;
+ *-pc-mingw* ) opsys=mingw32 ;
+ test -z "$with_tty" && with_tty="no";;
esac
;;
if test -z "$dynamic"; then
case "$opsys" in
- hpux* | sunos4* | sco5 ) dynamic=no ;;
+ hpux* | sunos4* ) dynamic=no ;;
*) dynamic=yes ;;
esac
fi
# Extract the first word of "gcc", so it can be a program name with args.
set dummy gcc; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1473: checking for $ac_word" >&5
+echo "configure:1484: checking for $ac_word" >&5
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
# Extract the first word of "cc", so it can be a program name with args.
set dummy cc; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1499: checking for $ac_word" >&5
+echo "configure:1510: checking for $ac_word" >&5
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
fi
echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:1544: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
+echo "configure:1555: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
ac_ext=c
xe_cppflags='$CPPFLAGS $c_switch_site $c_switch_machine $c_switch_system $c_switch_x_site $X_CFLAGS'
cross_compiling=no
cat > conftest.$ac_ext <<EOF
-#line 1556 "configure"
+#line 1567 "configure"
#include "confdefs.h"
main(){return(0);}
EOF
-if { (eval echo configure:1560: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:1571: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
ac_cv_prog_cc_works=yes
# If we can't run a trivial program, we are probably using a cross compiler.
if (./conftest; exit) 2>/dev/null; then
{ echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
fi
echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
-echo "configure:1580: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "configure:1591: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
cross_compiling=$ac_cv_prog_cc_cross
echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
-echo "configure:1585: checking whether we are using GNU C" >&5
+echo "configure:1596: checking whether we are using GNU C" >&5
cat > conftest.c <<EOF
#ifdef __GNUC__
yes;
#endif
EOF
-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1592: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1603: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
ac_cv_prog_gcc=yes
else
ac_cv_prog_gcc=no
ac_save_CFLAGS="$CFLAGS"
CFLAGS=
echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
-echo "configure:1606: checking whether ${CC-cc} accepts -g" >&5
+echo "configure:1617: checking whether ${CC-cc} accepts -g" >&5
echo 'void f(){}' > conftest.c
if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
# Extract the first word of "gcc", so it can be a program name with args.
set dummy gcc; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1635: checking for $ac_word" >&5
+echo "configure:1646: checking for $ac_word" >&5
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
# Extract the first word of "cc", so it can be a program name with args.
set dummy cc; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1661: checking for $ac_word" >&5
+echo "configure:1672: checking for $ac_word" >&5
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
fi
echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:1706: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
+echo "configure:1717: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
ac_ext=c
xe_cppflags='$CPPFLAGS $c_switch_site $c_switch_machine $c_switch_system $c_switch_x_site $X_CFLAGS'
cross_compiling=no
cat > conftest.$ac_ext <<EOF
-#line 1718 "configure"
+#line 1729 "configure"
#include "confdefs.h"
main(){return(0);}
EOF
-if { (eval echo configure:1722: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:1733: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
ac_cv_prog_cc_works=yes
# If we can't run a trivial program, we are probably using a cross compiler.
if (./conftest; exit) 2>/dev/null; then
{ echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
fi
echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
-echo "configure:1742: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "configure:1753: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
cross_compiling=$ac_cv_prog_cc_cross
echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
-echo "configure:1747: checking whether we are using GNU C" >&5
+echo "configure:1758: checking whether we are using GNU C" >&5
cat > conftest.c <<EOF
#ifdef __GNUC__
yes;
#endif
EOF
-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1754: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1765: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
ac_cv_prog_gcc=yes
else
ac_cv_prog_gcc=no
ac_save_CFLAGS="$CFLAGS"
CFLAGS=
echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
-echo "configure:1768: checking whether ${CC-cc} accepts -g" >&5
+echo "configure:1779: checking whether ${CC-cc} accepts -g" >&5
echo 'void f(){}' > conftest.c
if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
# Extract the first word of "gcc", so it can be a program name with args.
set dummy gcc; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1797: checking for $ac_word" >&5
+echo "configure:1808: checking for $ac_word" >&5
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
# Extract the first word of "cc", so it can be a program name with args.
set dummy cc; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1823: checking for $ac_word" >&5
+echo "configure:1834: checking for $ac_word" >&5
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
fi
echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:1868: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
+echo "configure:1879: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
ac_ext=c
xe_cppflags='$CPPFLAGS $c_switch_site $c_switch_machine $c_switch_system $c_switch_x_site $X_CFLAGS'
cross_compiling=no
cat > conftest.$ac_ext <<EOF
-#line 1880 "configure"
+#line 1891 "configure"
#include "confdefs.h"
main(){return(0);}
EOF
-if { (eval echo configure:1884: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:1895: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
ac_cv_prog_cc_works=yes
# If we can't run a trivial program, we are probably using a cross compiler.
if (./conftest; exit) 2>/dev/null; then
{ echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
fi
echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
-echo "configure:1904: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "configure:1915: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
cross_compiling=$ac_cv_prog_cc_cross
echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
-echo "configure:1909: checking whether we are using GNU C" >&5
+echo "configure:1920: checking whether we are using GNU C" >&5
cat > conftest.c <<EOF
#ifdef __GNUC__
yes;
#endif
EOF
-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1916: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1927: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
ac_cv_prog_gcc=yes
else
ac_cv_prog_gcc=no
ac_save_CFLAGS="$CFLAGS"
CFLAGS=
echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
-echo "configure:1930: checking whether ${CC-cc} accepts -g" >&5
+echo "configure:1941: checking whether ${CC-cc} accepts -g" >&5
echo 'void f(){}' > conftest.c
if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
test -n "$NON_GNU_CPP" -a "$GCC" != "yes" -a -z "$CPP" && CPP="$NON_GNU_CPP"
echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
-echo "configure:1963: checking how to run the C preprocessor" >&5
+echo "configure:1974: checking how to run the C preprocessor" >&5
# On Suns, sometimes $CPP names a directory.
if test -n "$CPP" && test -d "$CPP"; then
CPP=
# On the NeXT, cc -E runs the code through the compiler's parser,
# not just through cpp.
cat > conftest.$ac_ext <<EOF
-#line 1976 "configure"
+#line 1987 "configure"
#include "confdefs.h"
#include <assert.h>
Syntax Error
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1982: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1993: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out`
if test -z "$ac_err"; then
:
rm -rf conftest*
CPP="${CC-cc} -E -traditional-cpp"
cat > conftest.$ac_ext <<EOF
-#line 1993 "configure"
+#line 2004 "configure"
#include "confdefs.h"
#include <assert.h>
Syntax Error
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1999: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2010: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out`
if test -z "$ac_err"; then
:
echo $ac_n "checking for AIX""... $ac_c" 1>&6
-echo "configure:2022: checking for AIX" >&5
+echo "configure:2033: checking for AIX" >&5
cat > conftest.$ac_ext <<EOF
-#line 2024 "configure"
+#line 2035 "configure"
#include "confdefs.h"
#ifdef _AIX
yes
echo $ac_n "checking for GNU libc""... $ac_c" 1>&6
-echo "configure:2051: checking for GNU libc" >&5
+echo "configure:2062: checking for GNU libc" >&5
cat > conftest.$ac_ext <<EOF
-#line 2053 "configure"
+#line 2064 "configure"
#include "confdefs.h"
#include <features.h>
int main() {
; return 0; }
EOF
-if { (eval echo configure:2065: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2076: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
have_glibc=yes
else
}
-echo $ac_n "checking whether we are using SunPro C""... $ac_c" 1>&6
-echo "configure:2086: checking whether we are using SunPro C" >&5
+
cat > conftest.$ac_ext <<EOF
-#line 2088 "configure"
+#line 2098 "configure"
#include "confdefs.h"
-
-int main() {
-#ifndef __SUNPRO_C
-#error Not a SunPro compiler :-(
-******* ======= ******** &&&&&&&&
+int main () {
+#if defined __SUNPRO_C
+return 11;
+#elif defined __DECC
+return 12;
+#else
+return 0;
#endif
-
-; return 0; }
+}
EOF
-if { (eval echo configure:2099: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
- rm -rf conftest*
- __sunpro_c=yes
+if { (eval echo configure:2110: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
+then
+ :
else
+ conftest_rc="$?"
echo "configure: failed program was:" >&5
cat conftest.$ac_ext >&5
- rm -rf conftest*
- __sunpro_c=no
+ rm -fr conftest*
+ case "$conftest_rc" in
+ 11) echo "You appear to be using the SunPro C compiler."; __SUNPRO_C=yes ;;
+ 12) echo "You appear to be using the DEC C compiler." ; __DECC=yes ;;
+esac
fi
-rm -f conftest*
-echo "$ac_t""$__sunpro_c" 1>&6
+rm -fr conftest*
+
configure___ mail_use_lockf=no
#endif
+#ifdef HAVE_WIN32_PROCESSES
+configure___ win32_processes=yes
+#else
+configure___ win32_processes=no
+#endif
+
EOF
-CPP=`eval "echo $CPP"`
+CPP=`eval "echo $CPP $CPPFLAGS"`
eval `$CPP -Isrc $tempcname \
| sed -n -e "s/[ ]*=[ \"]*/='/" -e "s/[ \"]*\$/'/" -e "s/^configure___//p"`
test "$ordinary_link" = "no" -a -z "$libs_standard" && libs_standard="-lc"
+test "$__DECC" = "yes" && c_switch_site="$c_switch_site -std" && if test "$extra_verbose" = "yes"; then echo " Appending \"-std\" to \$c_switch_site"; fi
+
if test "$cflags_specified" = "no"; then
if test "$GCC" = "yes"; then
CFLAGS="-g -O3 -Wall -Wno-switch"
- test "$opsys $machine" = "cygwin32 intel386" && \
- CFLAGS="-g -O2 -Wall -Wno-switch"
- elif test "$__sunpro_c" = "yes"; then
+ elif test "$__SUNPRO_C" = "yes"; then
case "$opsys" in
sol2 ) CFLAGS="-v -xO4" ;;
sunos4* ) CFLAGS="-xO2";;
esac
+ elif test "$__DECC" = "yes"; then
+ CFLAGS="-O3"
elif test "$CC" = "xlc"; then
- CFLAGS="-O3 -qstrict -qnoansialias -qlibansi -qinfo -qro -qmaxmem=20000"
- else
- CFLAGS="-O" ; fi
+ CFLAGS="-g -O3 -qstrict -qnoansialias -qlibansi -qinfo -qro -qmaxmem=20000"
+ else
+ CFLAGS="-O" ; fi
fi
set x $ld_switch_system; shift; ld_switch_system=""
while test -n "$1"; do
case $1 in
- -L | -l | -u ) ld_switch_system="$ld_switch_system $1 $2"; shift ;;
- -L* | -l* | -u* | -Wl* ) ld_switch_system="$ld_switch_system $1" ;;
+ -L | -l | -u ) ld_switch_system="$ld_switch_system $1 $2"; shift ;;
+ -L* | -l* | -u* | -Wl* | -pg ) ld_switch_system="$ld_switch_system $1" ;;
-Xlinker* ) ;;
* ) ld_switch_system="$ld_switch_system -Xlinker $1" ;;
esac
set x $ld_switch_machine; shift; ld_switch_machine=""
while test -n "$1"; do
case $1 in
- -L | -l | -u ) ld_switch_machine="$ld_switch_machine $1 $2"; shift ;;
- -L* | -l* | -u* | -Wl* ) ld_switch_machine="$ld_switch_machine $1" ;;
+ -L | -l | -u ) ld_switch_machine="$ld_switch_machine $1 $2"; shift ;;
+ -L* | -l* | -u* | -Wl* | -pg ) ld_switch_machine="$ld_switch_machine $1" ;;
-Xlinker* ) ;;
* ) ld_switch_machine="$ld_switch_machine -Xlinker $1" ;;
esac
set x $LDFLAGS; shift; LDFLAGS=""
while test -n "$1"; do
case $1 in
- -L | -l | -u ) LDFLAGS="$LDFLAGS $1 $2"; shift ;;
- -L* | -l* | -u* | -Wl* ) LDFLAGS="$LDFLAGS $1" ;;
+ -L | -l | -u ) LDFLAGS="$LDFLAGS $1 $2"; shift ;;
+ -L* | -l* | -u* | -Wl* | -pg ) LDFLAGS="$LDFLAGS $1" ;;
-Xlinker* ) ;;
* ) LDFLAGS="$LDFLAGS -Xlinker $1" ;;
esac
set x $ld_call_shared; shift; ld_call_shared=""
while test -n "$1"; do
case $1 in
- -L | -l | -u ) ld_call_shared="$ld_call_shared $1 $2"; shift ;;
- -L* | -l* | -u* | -Wl* ) ld_call_shared="$ld_call_shared $1" ;;
+ -L | -l | -u ) ld_call_shared="$ld_call_shared $1 $2"; shift ;;
+ -L* | -l* | -u* | -Wl* | -pg ) ld_call_shared="$ld_call_shared $1" ;;
-Xlinker* ) ;;
* ) ld_call_shared="$ld_call_shared -Xlinker $1" ;;
esac
fi
echo $ac_n "checking for dynodump""... $ac_c" 1>&6
-echo "configure:2361: checking for dynodump" >&5
+echo "configure:2384: 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:2399: checking for terminateAndUnload in -lC" >&5
+echo "configure:2422: 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 2404 "configure"
+#line 2427 "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:2415: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2438: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
-if test -n "$site_prefixes"; then
- for arg in $site_prefixes; do
- case "$arg" in
- -* ) ;;
- * ) argi="-I${arg}/include" ; argl="-L${arg}/lib" ;;
- esac
- c_switch_site="$c_switch_site $argi" && if test "$extra_verbose" = "yes"; then echo " Appending \"$argi\" to \$c_switch_site"; fi
- ld_switch_site="$ld_switch_site $argl" && if test "$extra_verbose" = "yes"; then echo " Appending \"$argl\" to \$ld_switch_site"; fi
- done
-fi
-
+case "$site_libraries" in *:* ) site_libraries="`echo '' $site_libraries | sed -e 's/^ //' -e 's/:/ /g'`";; esac
if test -n "$site_libraries"; then
for arg in $site_libraries; do
- case "$arg" in -* ) ;; * ) arg="-L${arg}" ;; esac
+ case "$arg" in
+ -* ) ;;
+ * ) test -d "$arg" || \
+ { echo "Error:" "Invalid site library \`$arg': no such directory" >&2; exit 1; }
+ arg="-L${arg}" ;;
+ esac
ld_switch_site="$ld_switch_site $arg" && if test "$extra_verbose" = "yes"; then echo " Appending \"$arg\" to \$ld_switch_site"; fi
done
fi
+case "$site_includes" in *:* ) site_includes="`echo '' $site_includes | sed -e 's/^ //' -e 's/:/ /g'`";; esac
if test -n "$site_includes"; then
for arg in $site_includes; do
- case "$arg" in -* ) ;; * ) arg="-I${arg}" ;; esac
+ case "$arg" in
+ -* ) ;;
+ * ) test -d "$arg" || \
+ { echo "Error:" "Invalid site include \`$arg': no such directory" >&2; exit 1; }
+ arg="-I${arg}" ;;
+ esac
c_switch_site="$c_switch_site $arg" && if test "$extra_verbose" = "yes"; then echo " Appending \"$arg\" to \$c_switch_site"; fi
done
fi
+case "$site_prefixes" in *:* ) site_prefixes="`echo '' $site_prefixes | sed -e 's/^ //' -e 's/:/ /g'`";; esac
+if test -n "$site_prefixes"; then
+ for dir in $site_prefixes; do
+ inc_dir="${dir}/include"
+ lib_dir="${dir}/lib"
+ if test ! -d "$dir"; then
+ { echo "Error:" "Invalid site prefix \`$dir': no such directory" >&2; exit 1; }
+ elif test ! -d "$inc_dir"; then
+ { echo "Error:" "Invalid site prefix \`$dir': no such directory \`$inc_dir'" >&2; exit 1; }
+ elif test ! -d "$lib_dir"; then
+ { echo "Error:" "Invalid site prefix \`$dir': no such directory \`$lib_dir'" >&2; exit 1; }
+ else
+ c_switch_site="$c_switch_site "-I$inc_dir"" && if test "$extra_verbose" = "yes"; then echo " Appending \""-I$inc_dir"\" to \$c_switch_site"; fi
+ ld_switch_site="$ld_switch_site "-L$lib_dir"" && if test "$extra_verbose" = "yes"; then echo " Appending \""-L$lib_dir"\" to \$ld_switch_site"; fi
+ fi
+ done
+fi
+
for dir in "/usr/ccs/lib"; do
test -d "$dir" && ld_switch_site="$ld_switch_site -L${dir}" && if test "$extra_verbose" = "yes"; then echo " Appending \"-L${dir}\" to \$ld_switch_site"; fi
done
+case "$site_runtime_libraries" in *:* ) site_runtime_libraries="`echo '' $site_runtime_libraries | sed -e 's/^ //' -e 's/:/ /g'`";; esac
if test -n "$site_runtime_libraries"; then
LD_RUN_PATH="`echo $site_runtime_libraries | sed -e 's/ */:/g'`"
export LD_RUN_PATH
if test "$dynamic" = "no"; then add_runtime_path=no
elif test -n "$LD_RUN_PATH"; then add_runtime_path=yes
else case "$opsys" in
- sol2 | irix* | *bsd* ) add_runtime_path=yes ;;
+ sol2 | irix* | *bsd* | decosf* ) add_runtime_path=yes ;;
* ) add_runtime_path=no ;;
esac
fi
if test "$add_runtime_path" = "yes"; then
echo $ac_n "checking "for runtime libraries flag"""... $ac_c" 1>&6
-echo "configure:2499: checking "for runtime libraries flag"" >&5
- dash_r=""
- for try_dash_r in "-R" "-R " "-rpath "; do
- xe_check_libs="${try_dash_r}/no/such/file-or-directory"
-
+echo "configure:2542: checking "for runtime libraries flag"" >&5
+ case "$opsys" in
+ sol2 ) dash_r="-R" ;;
+ decosf* | linux* | irix*) dash_r="-rpath " ;;
+ *)
+ dash_r=""
+ for try_dash_r in "-R" "-R " "-rpath "; do
+ xe_check_libs="${try_dash_r}/no/such/file-or-directory"
+
if test "$GCC" = "yes"; then
set x $xe_check_libs; shift; xe_check_libs=""
while test -n "$1"; do
case $1 in
- -L | -l | -u ) xe_check_libs="$xe_check_libs $1 $2"; shift ;;
- -L* | -l* | -u* | -Wl* ) xe_check_libs="$xe_check_libs $1" ;;
+ -L | -l | -u ) xe_check_libs="$xe_check_libs $1 $2"; shift ;;
+ -L* | -l* | -u* | -Wl* | -pg ) xe_check_libs="$xe_check_libs $1" ;;
-Xlinker* ) ;;
* ) xe_check_libs="$xe_check_libs -Xlinker $1" ;;
esac
shift
done
fi
- cat > conftest.$ac_ext <<EOF
-#line 2517 "configure"
+ cat > conftest.$ac_ext <<EOF
+#line 2564 "configure"
#include "confdefs.h"
int main() {
; return 0; }
EOF
-if { (eval echo configure:2524: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2571: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
dash_r="$try_dash_r"
else
cat conftest.$ac_ext >&5
fi
rm -f conftest*
- xe_check_libs=""
- test -n "$dash_r" && break
- done
+ xe_check_libs=""
+ test -n "$dash_r" && break
+ done ;;
+ esac
if test -n "$dash_r";
then echo "$ac_t"""\"${dash_r}\""" 1>&6
else echo "$ac_t""NONE" 1>&6
set x $ld_switch_run; shift; ld_switch_run=""
while test -n "$1"; do
case $1 in
- -L | -l | -u ) ld_switch_run="$ld_switch_run $1 $2"; shift ;;
- -L* | -l* | -u* | -Wl* ) ld_switch_run="$ld_switch_run $1" ;;
+ -L | -l | -u ) ld_switch_run="$ld_switch_run $1 $2"; shift ;;
+ -L* | -l* | -u* | -Wl* | -pg ) ld_switch_run="$ld_switch_run $1" ;;
-Xlinker* ) ;;
* ) ld_switch_run="$ld_switch_run -Xlinker $1" ;;
esac
+
GNU_MALLOC=yes
if test "$with_dlmalloc" != "no"; then
doug_lea_malloc=yes
fi
after_morecore_hook_exists=yes
echo $ac_n "checking for malloc_get_state""... $ac_c" 1>&6
-echo "configure:2624: checking for malloc_get_state" >&5
+echo "configure:2673: checking for malloc_get_state" >&5
cat > conftest.$ac_ext <<EOF
-#line 2627 "configure"
+#line 2676 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char malloc_get_state(); below. */
; return 0; }
EOF
-if { (eval echo configure:2650: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2699: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_func_malloc_get_state=yes"
else
fi
echo $ac_n "checking for malloc_set_state""... $ac_c" 1>&6
-echo "configure:2670: checking for malloc_set_state" >&5
+echo "configure:2719: checking for malloc_set_state" >&5
cat > conftest.$ac_ext <<EOF
-#line 2673 "configure"
+#line 2722 "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:2696: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2745: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; 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:2716: checking whether __after_morecore_hook exists" >&5
+echo "configure:2765: checking whether __after_morecore_hook exists" >&5
cat > conftest.$ac_ext <<EOF
-#line 2718 "configure"
+#line 2767 "configure"
#include "confdefs.h"
extern void (* __after_morecore_hook)();
int main() {
__after_morecore_hook = 0
; return 0; }
EOF
-if { (eval echo configure:2725: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2774: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; 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:2784: checking for $ac_word" >&5
+echo "configure:2833: 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:2837: checking for a BSD compatible install" >&5
+echo "configure:2886: checking for a BSD compatible install" >&5
if test -z "$INSTALL"; then
IFS="${IFS= }"; ac_save_IFS="$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:2888: checking for $ac_word" >&5
+echo "configure:2937: 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:2919: checking for $ac_hdr" >&5
+echo "configure:2968: checking for $ac_hdr" >&5
cat > conftest.$ac_ext <<EOF
-#line 2922 "configure"
+#line 2971 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2927: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2976: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out`
if test -z "$ac_err"; then
rm -rf conftest*
fi
done
-for ac_hdr in utime.h locale.h libgen.h fcntl.h ulimit.h
+for ac_hdr in utime.h locale.h libgen.h fcntl.h ulimit.h cygwin/version.h
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:2960: checking for $ac_hdr" >&5
+echo "configure:3009: checking for $ac_hdr" >&5
cat > conftest.$ac_ext <<EOF
-#line 2963 "configure"
+#line 3012 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2968: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:3017: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out`
if test -z "$ac_err"; then
rm -rf conftest*
fi
done
-for ac_hdr in linux/version.h kstat.h sys/pstat.h inttypes.h sys/un.h a.out.h
+for ac_hdr in kstat.h sys/pstat.h inttypes.h sys/un.h a.out.h
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:3001: checking for $ac_hdr" >&5
+echo "configure:3050: checking for $ac_hdr" >&5
cat > conftest.$ac_ext <<EOF
-#line 3004 "configure"
+#line 3053 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:3009: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:3058: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out`
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:3039: checking for sys/wait.h that is POSIX.1 compatible" >&5
+echo "configure:3088: checking for sys/wait.h that is POSIX.1 compatible" >&5
cat > conftest.$ac_ext <<EOF
-#line 3042 "configure"
+#line 3091 "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:3058: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3107: \"$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:3082: checking for ANSI C header files" >&5
+echo "configure:3131: checking for ANSI C header files" >&5
cat > conftest.$ac_ext <<EOF
-#line 3085 "configure"
+#line 3134 "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:3093: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:3142: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out`
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 3110 "configure"
+#line 3159 "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 3128 "configure"
+#line 3177 "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 3146 "configure"
+#line 3195 "configure"
#include "confdefs.h"
#include <ctype.h>
#define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
exit (0); }
EOF
-if { (eval echo configure:3157: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5
+if { (eval echo configure:3206: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
then
:
else
+ conftest_rc="$?"
echo "configure: failed program was:" >&5
cat conftest.$ac_ext >&5
rm -fr conftest*
fi
echo $ac_n "checking whether time.h and sys/time.h may both be included""... $ac_c" 1>&6
-echo "configure:3182: checking whether time.h and sys/time.h may both be included" >&5
+echo "configure:3232: checking whether time.h and sys/time.h may both be included" >&5
cat > conftest.$ac_ext <<EOF
-#line 3185 "configure"
+#line 3235 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <sys/time.h>
struct tm *tp;
; return 0; }
EOF
-if { (eval echo configure:3194: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3244: \"$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:3218: checking for sys_siglist declaration in signal.h or unistd.h" >&5
+echo "configure:3268: checking for sys_siglist declaration in signal.h or unistd.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 3221 "configure"
+#line 3271 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <signal.h>
char *msg = *(sys_siglist + 1);
; return 0; }
EOF
-if { (eval echo configure:3233: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3283: \"$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 struct utimbuf""... $ac_c" 1>&6
-echo "configure:3258: checking for struct utimbuf" >&5
+echo "configure:3308: checking for struct utimbuf" >&5
cat > conftest.$ac_ext <<EOF
-#line 3260 "configure"
+#line 3310 "configure"
#include "confdefs.h"
#ifdef TIME_WITH_SYS_TIME
#include <sys/time.h>
static struct utimbuf x; x.actime = x.modtime;
; return 0; }
EOF
-if { (eval echo configure:3279: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3329: \"$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 return type of signal handlers""... $ac_c" 1>&6
-echo "configure:3299: checking return type of signal handlers" >&5
+echo "configure:3349: checking return type of signal handlers" >&5
cat > conftest.$ac_ext <<EOF
-#line 3302 "configure"
+#line 3352 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <signal.h>
int i;
; return 0; }
EOF
-if { (eval echo configure:3319: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3369: \"$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:3341: checking for size_t" >&5
+echo "configure:3391: checking for size_t" >&5
cat > conftest.$ac_ext <<EOF
-#line 3344 "configure"
+#line 3394 "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:3375: checking for pid_t" >&5
+echo "configure:3425: checking for pid_t" >&5
cat > conftest.$ac_ext <<EOF
-#line 3378 "configure"
+#line 3428 "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:3409: checking for uid_t in sys/types.h" >&5
+echo "configure:3459: checking for uid_t in sys/types.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 3412 "configure"
+#line 3462 "configure"
#include "confdefs.h"
#include <sys/types.h>
EOF
fi
echo $ac_n "checking for mode_t""... $ac_c" 1>&6
-echo "configure:3448: checking for mode_t" >&5
+echo "configure:3498: checking for mode_t" >&5
cat > conftest.$ac_ext <<EOF
-#line 3451 "configure"
+#line 3501 "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:3482: checking for off_t" >&5
+echo "configure:3532: checking for off_t" >&5
cat > conftest.$ac_ext <<EOF
-#line 3485 "configure"
+#line 3535 "configure"
#include "confdefs.h"
#include <sys/types.h>
#if STDC_HEADERS
echo $ac_n "checking for struct timeval""... $ac_c" 1>&6
-echo "configure:3517: checking for struct timeval" >&5
+echo "configure:3567: checking for struct timeval" >&5
cat > conftest.$ac_ext <<EOF
-#line 3519 "configure"
+#line 3569 "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:3535: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3585: \"$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:3557: checking whether struct tm is in sys/time.h or time.h" >&5
+echo "configure:3607: checking whether struct tm is in sys/time.h or time.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 3560 "configure"
+#line 3610 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <time.h>
struct tm *tp; tp->tm_sec;
; return 0; }
EOF
-if { (eval echo configure:3568: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3618: \"$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:3592: checking for tm_zone in struct tm" >&5
+echo "configure:3642: checking for tm_zone in struct tm" >&5
cat > conftest.$ac_ext <<EOF
-#line 3595 "configure"
+#line 3645 "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:3603: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3653: \"$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:3626: checking for tzname" >&5
+echo "configure:3676: checking for tzname" >&5
cat > conftest.$ac_ext <<EOF
-#line 3629 "configure"
+#line 3679 "configure"
#include "confdefs.h"
#include <time.h>
#ifndef tzname /* For SGI. */
atoi(*tzname);
; return 0; }
EOF
-if { (eval echo configure:3639: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:3689: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
ac_cv_var_tzname=yes
else
echo $ac_n "checking for working const""... $ac_c" 1>&6
-echo "configure:3665: checking for working const" >&5
+echo "configure:3715: checking for working const" >&5
cat > conftest.$ac_ext <<EOF
-#line 3668 "configure"
+#line 3718 "configure"
#include "confdefs.h"
int main() {
; return 0; }
EOF
-if { (eval echo configure:3717: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3767: \"$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:3742: checking whether ${MAKE-make} sets \${MAKE}" >&5
+echo "configure:3792: 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:3767: checking whether byte ordering is bigendian" >&5
+echo "configure:3817: 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 3772 "configure"
+#line 3822 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <sys/param.h>
#endif
; return 0; }
EOF
-if { (eval echo configure:3783: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3833: \"$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 3787 "configure"
+#line 3837 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <sys/param.h>
#endif
; return 0; }
EOF
-if { (eval echo configure:3798: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3848: \"$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 3815 "configure"
+#line 3865 "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:3828: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5
+if { (eval echo configure:3878: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
then
ac_cv_c_bigendian=no
else
+ conftest_rc="$?"
echo "configure: failed program was:" >&5
cat conftest.$ac_ext >&5
rm -fr conftest*
echo $ac_n "checking size of short""... $ac_c" 1>&6
-echo "configure:3854: checking size of short" >&5
+echo "configure:3905: checking size of short" >&5
cat > conftest.$ac_ext <<EOF
-#line 3857 "configure"
+#line 3908 "configure"
#include "confdefs.h"
#include <stdio.h>
main()
exit(0);
}
EOF
-if { (eval echo configure:3868: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5
+if { (eval echo configure:3919: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
then
ac_cv_sizeof_short=`cat conftestval`
else
+ conftest_rc="$?"
echo "configure: failed program was:" >&5
cat conftest.$ac_ext >&5
rm -fr conftest*
exit 1
fi
echo $ac_n "checking size of int""... $ac_c" 1>&6
-echo "configure:3895: checking size of int" >&5
+echo "configure:3947: checking size of int" >&5
cat > conftest.$ac_ext <<EOF
-#line 3898 "configure"
+#line 3950 "configure"
#include "confdefs.h"
#include <stdio.h>
main()
exit(0);
}
EOF
-if { (eval echo configure:3909: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5
+if { (eval echo configure:3961: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
then
ac_cv_sizeof_int=`cat conftestval`
else
+ conftest_rc="$?"
echo "configure: failed program was:" >&5
cat conftest.$ac_ext >&5
rm -fr conftest*
echo $ac_n "checking size of long""... $ac_c" 1>&6
-echo "configure:3930: checking size of long" >&5
+echo "configure:3983: checking size of long" >&5
cat > conftest.$ac_ext <<EOF
-#line 3933 "configure"
+#line 3986 "configure"
#include "confdefs.h"
#include <stdio.h>
main()
exit(0);
}
EOF
-if { (eval echo configure:3944: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5
+if { (eval echo configure:3997: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
then
ac_cv_sizeof_long=`cat conftestval`
else
+ conftest_rc="$?"
echo "configure: failed program was:" >&5
cat conftest.$ac_ext >&5
rm -fr conftest*
echo $ac_n "checking size of long long""... $ac_c" 1>&6
-echo "configure:3965: checking size of long long" >&5
+echo "configure:4019: checking size of long long" >&5
cat > conftest.$ac_ext <<EOF
-#line 3968 "configure"
+#line 4022 "configure"
#include "confdefs.h"
#include <stdio.h>
main()
exit(0);
}
EOF
-if { (eval echo configure:3979: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5
+if { (eval echo configure:4033: \"$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
+ conftest_rc="$?"
echo "configure: failed program was:" >&5
cat conftest.$ac_ext >&5
rm -fr conftest*
echo $ac_n "checking size of void *""... $ac_c" 1>&6
-echo "configure:4000: checking size of void *" >&5
+echo "configure:4055: checking size of void *" >&5
cat > conftest.$ac_ext <<EOF
-#line 4003 "configure"
+#line 4058 "configure"
#include "confdefs.h"
#include <stdio.h>
main()
exit(0);
}
EOF
-if { (eval echo configure:4014: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5
+if { (eval echo configure:4069: \"$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
+ conftest_rc="$?"
echo "configure: failed program was:" >&5
cat conftest.$ac_ext >&5
rm -fr conftest*
echo $ac_n "checking for long file names""... $ac_c" 1>&6
-echo "configure:4036: checking for long file names" >&5
+echo "configure:4092: 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:
fi
+echo $ac_n "checking for sin""... $ac_c" 1>&6
+echo "configure:4138: checking for sin" >&5
+
+cat > conftest.$ac_ext <<EOF
+#line 4141 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char sin(); below. */
+#include <assert.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 sin();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_sin) || defined (__stub___sin)
+choke me
+#else
+sin();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:4164: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+ rm -rf conftest*
+ eval "ac_cv_func_sin=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_func_sin=no"
+fi
+rm -f conftest*
+
+if eval "test \"`echo '$ac_cv_func_'sin`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ :
+else
+ echo "$ac_t""no" 1>&6
echo $ac_n "checking for sin in -lm""... $ac_c" 1>&6
-echo "configure:4083: checking for sin in -lm" >&5
+echo "configure:4182: 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 4088 "configure"
+#line 4187 "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:4099: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:4198: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes" ; then
echo "$ac_t""yes" 1>&6
- ac_tr_lib=HAVE_LIB`echo m | sed -e 's/[^a-zA-Z0-9_]/_/g' \
+ ac_tr_lib=HAVE_LIB`echo m | sed -e 's/^a-zA-Z0-9_/_/g' \
-e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
{ test "$extra_verbose" = "yes" && cat << EOF
Defining $ac_tr_lib
fi
+fi
+
{ test "$extra_verbose" = "yes" && cat << \EOF
Defining LISP_FLOAT_TYPE
cat > conftest.$ac_ext <<EOF
-#line 4141 "configure"
+#line 4242 "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:4148: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:4249: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; 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:4165: checking type of mail spool file locking" >&5
+echo "configure:4266: checking type of mail spool file locking" >&5
test -z "$mail_locking" -a "$mail_use_flock" = "yes" && mail_locking=flock
test -z "$mail_locking" -a "$mail_use_lockf" = "yes" && mail_locking=lockf
if test "$mail_locking" = "lockf"; then { test "$extra_verbose" = "yes" && cat << \EOF
else mail_locking="dot-locking"
fi
-
-echo $ac_n "checking for kstat_open in -lkstat""... $ac_c" 1>&6
-echo "configure:4189: 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 4194 "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 kstat_open();
-
-int main() {
-kstat_open()
-; return 0; }
-EOF
-if { (eval echo configure:4205: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
- rm -rf conftest*
- eval "ac_cv_lib_$ac_lib_var=yes"
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_lib_$ac_lib_var=no"
-fi
-rm -f conftest*
-xe_check_libs=""
-
-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes" ; then
- echo "$ac_t""yes" 1>&6
- ac_tr_lib=HAVE_LIB`echo kstat | 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="-lkstat $LIBS" && if test "$extra_verbose" = "yes"; then echo " Prepending \"-lkstat\" to \$LIBS"; fi
-
-else
- echo "$ac_t""no" 1>&6
-fi
-
-
-
-
-echo $ac_n "checking for kvm_read in -lkvm""... $ac_c" 1>&6
-echo "configure:4239: 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 4244 "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 kvm_read();
-
-int main() {
-kvm_read()
-; return 0; }
-EOF
-if { (eval echo configure:4255: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
- rm -rf conftest*
- eval "ac_cv_lib_$ac_lib_var=yes"
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_lib_$ac_lib_var=no"
-fi
-rm -f conftest*
-xe_check_libs=""
-
-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes" ; then
- echo "$ac_t""yes" 1>&6
- ac_tr_lib=HAVE_LIB`echo kvm | 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="-lkvm $LIBS" && if test "$extra_verbose" = "yes"; then echo " Prepending \"-lkvm\" to \$LIBS"; fi
-
-else
- echo "$ac_t""no" 1>&6
-fi
-
-
-
case "$opsys" in decosf*)
echo $ac_n "checking for cma_open in -lpthreads""... $ac_c" 1>&6
-echo "configure:4290: checking for cma_open in -lpthreads" >&5
+echo "configure:4291: 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 4295 "configure"
+#line 4296 "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:4306: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:4307: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
esac
echo $ac_n "checking whether the -xildoff compiler flag is required""... $ac_c" 1>&6
-echo "configure:4342: checking whether the -xildoff compiler flag is required" >&5
+echo "configure:4343: 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" && test "$OS_RELEASE" -ge 56; then
echo $ac_n "checking for \"-z ignore\" linker flag""... $ac_c" 1>&6
-echo "configure:4353: checking for \"-z ignore\" linker flag" >&5
+echo "configure:4354: 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 ;;
echo "checking "for specified window system"" 1>&6
-echo "configure:4363: checking "for specified window system"" >&5
+echo "configure:4364: checking "for specified window system"" >&5
if test "$with_x11" != "no"; then
test "$x_includes $x_libraries" != "NONE NONE" && \
# 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:4396: checking for X" >&5
+echo "configure:4397: 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 4456 "configure"
+#line 4457 "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:4461: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:4462: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out`
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 4530 "configure"
+#line 4531 "configure"
#include "confdefs.h"
int main() {
${x_direct_test_function}()
; return 0; }
EOF
-if { (eval echo configure:4537: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:4538: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; 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:4646: checking whether -R must be followed by a space" >&5
+echo "configure:4647: 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 4649 "configure"
+#line 4650 "configure"
#include "confdefs.h"
int main() {
; return 0; }
EOF
-if { (eval echo configure:4656: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:4657: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
ac_R_nospace=yes
else
else
LIBS="$ac_xsave_LIBS -R $x_libraries"
cat > conftest.$ac_ext <<EOF
-#line 4672 "configure"
+#line 4673 "configure"
#include "confdefs.h"
int main() {
; return 0; }
EOF
-if { (eval echo configure:4679: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:4680: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; 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:4715: checking for dnet_ntoa in -ldnet" >&5
+echo "configure:4716: 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 4720 "configure"
+#line 4721 "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:4731: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:4732: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
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:4755: checking for dnet_ntoa in -ldnet_stub" >&5
+echo "configure:4756: 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 4760 "configure"
+#line 4761 "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:4771: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:4772: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
# 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:4800: checking for gethostbyname" >&5
+echo "configure:4801: checking for gethostbyname" >&5
cat > conftest.$ac_ext <<EOF
-#line 4803 "configure"
+#line 4804 "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:4826: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:4827: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; 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:4847: checking for gethostbyname in -lnsl" >&5
+echo "configure:4848: 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 4852 "configure"
+#line 4853 "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:4863: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:4864: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
# -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:4893: checking for connect" >&5
+echo "configure:4894: checking for connect" >&5
cat > conftest.$ac_ext <<EOF
-#line 4896 "configure"
+#line 4897 "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:4919: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:4920: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; 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:4942: checking "$xe_msg_checking"" >&5
+echo "configure:4943: 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 4947 "configure"
+#line 4948 "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:4958: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:4959: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
# gomez@mi.uni-erlangen.de says -lposix is necessary on A/UX.
echo $ac_n "checking for remove""... $ac_c" 1>&6
-echo "configure:4982: checking for remove" >&5
+echo "configure:4983: checking for remove" >&5
cat > conftest.$ac_ext <<EOF
-#line 4985 "configure"
+#line 4986 "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:5008: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:5009: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; 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:5029: checking for remove in -lposix" >&5
+echo "configure:5030: 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 5034 "configure"
+#line 5035 "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:5045: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:5046: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
# BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay.
echo $ac_n "checking for shmat""... $ac_c" 1>&6
-echo "configure:5069: checking for shmat" >&5
+echo "configure:5070: checking for shmat" >&5
cat > conftest.$ac_ext <<EOF
-#line 5072 "configure"
+#line 5073 "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:5095: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:5096: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; 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:5116: checking for shmat in -lipc" >&5
+echo "configure:5117: 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 5121 "configure"
+#line 5122 "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:5132: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:5133: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
# --interran@uluru.Stanford.EDU, kb@cs.umb.edu.
echo $ac_n "checking for IceConnectionNumber in -lICE""... $ac_c" 1>&6
-echo "configure:5166: checking for IceConnectionNumber in -lICE" >&5
+echo "configure:5167: checking for IceConnectionNumber in -lICE" >&5
ac_lib_var=`echo ICE'_'IceConnectionNumber | sed 'y%./+-%__p_%'`
xe_check_libs=" -lICE "
cat > conftest.$ac_ext <<EOF
-#line 5171 "configure"
+#line 5172 "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:5182: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:5183: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
break; fi
done
+ if test "$GCC" = yes -a -d /usr/shlib; then X_LIBS="$X_LIBS -L/usr/shlib" && if test "$extra_verbose" = "yes"; then echo " Appending \"-L/usr/shlib\" to \$X_LIBS"; fi; fi
+
ld_switch_x_site="$X_LIBS"
set x $ld_switch_run; shift; ld_switch_run=""
while test -n "$1"; do
case $1 in
- -L | -l | -u ) ld_switch_run="$ld_switch_run $1 $2"; shift ;;
- -L* | -l* | -u* | -Wl* ) ld_switch_run="$ld_switch_run $1" ;;
+ -L | -l | -u ) ld_switch_run="$ld_switch_run $1 $2"; shift ;;
+ -L* | -l* | -u* | -Wl* | -pg ) ld_switch_run="$ld_switch_run $1" ;;
-Xlinker* ) ;;
* ) ld_switch_run="$ld_switch_run -Xlinker $1" ;;
esac
echo "checking for X defines extracted by xmkmf" 1>&6
-echo "configure:5349: checking for X defines extracted by xmkmf" >&5
+echo "configure:5352: 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:5381: checking for X11/Intrinsic.h" >&5
+echo "configure:5384: checking for X11/Intrinsic.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 5384 "configure"
+#line 5387 "configure"
#include "confdefs.h"
#include <X11/Intrinsic.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:5389: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:5392: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out`
if test -z "$ac_err"; then
rm -rf conftest*
echo $ac_n "checking for XOpenDisplay in -lX11""... $ac_c" 1>&6
-echo "configure:5413: checking for XOpenDisplay in -lX11" >&5
+echo "configure:5416: 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 5418 "configure"
+#line 5421 "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:5429: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:5432: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
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:5454: checking "$xe_msg_checking"" >&5
+echo "configure:5457: 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 5459 "configure"
+#line 5462 "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:5470: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:5473: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
echo $ac_n "checking for XShapeSelectInput in -lXext""... $ac_c" 1>&6
-echo "configure:5497: checking for XShapeSelectInput in -lXext" >&5
+echo "configure:5500: 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 5502 "configure"
+#line 5505 "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:5513: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:5516: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
echo $ac_n "checking for XtOpenDisplay in -lXt""... $ac_c" 1>&6
-echo "configure:5536: checking for XtOpenDisplay in -lXt" >&5
+echo "configure:5539: 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 5541 "configure"
+#line 5544 "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:5552: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:5555: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
echo $ac_n "checking the version of X11 being used""... $ac_c" 1>&6
-echo "configure:5575: checking the version of X11 being used" >&5
+echo "configure:5578: checking the version of X11 being used" >&5
cat > conftest.$ac_ext <<EOF
-#line 5577 "configure"
+#line 5580 "configure"
#include "confdefs.h"
#include <X11/Intrinsic.h>
int main(int c, char *v[]) { return c>1 ? XlibSpecificationRelease : 0; }
EOF
-if { (eval echo configure:5582: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5
+if { (eval echo configure:5585: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
then
./conftest foobar; x11_release=$?
else
+ conftest_rc="$?"
echo "configure: failed program was:" >&5
cat conftest.$ac_ext >&5
rm -fr conftest*
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:5606: checking for $ac_hdr" >&5
+echo "configure:5610: checking for $ac_hdr" >&5
cat > conftest.$ac_ext <<EOF
-#line 5609 "configure"
+#line 5613 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:5614: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:5618: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out`
if test -z "$ac_err"; then
rm -rf conftest*
echo $ac_n "checking for XFree86""... $ac_c" 1>&6
-echo "configure:5645: checking for XFree86" >&5
+echo "configure:5649: checking for XFree86" >&5
if test -d "/usr/X386/include" -o \
-f "/etc/XF86Config" -o \
-f "/etc/X11/XF86Config" -o \
test -z "$with_xmu" && {
echo $ac_n "checking for XmuReadBitmapDataFromFile in -lXmu""... $ac_c" 1>&6
-echo "configure:5665: checking for XmuReadBitmapDataFromFile in -lXmu" >&5
+echo "configure:5669: 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 5670 "configure"
+#line 5674 "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:5681: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:5685: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
echo $ac_n "checking for main in -lXbsd""... $ac_c" 1>&6
-echo "configure:5720: checking for main in -lXbsd" >&5
+echo "configure:5724: 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 5725 "configure"
+#line 5729 "configure"
#include "confdefs.h"
int main() {
main()
; return 0; }
EOF
-if { (eval echo configure:5732: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:5736: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
fi
if test "$with_msw" != "no"; then
echo "checking for MS-Windows" 1>&6
-echo "configure:5769: checking for MS-Windows" >&5
+echo "configure:5773: checking for MS-Windows" >&5
echo $ac_n "checking for main in -lgdi32""... $ac_c" 1>&6
-echo "configure:5772: checking for main in -lgdi32" >&5
+echo "configure:5776: 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 5777 "configure"
+#line 5781 "configure"
#include "confdefs.h"
int main() {
main()
; return 0; }
EOF
-if { (eval echo configure:5784: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:5788: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
install_pp="$blddir/lib-src/installexe.sh"
libs_system="$libs_system -lshell32 -lgdi32 -luser32 -lcomctl32" && if test "$extra_verbose" = "yes"; then echo " Appending \"-lshell32 -lgdi32 -luser32 -lcomctl32\" to \$libs_system"; fi
+ test "$with_dragndrop" != no && dragndrop_proto="$dragndrop_proto msw" && if test "$extra_verbose" = "yes"; then echo " Appending \"msw\" to \$dragndrop_proto"; fi
if test "$window_system" != x11; then
window_system=msw
test "$with_scrollbars" != "no" && with_scrollbars=msw \
echo " xemacs will be linked with \"dialog-msw.o\""
fi
else
- test "$with_scrollbars" != "no" && extra_objs="$extra_objs scrollbar-msw.o" && if test "$extra_verbose" = "yes"; then
+ test "$with_scrollbars" != "no" && extra_objs="$extra_objs scrollbar-msw.o" && if test "$extra_verbose" = "yes"; then
echo " xemacs will be linked with \"scrollbar-msw.o\""
fi
test "$with_menubars" != "no" && extra_objs="$extra_objs menubar-msw.o" && if test "$extra_verbose" = "yes"; then
test "$with_toolbars" != "no" && extra_objs="$extra_objs toolbar-msw.o" && if test "$extra_verbose" = "yes"; then
echo " xemacs will be linked with \"toolbar-msw.o\""
fi
- test "$with_dialogs" != "no" && extra_objs="$extra_objs dialog-msw.o" && if test "$extra_verbose" = "yes"; then
+ test "$with_dialogs" != "no" && extra_objs="$extra_objs dialog-msw.o" && if test "$extra_verbose" = "yes"; then
echo " xemacs will be linked with \"dialog-msw.o\""
fi
fi
cat > conftest.$ac_ext <<EOF
-#line 5848 "configure"
+#line 5853 "configure"
#include "confdefs.h"
#include <fcntl.h>
int main() { return (open("/dev/windows", O_RDONLY, 0) > 0)? 0 : 1; }
EOF
-if { (eval echo configure:5853: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5
+if { (eval echo configure:5858: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
then
{ test "$extra_verbose" = "yes" && cat << \EOF
Defining HAVE_MSG_SELECT
}
else
+ conftest_rc="$?"
echo "configure: failed program was:" >&5
cat conftest.$ac_ext >&5
fi
rm -fr conftest*
const_is_losing=no
with_file_coding=yes
- use_minimal_tagbits=yes
- use_indexed_lrecord_implementation=yes
- extra_objs="$extra_objs console-msw.o device-msw.o event-msw.o frame-msw.o objects-msw.o select-msw.o redisplay-msw.o glyphs-msw.o" && if test "$extra_verbose" = "yes"; then
- echo " xemacs will be linked with \"console-msw.o device-msw.o event-msw.o frame-msw.o objects-msw.o select-msw.o redisplay-msw.o glyphs-msw.o\""
+ extra_objs="$extra_objs console-msw.o device-msw.o event-msw.o frame-msw.o objects-msw.o select-msw.o redisplay-msw.o glyphs-msw.o gui-msw.o" && if test "$extra_verbose" = "yes"; then
+ echo " xemacs will be linked with \"console-msw.o device-msw.o event-msw.o frame-msw.o objects-msw.o select-msw.o redisplay-msw.o glyphs-msw.o gui-msw.o\""
fi
fi
fi
test -z "$window_system" && window_system="none"
if test "$window_system" = "none"; then
- for feature in menubars scrollbars toolbars dialogs dragndrop
+ for feature in menubars scrollbars toolbars dialogs dragndrop xface
do
if eval "test -n \"\$with_${feature}\" -a \"\$with_${feature}\" != no" ; then
echo "configure: warning: --with-$feature ignored: Not valid without window system support" 1>&2
fi
if test "$with_x11" != "yes"; then
- for feature in tooltalk cde offix session xim xmu \
- xface
+ for feature in tooltalk cde offix session xim xmu
do
if eval "test -n \"\$with_${feature}\" -a \"\$with_${feature}\" != no" ; then
echo "configure: warning: --with-$feature ignored: Not valid without X support" 1>&2
esac
echo "checking for session-management option" 1>&6
-echo "configure:5931: checking for session-management option" >&5;
+echo "configure:5934: checking for session-management option" >&5;
if test "$with_session" != "no"; then
{ test "$extra_verbose" = "yes" && cat << \EOF
Defining HAVE_SESSION
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:5946: checking for X11/Xauth.h" >&5
+echo "configure:5949: checking for X11/Xauth.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 5949 "configure"
+#line 5952 "configure"
#include "confdefs.h"
#include <X11/Xauth.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:5954: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:5957: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out`
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:5977: checking for XauGetAuthByAddr in -lXau" >&5
+echo "configure:5980: 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 5982 "configure"
+#line 5985 "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:5993: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:5996: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
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:6038: checking for ${dir}tt_c.h" >&5
+echo "configure:6041: checking for ${dir}tt_c.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 6041 "configure"
+#line 6044 "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:6046: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:6049: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out`
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:6082: checking "$xe_msg_checking"" >&5
+echo "configure:6085: 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 6087 "configure"
+#line 6090 "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:6098: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:6101: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
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:6155: checking for Dt/Dt.h" >&5
+echo "configure:6158: checking for Dt/Dt.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 6158 "configure"
+#line 6161 "configure"
#include "confdefs.h"
#include <Dt/Dt.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:6163: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:6166: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out`
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:6186: checking for DtDndDragStart in -lDtSvc" >&5
+echo "configure:6189: 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 6191 "configure"
+#line 6194 "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:6202: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:6205: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
fi
echo $ac_n "checking if drag and drop API is needed""... $ac_c" 1>&6
-echo "configure:6271: checking if drag and drop API is needed" >&5
+echo "configure:6274: checking if drag and drop API is needed" >&5
if test "$with_dragndrop" != "no" ; then
if test -n "$dragndrop_proto" ; then
with_dragndrop=yes
fi
echo "checking for LDAP" 1>&6
-echo "configure:6292: checking for LDAP" >&5
+echo "configure:6295: 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:6295: checking for ldap.h" >&5
+echo "configure:6298: checking for ldap.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 6298 "configure"
+#line 6301 "configure"
#include "confdefs.h"
#include <ldap.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:6303: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:6306: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out`
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:6326: checking for lber.h" >&5
+echo "configure:6329: checking for lber.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 6329 "configure"
+#line 6332 "configure"
#include "confdefs.h"
#include <lber.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:6334: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:6337: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out`
if test -z "$ac_err"; then
rm -rf conftest*
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:6360: checking "$xe_msg_checking"" >&5
+echo "configure:6363: 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 6365 "configure"
+#line 6368 "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:6376: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:6379: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
}
test "$with_umich_ldap" = "no" && {
echo $ac_n "checking for ldap_set_option in -lldap10""... $ac_c" 1>&6
-echo "configure:6399: checking for ldap_set_option in -lldap10" >&5
+echo "configure:6402: checking for ldap_set_option in -lldap10" >&5
ac_lib_var=`echo ldap10'_'ldap_set_option | sed 'y%./+-%__p_%'`
xe_check_libs=" -lldap10 "
cat > conftest.$ac_ext <<EOF
-#line 6404 "configure"
+#line 6407 "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_set_option()
; return 0; }
EOF
-if { (eval echo configure:6415: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:6418: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
if test "$window_system" != "none"; then
echo "checking for graphics libraries" 1>&6
-echo "configure:6479: checking for graphics libraries" >&5
+echo "configure:6482: checking for graphics libraries" >&5
- if test -z "$with_xpm"; then
+ xpm_problem=""
+ if test -z "$with_xpm"; then
echo $ac_n "checking for Xpm - no older than 3.4f""... $ac_c" 1>&6
-echo "configure:6483: checking for Xpm - no older than 3.4f" >&5
+echo "configure:6487: checking for Xpm - no older than 3.4f" >&5
xe_check_libs=-lXpm
cat > conftest.$ac_ext <<EOF
-#line 6486 "configure"
+#line 6490 "configure"
#include "confdefs.h"
#include <X11/xpm.h>
int main(int c, char **v) {
XpmIncludeVersion != XpmLibraryVersion() ? 1 :
XpmIncludeVersion < 30406 ? 2 : 0 ;}
EOF
-if { (eval echo configure:6494: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5
+if { (eval echo configure:6498: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
then
./conftest dummy_arg; xpm_status=$?;
- if test "$?" = "0"; then
+ if test "$xpm_status" = "0"; then
with_xpm=yes;
else
with_xpm=no;
- if test "$?" = "1"; then
+ if test "$xpm_status" = "1"; then
xpm_problem="Xpm library version and header file version don't match!"
- elif test "$?" = "2"; then
+ elif test "$xpm_status" = "2"; then
xpm_problem="Xpm library version is too old!"
else
xpm_problem="Internal xpm detection logic error!"
fi
echo "
-*** WARNING *** $problem
+*** WARNING *** $xpm_problem
I'm not touching that with a 10-foot pole!
If you really want to use the installed version of Xpm, rerun
- configure --with-xpm=yes, but don't blame me if XEmacs crashes!"
+ configure and add '--with-xpm=yes', but don't blame me if XEmacs crashes!"
fi
else
+ conftest_rc="$?"
echo "configure: failed program was:" >&5
cat conftest.$ac_ext >&5
rm -fr conftest*
libs_x="-lXpm $libs_x" && if test "$extra_verbose" = "yes"; then echo " Prepending \"-lXpm\" to \$libs_x"; fi
echo $ac_n "checking for \"FOR_MSW\" xpm""... $ac_c" 1>&6
-echo "configure:6535: checking for \"FOR_MSW\" xpm" >&5
+echo "configure:6540: checking for \"FOR_MSW\" xpm" >&5
xe_check_libs=-lXpm
cat > conftest.$ac_ext <<EOF
-#line 6538 "configure"
+#line 6543 "configure"
#include "confdefs.h"
int main() {
XpmCreatePixmapFromData()
; return 0; }
EOF
-if { (eval echo configure:6545: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:6550: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
xpm_for_msw=no
else
fi
fi
- if test "$with_png $with_tiff" != "no no"; then
-
-echo $ac_n "checking for inflate in -lc""... $ac_c" 1>&6
-echo "configure:6572: checking for inflate in -lc" >&5
-ac_lib_var=`echo c'_'inflate | sed 'y%./+-%__p_%'`
+ 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:6576: checking for compface.h" >&5
-xe_check_libs=" -lc "
cat > conftest.$ac_ext <<EOF
-#line 6577 "configure"
+#line 6579 "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 inflate();
-
-int main() {
-inflate()
-; return 0; }
+#include <compface.h>
EOF
-if { (eval echo configure:6588: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:6584: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out`
+if test -z "$ac_err"; then
rm -rf conftest*
- eval "ac_cv_lib_$ac_lib_var=yes"
+ eval "ac_cv_header_$ac_safe=yes"
else
+ echo "$ac_err" >&5
echo "configure: failed program was:" >&5
cat conftest.$ac_ext >&5
rm -rf conftest*
- eval "ac_cv_lib_$ac_lib_var=no"
+ eval "ac_cv_header_$ac_safe=no"
fi
rm -f conftest*
-xe_check_libs=""
-
-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes" ; then
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
echo "$ac_t""yes" 1>&6
:
else
echo "$ac_t""no" 1>&6
+with_xface=no
+fi
+ }
+ test -z "$with_xface" && {
+echo $ac_n "checking for UnGenFace in -lcompface""... $ac_c" 1>&6
+echo "configure:6607: checking for UnGenFace in -lcompface" >&5
+ac_lib_var=`echo compface'_'UnGenFace | sed 'y%./+-%__p_%'`
-echo $ac_n "checking for inflate in -lz""... $ac_c" 1>&6
-echo "configure:6607: checking for inflate in -lz" >&5
-ac_lib_var=`echo z'_'inflate | sed 'y%./+-%__p_%'`
-
-xe_check_libs=" -lz "
+xe_check_libs=" -lcompface "
cat > conftest.$ac_ext <<EOF
#line 6612 "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 inflate();
+char UnGenFace();
int main() {
-inflate()
+UnGenFace()
; return 0; }
EOF
if { (eval echo configure:6623: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes" ; then
echo "$ac_t""yes" 1>&6
- libs_x="-lz $libs_x" && if test "$extra_verbose" = "yes"; then echo " Prepending \"-lz\" to \$libs_x"; fi
+ :
else
echo "$ac_t""no" 1>&6
+with_xface=no
+fi
-echo $ac_n "checking for inflate in -lgz""... $ac_c" 1>&6
-echo "configure:6642: checking for inflate in -lgz" >&5
-ac_lib_var=`echo gz'_'inflate | sed 'y%./+-%__p_%'`
+ }
+ test -z "$with_xface" && with_xface=yes
+ if test "$with_xface" = "yes"; then
+ { test "$extra_verbose" = "yes" && cat << \EOF
+ Defining HAVE_XFACE
+EOF
+cat >> confdefs.h <<\EOF
+#define HAVE_XFACE 1
+EOF
+}
-xe_check_libs=" -lgz "
+ libs_x="-lcompface $libs_x" && if test "$extra_verbose" = "yes"; then echo " Prepending \"-lcompface\" to \$libs_x"; fi
+ fi
+
+ if test "$with_gif" != "no"; then
+ with_gif="yes"
+ { test "$extra_verbose" = "yes" && cat << \EOF
+ Defining HAVE_GIF
+EOF
+cat >> confdefs.h <<\EOF
+#define HAVE_GIF 1
+EOF
+}
+
+ extra_objs="$extra_objs dgif_lib.o gif_io.o" && if test "$extra_verbose" = "yes"; then
+ echo " xemacs will be linked with \"dgif_lib.o gif_io.o\""
+ fi
+ fi
+
+ if test "$with_png $with_tiff" != "no no"; then
+
+echo $ac_n "checking for inflate in -lc""... $ac_c" 1>&6
+echo "configure:6675: 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 6647 "configure"
+#line 6680 "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:6658: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:6691: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes" ; then
echo "$ac_t""yes" 1>&6
- libs_x="-lgz $libs_x" && if test "$extra_verbose" = "yes"; then echo " Prepending \"-lgz\" to \$libs_x"; fi
+ :
else
echo "$ac_t""no" 1>&6
-fi
-
-
-fi
-
-
-fi
+echo $ac_n "checking for inflate in -lz""... $ac_c" 1>&6
+echo "configure:6710: checking for inflate in -lz" >&5
+ac_lib_var=`echo z'_'inflate | sed 'y%./+-%__p_%'`
- fi
-
- echo $ac_n "checking for gifreader""... $ac_c" 1>&6
-echo "configure:6687: checking for gifreader" >&5
- test -z "$with_gif" && { ac_safe=`echo "gifrlib.h" | sed 'y%./+-%__p_%'`
-echo $ac_n "checking for gifrlib.h""... $ac_c" 1>&6
-echo "configure:6690: checking for gifrlib.h" >&5
-
+xe_check_libs=" -lz "
cat > conftest.$ac_ext <<EOF
-#line 6693 "configure"
+#line 6715 "configure"
#include "confdefs.h"
-#include <gifrlib.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 inflate();
+
+int main() {
+inflate()
+; return 0; }
EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:6698: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out`
-if test -z "$ac_err"; then
+if { (eval echo configure:6726: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
- eval "ac_cv_header_$ac_safe=yes"
+ eval "ac_cv_lib_$ac_lib_var=yes"
else
- echo "$ac_err" >&5
echo "configure: failed program was:" >&5
cat conftest.$ac_ext >&5
rm -rf conftest*
- eval "ac_cv_header_$ac_safe=no"
+ eval "ac_cv_lib_$ac_lib_var=no"
fi
rm -f conftest*
-if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+xe_check_libs=""
+
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes" ; then
echo "$ac_t""yes" 1>&6
- :
+ libs_x="-lz $libs_x" && if test "$extra_verbose" = "yes"; then echo " Prepending \"-lz\" to \$libs_x"; fi
else
echo "$ac_t""no" 1>&6
-with_gif=no
-fi
- }
- test -z "$with_gif" && {
-echo $ac_n "checking for GetGifError in -lgifreader""... $ac_c" 1>&6
-echo "configure:6721: checking for GetGifError in -lgifreader" >&5
-ac_lib_var=`echo gifreader'_'GetGifError | sed 'y%./+-%__p_%'`
-xe_check_libs=" -lgifreader "
+echo $ac_n "checking for inflate in -lgz""... $ac_c" 1>&6
+echo "configure:6745: 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 6726 "configure"
+#line 6750 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
-char GetGifError();
+char inflate();
int main() {
-GetGifError()
+inflate()
; return 0; }
EOF
-if { (eval echo configure:6737: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:6761: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes" ; then
echo "$ac_t""yes" 1>&6
- :
+ libs_x="-lgz $libs_x" && if test "$extra_verbose" = "yes"; then echo " Prepending \"-lgz\" to \$libs_x"; fi
else
echo "$ac_t""no" 1>&6
-with_gif=no
fi
- }
- test -z "$with_gif" && with_gif=yes
- if test "$with_gif" = "yes"; then
- { test "$extra_verbose" = "yes" && cat << \EOF
- Defining HAVE_GIF
-EOF
-cat >> confdefs.h <<\EOF
-#define HAVE_GIF 1
-EOF
-}
- libs_x="-lgifreader $libs_x" && if test "$extra_verbose" = "yes"; then echo " Prepending \"-lgifreader\" to \$libs_x"; fi
+fi
+
+
+fi
+
+
fi
test -z "$with_jpeg" && { ac_safe=`echo "jpeglib.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for jpeglib.h""... $ac_c" 1>&6
-echo "configure:6773: checking for jpeglib.h" >&5
+echo "configure:6791: checking for jpeglib.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 6776 "configure"
+#line 6794 "configure"
#include "confdefs.h"
#include <jpeglib.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:6781: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:6799: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out`
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:6804: checking for jpeg_destroy_decompress in -ljpeg" >&5
+echo "configure:6822: 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 6809 "configure"
+#line 6827 "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:6820: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:6838: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
libs_x="-ljpeg $libs_x" && if test "$extra_verbose" = "yes"; then echo " Prepending \"-ljpeg\" to \$libs_x"; fi
fi
- if test -z "$with_png"; then
- echo $ac_n "checking for png.h - no older than 0.96""... $ac_c" 1>&6
-echo "configure:6856: checking for png.h - no older than 0.96" >&5
- cat > conftest.$ac_ext <<EOF
-#line 6858 "configure"
-#include "confdefs.h"
-#include <png.h>
-#if PNG_LIBPNG_VER >= 96
-yes
-#endif
-
-EOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- egrep "yes" >/dev/null 2>&1; then
- rm -rf conftest*
- echo "$ac_t""yes" 1>&6
-else
- rm -rf conftest*
- echo "$ac_t""no" 1>&6; with_png=no
-fi
-rm -f conftest*
-
- fi
+ png_problem=""
test -z "$with_png" && { echo $ac_n "checking for pow""... $ac_c" 1>&6
-echo "configure:6878: checking for pow" >&5
+echo "configure:6874: checking for pow" >&5
cat > conftest.$ac_ext <<EOF
-#line 6881 "configure"
+#line 6877 "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:6904: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:6900: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_func_pow=yes"
else
with_png=no
fi
}
+ test -z "$with_png" && { ac_safe=`echo "png.h" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for png.h""... $ac_c" 1>&6
+echo "configure:6921: checking for png.h" >&5
+
+cat > conftest.$ac_ext <<EOF
+#line 6924 "configure"
+#include "confdefs.h"
+#include <png.h>
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:6929: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out`
+if test -z "$ac_err"; then
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=yes"
+else
+ echo "$ac_err" >&5
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=no"
+fi
+rm -f conftest*
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ :
+else
+ echo "$ac_t""no" 1>&6
+with_png=no
+fi
+ }
test -z "$with_png" && {
echo $ac_n "checking for png_read_image in -lpng""... $ac_c" 1>&6
-echo "configure:6925: checking for png_read_image in -lpng" >&5
+echo "configure:6952: 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 6930 "configure"
+#line 6957 "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:6941: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:6968: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
fi
}
- test -z "$with_png" && with_png=yes
+ if test -z "$with_png"; then
+ echo $ac_n "checking for workable png version information""... $ac_c" 1>&6
+echo "configure:6991: checking for workable png version information" >&5
+ xe_check_libs="-lpng -lz"
+ cat > conftest.$ac_ext <<EOF
+#line 6994 "configure"
+#include "confdefs.h"
+#include <png.h>
+ int main(int c, char **v) {
+ if (c == 1) return 0;
+ if (strcmp(png_libpng_ver, PNG_LIBPNG_VER_STRING) != 0) return 1;
+ return (PNG_LIBPNG_VER < 10002) ? 2 : 0 ;}
+EOF
+if { (eval echo configure:7002: \"$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
+ with_png=yes;
+ else
+ with_png=no;
+ if test "$png_status" = "1"; then
+ png_problem="PNG library version and header file don't match!"
+ elif test "$png_status" = "2"; then
+ png_problem="PNG library version too old (pre 1.0.2)!"
+ fi
+ echo "
+*** WARNING *** $png_problem
+ I'm not touching that with a 10-foot pole!
+ If you really want to use the installed version of libPNG, rerun
+ configure and add '--with-png=yes', but don't blame me if XEmacs crashes!"
+ fi
+else
+ conftest_rc="$?"
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -fr conftest*
+ with_png=no
+fi
+rm -fr conftest*
+ xe_check_libs=
+ echo "$ac_t""$with_png" 1>&6
+ fi
if test "$with_png" = "yes"; then
{ test "$extra_verbose" = "yes" && cat << \EOF
Defining HAVE_PNG
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:6977: checking for tiffio.h" >&5
+echo "configure:7045: checking for tiffio.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 6980 "configure"
+#line 7048 "configure"
#include "confdefs.h"
#include <tiffio.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:6985: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:7053: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out`
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:7008: checking for TIFFClientOpen in -ltiff" >&5
+echo "configure:7076: 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 7013 "configure"
+#line 7081 "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:7024: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:7092: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
if test "$with_x11" = "yes"; then
echo "checking for X11 graphics libraries" 1>&6
-echo "configure:7063: checking for X11 graphics libraries" >&5
-
- test -z "$with_xface" && { ac_safe=`echo "compface.h" | sed 'y%./+-%__p_%'`
-echo $ac_n "checking for compface.h""... $ac_c" 1>&6
-echo "configure:7067: checking for compface.h" >&5
-
-cat > conftest.$ac_ext <<EOF
-#line 7070 "configure"
-#include "confdefs.h"
-#include <compface.h>
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:7075: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out`
-if test -z "$ac_err"; then
- rm -rf conftest*
- eval "ac_cv_header_$ac_safe=yes"
-else
- echo "$ac_err" >&5
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_header_$ac_safe=no"
-fi
-rm -f conftest*
-if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- :
-else
- echo "$ac_t""no" 1>&6
-with_xface=no
-fi
- }
- test -z "$with_xface" && {
-echo $ac_n "checking for UnGenFace in -lcompface""... $ac_c" 1>&6
-echo "configure:7098: 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 7103 "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 UnGenFace();
-
-int main() {
-UnGenFace()
-; return 0; }
-EOF
-if { (eval echo configure:7114: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
- rm -rf conftest*
- eval "ac_cv_lib_$ac_lib_var=yes"
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_lib_$ac_lib_var=no"
-fi
-rm -f conftest*
-xe_check_libs=""
-
-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes" ; then
- echo "$ac_t""yes" 1>&6
- :
-else
- echo "$ac_t""no" 1>&6
-with_xface=no
-fi
-
- }
- test -z "$with_xface" && with_xface=yes
- if test "$with_xface" = "yes"; then
- { test "$extra_verbose" = "yes" && cat << \EOF
- Defining HAVE_XFACE
-EOF
-cat >> confdefs.h <<\EOF
-#define HAVE_XFACE 1
-EOF
-}
-
- libs_x="-lcompface $libs_x" && if test "$extra_verbose" = "yes"; then echo " Prepending \"-lcompface\" to \$libs_x"; fi
- fi
+echo "configure:7131: checking for X11 graphics libraries" >&5
echo $ac_n "checking for XawScrollbarSetThumb in -lXaw""... $ac_c" 1>&6
-echo "configure:7150: checking for XawScrollbarSetThumb in -lXaw" >&5
+echo "configure:7135: checking for XawScrollbarSetThumb in -lXaw" >&5
ac_lib_var=`echo Xaw'_'XawScrollbarSetThumb | sed 'y%./+-%__p_%'`
xe_check_libs=" -lXaw "
cat > conftest.$ac_ext <<EOF
-#line 7155 "configure"
+#line 7140 "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:7166: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:7151: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
ac_safe=`echo "Xm/Xm.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for Xm/Xm.h""... $ac_c" 1>&6
-echo "configure:7190: checking for Xm/Xm.h" >&5
+echo "configure:7175: checking for Xm/Xm.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 7193 "configure"
+#line 7178 "configure"
#include "confdefs.h"
#include <Xm/Xm.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:7198: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:7183: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out`
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:7215: checking for XmStringFree in -lXm" >&5
+echo "configure:7200: 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 7220 "configure"
+#line 7205 "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:7231: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:7216: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
if test "$have_motif" = "yes"; then
echo $ac_n "checking for Lesstif""... $ac_c" 1>&6
-echo "configure:7260: checking for Lesstif" >&5
+echo "configure:7245: checking for Lesstif" >&5
cat > conftest.$ac_ext <<EOF
-#line 7262 "configure"
+#line 7247 "configure"
#include "confdefs.h"
#include <Xm/Xm.h>
#ifdef LESSTIF_VERSION
test "$with_toolbars" != "no" && extra_objs="$extra_objs toolbar.o" && if test "$extra_verbose" = "yes"; then
echo " xemacs will be linked with \"toolbar.o\""
fi
-test "$all_widgets" != "no no no no" && extra_objs="$extra_objs gui.o" && if test "$extra_verbose" = "yes"; then
- echo " xemacs will be linked with \"gui.o\""
- fi
if test "$with_x11" = "yes"; then
test "$with_menubars" != "no" && extra_objs="$extra_objs menubar-x.o" && if test "$extra_verbose" = "yes"; then
fi
fi
-test "$use_minimal_tagbits" = "yes" && { test "$extra_verbose" = "yes" && cat << \EOF
- Defining USE_MINIMAL_TAGBITS
-EOF
-cat >> confdefs.h <<\EOF
-#define USE_MINIMAL_TAGBITS 1
-EOF
-}
-
-test "$use_indexed_lrecord_implementation" = "yes" && \
- { test "$extra_verbose" = "yes" && cat << \EOF
- Defining USE_INDEXED_LRECORD_IMPLEMENTATION
-EOF
-cat >> confdefs.h <<\EOF
-#define USE_INDEXED_LRECORD_IMPLEMENTATION 1
-EOF
-}
-
-
test -z "$with_mule" && with_mule=no
test -z "$with_file_coding" && with_file_coding=no
if test "$with_mule" = "yes" ; then
echo "checking for Mule-related features" 1>&6
-echo "configure:7546: checking for Mule-related features" >&5
+echo "configure:7510: checking for Mule-related features" >&5
{ test "$extra_verbose" = "yes" && cat << \EOF
Defining MULE
EOF
EOF
}
- extra_objs="$extra_objs mule.o mule-ccl.o mule-charset.o mule-coding.o file-coding.o" && if test "$extra_verbose" = "yes"; then
- echo " xemacs will be linked with \"mule.o mule-ccl.o mule-charset.o mule-coding.o file-coding.o\""
+ extra_objs="$extra_objs mule.o mule-ccl.o mule-charset.o file-coding.o" && if test "$extra_verbose" = "yes"; then
+ echo " xemacs will be linked with \"mule.o mule-ccl.o mule-charset.o file-coding.o\""
fi
for ac_hdr in libintl.h
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:7571: checking for $ac_hdr" >&5
+echo "configure:7535: checking for $ac_hdr" >&5
cat > conftest.$ac_ext <<EOF
-#line 7574 "configure"
+#line 7538 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:7579: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:7543: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out`
if test -z "$ac_err"; then
rm -rf conftest*
echo $ac_n "checking for strerror in -lintl""... $ac_c" 1>&6
-echo "configure:7610: checking for strerror in -lintl" >&5
+echo "configure:7574: 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 7615 "configure"
+#line 7579 "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:7626: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:7590: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
echo "checking for Mule input methods" 1>&6
-echo "configure:7659: checking for Mule input methods" >&5
+echo "configure:7623: checking for Mule input methods" >&5
case "$with_xim" in "" | "yes" )
echo "checking for XIM" 1>&6
-echo "configure:7662: checking for XIM" >&5
- if test "$have_lesstif" = "yes"; then with_xim=xlib
- else
+echo "configure:7626: checking for XIM" >&5
+
+echo $ac_n "checking for XOpenIM in -lX11""... $ac_c" 1>&6
+echo "configure:7629: 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 7634 "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 XOpenIM();
+
+int main() {
+XOpenIM()
+; return 0; }
+EOF
+if { (eval echo configure:7645: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=no"
+fi
+rm -f conftest*
+xe_check_libs=""
+
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes" ; then
+ echo "$ac_t""yes" 1>&6
+ with_xim=xlib
+else
+ echo "$ac_t""no" 1>&6
+with_xim=no
+fi
+
+
+ if test "$have_motif $have_lesstif" = "yes no"; then
+
echo $ac_n "checking for XmImMbLookupString in -lXm""... $ac_c" 1>&6
-echo "configure:7666: checking for XmImMbLookupString in -lXm" >&5
+echo "configure:7669: 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 7671 "configure"
+#line 7674 "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:7682: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:7685: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
with_xim=motif
else
echo "$ac_t""no" 1>&6
-with_xim=xlib
fi
- fi
+ fi ;;
esac
if test "$with_xim" != "no"; then
{ test "$extra_verbose" = "yes" && cat << \EOF
if test "$with_xfs" = "yes" ; then
echo "checking for XFontSet" 1>&6
-echo "configure:7748: checking for XFontSet" >&5
+echo "configure:7750: checking for XFontSet" >&5
echo $ac_n "checking for XmbDrawString in -lX11""... $ac_c" 1>&6
-echo "configure:7751: checking for XmbDrawString in -lX11" >&5
+echo "configure:7753: 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 7756 "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
XmbDrawString()
; return 0; }
EOF
-if { (eval echo configure:7767: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:7769: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
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:7807: checking for wnn/jllib.h" >&5
+echo "configure:7809: checking for wnn/jllib.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 7810 "configure"
+#line 7812 "configure"
#include "confdefs.h"
#include <wnn/jllib.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:7815: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:7817: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out`
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:7840: checking for $ac_func" >&5
+echo "configure:7842: checking for $ac_func" >&5
cat > conftest.$ac_ext <<EOF
-#line 7843 "configure"
+#line 7845 "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:7866: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:7868: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; 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:7895: checking for crypt in -lcrypt" >&5
+echo "configure:7897: 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 7900 "configure"
+#line 7902 "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:7911: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:7913: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
}
fi
- test -z "$with_wnn" && {
+ 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:7945: checking for jl_dic_list_e in -lwnn" >&5
+echo "configure:7948: 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 7950 "configure"
+#line 7953 "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:7961: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:7964: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes" ; then
echo "$ac_t""yes" 1>&6
- :
+ libwnn=wnn
+else
+ echo "$ac_t""no" 1>&6
+echo $ac_n "checking for jl_dic_list_e in -lwnn4""... $ac_c" 1>&6
+echo "configure:7982: 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 7987 "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 jl_dic_list_e();
+
+int main() {
+jl_dic_list_e()
+; return 0; }
+EOF
+if { (eval echo configure:7998: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=no"
+fi
+rm -f conftest*
+xe_check_libs=""
+
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes" ; then
+ echo "$ac_t""yes" 1>&6
+ libwnn=wnn4
+else
+ echo "$ac_t""no" 1>&6
+echo $ac_n "checking for jl_dic_list_e in -lwnn6""... $ac_c" 1>&6
+echo "configure:8016: 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 8021 "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 jl_dic_list_e();
+
+int main() {
+jl_dic_list_e()
+; return 0; }
+EOF
+if { (eval echo configure:8032: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=no"
+fi
+rm -f conftest*
+xe_check_libs=""
+
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes" ; then
+ echo "$ac_t""yes" 1>&6
+ libwnn=wnn6
+else
+ echo "$ac_t""no" 1>&6
+echo $ac_n "checking for dic_list_e in -lwnn6_fromsrc""... $ac_c" 1>&6
+echo "configure:8050: 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 8055 "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 dic_list_e();
+
+int main() {
+dic_list_e()
+; return 0; }
+EOF
+if { (eval echo configure:8066: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=no"
+fi
+rm -f conftest*
+xe_check_libs=""
+
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes" ; then
+ echo "$ac_t""yes" 1>&6
+ libwnn=wnn6_fromsrc
else
echo "$ac_t""no" 1>&6
with_wnn=no
fi
- }
+
+fi
+
+
+fi
+
+
+fi
+
+
+ fi
test -z "$with_wnn" && with_wnn=yes
if test "$with_wnn" = "yes"; then
{ test "$extra_verbose" = "yes" && cat << \EOF
EOF
}
- libs_x="-lwnn $libs_x" && if test "$extra_verbose" = "yes"; then echo " Prepending \"-lwnn\" to \$libs_x"; fi
+ libs_x="-l$libwnn $libs_x" && if test "$extra_verbose" = "yes"; then echo " Prepending \"-l$libwnn\" to \$libs_x"; fi
extra_objs="$extra_objs mule-wnnfns.o" && if test "$extra_verbose" = "yes"; then
echo " xemacs will be linked with \"mule-wnnfns.o\""
fi
if test "$with_wnn6" != "no"; then
-echo $ac_n "checking for jl_fi_dic_list in -lwnn""... $ac_c" 1>&6
-echo "configure:7999: checking for jl_fi_dic_list in -lwnn" >&5
-ac_lib_var=`echo wnn'_'jl_fi_dic_list | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for jl_fi_dic_list in -l$libwnn""... $ac_c" 1>&6
+echo "configure:8114: 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=" -lwnn "
+xe_check_libs=" -l$libwnn "
cat > conftest.$ac_ext <<EOF
-#line 8004 "configure"
+#line 8119 "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:8015: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:8130: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
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:8050: checking for canna/jrkanji.h" >&5
+echo "configure:8165: checking for canna/jrkanji.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 8053 "configure"
+#line 8168 "configure"
#include "confdefs.h"
#include <canna/jrkanji.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:8058: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:8173: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out`
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:8085: checking for canna/jrkanji.h" >&5
+echo "configure:8200: checking for canna/jrkanji.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 8088 "configure"
+#line 8203 "configure"
#include "confdefs.h"
#include <canna/jrkanji.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:8093: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:8208: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out`
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:8121: checking for canna/RK.h" >&5
+echo "configure:8236: checking for canna/RK.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 8124 "configure"
+#line 8239 "configure"
#include "confdefs.h"
#include <canna/RK.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:8129: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:8244: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out`
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:8152: checking for RkBgnBun in -lRKC" >&5
+echo "configure:8267: 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 8157 "configure"
+#line 8272 "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:8168: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:8283: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
}
test -z "$with_canna" && {
echo $ac_n "checking for jrKanjiControl in -lcanna""... $ac_c" 1>&6
-echo "configure:8191: checking for jrKanjiControl in -lcanna" >&5
+echo "configure:8306: 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 8196 "configure"
+#line 8311 "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:8207: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:8322: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
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:8256: checking for layout_object_getvalue in -li18n" >&5
+echo "configure:8371: 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 8261 "configure"
+#line 8376 "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:8272: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:8387: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
set x $ld_switch_run; shift; ld_switch_run=""
while test -n "$1"; do
case $1 in
- -L | -l | -u ) ld_switch_run="$ld_switch_run $1 $2"; shift ;;
- -L* | -l* | -u* | -Wl* ) ld_switch_run="$ld_switch_run $1" ;;
+ -L | -l | -u ) ld_switch_run="$ld_switch_run $1 $2"; shift ;;
+ -L* | -l* | -u* | -Wl* | -pg ) ld_switch_run="$ld_switch_run $1" ;;
-Xlinker* ) ;;
* ) ld_switch_run="$ld_switch_run -Xlinker $1" ;;
esac
fi
fi
-fi
+fi
+
+for ac_func in cbrt closedir dup2 eaccess fmod fpathconf frexp ftime gethostname getpagesize gettimeofday getcwd getwd logb lrand48 matherr mkdir mktime perror poll random rename res_init rint rmdir select setitimer setpgid setlocale setsid sigblock sighold sigprocmask snprintf strcasecmp strerror tzset ulimit usleep utimes waitpid vsnprintf
+do
+echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+echo "configure:8473: checking for $ac_func" >&5
+
+cat > conftest.$ac_ext <<EOF
+#line 8476 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+#include <assert.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 $ac_func();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+$ac_func();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:8499: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=no"
+fi
+rm -f conftest*
+
+if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ { test "$extra_verbose" = "yes" && cat << EOF
+ Defining $ac_tr_func
+EOF
+cat >> confdefs.h <<EOF
+#define $ac_tr_func 1
+EOF
+}
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
-for ac_func in cbrt closedir dup2 eaccess fmod fpathconf frexp ftime gethostname getpagesize gettimeofday getcwd getwd logb lrand48 matherr mkdir mktime perror poll random rename res_init rint rmdir select setitimer setpgid setlocale setsid sigblock sighold sigprocmask snprintf strcasecmp strerror tzset ulimit usleep utimes waitpid vsnprintf
+
+case "$opsys" in
+ linuxaout* | bsdos3* | freebsd* | decosf4-0* | aix4* ) extra_objs="$extra_objs realpath.o" && if test "$extra_verbose" = "yes"; then
+ echo " xemacs will be linked with \"realpath.o\""
+ fi ;;
+ * )
+ case "$canonical" in
+ *-*-sysv4.2uw2* ) extra_objs="$extra_objs realpath.o" && if test "$extra_verbose" = "yes"; then
+ echo " xemacs will be linked with \"realpath.o\""
+ fi ;;
+ * ) for ac_func in realpath
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:8358: checking for $ac_func" >&5
+echo "configure:8540: checking for $ac_func" >&5
cat > conftest.$ac_ext <<EOF
-#line 8361 "configure"
+#line 8543 "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:8384: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:8566: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
fi
done
-
-
-case "$opsys" in
- linuxaout* | bsdos3* | freebsd* | decosf4-0* | aix4* ) extra_objs="$extra_objs realpath.o" && if test "$extra_verbose" = "yes"; then
+ test "$ac_cv_func_realpath" != "yes" && extra_objs="$extra_objs realpath.o" && if test "$extra_verbose" = "yes"; then
echo " xemacs will be linked with \"realpath.o\""
fi ;;
- * )
- for ac_func in realpath
+ esac ;;
+esac
+
+for ac_func in getloadavg
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:8421: checking for $ac_func" >&5
+echo "configure:8602: checking for $ac_func" >&5
cat > conftest.$ac_ext <<EOF
-#line 8424 "configure"
+#line 8605 "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:8447: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:8628: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
fi
done
- test "$ac_cv_func_realpath" != "yes" && extra_objs="$extra_objs realpath.o" && if test "$extra_verbose" = "yes"; then
- echo " xemacs will be linked with \"realpath.o\""
- fi ;;
-esac
+
+if test "$ac_cv_func_getloadavg" != "yes"
+then
+ extra_objs="$extra_objs getloadavg.o" && if test "$extra_verbose" = "yes"; then
+ echo " xemacs will be linked with \"getloadavg.o\""
+ fi
+
+
+echo $ac_n "checking for kstat_open in -lkstat""... $ac_c" 1>&6
+echo "configure:8664: 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 8669 "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 kstat_open();
+
+int main() {
+kstat_open()
+; return 0; }
+EOF
+if { (eval echo configure:8680: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=no"
+fi
+rm -f conftest*
+xe_check_libs=""
+
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes" ; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_lib=HAVE_LIB`echo kstat | 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="-lkstat $LIBS" && if test "$extra_verbose" = "yes"; then echo " Prepending \"-lkstat\" to \$LIBS"; fi
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+
+echo $ac_n "checking for kvm_read in -lkvm""... $ac_c" 1>&6
+echo "configure:8714: 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 8719 "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 kvm_read();
+
+int main() {
+kvm_read()
+; return 0; }
+EOF
+if { (eval echo configure:8730: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=no"
+fi
+rm -f conftest*
+xe_check_libs=""
+
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes" ; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_lib=HAVE_LIB`echo kvm | 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="-lkvm $LIBS" && if test "$extra_verbose" = "yes"; then echo " Prepending \"-lkvm\" to \$LIBS"; fi
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+fi
echo $ac_n "checking whether netdb declares h_errno""... $ac_c" 1>&6
-echo "configure:8480: checking whether netdb declares h_errno" >&5
+echo "configure:8764: checking whether netdb declares h_errno" >&5
cat > conftest.$ac_ext <<EOF
-#line 8482 "configure"
+#line 8766 "configure"
#include "confdefs.h"
#include <netdb.h>
int main() {
return h_errno;
; return 0; }
EOF
-if { (eval echo configure:8489: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:8773: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6
{ test "$extra_verbose" = "yes" && cat << \EOF
rm -f conftest*
echo $ac_n "checking for sigsetjmp""... $ac_c" 1>&6
-echo "configure:8509: checking for sigsetjmp" >&5
+echo "configure:8793: checking for sigsetjmp" >&5
cat > conftest.$ac_ext <<EOF
-#line 8511 "configure"
+#line 8795 "configure"
#include "confdefs.h"
#include <setjmp.h>
int main() {
sigjmp_buf bar; sigsetjmp (bar, 0);
; return 0; }
EOF
-if { (eval echo configure:8518: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:8802: \"$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:8538: checking whether localtime caches TZ" >&5
+echo "configure:8822: checking whether localtime caches TZ" >&5
if test "$ac_cv_func_tzset" = "yes"; then
cat > conftest.$ac_ext <<EOF
-#line 8542 "configure"
+#line 8826 "configure"
#include "confdefs.h"
#include <time.h>
#if STDC_HEADERS
exit (0);
}
EOF
-if { (eval echo configure:8577: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5
+if { (eval echo configure:8861: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
then
emacs_cv_localtime_cache=no
else
+ conftest_rc="$?"
echo "configure: failed program was:" >&5
cat conftest.$ac_ext >&5
rm -fr conftest*
if test "$HAVE_TIMEVAL" = "yes"; then
echo $ac_n "checking whether gettimeofday accepts one or two arguments""... $ac_c" 1>&6
-echo "configure:8606: checking whether gettimeofday accepts one or two arguments" >&5
+echo "configure:8891: checking whether gettimeofday accepts one or two arguments" >&5
cat > conftest.$ac_ext <<EOF
-#line 8608 "configure"
+#line 8893 "configure"
#include "confdefs.h"
#ifdef TIME_WITH_SYS_TIME
; return 0; }
EOF
-if { (eval echo configure:8630: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:8915: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
echo "$ac_t""two" 1>&6
else
echo $ac_n "checking for inline""... $ac_c" 1>&6
-echo "configure:8652: checking for inline" >&5
+echo "configure:8937: checking for inline" >&5
ac_cv_c_inline=no
for ac_kw in inline __inline__ __inline; do
cat > conftest.$ac_ext <<EOF
-#line 8657 "configure"
+#line 8942 "configure"
#include "confdefs.h"
int main() {
} $ac_kw foo() {
; return 0; }
EOF
-if { (eval echo configure:8664: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:8949: \"$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:8714: checking for working alloca.h" >&5
+echo "configure:8999: checking for working alloca.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 8717 "configure"
+#line 9002 "configure"
#include "confdefs.h"
#include <alloca.h>
int main() {
char *p = alloca(2 * sizeof(int));
; return 0; }
EOF
-if { (eval echo configure:8724: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:9009: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
ac_cv_header_alloca_h=yes
else
fi
echo $ac_n "checking for alloca""... $ac_c" 1>&6
-echo "configure:8748: checking for alloca" >&5
+echo "configure:9033: checking for alloca" >&5
cat > conftest.$ac_ext <<EOF
-#line 8751 "configure"
+#line 9036 "configure"
#include "confdefs.h"
#ifdef __GNUC__
char *p = (char *) alloca(1);
; return 0; }
EOF
-if { (eval echo configure:8774: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:9059: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; 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:8813: checking whether alloca needs Cray hooks" >&5
+echo "configure:9098: checking whether alloca needs Cray hooks" >&5
cat > conftest.$ac_ext <<EOF
-#line 8816 "configure"
+#line 9101 "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:8840: checking for $ac_func" >&5
+echo "configure:9125: checking for $ac_func" >&5
cat > conftest.$ac_ext <<EOF
-#line 8843 "configure"
+#line 9128 "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:8866: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:9151: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; 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:8896: checking stack direction for C alloca" >&5
+echo "configure:9181: checking stack direction for C alloca" >&5
cat > conftest.$ac_ext <<EOF
-#line 8899 "configure"
+#line 9184 "configure"
#include "confdefs.h"
find_stack_direction ()
{
exit (find_stack_direction() < 0);
}
EOF
-if { (eval echo configure:8918: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5
+if { (eval echo configure:9203: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
then
ac_cv_c_stack_direction=1
else
+ conftest_rc="$?"
echo "configure: failed program was:" >&5
cat conftest.$ac_ext >&5
rm -fr conftest*
ac_safe=`echo "vfork.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for vfork.h""... $ac_c" 1>&6
-echo "configure:8946: checking for vfork.h" >&5
+echo "configure:9232: checking for vfork.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 8949 "configure"
+#line 9235 "configure"
#include "confdefs.h"
#include <vfork.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:8954: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:9240: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out`
if test -z "$ac_err"; then
rm -rf conftest*
fi
echo $ac_n "checking for working vfork""... $ac_c" 1>&6
-echo "configure:8982: checking for working vfork" >&5
+echo "configure:9268: checking for working vfork" >&5
cat > conftest.$ac_ext <<EOF
-#line 8985 "configure"
+#line 9271 "configure"
#include "confdefs.h"
/* Thanks to Paul Eggert for this test. */
#include <stdio.h>
}
}
EOF
-if { (eval echo configure:9080: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5
+if { (eval echo configure:9366: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
then
ac_cv_func_vfork_works=yes
else
+ conftest_rc="$?"
echo "configure: failed program was:" >&5
cat conftest.$ac_ext >&5
rm -fr conftest*
echo $ac_n "checking for working strcoll""... $ac_c" 1>&6
-echo "configure:9105: checking for working strcoll" >&5
+echo "configure:9392: checking for working strcoll" >&5
cat > conftest.$ac_ext <<EOF
-#line 9108 "configure"
+#line 9395 "configure"
#include "confdefs.h"
#include <string.h>
main ()
strcoll ("123", "456") >= 0);
}
EOF
-if { (eval echo configure:9118: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5
+if { (eval echo configure:9405: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
then
ac_cv_func_strcoll_works=yes
else
+ conftest_rc="$?"
echo "configure: failed program was:" >&5
cat conftest.$ac_ext >&5
rm -fr conftest*
for ac_func in getpgrp
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:9145: checking for $ac_func" >&5
+echo "configure:9433: checking for $ac_func" >&5
cat > conftest.$ac_ext <<EOF
-#line 9148 "configure"
+#line 9436 "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:9171: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:9459: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; 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:9199: checking whether getpgrp takes no argument" >&5
+echo "configure:9487: checking whether getpgrp takes no argument" >&5
cat > conftest.$ac_ext <<EOF
-#line 9202 "configure"
+#line 9490 "configure"
#include "confdefs.h"
/*
}
EOF
-if { (eval echo configure:9257: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5
+if { (eval echo configure:9545: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
then
ac_cv_func_getpgrp_void=yes
else
+ conftest_rc="$?"
echo "configure: failed program was:" >&5
cat conftest.$ac_ext >&5
rm -fr conftest*
echo $ac_n "checking for working mmap""... $ac_c" 1>&6
-echo "configure:9283: checking for working mmap" >&5
+echo "configure:9572: checking for working mmap" >&5
case "$opsys" in ultrix* ) have_mmap=no ;; *)
cat > conftest.$ac_ext <<EOF
-#line 9286 "configure"
+#line 9575 "configure"
#include "confdefs.h"
#include <stdio.h>
#include <unistd.h>
return 1;
#define MAP_ANONYMOUS 0
#endif
- if (mmap(0, 1024, PROT_READ | PROT_WRITE,
- MAP_PRIVATE | MAP_VARIABLE | MAP_ANONYMOUS,
- fd, 0) != (void *) MAP_FAILED)
- return 0;
- perror ("conftest: mmap failed");
- return 1;
-}
-EOF
-if { (eval echo configure:9319: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5
+ if (mmap(0, 1024, PROT_READ | PROT_WRITE,
+ MAP_PRIVATE | MAP_VARIABLE | MAP_ANONYMOUS,
+ fd, 0) != (void *) MAP_FAILED)
+ return 0;
+ perror ("conftest: mmap failed");
+ return 1;
+}
+EOF
+if { (eval echo configure:9608: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
+then
+ have_mmap=yes
+else
+ conftest_rc="$?"
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -fr conftest*
+ have_mmap=no
+fi
+rm -fr conftest* ;;
+esac
+echo "$ac_t""$have_mmap" 1>&6
+test "$have_mmap" = "yes" && { test "$extra_verbose" = "yes" && cat << \EOF
+ Defining HAVE_MMAP
+EOF
+cat >> confdefs.h <<\EOF
+#define HAVE_MMAP 1
+EOF
+}
+
+for ac_hdr in unistd.h
+do
+ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+echo "configure:9633: checking for $ac_hdr" >&5
+
+cat > conftest.$ac_ext <<EOF
+#line 9636 "configure"
+#include "confdefs.h"
+#include <$ac_hdr>
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:9641: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out`
+if test -z "$ac_err"; then
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=yes"
+else
+ echo "$ac_err" >&5
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=no"
+fi
+rm -f conftest*
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
+ { test "$extra_verbose" = "yes" && cat << EOF
+ Defining $ac_tr_hdr
+EOF
+cat >> confdefs.h <<EOF
+#define $ac_tr_hdr 1
+EOF
+}
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+for ac_func in getpagesize
+do
+echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+echo "configure:9673: checking for $ac_func" >&5
+
+cat > conftest.$ac_ext <<EOF
+#line 9676 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+#include <assert.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 $ac_func();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+$ac_func();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:9699: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=no"
+fi
+rm -f conftest*
+
+if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ { test "$extra_verbose" = "yes" && cat << EOF
+ Defining $ac_tr_func
+EOF
+cat >> confdefs.h <<EOF
+#define $ac_tr_func 1
+EOF
+}
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+echo $ac_n "checking for working mmap""... $ac_c" 1>&6
+echo "configure:9727: checking for working mmap" >&5
+
+cat > conftest.$ac_ext <<EOF
+#line 9730 "configure"
+#include "confdefs.h"
+
+/* Thanks to Mike Haertel and Jim Avera for this test.
+ Here is a matrix of mmap possibilities:
+ mmap private not fixed
+ mmap private fixed at somewhere currently unmapped
+ mmap private fixed at somewhere already mapped
+ mmap shared not fixed
+ mmap shared fixed at somewhere currently unmapped
+ mmap shared fixed at somewhere already mapped
+ For private mappings, we should verify that changes cannot be read()
+ back from the file, nor mmap's back from the file at a different
+ address. (There have been systems where private was not correctly
+ implemented like the infamous i386 svr4.0, and systems where the
+ VM page cache was not coherent with the filesystem buffer cache
+ like early versions of FreeBSD and possibly contemporary NetBSD.)
+ For shared mappings, we should conversely verify that changes get
+ propogated back to all the places they're supposed to be.
+
+ Grep wants private fixed already mapped.
+ The main things grep needs to know about mmap are:
+ * does it exist and is it safe to write into the mmap'd area
+ * how to use it (BSD variants) */
+#include <sys/types.h>
+#include <fcntl.h>
+#include <sys/mman.h>
+
+/* This mess was copied from the GNU getpagesize.h. */
+#ifndef HAVE_GETPAGESIZE
+# ifdef HAVE_UNISTD_H
+# include <unistd.h>
+# endif
+
+/* Assume that all systems that can run configure have sys/param.h. */
+# ifndef HAVE_SYS_PARAM_H
+# define HAVE_SYS_PARAM_H 1
+# endif
+
+# ifdef _SC_PAGESIZE
+# define getpagesize() sysconf(_SC_PAGESIZE)
+# else /* no _SC_PAGESIZE */
+# ifdef HAVE_SYS_PARAM_H
+# include <sys/param.h>
+# ifdef EXEC_PAGESIZE
+# define getpagesize() EXEC_PAGESIZE
+# else /* no EXEC_PAGESIZE */
+# ifdef NBPG
+# define getpagesize() NBPG * CLSIZE
+# ifndef CLSIZE
+# define CLSIZE 1
+# endif /* no CLSIZE */
+# else /* no NBPG */
+# ifdef NBPC
+# define getpagesize() NBPC
+# else /* no NBPC */
+# ifdef PAGESIZE
+# define getpagesize() PAGESIZE
+# endif /* PAGESIZE */
+# endif /* no NBPC */
+# endif /* no NBPG */
+# endif /* no EXEC_PAGESIZE */
+# else /* no HAVE_SYS_PARAM_H */
+# define getpagesize() 8192 /* punt totally */
+# endif /* no HAVE_SYS_PARAM_H */
+# endif /* no _SC_PAGESIZE */
+
+#endif /* no HAVE_GETPAGESIZE */
+
+#ifdef __cplusplus
+extern "C" { void *malloc(unsigned); }
+#else
+char *malloc();
+#endif
+
+int
+main()
+{
+ char *data, *data2, *data3;
+ int i, pagesize;
+ int fd;
+
+ pagesize = getpagesize();
+
+ /*
+ * First, make a file with some known garbage in it.
+ */
+ data = malloc(pagesize);
+ if (!data)
+ exit(1);
+ for (i = 0; i < pagesize; ++i)
+ *(data + i) = rand();
+ umask(0);
+ fd = creat("conftestmmap", 0600);
+ if (fd < 0)
+ exit(1);
+ if (write(fd, data, pagesize) != pagesize)
+ exit(1);
+ close(fd);
+
+ /*
+ * Next, try to mmap the file at a fixed address which
+ * already has something else allocated at it. If we can,
+ * also make sure that we see the same garbage.
+ */
+ fd = open("conftestmmap", O_RDWR);
+ if (fd < 0)
+ exit(1);
+ data2 = malloc(2 * pagesize);
+ if (!data2)
+ exit(1);
+ data2 += (pagesize - ((int) data2 & (pagesize - 1))) & (pagesize - 1);
+ if (data2 != mmap(data2, pagesize, PROT_READ | PROT_WRITE,
+ MAP_PRIVATE | MAP_FIXED, fd, 0L))
+ exit(1);
+ for (i = 0; i < pagesize; ++i)
+ if (*(data + i) != *(data2 + i))
+ exit(1);
+
+ /*
+ * Finally, make sure that changes to the mapped area
+ * do not percolate back to the file as seen by read().
+ * (This is a bug on some variants of i386 svr4.0.)
+ */
+ for (i = 0; i < pagesize; ++i)
+ *(data2 + i) = *(data2 + i) + 1;
+ data3 = malloc(pagesize);
+ if (!data3)
+ exit(1);
+ if (read(fd, data3, pagesize) != pagesize)
+ exit(1);
+ for (i = 0; i < pagesize; ++i)
+ if (*(data + i) != *(data3 + i))
+ exit(1);
+ close(fd);
+ unlink("conftestmmap");
+ exit(0);
+}
+
+EOF
+if { (eval echo configure:9870: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
then
- have_mmap=yes
+ ac_cv_func_mmap_fixed_mapped=yes
else
+ conftest_rc="$?"
echo "configure: failed program was:" >&5
cat conftest.$ac_ext >&5
rm -fr conftest*
- have_mmap=no
+ ac_cv_func_mmap_fixed_mapped=no
fi
-rm -fr conftest* ;;
-esac
-echo "$ac_t""$have_mmap" 1>&6
-test "$have_mmap" = "yes" && { test "$extra_verbose" = "yes" && cat << \EOF
+rm -fr conftest*
+
+echo "$ac_t""$ac_cv_func_mmap_fixed_mapped" 1>&6
+if test $ac_cv_func_mmap_fixed_mapped = yes; then
+ { test "$extra_verbose" = "yes" && cat << \EOF
Defining HAVE_MMAP
EOF
cat >> confdefs.h <<\EOF
EOF
}
+fi
+
test "$GNU_MALLOC" != "yes" -a "$have_mmap" != "yes" && rel_alloc=no
test "$rel_alloc" = "default" -a "$have_mmap" = "yes" && rel_alloc=yes
ac_safe=`echo "termios.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for termios.h""... $ac_c" 1>&6
-echo "configure:9353: checking for termios.h" >&5
+echo "configure:9908: checking for termios.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 9356 "configure"
+#line 9911 "configure"
#include "confdefs.h"
#include <termios.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:9361: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:9916: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out`
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:9404: checking for termio.h" >&5
+echo "configure:9959: checking for termio.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 9407 "configure"
+#line 9962 "configure"
#include "confdefs.h"
#include <termio.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:9412: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:9967: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out`
if test -z "$ac_err"; then
rm -rf conftest*
echo $ac_n "checking for socket""... $ac_c" 1>&6
-echo "configure:9444: checking for socket" >&5
+echo "configure:9999: checking for socket" >&5
cat > conftest.$ac_ext <<EOF
-#line 9447 "configure"
+#line 10002 "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:9470: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:10025: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; 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:9485: checking for netinet/in.h" >&5
+echo "configure:10040: checking for netinet/in.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 9488 "configure"
+#line 10043 "configure"
#include "confdefs.h"
#include <netinet/in.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:9493: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:10048: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out`
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:9510: checking for arpa/inet.h" >&5
+echo "configure:10065: checking for arpa/inet.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 9513 "configure"
+#line 10068 "configure"
#include "confdefs.h"
#include <arpa/inet.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:9518: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:10073: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out`
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:9543: checking "for sun_len member in struct sockaddr_un"" >&5
+echo "configure:10098: checking "for sun_len member in struct sockaddr_un"" >&5
cat > conftest.$ac_ext <<EOF
-#line 9545 "configure"
+#line 10100 "configure"
#include "confdefs.h"
#include <sys/types.h>
static struct sockaddr_un x; x.sun_len = 1;
; return 0; }
EOF
-if { (eval echo configure:9556: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:10111: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6; { test "$extra_verbose" = "yes" && cat << \EOF
Defining HAVE_SOCKADDR_SUN_LEN
fi
rm -f conftest*
echo $ac_n "checking "for ip_mreq struct in netinet/in.h"""... $ac_c" 1>&6
-echo "configure:9574: checking "for ip_mreq struct in netinet/in.h"" >&5
+echo "configure:10129: checking "for ip_mreq struct in netinet/in.h"" >&5
cat > conftest.$ac_ext <<EOF
-#line 9576 "configure"
+#line 10131 "configure"
#include "confdefs.h"
#include <sys/types.h>
static struct ip_mreq x;
; return 0; }
EOF
-if { (eval echo configure:9586: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:10141: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
echo "$ac_t""yes" 1>&6; { test "$extra_verbose" = "yes" && cat << \EOF
Defining HAVE_MULTICAST
echo $ac_n "checking for msgget""... $ac_c" 1>&6
-echo "configure:9617: checking for msgget" >&5
+echo "configure:10172: checking for msgget" >&5
cat > conftest.$ac_ext <<EOF
-#line 9620 "configure"
+#line 10175 "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:9643: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:10198: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; 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:9658: checking for sys/ipc.h" >&5
+echo "configure:10213: checking for sys/ipc.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 9661 "configure"
+#line 10216 "configure"
#include "confdefs.h"
#include <sys/ipc.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:9666: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:10221: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out`
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:9683: checking for sys/msg.h" >&5
+echo "configure:10238: checking for sys/msg.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 9686 "configure"
+#line 10241 "configure"
#include "confdefs.h"
#include <sys/msg.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:9691: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:10246: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out`
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:9729: checking for dirent.h" >&5
+echo "configure:10284: checking for dirent.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 9732 "configure"
+#line 10287 "configure"
#include "confdefs.h"
#include <dirent.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:9737: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:10292: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out`
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:9764: checking for sys/dir.h" >&5
+echo "configure:10319: checking for sys/dir.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 9767 "configure"
+#line 10322 "configure"
#include "confdefs.h"
#include <sys/dir.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:9772: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:10327: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out`
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:9805: checking for nlist.h" >&5
+echo "configure:10360: checking for nlist.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 9808 "configure"
+#line 10363 "configure"
#include "confdefs.h"
#include <nlist.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:9813: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:10368: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out`
if test -z "$ac_err"; then
rm -rf conftest*
echo "checking "for sound support"" 1>&6
-echo "configure:9843: checking "for sound support"" >&5
+echo "configure:10398: checking "for sound support"" >&5
case "$with_sound" in
native | both ) with_native_sound=yes;;
nas | no ) with_native_sound=no;;
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:9854: checking for multimedia/audio_device.h" >&5
+echo "configure:10409: checking for multimedia/audio_device.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 9857 "configure"
+#line 10412 "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:9862: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:10417: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out`
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:9910: checking for ALopenport in -laudio" >&5
+echo "configure:10465: 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 9915 "configure"
+#line 10470 "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:9926: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:10481: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
if test -z "$native_sound_lib"; then
echo $ac_n "checking for AOpenAudio in -lAlib""... $ac_c" 1>&6
-echo "configure:9957: checking for AOpenAudio in -lAlib" >&5
+echo "configure:10512: 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 9962 "configure"
+#line 10517 "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:9973: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:10528: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
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:10011: checking for ${dir}/soundcard.h" >&5
+echo "configure:10566: checking for ${dir}/soundcard.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 10014 "configure"
+#line 10569 "configure"
#include "confdefs.h"
#include <${dir}/soundcard.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:10019: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:10574: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out`
if test -z "$ac_err"; then
rm -rf conftest*
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 10089 "configure"
+#line 10644 "configure"
#include "confdefs.h"
#include <audio/Xtutil.h>
EOF
if test "$with_tty" = "yes" ; then
echo "checking for TTY-related features" 1>&6
-echo "configure:10116: checking for TTY-related features" >&5
+echo "configure:10671: 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:10132: checking for tgetent in -lncurses" >&5
+echo "configure:10687: 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 10137 "configure"
+#line 10692 "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:10148: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:10703: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
ac_safe=`echo "ncurses/curses.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for ncurses/curses.h""... $ac_c" 1>&6
-echo "configure:10181: checking for ncurses/curses.h" >&5
+echo "configure:10736: checking for ncurses/curses.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 10184 "configure"
+#line 10739 "configure"
#include "confdefs.h"
#include <ncurses/curses.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:10189: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:10744: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out`
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:10211: checking for ncurses/term.h" >&5
+echo "configure:10766: checking for ncurses/term.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 10214 "configure"
+#line 10769 "configure"
#include "confdefs.h"
#include <ncurses/term.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:10219: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:10774: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out`
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:10249: checking for ncurses/curses.h" >&5
+echo "configure:10804: checking for ncurses/curses.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 10252 "configure"
+#line 10807 "configure"
#include "confdefs.h"
#include <ncurses/curses.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:10257: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:10812: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out`
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:10292: checking for tgetent in -l$lib" >&5
+echo "configure:10847: 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 10297 "configure"
+#line 10852 "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:10308: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:10863: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
else
echo $ac_n "checking for tgetent in -lcurses""... $ac_c" 1>&6
-echo "configure:10339: checking for tgetent in -lcurses" >&5
+echo "configure:10894: 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 10344 "configure"
+#line 10899 "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:10355: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:10910: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
else
echo "$ac_t""no" 1>&6
echo $ac_n "checking for tgetent in -ltermcap""... $ac_c" 1>&6
-echo "configure:10373: checking for tgetent in -ltermcap" >&5
+echo "configure:10928: 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 10378 "configure"
+#line 10933 "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:10389: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:10944: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
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:10437: checking for gpm.h" >&5
+echo "configure:10992: checking for gpm.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 10440 "configure"
+#line 10995 "configure"
#include "confdefs.h"
#include <gpm.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:10445: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:11000: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out`
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:10468: checking for Gpm_Open in -lgpm" >&5
+echo "configure:11023: 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 10473 "configure"
+#line 11028 "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:10484: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:11039: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
fi
-echo "checking for database support" 1>&6
-echo "configure:10533: checking for database support" >&5
+test "$with_database_gnudbm $with_database_dbm $with_database_berkdb" \
+ != "no no no" && echo "checking for database support" 1>&6
+echo "configure:11089: checking for database support" >&5
-if test "$with_database_gnudbm" != "no"; then
- for ac_hdr in ndbm.h
-do
-ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
-echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:10540: checking for $ac_hdr" >&5
+if test "$with_database_gnudbm $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:11094: checking for ndbm.h" >&5
cat > conftest.$ac_ext <<EOF
-#line 10543 "configure"
+#line 11097 "configure"
#include "confdefs.h"
-#include <$ac_hdr>
+#include <ndbm.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:10548: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:11102: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out`
if test -z "$ac_err"; then
rm -rf conftest*
rm -f conftest*
if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
echo "$ac_t""yes" 1>&6
- ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
- { test "$extra_verbose" = "yes" && cat << EOF
- Defining $ac_tr_hdr
-EOF
-cat >> confdefs.h <<EOF
-#define $ac_tr_hdr 1
-EOF
-}
- have_ndbm_h=yes
+ :
else
echo "$ac_t""no" 1>&6
+
+ test "$with_database_gnudbm" = "yes" -o \
+ "$with_database_dbm" = "yes" && \
+ { echo "Error:" "Required DBM support cannot be provided." >&2; exit 1; }
+ with_database_gnudbm=no with_database_dbm=no
fi
-done
- if test "$have_ndbm_h" = "yes"; then
-
+fi
+
+if test "$with_database_gnudbm" != "no"; then
+
echo $ac_n "checking for dbm_open in -lgdbm""... $ac_c" 1>&6
-echo "configure:10580: checking for dbm_open in -lgdbm" >&5
+echo "configure:11132: 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 10585 "configure"
+#line 11137 "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:10596: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:11148: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes" ; then
echo "$ac_t""yes" 1>&6
- with_database_gnudbm=yes have_libgdbm=yes
-else
- echo "$ac_t""no" 1>&6
-fi
-
-
- fi
- if test "$with_database_gnudbm" != "yes"; then
- echo $ac_n "checking for dbm_open""... $ac_c" 1>&6
-echo "configure:10619: checking for dbm_open" >&5
-
-cat > conftest.$ac_ext <<EOF
-#line 10622 "configure"
-#include "confdefs.h"
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char dbm_open(); below. */
-#include <assert.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 dbm_open();
-
-int main() {
-
-/* The GNU C library defines this for functions which it implements
- to always fail with ENOSYS. Some functions are actually named
- something starting with __ and the normal name is an alias. */
-#if defined (__stub_dbm_open) || defined (__stub___dbm_open)
-choke me
-#else
-dbm_open();
-#endif
-
-; return 0; }
-EOF
-if { (eval echo configure:10645: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
- rm -rf conftest*
- eval "ac_cv_func_dbm_open=yes"
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_func_dbm_open=no"
-fi
-rm -f conftest*
-
-if eval "test \"`echo '$ac_cv_func_'dbm_open`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- with_database_gnudbm=yes
+ with_database_gnudbm=yes with_database_dbm=no libdbm=-lgdbm
else
echo "$ac_t""no" 1>&6
+if test "$with_database_gnudbm" = "yes"; then
+ { echo "Error:" "Required GNU DBM support cannot be provided." >&2; exit 1; }
+ fi
+ with_database_gnudbm=no
fi
- fi
- if test "$with_database_gnudbm" = "yes"; then
- { test "$extra_verbose" = "yes" && cat << \EOF
- Defining HAVE_DBM
-EOF
-cat >> confdefs.h <<\EOF
-#define HAVE_DBM 1
-EOF
-}
- test "$have_libgdbm" = "yes" && LIBS="-lgdbm $LIBS" && if test "$extra_verbose" = "yes"; then echo " Prepending \"-lgdbm\" to \$LIBS"; fi
- with_database_dbm=no
- else with_database_gnudbm=no
- fi
fi
if test "$with_database_dbm" != "no"; then
echo $ac_n "checking for dbm_open""... $ac_c" 1>&6
-echo "configure:10681: checking for dbm_open" >&5
+echo "configure:11176: checking for dbm_open" >&5
cat > conftest.$ac_ext <<EOF
-#line 10684 "configure"
+#line 11179 "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:10707: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:11202: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_func_dbm_open=yes"
else
if eval "test \"`echo '$ac_cv_func_'dbm_open`\" = yes"; then
echo "$ac_t""yes" 1>&6
- with_database_dbm=yes need_libdbm=no
+ with_database_dbm=yes libdbm=
else
echo "$ac_t""no" 1>&6
-fi
- if test "$need_libdbm" != "no"; then
echo $ac_n "checking for dbm_open in -ldbm""... $ac_c" 1>&6
-echo "configure:10728: checking for dbm_open in -ldbm" >&5
+echo "configure:11221: 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 10733 "configure"
+#line 11226 "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:10744: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:11237: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes" ; then
echo "$ac_t""yes" 1>&6
- with_database_dbm=yes need_libdbm=yes
+ with_database_dbm=yes libdbm=-ldbm
else
echo "$ac_t""no" 1>&6
+test "$with_database_dbm" = "yes" && \
+ { echo "Error:" "Required DBM support cannot be provided." >&2; exit 1; }
+ with_database_dbm=no
fi
- fi
- if test "$with_database_dbm" = "yes"; then
- { test "$extra_verbose" = "yes" && cat << \EOF
+fi
+
+fi
+
+test -n "$libdbm" && LIBS=""$libdbm" $LIBS" && if test "$extra_verbose" = "yes"; then echo " Prepending \""$libdbm"\" to \$LIBS"; fi
+test "$with_database_gnudbm" = "yes" -o \
+ "$with_database_dbm" = "yes" && \
+ { test "$extra_verbose" = "yes" && cat << \EOF
Defining HAVE_DBM
EOF
cat >> confdefs.h <<\EOF
EOF
}
- test "$need_libdbm" = "yes" && LIBS="-ldbm $LIBS" && if test "$extra_verbose" = "yes"; then echo " Prepending \"-ldbm\" to \$LIBS"; fi
- else with_database_dbm=no
- fi
-fi
if test "$with_database_berkdb" != "no"; then
echo $ac_n "checking for Berkeley db.h""... $ac_c" 1>&6
-echo "configure:10781: checking for Berkeley db.h" >&5
+echo "configure:11278: checking for Berkeley db.h" >&5
for path in "db/db.h" "db.h"; do
cat > conftest.$ac_ext <<EOF
-#line 10784 "configure"
+#line 11281 "configure"
#include "confdefs.h"
#ifdef HAVE_INTTYPES_H
#define __BIT_TYPES_DEFINED__
; return 0; }
EOF
-if { (eval echo configure:10802: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:11299: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
db_h_path="$path"; break
else
fi
rm -f conftest*
done
- if test -z "$db_h_path"
+ if test -z "$db_h_path"
then echo "$ac_t""no" 1>&6; with_database_berkdb=no
else echo "$ac_t""$db_h_path" 1>&6
fi
if test "$with_database_berkdb" != "no"; then
echo $ac_n "checking for Berkeley DB version""... $ac_c" 1>&6
-echo "configure:10818: checking for Berkeley DB version" >&5
+echo "configure:11315: checking for Berkeley DB version" >&5
cat > conftest.$ac_ext <<EOF
-#line 10820 "configure"
+#line 11317 "configure"
#include "confdefs.h"
#include <$db_h_path>
#if DB_VERSION_MAJOR > 1
rm -f conftest*
echo $ac_n "checking for $dbfunc""... $ac_c" 1>&6
-echo "configure:10839: checking for $dbfunc" >&5
+echo "configure:11336: checking for $dbfunc" >&5
cat > conftest.$ac_ext <<EOF
-#line 10842 "configure"
+#line 11339 "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:10865: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:11362: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; 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:10884: checking for $dbfunc in -ldb" >&5
+echo "configure:11381: 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 10889 "configure"
+#line 11386 "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:10900: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:11397: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
if test "$with_socks" = "yes"; then
echo $ac_n "checking for SOCKSinit in -lsocks""... $ac_c" 1>&6
-echo "configure:10964: checking for SOCKSinit in -lsocks" >&5
+echo "configure:11461: 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 10969 "configure"
+#line 11466 "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:10980: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:11477: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:11037: checking for $ac_hdr" >&5
+echo "configure:11534: checking for $ac_hdr" >&5
cat > conftest.$ac_ext <<EOF
-#line 11040 "configure"
+#line 11537 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:11045: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:11542: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out`
if test -z "$ac_err"; then
rm -rf conftest*
EOF
}
have_dlfcn=yes
+ { test "$extra_verbose" = "yes" && cat << \EOF
+ Defining HAVE_DLFCN_H
+EOF
+cat >> confdefs.h <<\EOF
+#define HAVE_DLFCN_H 1
+EOF
+}
+
else
echo "$ac_t""no" 1>&6
fi
test -z "$with_shlib" && test ! -z "$have_dlfcn" && {
echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6
-echo "configure:11076: checking for dlopen in -ldl" >&5
+echo "configure:11581: checking for dlopen in -ldl" >&5
ac_lib_var=`echo dl'_'dlopen | sed 'y%./+-%__p_%'`
xe_check_libs=" -ldl "
cat > conftest.$ac_ext <<EOF
-#line 11081 "configure"
+#line 11586 "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
dlopen()
; return 0; }
EOF
-if { (eval echo configure:11092: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:11597: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
}
test -z "$with_shlib" && test ! -z "$have_dlfcn" && {
echo $ac_n "checking for _dlopen in -lc""... $ac_c" 1>&6
-echo "configure:11121: checking for _dlopen in -lc" >&5
+echo "configure:11626: checking for _dlopen in -lc" >&5
ac_lib_var=`echo c'_'_dlopen | sed 'y%./+-%__p_%'`
xe_check_libs=" -lc "
cat > conftest.$ac_ext <<EOF
-#line 11126 "configure"
+#line 11631 "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
_dlopen()
; return 0; }
EOF
-if { (eval echo configure:11137: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:11642: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
}
test -z "$with_shlib" && test ! -z "$have_dlfcn" && {
echo $ac_n "checking for dlopen in -lc""... $ac_c" 1>&6
-echo "configure:11166: checking for dlopen in -lc" >&5
+echo "configure:11671: checking for dlopen in -lc" >&5
ac_lib_var=`echo c'_'dlopen | sed 'y%./+-%__p_%'`
xe_check_libs=" -lc "
cat > conftest.$ac_ext <<EOF
-#line 11171 "configure"
+#line 11676 "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
dlopen()
; return 0; }
EOF
-if { (eval echo configure:11182: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:11687: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
}
test -z "$with_shlib" && {
echo $ac_n "checking for shl_load in -ldld""... $ac_c" 1>&6
-echo "configure:11211: checking for shl_load in -ldld" >&5
+echo "configure:11716: 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 11216 "configure"
+#line 11721 "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:11227: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:11732: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=no"
+fi
+rm -f conftest*
+xe_check_libs=""
+
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes" ; then
+ echo "$ac_t""yes" 1>&6
+ { test "$extra_verbose" = "yes" && cat << \EOF
+ Defining HAVE_SHL_LOAD
+EOF
+cat >> confdefs.h <<\EOF
+#define HAVE_SHL_LOAD 1
+EOF
+}
+ DLL_LIB=dld; with_shlib=yes
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ }
+test -z "$with_shlib" && {
+echo $ac_n "checking for dld_init in -ldld""... $ac_c" 1>&6
+echo "configure:11761: 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 11766 "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 dld_init();
+
+int main() {
+dld_init()
+; return 0; }
+EOF
+if { (eval echo configure:11777: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
echo "configure: failed program was:" >&5
cat conftest.$ac_ext >&5
rm -rf conftest*
- eval "ac_cv_lib_$ac_lib_var=no"
+ 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
+ { test "$extra_verbose" = "yes" && cat << \EOF
+ Defining HAVE_DLD_INIT
+EOF
+cat >> confdefs.h <<\EOF
+#define HAVE_DLD_INIT 1
+EOF
+}
+ DLL_LIB=dld; with_shlib=yes
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ }
+if test "$with_shlib" = "yes"; then
+
+dll_ld=
+dll_ldflags=
+dll_cflags=
+dll_post=
+dll_ldo="-o"
+ld_dynamic_link_flags=
+xehost=$canonical
+xealias=$internal_configuration
+
+echo "checking how to build dynamic libraries for ${xehost}" 1>&6
+echo "configure:11816: checking how to build dynamic libraries for ${xehost}" >&5
+# Transform *-*-linux* to *-*-linux-gnu*, to support old configure scripts.
+case "$xehost" in
+*-*-linux-gnu*) ;;
+*-*-linux*) xehost=`echo $xehost | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'`
+esac
+
+xehost_cpu=`echo $xehost | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+xehost_vendor=`echo $xehost | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+xehost_os=`echo $xehost | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+
+case "$xehost_os" in
+aix3*)
+ # AIX sometimes has problems with the GCC collect2 program. For some
+ # reason, if we set the COLLECT_NAMES environment variable, the problems
+ # vanish in a puff of smoke.
+ if test "${COLLECT_NAMES+set}" != set; then
+ COLLECT_NAMES=
+ export COLLECT_NAMES
+ fi
+ ;;
+esac
+
+# Now see if the compiler is really GCC.
+if test "$GCC" = "yes"; then
+ XEGCC=yes
+else
+ echo $ac_n "checking checking whether we are using GNU C""... $ac_c" 1>&6
+echo "configure:11844: checking checking whether we are using GNU C" >&5
+ cat > conftest.$ac_ext <<EOF
+#line 11846 "configure"
+#include "confdefs.h"
+
+#ifdef __GNUC__
+ yes;
+#endif
+
+EOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ egrep "yes" >/dev/null 2>&1; then
+ rm -rf conftest*
+ XEGCC=yes
+else
+ rm -rf conftest*
+ XEGCC=no
+fi
+rm -f conftest*
+
+ echo "$ac_t""${XEGCC}" 1>&6
+fi
+
+echo $ac_n "checking how to produce PIC code""... $ac_c" 1>&6
+echo "configure:11868: checking how to produce PIC code" >&5
+wl=
+
+can_build_shared=yes
+if test "$XEGCC" = yes; then
+ wl='-Wl,'
+
+ case "$xehost_os" in
+ aix3* | aix4* | irix5* | irix6* | osf3* | osf4*)
+ # PIC is the default for these OSes.
+ ;;
+
+ os2*)
+ # We can build DLLs from non-PIC.
+ ;;
+ amigaos*)
+ # FIXME: we need at least 68020 code to build shared libraries, but
+ # adding the `-m68020' flag to GCC prevents building anything better,
+ # like `-m68040'.
+ dll_cflags='-m68020 -resident32 -malways-restore-a4'
+ ;;
+ *)
+ dll_cflags='-fPIC'
+ ;;
+ esac
+else
+ # PORTME Check for PIC flags for the system compiler.
+ case "$xehost_os" in
+ hpux9* | hpux10*)
+ # Is there a better link_static_flag that works with the bundled CC?
+ wl='-Wl,'
+ dll_cflags='+Z'
+ ;;
+
+ irix5* | irix6*)
+ wl='-Wl,'
+ # PIC (with -KPIC) is the default.
+ ;;
+
+ os2*)
+ # We can build DLLs from non-PIC.
+ ;;
+
+ osf3* | osf4*)
+ # All OSF/1 code is PIC.
+ wl='-Wl,'
+ ;;
+
+ sco3.2v5*)
+ dll_cflags='-belf -Kpic'
+ wl='-Wl,'
+ ;;
+
+ unixware*)
+ dll_cflags="-KPIC"
+ wl="-Wl,"
+ ;;
+
+ sysv4*)
+ dll_cflags="-KPIC"
+ wl="-Wl,"
+ ;;
+
+ sysv5*)
+ dll_cflags="-KPIC"
+ wl="-Wl,"
+ ;;
+
+ solaris2*)
+ dll_cflags='-KPIC'
+ wl='-Wl,'
+ ;;
+
+ sunos4*)
+ dll_cflags='-PIC'
+ wl='-Qoption ld '
+ ;;
+
+ uts4*)
+ dll_cflags='-pic'
+ ;;
+
+ *)
+ can_build_shared=no
+ ;;
+ esac
+fi
+
+if test -n "$dll_cflags"; then
+ echo "$ac_t""${dll_cflags}" 1>&6
+
+ # 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:11961: checking if PIC flag ${dll_cflags} really works" >&5
+ save_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS $dll_cflags -DPIC"
+ cat > conftest.$ac_ext <<EOF
+#line 11965 "configure"
+#include "confdefs.h"
+
+int main() {
+int x=0;
+; return 0; }
+EOF
+if { (eval echo configure:11972: \"$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
+ # reports no error. So, we need to grep stderr for (Bundled).
+ if grep '(Bundled)' config.log >/dev/null; then
+ echo "$ac_t""no" 1>&6
+ can_build_shared=no
+ dll_cflags=
+ else
+ echo "$ac_t""yes" 1>&6
+ fi
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ echo "$ac_t""no" 1>&6
+ can_build_shared=no
+ dll_cflags=
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
- { test "$extra_verbose" = "yes" && cat << \EOF
- Defining HAVE_SHL_LOAD
-EOF
-cat >> confdefs.h <<\EOF
-#define HAVE_SHL_LOAD 1
-EOF
-}
- DLL_LIB=dld; with_shlib=yes
+ CFLAGS="$save_CFLAGS"
else
- echo "$ac_t""no" 1>&6
+ echo "$ac_t""none" 1>&6
fi
- }
-test -z "$with_shlib" && {
-echo $ac_n "checking for dld_init in -ldld""... $ac_c" 1>&6
-echo "configure:11256: checking for dld_init in -ldld" >&5
-ac_lib_var=`echo dld'_'dld_init | sed 'y%./+-%__p_%'`
+if test "$can_build_shared" = "yes"; then
+cc_produces_so=no
+xldf=
+xcldf=
+echo $ac_n "checking if C compiler can produce shared libraries""... $ac_c" 1>&6
+echo "configure:12003: checking if C compiler can produce shared libraries" >&5
+if test "$XEGCC" = yes; then
+ xcldf="-shared"
+ xldf="-shared"
+else # Not using GCC
+ case "$xehost_os" in
+ aix3* | aix4*)
+ xldf="-bE:ELLSONAME.exp -H512 -T512 -bhalt:4 -bM:SRE -bnoentry -lc"
+ xcldf="${wl}-bE:ELLSONAME.exp ${wl}-H512 ${wl}-T512 ${wl}-bhalt:4 ${wl}-bM:SRE ${wl}-bnoentry ${wl}-lc"
+ ;;
-xe_check_libs=" -ldld "
-cat > conftest.$ac_ext <<EOF
-#line 11261 "configure"
+ freebsd2* | netbsd* | openbsd*)
+ xldf="-Bshareable"
+ xcldf="${wl}-Bshareable"
+ ;;
+
+ freebsd3*)
+ xcldf="-shared"
+ ;;
+
+ hpux*)
+ xldf="-b +s"
+ xcldf="${wl}-b ${wl}+s"
+ ;;
+
+ irix5* | irix6* | osf3* | osf4*)
+ xcldf="${wl}-shared"
+ xldf="-shared"
+ ;;
+
+ sco3.2v5* | unixware* | sysv5* | sysv4* | solaris2* | solaris7* | uts4*)
+ xcldf="-G"
+ xldf="-G"
+ ;;
+
+ sunos4*)
+ xcldf="${wl}-assert ${wl}pure-text ${wl}-Bstatic"
+ xldf="-assert pure-text -Bstatic"
+ ;;
+ esac
+fi # End if if we are using gcc
+
+if test -n "$xcldf"; then
+ save_LDFLAGS=$LDFLAGS
+ save_LIBS=$LIBS
+ save_xe_libs=$xe_libs
+ LDFLAGS="$xcldf $LDFLAGS"
+ LIBS=
+ 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 12054 "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 dld_init();
int main() {
-dld_init()
+int x=0;
; return 0; }
EOF
-if { (eval echo configure:11272: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:12061: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
- eval "ac_cv_lib_$ac_lib_var=yes"
+ cc_produces_so=yes
else
echo "configure: failed program was:" >&5
cat conftest.$ac_ext >&5
rm -rf conftest*
- eval "ac_cv_lib_$ac_lib_var=no"
+ cc_produces_so=no
fi
rm -f conftest*
-xe_check_libs=""
+ LDFLAGS=$save_LDFLAGS
+ LIBS=$save_LIBS
+ xe_libs=$save_xe_libs
+ ac_link='${CC-cc} -o conftest $CFLAGS '"$xe_cppflags $xe_ldflags"' conftest.$ac_ext '"$xe_libs"' 1>&5'
+else
+ cc_produces_so=no
+fi
+echo "$ac_t""${cc_produces_so}" 1>&6
-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes" ; then
- echo "$ac_t""yes" 1>&6
- { test "$extra_verbose" = "yes" && cat << \EOF
- Defining HAVE_DLD_INIT
-EOF
-cat >> confdefs.h <<\EOF
-#define HAVE_DLD_INIT 1
-EOF
-}
- DLL_LIB=dld; with_shlib=yes
+LTLD=$LD
+if test -z "$LTLD"; then
+ ac_prog=ld
+ 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:12086: checking for ld used by GCC" >&5
+ ac_prog=`($CC -print-prog-name=ld) 2>&5`
+ case "$ac_prog" in
+ # Accept absolute paths.
+ /*)
+ if test -z "$LTLD"; then
+ case "$ac_prog" in
+ *gcc-lib*) LTLD="$CC"
+ ;;
+ *) LTLD="$ac_prog"
+ ;;
+ esac
+ fi
+ ;;
+ "")
+ # If it fails, then pretend we aren't using GCC.
+ ac_prog=ld
+ ;;
+ *)
+ # If it is relative, then search for the first ld in PATH.
+ with_gnu_ld=unknown
+ ;;
+ esac
+ else
+ echo $ac_n "checking for GNU ld""... $ac_c" 1>&6
+echo "configure:12111: checking for GNU ld" >&5
+ fi
+
+ if test -z "$LTLD"; then
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+ for ac_dir in $PATH; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f "$ac_dir/$ac_prog"; then
+ LTLD="$ac_dir/$ac_prog"
+ # Check to see if the program is GNU ld. I'd rather use --version,
+ # but apparently some GNU ld's only accept -v.
+ # Break only if it was the GNU/non-GNU ld that we prefer.
+ if "$LTLD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then
+ xe_gnu_ld=yes
+ else
+ xe_gnu_ld=no
+ fi
+ fi
+ done
+ IFS="$ac_save_ifs"
+ fi
+
+ if test -n "$LTLD"; then
+ echo "$ac_t""${LTLD}" 1>&6
+ else
+ echo "$ac_t""no" 1>&6
+ fi
+
+ if test -z "$LTLD" -a "$cc_produces_so" = no; then
+ { echo "configure: error: no acceptable linker found in \$PATH" 1>&2; exit 1; }
+ exit 1
+ fi
+fi
+
+ld_dynamic_link_flags=
+
+# Check to see if it really is or isn't GNU ld.
+echo $ac_n "checking if the linker is GNU ld""... $ac_c" 1>&6
+echo "configure:12149: 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
else
- echo "$ac_t""no" 1>&6
+ xe_gnu_ld=no
fi
+echo "$ac_t""${xe_gnu_ld}" 1>&6
- }
-if test "$with_shlib" = "yes"; then
- { test "$extra_verbose" = "yes" && cat << \EOF
+case "$xehost_os" in
+ amigaos* | sunos4*)
+ # On these operating systems, we should treat GNU ld like the system ld.
+ gnu_ld_acts_native=yes
+ ;;
+ *)
+ gnu_ld_acts_native=no
+ ;;
+esac
+
+if test "$cc_produces_so" = "yes"; then
+ dll_ld=$CC
+ dll_ldflags=$xcldf
+ can_build_shared=yes
+else
+ # OK - only NOW do we futz about with ld.
+ # See if the linker supports building shared libraries.
+ echo $ac_n "checking whether the linker supports shared libraries""... $ac_c" 1>&6
+echo "configure:12176: checking whether the linker supports shared libraries" >&5
+ dll_ld=$CC
+ dll_ldflags=$LDFLAGS
+ ld_shlibs=yes
+ can_build_shared=yes
+ if test "$xe_gnu_ld" = yes && test "$gnu_ld_acts_native" != yes; then
+ # See if GNU ld supports shared libraries.
+ if $LTLD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then
+ dll_ld=$CC
+ dll_ldflags="-shared"
+ ld_shlibs=yes
+ else
+ ld_shlibs=no
+ fi
+ else
+ # PORTME fill in a description of your system's linker (not GNU ld)
+ case "$xehost_os" in
+ aix3*)
+ dll_ld=$LTLD
+ dll_ldflags=$xldf
+ ;;
+
+ aix4*)
+ dll_ldflags=$xcldf
+ ;;
+
+ # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
+ # support. Future versions do this automatically, but an explicit c++rt0.o
+ # doesn't break anything, and helps significantly (at the cost of a little
+ # extra space).
+ freebsd2.2*)
+ dll_ld=$LTLD
+ dll_ldflags=$xldf
+ dll_post="/usr/lib/c++rt0.o"
+ ;;
+
+ # Unfortunately, older versions of FreeBSD 2 don't have this feature.
+ freebsd2*)
+ dll_ld=$LTLD
+ dll_ldflags="-Bshareable"
+ ;;
+
+ # FreeBSD 3, at last, uses gcc -shared to do shared libraries.
+ freebsd3*)
+ dll_ldflags="-shared"
+ ;;
+
+ hpux*)
+ dll_ld=$LTLD
+ dll_ldflags=$xldf
+ ;;
+
+ irix5* | irix6*)
+ dll_ld=$LTLD
+ dll_ldflags=$xldf
+ ;;
+
+ netbsd*)
+ # Tested with NetBSD 1.2 ld
+ dll_ld=$LTLD
+ dll_ldflags=$xldf
+ ;;
+
+ openbsd*)
+ dll_ld=$LTLD
+ dll_ldflags=$xldf
+ ;;
+
+ osf3* | osf4*)
+ dll_ld=$LTLD
+ dll_ldflags=$xldf
+ ;;
+
+ # For both SCO and Solaris we MAY want to have LDFLAGS include -z text
+ sco3.2v5* | unixware* | sysv5* | sysv4* | solaris2* | solaris7*)
+ dll_ld=$LTLD
+ case "$dll_ld" in
+ *gcc*) dll_ldflags="-shared"
+ dll_ld=$CC
+ ;;
+ *) dll_ldflags="-G"
+ ;;
+ esac
+ ;;
+
+ sunos4*)
+ if test "$XEGCC" = yes; then
+ dll_ld=$CC
+ else
+ dll_ld=$LTLD
+ fi
+ dll_ldflags=$xldf
+ ;;
+
+ uts4*)
+ dll_ld=$LTLD
+ dll_ldflags="-G"
+ ;;
+
+ bsdi*)
+ dll_ldflags="-r"
+ dll_ld="shlicc2"
+ ;;
+
+ *)
+ ld_shlibs=no
+ can_build_shared=no
+ ;;
+ esac
+ fi
+ echo "$ac_t""${ld_shlibs}" 1>&6
+ if test "$ld_shlibs" = "no"; then
+ can_build_shared=no
+ fi
+fi # End of if cc_produces_so = no
+
+
+if test "$xe_gnu_ld" = yes; then
+ if test "$ld_shlibs" = yes; then
+ ld_dynamic_link_flags="${wl}-export-dynamic"
+ fi
+fi
+
+if test -z "$ld_dynamic_link_flags"; then
+ case "$xehost_os" in
+ aix3*)
+ ld_dynamic_link_flags=
+ ;;
+
+ aix4*)
+ ld_dynamic_link_flags=
+ ;;
+
+ freebsd2.2*)
+ ld_dynamic_link_flags=
+ ;;
+
+ freebsd2*)
+ ld_dynamic_link_flags=
+ ;;
+
+ freebsd3*)
+ ld_dynamic_link_flags=
+ ;;
+
+ hpux*)
+ ld_dynamic_link_flags="${wl}-E"
+ ;;
+
+ irix5* | irix6*)
+ ld_dynamic_link_flags=
+ ;;
+
+ netbsd*)
+ ld_dynamic_link_flags=
+ ;;
+
+ openbsd*)
+ ld_dynamic_link_flags=
+ ;;
+
+ osf3* | osf4*)
+ ld_dynamic_link_flags=
+ ;;
+
+ solaris2* | solaris7*)
+ ld_dynamic_link_flags="${wl}-Bdynamic"
+ ;;
+
+ sco3.2v5* | unixware* | sysv5* | sysv4*)
+ ld_dynamic_link_flags="${wl}-Bexport"
+ ;;
+
+ sunos4*)
+ ld_dynamic_link_flags=
+ ;;
+
+ uts4*)
+ ld_dynamic_link_flags=
+ ;;
+
+ bsdi*)
+ ld_dynamic_link_flags=
+ ;;
+
+ esac
+fi # End of if -z ld_dynamic_link_flags
+fi # End of if test "$can_build_shared" = "yes"
+
+
+
+
+
+
+
+
+ if test "$can_build_shared" = "yes"; then
+ { test "$extra_verbose" = "yes" && cat << \EOF
Defining HAVE_SHLIB
EOF
cat >> confdefs.h <<\EOF
EOF
}
- extra_objs="$extra_objs sysdll.o" && if test "$extra_verbose" = "yes"; then
+ extra_objs="$extra_objs sysdll.o" && if test "$extra_verbose" = "yes"; then
echo " xemacs will be linked with \"sysdll.o\""
fi
- extra_objs="$extra_objs dll.o" && if test "$extra_verbose" = "yes"; then
- echo " xemacs will be linked with \"dll.o\""
+ extra_objs="$extra_objs emodules.o" && if test "$extra_verbose" = "yes"; then
+ echo " xemacs will be linked with \"emodules.o\""
fi
- test ! -z "$DLL_LIB" && LIBS="-l${DLL_LIB} $LIBS" && if test "$extra_verbose" = "yes"; then echo " Prepending \"-l${DLL_LIB}\" to \$LIBS"; fi
-
-dll_ld="ld"
-dll_lflags="-shared"
-dll_cflags="-r"
-dll_oflags="-o "
-
-echo $ac_n "checking how to build a shared library""... $ac_c" 1>&6
-echo "configure:11322: checking how to build a shared library" >&5
-case `uname -rs` in
- UNIX_SV*|UNIX_System_V*)
- dll_lflags="-G"
- dll_cflags=-Kpic
- dll_ld="ld"
- ;;
- BSD/OS*)
- dll_cflags=
- dll_lflags="-r"
- dll_ld="shlicc2"
- ;;
- FreeBSD*2*)
- dll_lflags="-Bshareable"
- dll_cflags="-fPIC -DPIC"
- dll_ld=ld
- ;;
- SunOS*4.*)
- dll_cflags="-P"
- dll_lflags="-dp -assert pure-text -assert nodefinitions"
- ;;
- SunOS*5.*)
- dll_ld="cc"
- dll_cflags="-KPIC"
- dll_lflags="-G"
- dll_oflags="-W0,-y-o -W0,-y"
- ;;
- IRIX*5.*|IRIX*6.*)
- dll_cflags="-KPIC"
- ;;
- OSF1*)
- ;;
- HP-UX*)
- dll_ld="ld"
- dll_lflags="-b"
- dll_cflags="+z"
- ;;
- SCO_SV*)
- dll_ld="ld"
- dll_lflags="-G"
- dll_cflags="-Kpic"
- ;;
- AIX*)
- dll_lflags="-H512 -T512 -bhalt:4 -bM:SRE -bE:\${@:.ell=.exp} -b noentry -lc"
- dll_ld="ld"
- ;;
- *)
- ;;
- esac
-
- if test "$GCC" = "yes" ; then
- dll_cflags="-fPIC"
- case `uname -rs` in
- SunOS*5.*)
- dll_ld="ld"
- dll_oflags="-o "
- dll_lflags="-G"
- ;;
- SCO_SV*)
- dll_ld="ld"
- dll_lflags="-G"
- dll_cflags="-b elf"
- ;;
- FreeBSD*)
- dll_cflags="-DDLSYM_NEEDS_UNDERSCORE -DPIC -fPIC"
- dll_lflags="-Bshareable"
- dll_ld=ld
- ;;
- BSD/OS*)
- dll_cflags=
- dll_lflags="-r"
- dll_ld="shlicc2"
- ;;
- UNIX_SV*)
- dll_cflags="-fPIC"
- ;;
- *)
- dll_ld="$CC"
- dll_lflags="-shared"
- esac
- fi
-
- echo "$ac_t"""lflags: $dll_lflags cflags: $dll_cflags"" 1>&6
-
-
-
-
-
- for ac_func in dlerror
+ INSTALL_ARCH_DEP_SUBDIR="$INSTALL_ARCH_DEP_SUBDIR src" && if test "$extra_verbose" = "yes"; then echo " Appending \"src\" to \$INSTALL_ARCH_DEP_SUBDIR"; fi
+ test ! -z "$DLL_LIB" && LIBS="-l${DLL_LIB} $LIBS" && if test "$extra_verbose" = "yes"; then echo " Prepending \"-l${DLL_LIB}\" to \$LIBS"; fi
+ for ac_func in dlerror _dlerror
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:11413: checking for $ac_func" >&5
+echo "configure:12392: checking for $ac_func" >&5
cat > conftest.$ac_ext <<EOF
-#line 11416 "configure"
+#line 12395 "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:11439: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:12418: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
fi
done
- ld_dynamic_link_flags=
- case "$opsys" in
- hpux*) ld_dynamic_link_flags="-Wl,-E" ;;
- linux*) ld_dynamic_link_flags="-rdynamic" ;;
- *) ;;
- esac
+ else
+ echo "configure: warning: disabling shared library support" 1>&2
+ with_shlib=no
+ fi
fi
cat > conftest.$ac_ext <<EOF
-#line 11475 "configure"
+#line 12452 "configure"
#include "confdefs.h"
int main(int c,char *v[]){return 0;}
EOF
-if { (eval echo configure:11479: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>&5
+if { (eval echo configure:12456: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit $?) 2>&5
then
:
else
+ conftest_rc="$?"
echo "configure: failed program was:" >&5
cat conftest.$ac_ext >&5
rm -fr conftest*
fi
rm -fr conftest*
-
-{ test "$extra_verbose" = "yes" && cat << \EOF
+if test "$win32_processes" = "yes"; then
+ extra_objs="$extra_objs process-nt.o" && if test "$extra_verbose" = "yes"; then
+ echo " xemacs will be linked with \"process-nt.o\""
+ fi
+else
+ { test "$extra_verbose" = "yes" && cat << \EOF
Defining HAVE_UNIX_PROCESSES
EOF
cat >> confdefs.h <<\EOF
EOF
}
-extra_objs="$extra_objs process-unix.o" && if test "$extra_verbose" = "yes"; then
+ extra_objs="$extra_objs process-unix.o" && if test "$extra_verbose" = "yes"; then
echo " xemacs will be linked with \"process-unix.o\""
fi
+fi
MAKE_SUBDIR="$MAKE_SUBDIR src" && if test "$extra_verbose" = "yes"; then echo " Appending \"src\" to \$MAKE_SUBDIR"; fi
-internal_makefile_list="Makefile"
+internal_makefile_list="Makefile.in"
SUBDIR_MAKEFILES=''
test -d lock || mkdir lock
for dir in $MAKE_SUBDIR; do
esac
T=""
-for W in $SUBDIR_MAKEFILES $dir/Makefile; do if test -z "$T"; then T="$W"; else T="$T $W"; fi; done
+for W in $SUBDIR_MAKEFILES $dir/Makefile $dir/GNUmakefile; do if test -z "$T"; then T="$W"; else T="$T $W"; fi; done
SUBDIR_MAKEFILES="$T"
echo "source $srcdir/src/gdbinit" > src/gdbinit
fi
-if test "$__sunpro_c" = "yes"; then
+if test "$__SUNPRO_C" = "yes"; then
echo "creating .sbinit"; echo ""
( echo "# For use with Sun WorkShop's Source browser."
echo "# See sbquery(1) and sbinit(4) for more information"
+MODULEDIR=$moduledir
+while true; do
+ case "$MODULEDIR" in
+ *\$* ) eval "MODULEDIR=$MODULEDIR" ;;
+ *) break ;;
+ esac
+done
+
+
+
+
+SITELISPDIR=$sitelispdir
+while true; do
+ case "$SITELISPDIR" in
+ *\$* ) eval "SITELISPDIR=$SITELISPDIR" ;;
+ *) break ;;
+ esac
+done
+
+
+
+
+SITEMODULEDIR=$sitemoduledir
+while true; do
+ case "$SITEMODULEDIR" in
+ *\$* ) eval "SITEMODULEDIR=$SITEMODULEDIR" ;;
+ *) break ;;
+ esac
+done
+
+
+
ETCDIR=$etcdir
while true; do
-
RECURSIVE_MAKE="\$(MAKE) \$(MFLAGS) CC='\$(CC)' CFLAGS='\$(CFLAGS)' LDFLAGS='\$(LDFLAGS)' CPPFLAGS='\$(CPPFLAGS)'"
-# The default is yes
+: ${XEMACS_CC:=$CC}
+
+
+
if test "$with_site_lisp" = "no"; then
{ test "$extra_verbose" = "yes" && cat << \EOF
Defining INHIBIT_SITE_LISP
}
fi
+if test "$with_site_modules" = "no"; then
+ { test "$extra_verbose" = "yes" && cat << \EOF
+ Defining INHIBIT_SITE_MODULES
+EOF
+cat >> confdefs.h <<\EOF
+#define INHIBIT_SITE_MODULES 1
+EOF
+}
+
+fi
T=""
-test -n "$puresize" && { test "$extra_verbose" = "yes" && cat << EOF
- Defining RAW_PURESIZE = $puresize
-EOF
-cat >> confdefs.h <<EOF
-#define RAW_PURESIZE $puresize
-EOF
-}
-
-
if test "$GNU_MALLOC" = "yes"; then { test "$extra_verbose" = "yes" && cat << \EOF
Defining GNU_MALLOC
EOF
EOF
}
-test "$with_gnu_make" = "yes" && { test "$extra_verbose" = "yes" && cat << \EOF
- Defining USE_GNU_MAKE
+test "$no_doc_file" = "yes" && { test "$extra_verbose" = "yes" && cat << \EOF
+ Defining NO_DOC_FILE
EOF
cat >> confdefs.h <<\EOF
-#define USE_GNU_MAKE 1
+#define NO_DOC_FILE 1
EOF
}
-test "$no_doc_file" = "yes" && { test "$extra_verbose" = "yes" && cat << \EOF
- Defining NO_DOC_FILE
+test "$with_purify" = "yes" && { test "$extra_verbose" = "yes" && cat << \EOF
+ Defining PURIFY
EOF
cat >> confdefs.h <<\EOF
-#define NO_DOC_FILE 1
+#define PURIFY 1
EOF
}
elif test "$with_x11" = yes; then
echo " --------------------------------------------------------------------"
echo " WARNING: Compiling without XPM support."
- echo " WARNING: You should strongly considering installing XPM."
+ if test "$xpm_problem" != ""; then
+ echo " Reason: $xpm_problem"
+ fi
+ echo " WARNING: You should strongly consider installing XPM."
echo " WARNING: Otherwise toolbars and other graphics will look suboptimal."
+ echo " WARNING: (a copy may be found in ftp://ftp.xemacs.org/pub/xemacs/aux)"
+ echo " --------------------------------------------------------------------"
+fi
+if test "$with_png" = yes; then
+ echo " Compiling in support for PNG image handling."
+elif test "$window_system" != "none"; then
+ echo " --------------------------------------------------------------------"
+ echo " WARNING: Compiling without PNG image support."
+ if test "$png_problem" != ""; then
+ echo " Reason: $png_problem"
+ fi
+ echo " WARNING: You should strongly consider installing the PNG libraries."
+ echo " WARNING: Otherwise certain images and glyphs may not display."
+ echo " WARNING: (a copy may be found in ftp://ftp.xemacs.org/pub/xemacs/aux)"
echo " --------------------------------------------------------------------"
fi
+test "$with_gif" = yes && echo " Compiling in support for (builtin) GIF image handling."
+test "$with_jpeg" = yes && echo " Compiling in support for JPEG image handling."
+test "$with_tiff" = yes && echo " Compiling in support for TIFF image handling."
test "$with_xface" = yes && echo " Compiling in support for X-Face message headers."
-test "$with_gif" = yes && echo " Compiling in support for GIF image conversion."
-test "$with_jpeg" = yes && echo " Compiling in support for JPEG image conversion."
-test "$with_png" = yes && echo " Compiling in support for PNG image conversion."
-test "$with_tiff" = yes && echo " Compiling in support for TIFF image conversion."
case "$with_sound" in
nas ) echo " Compiling in network sound (NAS) support." ;;
native ) echo " Compiling in native sound support." ;;
both ) echo " Compiling in both network and native sound support." ;;
esac
-test "$old_nas" = yes && echo " nas library lacks error trapping, will play synchronously"
+test "$old_nas" = yes && echo " nas library lacks error trapping, will play synchronously."
test "$with_database_berkdb" = yes && echo " Compiling in support for Berkeley DB."
test "$with_database_dbm" = yes && echo " Compiling in support for DBM."
athena3d ) echo " Using Athena-3d scrollbars." ;;
esac
case "$with_dialogs" in
- motif ) echo " Using Motif dialog boxes." ;;
+ motif )
+ echo " Using Motif dialog boxes."
+ if test "$unexec" = "unexaix.o"; then if test "`uname -v`" = 4 -a "`uname -r`" -ge 3; then
+ echo " *WARNING* The Motif dialog boxes cause problems on AIX 4.3 and higher."
+ echo " We recommend using the Athena dialog boxes instead."
+ echo " Install libXaw and re-run configure with --with-dialogs='athena'."
+ echo " Read the PROBLEMS file for more information."
+ fi; fi
+ ;;
athena ) echo " Using Athena dialog boxes." ;;
athena3d ) echo " Using Athena-3d dialog boxes." ;;
esac
test "$with_clash_detection" = yes && \
echo " Clash detection will use \"$lockdir\" for locking files."
echo " movemail will use \"$mail_locking\" for locking mail spool files."
-test "$with_pop" = yes && echo " Using POP for mail access"
-test "$with_kerberos" = yes && echo " Using Kerberos for POP authentication"
-test "$with_hesiod" = yes && echo " Using Hesiod to get POP server host"
+test "$with_pop" = yes && echo " Using POP for mail access."
+test "$with_kerberos" = yes && echo " Using Kerberos for POP authentication."
+test "$with_hesiod" = yes && echo " Using Hesiod to get POP server host."
test "$use_union_type" = yes && echo " Using the union type for Lisp_Objects."
-test "$use_minimal_tagbits" = yes && echo " Using Lisp_Objects with minimal tagbits."
-test "$use_indexed_lrecord_implementation" = yes && echo " Using indexed lrecord implementation."
test "$debug" = yes && echo " Compiling in extra code for debugging."
-test "$memory_usage_stats" = yes && echo " Compiling in code for checking XEmacs memory usage."
test "$usage_tracking" = yes && echo " Compiling with usage tracking active (Sun internal)."
if test "$error_check_extents $error_check_typecheck $error_check_bufpos $error_check_gc $error_check_malloc" \
!= "no no no no no"; then
) | tee -a Installation
echo ""
-echo '(setq Installation-string "' > Installation.el
-sed 's/"/\\"/g' Installation >> Installation.el
-echo '")' >> Installation.el
-
-
# Remove any trailing slashes in these variables.
test -n "$prefix" &&
ac_output_files="${ac_output_files+$ac_output_files }$file"
done
ac_output_files="$ac_output_files src/paths.h lib-src/config.values"
+if test "$with_shlib" = "yes"; then
+ ac_output_files="$ac_output_files lib-src/ellcc.h"
+fi
trap '' 1 2 15
s%@ALLOCA@%$ALLOCA%g
s%@dll_ld@%$dll_ld%g
s%@dll_cflags@%$dll_cflags%g
-s%@dll_oflags@%$dll_oflags%g
-s%@dll_lflags@%$dll_lflags%g
+s%@dll_ldflags@%$dll_ldflags%g
+s%@dll_post@%$dll_post%g
+s%@dll_ldo@%$dll_ldo%g
+s%@ld_dynamic_link_flags@%$ld_dynamic_link_flags%g
s%@SRC_SUBDIR_DEPS@%$SRC_SUBDIR_DEPS%g
s%@INSTALL_ARCH_DEP_SUBDIR@%$INSTALL_ARCH_DEP_SUBDIR%g
s%@MAKE_SUBDIR@%$MAKE_SUBDIR%g
s%@lispdir@%$lispdir%g
s%@LISPDIR_USER_DEFINED@%$LISPDIR_USER_DEFINED%g
s%@LISPDIR@%$LISPDIR%g
+s%@moduledir@%$moduledir%g
+s%@MODULEDIR_USER_DEFINED@%$MODULEDIR_USER_DEFINED%g
+s%@MODULEDIR@%$MODULEDIR%g
+s%@sitelispdir@%$sitelispdir%g
+s%@SITELISPDIR_USER_DEFINED@%$SITELISPDIR_USER_DEFINED%g
+s%@SITELISPDIR@%$SITELISPDIR%g
+s%@sitemoduledir@%$sitemoduledir%g
+s%@SITEMODULEDIR_USER_DEFINED@%$SITEMODULEDIR_USER_DEFINED%g
+s%@SITEMODULEDIR@%$SITEMODULEDIR%g
s%@etcdir@%$etcdir%g
s%@ETCDIR_USER_DEFINED@%$ETCDIR_USER_DEFINED%g
s%@ETCDIR@%$ETCDIR%g
s%@docdir@%$docdir%g
s%@bitmapdir@%$bitmapdir%g
s%@extra_objs@%$extra_objs%g
-s%@ld_dynamic_link_flags@%$ld_dynamic_link_flags%g
s%@machfile@%$machfile%g
s%@opsysfile@%$opsysfile%g
s%@c_switch_general@%$c_switch_general%g
s%@native_sound_lib@%$native_sound_lib%g
s%@sound_cflags@%$sound_cflags%g
s%@dynodump_arch@%$dynodump_arch%g
+s%@XEMACS_CC@%$XEMACS_CC%g
s%@internal_makefile_list@%$internal_makefile_list%g
CEOF
EOF
cat >> $CONFIG_STATUS <<EOF
CPP="$CPP"
- CPPFLAGS="$CPPFLAGS"
top_srcdir="$srcdir"
MAKE_SUBDIR="$MAKE_SUBDIR"
EOF
cat >> $CONFIG_STATUS <<\EOF
-for dir in $MAKE_SUBDIR; do
- echo creating $dir/Makefile
+for dir in . $MAKE_SUBDIR; do
(
cd $dir
rm -f junk.c
-e '/^#/ {
p
d
-}' -e '/./ {
+}' \
+ -e '/./ {
s/\([\"]\)/\\\1/g
s/^/"/
s/$/"/
}' > junk.c;
- $CPP -I. -I${top_srcdir}/src $CPPFLAGS junk.c > junk.cpp;
- < junk.cpp \
- sed -e 's/^#.*//' \
- -e 's/^[ ][ ]*$//' \
- -e 's/^ / /' \
- | sed -n -e '/^..*$/p' \
- | sed '/^"/ {
-s/\\\([\"]\)/\1/g
-s/^[ ]*"//
-s/"[ ]*$//
-}' > Makefile.new
+
+
+
+ echo creating $dir/Makefile
+$CPP -I. -I${top_srcdir}/src junk.c \
+ | sed -e 's/^\#.*//' \
+ -e 's/^[ ][ ]*$//'\
+ -e 's/^ / /' \
+ | sed -n -e '/^..*$/p' \
+ | sed '/^\"/ {
+ s/\\\([\"]\)/\1/g
+ s/^[ ]*\"//
+ s/\"[ ]*$//
+}' > Makefile.new
chmod 444 Makefile.new
mv -f Makefile.new Makefile
- rm -f junk.c junk.cpp
-)
+
+ echo creating $dir/GNUmakefile
+$CPP -I. -I${top_srcdir}/src -DUSE_GNU_MAKE junk.c \
+ | sed -e 's/^\#.*//' \
+ -e 's/^[ ][ ]*$//'\
+ -e 's/^ / /' \
+ | sed -n -e '/^..*$/p' \
+ | sed '/^\"/ {
+ s/\\\([\"]\)/\1/g
+ s/^[ ]*\"//
+ s/\"[ ]*$//
+}' > Makefile.new
+ chmod 444 Makefile.new
+ mv -f Makefile.new GNUmakefile
+
+ rm -f junk.c
+ )
done
sed < config.status >> lib-src/config.values \
chmod +x $CONFIG_STATUS
rm -fr confdefs* $ac_clean_files
test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
-
#### Copyright (C) 1993-1995 Board of Trustees, University of Illinois.
#### Copyright (C) 1996, 1997 Sun Microsystems, Inc.
#### Copyright (C) 1995, 1996 Ben Wing.
+#### Copyright (C) 1998, 1999 J. Kean Johnston.
### Don't edit this script!
### This script was automatically generated by the `autoconf' program
#include "confdefs.h"
[$1]
EOF
-if AC_TRY_EVAL(ac_link) && test -s conftest && (./conftest; exit) 2>&AC_FD_CC
+if AC_TRY_EVAL(ac_link) && test -s conftest && (./conftest; exit $?) 2>&AC_FD_CC
then
dnl Do not remove the temporary files here, so they can be examined.
ifelse([$2], , :, [$2])
else
+ conftest_rc="$?"
echo "configure: failed program was:" >&AC_FD_CC
cat conftest.$ac_ext >&AC_FD_CC
ifelse([$3], , , [ rm -fr conftest*
[[$2]="[$1] $[$2]" && dnl
if test "$extra_verbose" = "yes"; then echo " Prepending \"[$1]\" to \$[$2]"; fi])
+dnl XE_DIE(message)
+define([XE_DIE], [{ echo "Error:" $1 >&2; exit 1; }])
+
+dnl XE_STRIP_4TH_COMPONENT(var)
+dnl Changes i986-pc-linux-gnu to i986-pc-linux, as God (not RMS) intended.
+define([XE_STRIP_4TH_COMPONENT],
+[$1=`echo "$$1" | sed '[s/^\([^-][^-]*-[^-][^-]*-[^-][^-]*\)-.*$/\1/]'`])
dnl Initialize some variables set by options.
dnl The variables have the same names as the options, with
XE_APPEND(lib-src, MAKE_SUBDIR)
XE_APPEND(lib-src, INSTALL_ARCH_DEP_SUBDIR)
-dnl run_in_place='no'
prefix='/usr/local'
exec_prefix='${prefix}'
bindir='${exec_prefix}/bin'
infopath=''
install_pp=''
lispdir='${datadir}/${PROGNAME}-${version}/lisp'
-dnl sitelispdir='${datadir}/xemacs/site-lisp'
+moduledir='${datadir}/${PROGNAME}-${version}/${configuration}/modules'
+sitelispdir='${datadir}/xemacs/site-lisp'
+sitemoduledir='${datadir}/xemacs/site-modules'
pkgdir='${datadir}/${PROGNAME}-${version}/lisp'
package_path=''
etcdir='${datadir}/${PROGNAME}-${version}/etc'
lockdir='${statedir}/${PROGNAME}/lock'
-archlibdir='${libdir}/${PROGNAME}-${version}/${configuration}'
+archlibdir='${datadir}/${PROGNAME}-${version}/${configuration}'
with_site_lisp='no'
+with_site_modules='yes'
with_menubars=''
with_scrollbars=''
with_dialogs=''
dnl const_is_losing is removed - we rely on AC_C_CONST instead.
dnl We accept (and ignore) the --const-is-losing option for compatibility.
dnl const_is_losing='yes'
-puresize=''
cpp='' cppflags='' libs='' ldflags=''
dynamic=''
with_x11=''
case "$opt" in
dnl Process (many) boolean options
- run_in_place | \
- with_site_lisp | \
+ with_site_lisp | \
+ with_site_modules | \
with_x | \
with_x11 | \
with_msw | \
with_gcc | \
- with_gnu_make | \
dynamic | \
with_ncurses | \
with_dnet | \
with_tiff | \
with_session | \
with_xmu | \
+ with_purify | \
with_quantify | \
with_toolbars | \
with_tty | \
with_xfs | \
with_i18n3 | \
with_mule | \
- with_file_coding | \
+ with_file_coding| \
with_canna | \
with_wnn | \
with_wnn6 | \
with_workshop | \
with_sparcworks | \
- with_tooltalk | \
+ with_tooltalk | \
with_ldap | \
with_pop | \
with_kerberos | \
verbose | \
extra_verbose | \
const_is_losing | \
- usage_tracking | \
- use_union_type | \
+ usage_tracking | \
+ use_union_type | \
debug | \
use_assertions | \
- use_minimal_tagbits | \
- use_indexed_lrecord_implementation | \
- gung_ho | \
- use_assertions | \
memory_usage_stats | \
with_clash_detection | \
with_shlib | \
dnl Make sure the value given was either "yes" or "no".
case "$val" in
y | ye | yes ) val=yes ;;
- n | no ) val=no ;;
+ n | no ) val=no ;;
* ) USAGE_ERROR("The \`--$optname' option requires a boolean value: \`yes' or \`no'.") ;;
esac
- eval "$opt=\"$val\"" ;;
+ eval "$opt=\"$val\"" ;;
- dnl Options that take a user-supplied value, as in --puresize=8000000
+ dnl Options that take a user-supplied value, as in --x-includes=/usr/X11R6/include
dnl The cache-file option is ignored (for compatibility with other configures)
srcdir | \
compiler | \
cppflags | \
libs | \
ldflags | \
- puresize | \
cache_file | \
- native_sound_lib | \
+ native_sound_lib| \
site_lisp | \
x_includes | \
x_libraries | \
g | gn | gnu | gnud | gnudb | gnudbm ) with_database_gnudbm=yes ;;
* ) USAGE_ERROR(["The \`--$optname' option value
must be either \`no' or a comma-separated list
- of one or more of \`berkdb', \`dbm', or \`gnudbm'."]) ;;
+ of one or more of \`berkdb' and either \`dbm' or \`gnudbm'."]) ;;
esac
done
if test "$with_database_dbm" = "yes" -a \
eval "$opt=\"$val\""
;;
- dnl XFontSet support?
- "with_xfs" )
- case "$val" in
- y | ye | yes ) val=yes ;;
- n | no | non | none ) val=no ;;
- * ) USAGE_ERROR(["The \`--$optname' option must have one of these values:
- \`yes', or \`no'."]) ;;
- esac
- eval "$opt=\"$val\""
- ;;
-
dnl Mail locking specification
"mail_locking" )
case "$val" in
dnl Has the user specified one of the path options?
prefix | exec_prefix | bindir | datadir | statedir | libdir | \
mandir | infodir | infopath | lispdir | etcdir | lockdir | pkgdir | \
- archlibdir | docdir | package_path )
+ archlibdir | docdir | package_path )
dnl If the value was omitted, get it from the next argument.
if test "$valomitted" = "yes"; then
if test "$#" = 0; then
dnl default values are built.
case "$opt" in
lispdir ) AC_DEFINE(LISPDIR_USER_DEFINED) ;;
-dnl sitelispdir ) AC_DEFINE(SITELISPDIR_USER_DEFINED) ;;
+ sitelispdir ) AC_DEFINE(SITELISPDIR_USER_DEFINED) ;;
+ moduledir ) AC_DEFINE(MODULEDIR_USER_DEFINED) ;;
etcdir ) AC_DEFINE(ETCDIR_USER_DEFINED) ;;
infodir ) AC_DEFINE(INFODIR_USER_DEFINED) ;;
infopath ) AC_DEFINE(INFOPATH_USER_DEFINED) ;;
datadir )
AC_DEFINE(INFODIR_USER_DEFINED)
AC_DEFINE(LISPDIR_USER_DEFINED)
+ AC_DEFINE(MODULEDIR_USER_DEFINED)
AC_DEFINE(ETCDIR_USER_DEFINED) ;;
statedir | lockdir ) AC_DEFINE(LOCKDIR_USER_DEFINED) ;;
exec_prefix | libdir | archlibdir ) AC_DEFINE(ARCHLIBDIR_USER_DEFINED) ;;
dnl Has the user asked for some help?
"usage" | "help" ) ${PAGER-more} ${srcdir}/configure.usage; exit 0 ;;
- dnl Has the user specified what toolkit to use for the menubars,
- dnl scrollbar or dialogs?
- "with_menubars" | "with_scrollbars" | "with_dialogs" )
+ dnl Has the user specified the toolkit(s) to use for GUI elements?
+ "with_menubars" | \
+ "with_scrollbars" | \
+ "with_dialogs" )
case "$val" in
l | lu | luc | luci | lucid ) val=lucid ;;
m | mo | mot | moti | motif ) val=motif ;;
eval "$opt=\"$val\""
;;
- dnl Fail on unrecognized arguments.
+ dnl Obsolete legacy argument? Warn, but otherwise ignore.
+ "run_in_place" | \
+ "with_gnu_make" )
+ AC_MSG_WARN([Obsolete option \`--$optname' ignored.])
+ ;;
+
+ dnl Unrecognized option? No mercy for user errors.
* ) USAGE_ERROR("Unrecognized option: $arg") ;;
esac
dnl Assume anything with multiple hyphens is a configuration name.
*-*-*) configuration="$arg" ;;
- dnl Anything else is an error
+ dnl Unrecognized argument? No mercy for user errors.
*) USAGE_ERROR("Unrecognized argument: $arg") ;;
esac
dnl --extra-verbose implies --verbose
test "$extra_verbose" = "yes" && verbose=yes
-dnl Allow use of either ":" or spaces for lists of directories
-define(COLON_TO_SPACE,
- [case "$[$1]" in *:* [)] [$1]="`echo '' $[$1] | sed -e 's/^ //' -e 's/:/ /g'`";; esac])dnl
-COLON_TO_SPACE(site_includes)
-COLON_TO_SPACE(site_libraries)
-COLON_TO_SPACE(site_prefixes)
-COLON_TO_SPACE(site_runtime_libraries)
-
dnl with_x is an obsolete synonym for with_x11
test -n "$with_x" && with_x11="$with_x"
-dnl --gung-ho=val is a synonym for
-dnl --use-minimal-tagbits=val --use-indexed-lrecord-implementation=val
-
-if test -n "$gung_ho"; then
- test -z "$use_minimal_tagbits" && use_minimal_tagbits="$gung_ho"
- test -z "$use_indexed_lrecord_implementation" && \
- use_indexed_lrecord_implementation="$gung_ho"
-fi
-if test "$use_minimal_tagbits" = "no"; then
- test "$with_dlmalloc" = "yes" && \
- USAGE_ERROR("--with-dlmalloc requires --use-minimal-tagbits")
- with_dlmalloc=no
+dnl --with-quantify or --with-purify imply --use-system-malloc
+if test "$with_purify" = "yes" -o "$with_quantify" = "yes"; then
+ test "$with_system_malloc" = "default" && with_system_malloc=yes
fi
dnl XE_CHECK_FEATURE_DEPENDENCY(feature1, feature2)
dnl CDE requires tooltalk
XE_CHECK_FEATURE_DEPENDENCY(cde, tooltalk)
-dnl Ignore useless run-in-place flag
-if test "$run_in_place" = "yes"; then
- AC_MSG_WARN("The --run-in-place option is ignored because it is unnecessary.")
-fi
-
dnl Find the source directory.
case "$srcdir" in
dnl ###########################################################################
if test -z "$configuration"; then
- AC_MSG_CHECKING("host system type")
- dnl Guess the configuration and remove 4th name component, if present.
- if configuration=`${CONFIG_SHELL-/bin/sh} $srcdir/config.guess | \
- sed '[s/^\([^-][^-]*-[^-][^-]*-[^-][^-]*\)-.*$/\1/]'` ; then
- AC_MSG_RESULT($configuration)
- else
- AC_MSG_RESULT(unknown)
+ dnl Guess the configuration
+ configuration=`${CONFIG_SHELL-/bin/sh} $srcdir/config.guess`
+ if test -z "$configuration"; then
USAGE_ERROR(["XEmacs has not been ported to this host type.
Try explicitly specifying the CONFIGURATION when rerunning configure."])
fi
fi
done
+dnl Do our best to deal with automounter brokenness
+dnl CANONICALIZE_PATH(varname)
+define([CANONICALIZE_PATH],
+[if test -d "/net"; then
+ if test -d "/tmp_mnt/net"; then tdir="tmp_mnt/net"; else tdir="tmp_mnt"; fi
+ $1=`echo "[$]$1" | \
+ sed -e "s|^${tdir}/|/net/|" -e "s|^/a/|/net/|" -e "s|^/amd/|/net/|"`
+fi])dnl
+
dnl Calculate canonical name for blddir (i.e. current directory).
dnl PWD may already be the preferable absolute name for ".",
dnl but we can't trust it - it is sometimes inaccurate.
absolute_pwd="`pwd`";
if test -n "$PWD" -a "`cd $PWD && pwd`" = "$absolute_pwd"
then blddir="$PWD"
-else blddir="$absolute_pwd"
+else blddir="$absolute_pwd"; CANONICALIZE_PATH(blddir)
fi
AC_SUBST(blddir)
case "$srcdir" in
/* ) ;;
. ) srcdir="$blddir" ;;
- * ) srcdir="`cd $srcdir && pwd`" ;;
+ * ) srcdir="`cd $srcdir && pwd`"; CANONICALIZE_PATH(srcdir) ;;
esac
dnl Check if the source directory already has a configured system in it.
dnl names of the m/*.h and s/*.h files we should use.
dnl Canonicalize the configuration name.
-AC_CHECKING("the configuration name")
+AC_MSG_CHECKING("host system type")
dnl allow -workshop suffix on configuration name
internal_configuration=`echo $configuration | sed 's/-\(workshop\)//'`
-if canonical=`$srcdir/config.sub "$internal_configuration"` ; then : ; else
- exit $?
-fi
+canonical=`${CONFIG_SHELL-/bin/sh} $srcdir/config.sub "$internal_configuration"`
+XE_STRIP_4TH_COMPONENT(configuration)
+XE_STRIP_4TH_COMPONENT(canonical)
+AC_MSG_RESULT($configuration)
dnl If you add support for a new configuration, add code to this
dnl switch statement to recognize your configuration name and select
dnl Straightforward machine determination
case "$canonical" in
sparc-*-* ) machine=sparc ;;
- alpha-*-* ) machine=alpha ;;
+ alpha*-*-* ) machine=alpha ;;
vax-*-* ) machine=vax ;;
mips-dec-* ) machine=pmax ;;
mips-sgi-* ) machine=iris4d ;;
m68*-sony-* ) machine=news ;;
mips-sony-* ) machine=news-risc ;;
clipper-* ) machine=clipper ;;
+ arm-* ) machine=arm ;;
+ ns32k-* ) machine=ns32000 ;;
esac
dnl Straightforward OS determination
*-*-aix3.1* ) opsys=aix3-1 ;;
*-*-aix3.2.5 ) opsys=aix3-2-5 ;;
*-*-aix3* ) opsys=aix3-2 ;;
- *-*-aix4.2* ) opsys=aix4-2 ;;
+ *-*-aix4.0* ) opsys=aix4 ;;
*-*-aix4.1* ) opsys=aix4-1 ;;
- *-*-aix4* ) opsys=aix4 ;;
+ *-*-aix4* ) opsys=aix4-2 ;;
dnl Other generic OSes
*-gnu* ) opsys=gnu ;;
dnl OpenBSD ports
*-*-openbsd* )
case "${canonical}" in
- alpha*-*-openbsd*) machine=alpha ;;
i386-*-openbsd*) machine=intel386 ;;
m68k-*-openbsd*) machine=hp9000s300 ;;
mipsel-*-openbsd*) machine=pmax ;;
- ns32k-*-openbsd*) machine=ns32000 ;;
- sparc-*-openbsd*) machine=sparc ;;
- vax-*-openbsd*) machine=vax ;;
esac
;;
NON_GNU_CPP=/usr/ccs/lib/cpp
;;
+ dnl NEC
+ mips-nec-sysv*)
+ machine=mips-nec
+ NON_GNU_CC=/usr/ccs/bin/cc
+ NON_GNU_CPP=/usr/ccs/lib/cpp
+ ;;
+
dnl Silicon Graphics machines
dnl Iris 2500 and Iris 2500 Turbo (aka the Iris 3030)
m68*-sgi-iris3.5* ) machine=irist opsys=iris3-5 ;;
*-xenix* ) opsys=xenix ;;
*-sco3.2v4* ) opsys=sco4 NON_GNU_CPP=/lib/cpp ;;
*-bsd386* | *-bsdi1* ) opsys=bsd386 ;;
+ *-bsdi4* ) opsys=bsdos4 ;;
*-bsdi3* ) opsys=bsdos3 ;;
*-bsdi2.1* ) opsys=bsdos2-1 ;;
*-bsdi2* ) opsys=bsdos2 ;;
*-386bsd* ) opsys=386bsd ;;
*-freebsd* ) opsys=freebsd ;;
*-nextstep* ) opsys=nextstep ;;
- *-pc-cygwin32 ) opsys=cygwin32 ;;
+ *-pc-cygwin* ) opsys=cygwin32 ;;
+ *-pc-mingw* ) opsys=mingw32 ;
+ test -z "$with_tty" && with_tty="no";;
dnl Otherwise, we fall through to the generic opsys code at the bottom.
esac
;;
if test -z "$dynamic"; then
case "$opsys" in
- hpux* | sunos4* | sco5 ) dynamic=no ;;
+ hpux* | sunos4* ) dynamic=no ;;
*) dynamic=yes ;;
esac
fi
dnl Well. then why not fix fucking pop?
test "$have_glibc" = "yes" && AC_DEFINE(_GNU_SOURCE)
-AC_MSG_CHECKING(whether we are using SunPro C)
-AC_TRY_COMPILE([],[#ifndef __SUNPRO_C
-#error Not a SunPro compiler :-(
-******* ======= ******** &&&&&&&&
+
+dnl Identify compilers to enable compiler-specific hacks.
+dnl Add support for other compilers HERE!
+dnl GCC is already identified elsewhere.
+AC_TRY_RUN([int main () {
+#if defined __SUNPRO_C
+return 11;
+#elif defined __DECC
+return 12;
+#else
+return 0;
#endif
-], __sunpro_c=yes, __sunpro_c=no)
-AC_MSG_RESULT($__sunpro_c)
+}], [],
+[case "$conftest_rc" in
+ 11) echo "You appear to be using the SunPro C compiler."; __SUNPRO_C=yes ;;
+ 12) echo "You appear to be using the DEC C compiler." ; __DECC=yes ;;
+esac])
+
dnl case "$canonical" in
dnl *-sun-sunos* ) test "$CPP" = "acc -E" && CPP="acc -E -Xs" ;;
CPP_boolean_to_sh(TERMINFO, have_terminfo)
CPP_boolean_to_sh(MAIL_USE_FLOCK, mail_use_flock)
CPP_boolean_to_sh(MAIL_USE_LOCKF, mail_use_lockf)
+CPP_boolean_to_sh(HAVE_WIN32_PROCESSES, win32_processes)
EOF
dnl The value of CPP is a quoted variable reference, so we need to do this
dnl to get its actual value...
-CPP=`eval "echo $CPP"`
+CPP=`eval "echo $CPP $CPPFLAGS"`
define(TAB, [ ])dnl
changequote(, )dnl
eval `$CPP -Isrc $tempcname \
dnl Non-ordinary link usually requires -lc
test "$ordinary_link" = "no" -a -z "$libs_standard" && libs_standard="-lc"
+dnl Compiler-specific hacks
+dnl DEC C requires -std
+test "$__DECC" = "yes" && XE_APPEND(-std, c_switch_site)
+
dnl Calculalate value of CFLAGS:
dnl Use either command line flag, environment var, or autodetection
if test "$cflags_specified" = "no"; then
dnl I'm not convinced this is a good idea any more. -sb
dnl test "$opsys $machine" = "linux intel386" && \
dnl CFLAGS="$CFLAGS -fno-strength-reduce -malign-loops=2 -malign-jumps=2 -malign-functions=2"
- dnl cygwin can't cope with -O3
- test "$opsys $machine" = "cygwin32 intel386" && \
- CFLAGS="-g -O2 -Wall -Wno-switch"
- elif test "$__sunpro_c" = "yes"; then
+ elif test "$__SUNPRO_C" = "yes"; then
case "$opsys" in
sol2 ) CFLAGS="-v -xO4" ;;
sunos4* ) CFLAGS="-xO2";;
esac
+ elif test "$__DECC" = "yes"; then
+ CFLAGS="-O3"
elif test "$CC" = "xlc"; then
- CFLAGS="-O3 -qstrict -qnoansialias -qlibansi -qinfo -qro -qmaxmem=20000"
+ CFLAGS="-g -O3 -qstrict -qnoansialias -qlibansi -qinfo -qro -qmaxmem=20000"
+ dnl ### Add optimal CFLAGS support for other compilers HERE!
else
- dnl ### Add tests for other compilers here...
CFLAGS="-O" ;dnl The only POSIX-approved flag
fi
fi
set x $[$1]; shift; [$1]=""
while test -n "[$]1"; do
case [$]1 in
- -L | -l | -u ) [$1]="$[$1] [$]1 [$]2"; shift ;;
- -L* | -l* | -u* | -Wl* ) [$1]="$[$1] [$]1" ;;
+ -L | -l | -u ) [$1]="$[$1] [$]1 [$]2"; shift ;;
+ -L* | -l* | -u* | -Wl* | -pg ) [$1]="$[$1] [$]1" ;;
-Xlinker* ) ;;
* ) [$1]="$[$1] -Xlinker [$]1" ;;
esac
dnl Add site and system specific flags to compile and link commands
dnl ---------------------------------------------------------------
-dnl All dirs present in site-prefixes will be searched for include/ and lib/
-dnl subdirs. This can avoid specifying both site-includes and site-libraries.
-dnl Those dirs will take precedence over the standard places, but not over
-dnl site-includes and site-libraries.
-
-dnl --site-prefixes (multiple dirs)
-if test -n "$site_prefixes"; then
- for arg in $site_prefixes; do
- case "$arg" in
- -* ) ;;
- * ) argi="-I${arg}/include" ; argl="-L${arg}/lib" ;;
- esac
- XE_APPEND($argi, c_switch_site)
- XE_APPEND($argl, ld_switch_site)
- done
-fi
+dnl Allow use of either ":" or spaces for lists of directories
+define(COLON_TO_SPACE,
+ [case "$[$1]" in *:* [)] [$1]="`echo '' $[$1] | sed -e 's/^ //' -e 's/:/ /g'`";; esac])dnl
dnl --site-libraries (multiple dirs)
+COLON_TO_SPACE(site_libraries)
if test -n "$site_libraries"; then
for arg in $site_libraries; do
- case "$arg" in -* ) ;; * ) arg="-L${arg}" ;; esac
+ case "$arg" in
+ -* ) ;;
+ * ) test -d "$arg" || \
+ XE_DIE("Invalid site library \`$arg': no such directory")
+ arg="-L${arg}" ;;
+ esac
XE_APPEND($arg, ld_switch_site)
done
fi
dnl --site-includes (multiple dirs)
+COLON_TO_SPACE(site_includes)
if test -n "$site_includes"; then
for arg in $site_includes; do
- case "$arg" in -* ) ;; * ) arg="-I${arg}" ;; esac
+ case "$arg" in
+ -* ) ;;
+ * ) test -d "$arg" || \
+ XE_DIE("Invalid site include \`$arg': no such directory")
+ arg="-I${arg}" ;;
+ esac
XE_APPEND($arg, c_switch_site)
done
fi
+dnl --site-prefixes (multiple dirs)
+dnl --site-prefixes=dir1:dir2 is a convenient shorthand for
+dnl --site-libraries=dir1/lib:dir2/lib --site-includes=dir1/include:dir2/include
+dnl Site prefixes take precedence over the standard places, but not over
+dnl site-includes and site-libraries.
+COLON_TO_SPACE(site_prefixes)
+if test -n "$site_prefixes"; then
+ for dir in $site_prefixes; do
+ inc_dir="${dir}/include"
+ lib_dir="${dir}/lib"
+ if test ! -d "$dir"; then
+ XE_DIE("Invalid site prefix \`$dir': no such directory")
+ elif test ! -d "$inc_dir"; then
+ XE_DIE("Invalid site prefix \`$dir': no such directory \`$inc_dir'")
+ elif test ! -d "$lib_dir"; then
+ XE_DIE("Invalid site prefix \`$dir': no such directory \`$lib_dir'")
+ else
+ XE_APPEND("-I$inc_dir", c_switch_site)
+ XE_APPEND("-L$lib_dir", ld_switch_site)
+ fi
+ done
+fi
+
dnl GNU software installs by default into /usr/local/{include,lib}
dnl if test -d "/usr/local/include" -a -d "/usr/local/lib"; then
dnl XE_APPEND("-L/usr/local/lib", ld_switch_site)
done
dnl --site-runtime-libraries (multiple dirs)
+COLON_TO_SPACE(site_runtime_libraries)
if test -n "$site_runtime_libraries"; then
LD_RUN_PATH="`echo $site_runtime_libraries | sed -e 's/ */:/g'`"
export LD_RUN_PATH
if test "$dynamic" = "no"; then add_runtime_path=no
elif test -n "$LD_RUN_PATH"; then add_runtime_path=yes
else case "$opsys" in
- sol2 | irix* | *bsd* ) add_runtime_path=yes ;;
+ sol2 | irix* | *bsd* | decosf* ) add_runtime_path=yes ;;
* ) add_runtime_path=no ;;
esac
fi
dnl Try to autodetect runtime library flag (usually -R),
dnl and whether it works (or at least does no harm)
AC_MSG_CHECKING("for runtime libraries flag")
- dash_r=""
- for try_dash_r in "-R" "-R " "-rpath "; do
- xe_check_libs="${try_dash_r}/no/such/file-or-directory"
- XE_PROTECT_LINKER_FLAGS(xe_check_libs)
- AC_TRY_LINK(, , dash_r="$try_dash_r")
- xe_check_libs=""
- test -n "$dash_r" && break
- done
+ case "$opsys" in
+ sol2 ) dash_r="-R" ;;
+ decosf* | linux* | irix*) dash_r="-rpath " ;;
+ *)
+ dash_r=""
+ for try_dash_r in "-R" "-R " "-rpath "; do
+ xe_check_libs="${try_dash_r}/no/such/file-or-directory"
+ XE_PROTECT_LINKER_FLAGS(xe_check_libs)
+ AC_TRY_LINK(, , dash_r="$try_dash_r")
+ xe_check_libs=""
+ test -n "$dash_r" && break
+ done ;;
+ esac
if test -n "$dash_r";
then AC_MSG_RESULT("\"${dash_r}\"")
else AC_MSG_RESULT(NONE)
])dnl
XE_COMPUTE_RUNPATH()
+dnl JKJ REMOVEME
+dnl XE_SHLIB_STUFF
+
dnl -----------------------------------
dnl Do some misc autoconf-special tests
dnl -----------------------------------
dnl checks for header files
AC_CHECK_HEADERS(mach/mach.h sys/stropts.h sys/timeb.h sys/time.h unistd.h)
-AC_CHECK_HEADERS(utime.h locale.h libgen.h fcntl.h ulimit.h)
-AC_CHECK_HEADERS(linux/version.h kstat.h sys/pstat.h inttypes.h sys/un.h a.out.h)
+AC_CHECK_HEADERS(utime.h locale.h libgen.h fcntl.h ulimit.h cygwin/version.h)
+AC_CHECK_HEADERS(kstat.h sys/pstat.h inttypes.h sys/un.h a.out.h)
AC_HEADER_SYS_WAIT
AC_HEADER_STDC
AC_HEADER_TIME
AC_SYS_LONG_FILE_NAMES
dnl -lm is required by LISP_FLOAT_TYPE, among other things
-AC_CHECK_LIB(m, sin)
+AC_CHECK_FUNC(sin, ,AC_CHECK_LIB(m, sin))
dnl Floating operation support is now unconditional
AC_DEFINE(LISP_FLOAT_TYPE)
else mail_locking="dot-locking"
fi
-dnl Used by getloadavg() - does not require root priveleges
-AC_CHECK_LIB(kstat, kstat_open)
-
-dnl Another way to get the load average
-AC_CHECK_LIB(kvm, kvm_read)
-
case "$opsys" in decosf*)
AC_CHECK_LIB(pthreads, cma_open)
test "$ac_cv_lib_pthreads_cma_open" = "yes" && \
fi
done
+ dnl Avoid version mismatch for shared library libXm.so on osf4
+ if test "$GCC" = yes -a -d /usr/shlib; then XE_APPEND(-L/usr/shlib, X_LIBS); fi
+
ld_switch_x_site="$X_LIBS"
XE_COMPUTE_RUNPATH()
AC_DEFINE(HAVE_MS_WINDOWS)
install_pp="$blddir/lib-src/installexe.sh"
XE_APPEND(-lshell32 -lgdi32 -luser32 -lcomctl32, libs_system)
+ test "$with_dragndrop" != no && XE_APPEND(msw, dragndrop_proto)
if test "$window_system" != x11; then
window_system=msw
test "$with_scrollbars" != "no" && with_scrollbars=msw \
test "$with_dialogs" != "no" && with_dialogs=msw \
&& XE_ADD_OBJS(dialog-msw.o)
else
- test "$with_scrollbars" != "no" && XE_ADD_OBJS(scrollbar-msw.o)
+ test "$with_scrollbars" != "no" && XE_ADD_OBJS(scrollbar-msw.o)
test "$with_menubars" != "no" && XE_ADD_OBJS(menubar-msw.o)
test "$with_toolbars" != "no" && XE_ADD_OBJS(toolbar-msw.o)
- test "$with_dialogs" != "no" && XE_ADD_OBJS(dialog-msw.o)
+ test "$with_dialogs" != "no" && XE_ADD_OBJS(dialog-msw.o)
fi
- dnl check for our special version of select
+ dnl check for our special version of select
AC_TRY_RUN([#include <fcntl.h>
int main() { return (open("/dev/windows", O_RDONLY, 0) > 0)? 0 : 1; }],
[AC_DEFINE(HAVE_MSG_SELECT)])
const_is_losing=no
with_file_coding=yes
- use_minimal_tagbits=yes
- use_indexed_lrecord_implementation=yes
- XE_ADD_OBJS(console-msw.o device-msw.o event-msw.o frame-msw.o objects-msw.o select-msw.o redisplay-msw.o glyphs-msw.o)
+ XE_ADD_OBJS(console-msw.o device-msw.o event-msw.o frame-msw.o objects-msw.o select-msw.o redisplay-msw.o glyphs-msw.o gui-msw.o)
fi
fi
dnl Test for features that require a window system - ANY window system
if test "$window_system" = "none"; then
- for feature in menubars scrollbars toolbars dialogs dragndrop
+ for feature in menubars scrollbars toolbars dialogs dragndrop xface
do
if eval "test -n \"\$with_${feature}\" -a \"\$with_${feature}\" != no" ; then
AC_MSG_WARN([--with-$feature ignored: Not valid without window system support])
dnl if test "$with_tty" = "no" ; then
dnl AC_MSG_ERROR([No window system support and no TTY support - Unable to proceed.])
dnl fi
- for feature in tooltalk cde offix session xim xmu \
- xface
+ for feature in tooltalk cde offix session xim xmu
do
if eval "test -n \"\$with_${feature}\" -a \"\$with_${feature}\" != no" ; then
AC_MSG_WARN([--with-$feature ignored: Not valid without X support])
fi
dnl Always compile OffiX unless --without-offix is given, no
-dnl X11 support is compiled in, no standard Xmu is avaiable,
+dnl X11 support is compiled in, no standard Xmu is available,
dnl or dragndrop support is disabled
dnl Because OffiX support currently loses when more than one display
dnl is in use, we now disable it by default -slb 07/10/1998.
AC_CHECKING(for graphics libraries)
dnl Autodetect Xpm
+ xpm_problem=""
if test -z "$with_xpm"; then
AC_MSG_CHECKING(for Xpm - no older than 3.4f)
xe_check_libs=-lXpm
XpmIncludeVersion != XpmLibraryVersion() ? 1 :
XpmIncludeVersion < 30406 ? 2 : 0 ;}],
[./conftest dummy_arg; xpm_status=$?;
- if test "$?" = "0"; then
+ if test "$xpm_status" = "0"; then
with_xpm=yes;
else
with_xpm=no;
- if test "$?" = "1"; then
+ if test "$xpm_status" = "1"; then
xpm_problem="Xpm library version and header file version don't match!"
- elif test "$?" = "2"; then
+ elif test "$xpm_status" = "2"; then
xpm_problem="Xpm library version is too old!"
else
xpm_problem="Internal xpm detection logic error!"
fi
echo "
-*** WARNING *** $problem
+*** WARNING *** $xpm_problem
I'm not touching that with a 10-foot pole!
If you really want to use the installed version of Xpm, rerun
- configure --with-xpm=yes, but don't blame me if XEmacs crashes!"
+ configure and add '--with-xpm=yes', but don't blame me if XEmacs crashes!"
fi],
[with_xpm=no])
xe_check_libs=
fi
fi
+ dnl Autodetect XFACE
+ test -z "$with_xface" && { AC_CHECK_HEADER(compface.h, ,with_xface=no) }
+ test -z "$with_xface" && { AC_CHECK_LIB(compface, UnGenFace,[:] ,with_xface=no) }
+ test -z "$with_xface" && with_xface=yes
+ if test "$with_xface" = "yes"; then
+ AC_DEFINE(HAVE_XFACE)
+ XE_PREPEND(-lcompface, libs_x)
+ fi
+
+ dnl For a brief period we had the GIF code split out into a separate library,
+ dnl but patent problems, etc. sort of squashed that idea.
+ dnl We default to building with builtin GIF decoding
+ if test "$with_gif" != "no"; then
+ with_gif="yes"
+ AC_DEFINE(HAVE_GIF)
+ XE_ADD_OBJS(dgif_lib.o gif_io.o)
+ fi
+
dnl Too many stupid linkers can't detect cascaded lib dependencies until runtime
dnl So we always search for libz compression support.
if test "$with_png $with_tiff" != "no no"; then
AC_CHECK_LIB(gz, inflate, [XE_PREPEND(-lgz, libs_x)])])])
fi
- dnl Autodetect GIFlib
- AC_MSG_CHECKING(for gifreader)
- test -z "$with_gif" && { AC_CHECK_HEADER(gifrlib.h, ,with_gif=no) }
- test -z "$with_gif" && { AC_CHECK_LIB(gifreader, GetGifError,[:] ,with_gif=no) }
- test -z "$with_gif" && with_gif=yes
- if test "$with_gif" = "yes"; then
- AC_DEFINE(HAVE_GIF)
- XE_PREPEND(-lgifreader, libs_x)
- fi
-
dnl autodetect JPEG
test -z "$with_jpeg" && { AC_CHECK_HEADER(jpeglib.h, ,with_jpeg=no) }
test -z "$with_jpeg" && { AC_CHECK_LIB(jpeg, jpeg_destroy_decompress,[:],with_jpeg=no) }
fi
dnl autodetect PNG
- if test -z "$with_png"; then
- AC_MSG_CHECKING(for png.h - no older than 0.96)
- AC_EGREP_CPP(yes,
-[#include <png.h>
-#if PNG_LIBPNG_VER >= 96
-yes
-#endif
-], [AC_MSG_RESULT(yes)], [AC_MSG_RESULT(no); with_png=no])
- fi
+ png_problem=""
test -z "$with_png" && { AC_CHECK_FUNC(pow, ,with_png=no) }
+ test -z "$with_png" && { AC_CHECK_HEADER(png.h, ,with_png=no) }
test -z "$with_png" && { AC_CHECK_LIB(png, png_read_image,[:],with_png=no) }
- test -z "$with_png" && with_png=yes
+ if test -z "$with_png"; then
+ AC_MSG_CHECKING(for workable png version information)
+ xe_check_libs="-lpng -lz"
+ AC_TRY_RUN([#include <png.h>
+ int main(int c, char **v) {
+ if (c == 1) return 0;
+ if (strcmp(png_libpng_ver, PNG_LIBPNG_VER_STRING) != 0) return 1;
+ return (PNG_LIBPNG_VER < 10002) ? 2 : 0 ;}],
+ [./conftest dummy_arg; png_status=$?;
+ if test "$png_status" = "0"; then
+ with_png=yes;
+ else
+ with_png=no;
+ if test "$png_status" = "1"; then
+ png_problem="PNG library version and header file don't match!"
+ elif test "$png_status" = "2"; then
+ png_problem="PNG library version too old (pre 1.0.2)!"
+ fi
+ echo "
+*** WARNING *** $png_problem
+ I'm not touching that with a 10-foot pole!
+ If you really want to use the installed version of libPNG, rerun
+ configure and add '--with-png=yes', but don't blame me if XEmacs crashes!"
+ fi],
+ [with_png=no])
+ xe_check_libs=
+ AC_MSG_RESULT($with_png)
+ fi
if test "$with_png" = "yes"; then
AC_DEFINE(HAVE_PNG)
XE_PREPEND(-lpng, libs_x)
fi
dnl ----------------------
-dnl Graphics libraries
+dnl X-Specific Graphics libraries
dnl ----------------------
if test "$with_x11" = "yes"; then
AC_CHECKING(for X11 graphics libraries)
- dnl Autodetect XFACE
- test -z "$with_xface" && { AC_CHECK_HEADER(compface.h, ,with_xface=no) }
- test -z "$with_xface" && { AC_CHECK_LIB(compface, UnGenFace,[:] ,with_xface=no) }
- test -z "$with_xface" && with_xface=yes
- if test "$with_xface" = "yes"; then
- AC_DEFINE(HAVE_XFACE)
- XE_PREPEND(-lcompface, libs_x)
- fi
-
dnl Autodetect -lXaw
AC_CHECK_LIB(Xaw, XawScrollbarSetThumb, have_xaw=yes, have_xaw=no)
dnl if test "$have_xaw" = "yes"; then
test "$with_scrollbars" != "no" && XE_ADD_OBJS(scrollbar.o)
test "$with_dialogs" != "no" && XE_ADD_OBJS(dialog.o)
test "$with_toolbars" != "no" && XE_ADD_OBJS(toolbar.o)
-test "$all_widgets" != "no no no no" && XE_ADD_OBJS(gui.o)
if test "$with_x11" = "yes"; then
test "$with_menubars" != "no" && XE_ADD_OBJS(menubar-x.o)
fi
fi
-test "$use_minimal_tagbits" = "yes" && AC_DEFINE(USE_MINIMAL_TAGBITS)
-test "$use_indexed_lrecord_implementation" = "yes" && \
- AC_DEFINE(USE_INDEXED_LRECORD_IMPLEMENTATION)
-
dnl ----------------------
dnl Mule-dependent options
dnl ----------------------
AC_CHECKING(for Mule-related features)
AC_DEFINE(MULE)
AC_DEFINE(FILE_CODING)
- XE_ADD_OBJS(mule.o mule-ccl.o mule-charset.o mule-coding.o file-coding.o)
+ XE_ADD_OBJS(mule.o mule-ccl.o mule-charset.o file-coding.o)
dnl Use -lintl to get internationalized strerror for Mule
AC_CHECK_HEADERS(libintl.h)
dnl test -z "$with_xim" -a "$opsys" != "sol2" && with_xim=no
case "$with_xim" in "" | "yes" )
AC_CHECKING(for XIM)
+ AC_CHECK_LIB(X11, XOpenIM, with_xim=xlib, with_xim=no)
dnl XIM + Lesstif is not (yet?) usable
- if test "$have_lesstif" = "yes"; then with_xim=xlib
- else AC_CHECK_LIB(Xm, XmImMbLookupString, with_xim=motif, with_xim=xlib)
- fi
+ if test "$have_motif $have_lesstif" = "yes no"; then
+ AC_CHECK_LIB(Xm, XmImMbLookupString, with_xim=motif)
+ fi ;;
esac
if test "$with_xim" != "no"; then
AC_DEFINE(HAVE_XIM)
fi
fi
- dnl "with_xim" = "yes"
+ dnl "with_xfs" = "yes"
if test "$with_xfs" = "yes" ; then
AC_CHECKING(for XFontSet)
AC_CHECK_LIB(X11, XmbDrawString, [:], with_xfs=no)
XE_ADD_OBJS(input-method-xfs.o)
fi
fi
- fi dnl with_xim
+ fi dnl with_xfs
dnl Autodetect WNN
test "$with_wnn6" = "yes" && with_wnn=yes # wnn6 implies wnn support
test "$ac_cv_func_crypt" != "yes" && { AC_CHECK_LIB(crypt, crypt) }
fi
dnl Back to our regularly scheduled wnn hunting
- test -z "$with_wnn" && { AC_CHECK_LIB(wnn,jl_dic_list_e,[:],with_wnn=no) }
+ if test -z "$with_wnn" -o "$with_wnn" = "yes"; then
+ AC_CHECK_LIB(wnn,jl_dic_list_e,libwnn=wnn,
+ AC_CHECK_LIB(wnn4,jl_dic_list_e,libwnn=wnn4,
+ AC_CHECK_LIB(wnn6,jl_dic_list_e,libwnn=wnn6,
+ AC_CHECK_LIB(wnn6_fromsrc,dic_list_e,libwnn=wnn6_fromsrc,with_wnn=no))))
+ fi
test -z "$with_wnn" && with_wnn=yes
if test "$with_wnn" = "yes"; then
AC_DEFINE(HAVE_WNN)
- XE_PREPEND(-lwnn, libs_x)
+ XE_PREPEND(-l$libwnn, libs_x)
XE_ADD_OBJS(mule-wnnfns.o)
if test "$with_wnn6" != "no"; then
- AC_CHECK_LIB(wnn, jl_fi_dic_list, with_wnn6=yes)
+ AC_CHECK_LIB($libwnn, jl_fi_dic_list, with_wnn6=yes)
test "$with_wnn6" = "yes" && AC_DEFINE(WNN6)
fi
fi
dnl For example, call realpath on a file thirty-five or so directories deep
dnl and you get ELOOP even if no symlinks at all are involved.
dnl Reports as of 11/1997 indicate BSDi has problems too.
+dnl The realpath() in UnixWare2.1.3 could not get any pathname fragment in error condition.
case "$opsys" in
linuxaout* | bsdos3* | freebsd* | decosf4-0* | aix4* ) XE_ADD_OBJS(realpath.o) ;;
* )
- AC_CHECK_FUNCS(realpath)
- test "$ac_cv_func_realpath" != "yes" && XE_ADD_OBJS(realpath.o) ;;
+ case "$canonical" in
+ *-*-sysv4.2uw2* ) XE_ADD_OBJS(realpath.o) ;;
+ * ) AC_CHECK_FUNCS(realpath)
+ test "$ac_cv_func_realpath" != "yes" && XE_ADD_OBJS(realpath.o) ;;
+ esac ;;
esac
+dnl Check whether the system provides getloadavg (Solaris 7 has it)
+AC_CHECK_FUNCS(getloadavg)
+
+if test "$ac_cv_func_getloadavg" != "yes"
+then
+ XE_ADD_OBJS(getloadavg.o)
+
+ dnl Used by getloadavg() - does not require root priveleges
+ AC_CHECK_LIB(kstat, kstat_open)
+
+ dnl Another way to get the load average
+ AC_CHECK_LIB(kvm, kvm_read)
+fi
+
dnl If netdb.h does not declare h_errno, we must declare it by hand.
AC_MSG_CHECKING(whether netdb declares h_errno)
AC_TRY_LINK([#include <netdb.h>],
esac
AC_MSG_RESULT($have_mmap)
test "$have_mmap" = "yes" && AC_DEFINE(HAVE_MMAP)
+AC_FUNC_MMAP
dnl rel_alloc requires either GNU malloc or system malloc with mmap
dnl We only turn rel_alloc on by default if mmap is available.
XE_ADD_OBJS(nas.o)
XE_PREPEND(-laudio, libs_x)
dnl If the nas library does not contain the error jump point,
- dnl then we force safer behaviour.
+ dnl then we force safer behavior.
AC_EGREP_HEADER(AuXtErrorJump,audio/Xtutil.h,,[AC_DEFINE(NAS_NO_ERROR_JUMP)])
esac
test "$with_x11" = "yes" -o "$with_tty" = "yes" && XE_ADD_OBJS(event-unixoid.o)
dnl Database support
-dnl <mdiers@logware.de>
dnl We do not necessarily have to have libdb/lib(g)dbm for DB/(G)DBM support.
dnl On FreeBSD, both DB and DBM are part of libc.
-dnl Note that unless support for DB/(G)DBM is explicitly disabled, we always
-dnl want to check for libdb/lib(g)dbm. Also note that libc will not be
-dnl checked if we have the libraries.
-dnl If support for DB/(G)DBM is requested, but we neither have libdb/lib(g)dbm,
-dnl nor does libc implement it, we are a bit lost :)
-
-AC_CHECKING(for database support)
+dnl By default, we check for DBM support in libgdbm, then libc, then libdbm.
+
+test "$with_database_gnudbm $with_database_dbm $with_database_berkdb" \
+ != "no no no" && AC_CHECKING(for database support)
+
+dnl Check for ndbm.h, required for either kind of DBM support.
+if test "$with_database_gnudbm $with_database_dbm" != "no no"; then
+ AC_CHECK_HEADER(ndbm.h, [:], [
+ test "$with_database_gnudbm" = "yes" -o \
+ "$with_database_dbm" = "yes" && \
+ XE_DIE("Required DBM support cannot be provided.")
+ with_database_gnudbm=no with_database_dbm=no])
+fi
+dnl Check for DBM support in libgdbm.
if test "$with_database_gnudbm" != "no"; then
- AC_CHECK_HEADERS(ndbm.h, have_ndbm_h=yes)
- if test "$have_ndbm_h" = "yes"; then
- AC_CHECK_LIB(gdbm, dbm_open, with_database_gnudbm=yes have_libgdbm=yes)
- fi
- if test "$with_database_gnudbm" != "yes"; then
- AC_CHECK_FUNC(dbm_open, with_database_gnudbm=yes)
- fi
- if test "$with_database_gnudbm" = "yes"; then
- AC_DEFINE(HAVE_DBM)
- test "$have_libgdbm" = "yes" && XE_PREPEND(-lgdbm, LIBS)
- with_database_dbm=no
- else with_database_gnudbm=no
- fi
+ AC_CHECK_LIB(gdbm, dbm_open, [
+ with_database_gnudbm=yes with_database_dbm=no libdbm=-lgdbm], [
+ if test "$with_database_gnudbm" = "yes"; then
+ XE_DIE("Required GNU DBM support cannot be provided.")
+ fi
+ with_database_gnudbm=no])
fi
+dnl Check for DBM support in libc and libdbm.
if test "$with_database_dbm" != "no"; then
- AC_CHECK_FUNC(dbm_open, with_database_dbm=yes need_libdbm=no)
- if test "$need_libdbm" != "no"; then
- AC_CHECK_LIB(dbm, dbm_open, with_database_dbm=yes need_libdbm=yes)
- fi
- if test "$with_database_dbm" = "yes"; then
- AC_DEFINE(HAVE_DBM)
- test "$need_libdbm" = "yes" && XE_PREPEND(-ldbm, LIBS)
- else with_database_dbm=no
- fi
+ AC_CHECK_FUNC(dbm_open, [with_database_dbm=yes libdbm=], [
+ AC_CHECK_LIB(dbm, dbm_open, [with_database_dbm=yes libdbm=-ldbm], [
+ test "$with_database_dbm" = "yes" && \
+ XE_DIE("Required DBM support cannot be provided.")
+ with_database_dbm=no])])
fi
+dnl Tell make about the DBM support we detected.
+test -n "$libdbm" && XE_PREPEND("$libdbm", LIBS)
+test "$with_database_gnudbm" = "yes" -o \
+ "$with_database_dbm" = "yes" && \
+ AC_DEFINE(HAVE_DBM)
+
+dnl Check for Berkeley DB.
if test "$with_database_berkdb" != "no"; then
AC_MSG_CHECKING(for Berkeley db.h)
for path in "db/db.h" "db.h"; do
#include <$path>
],[], db_h_path="$path"; break)
done
- if test -z "$db_h_path"
+ if test -z "$db_h_path"
then AC_MSG_RESULT(no); with_database_berkdb=no
else AC_MSG_RESULT($db_h_path)
fi
fi
dnl autodetect dll support
-AC_CHECK_HEADERS(dlfcn.h, have_dlfcn=yes)
+AC_CHECK_HEADERS(dlfcn.h, [have_dlfcn=yes
+ AC_DEFINE(HAVE_DLFCN_H)])
test -z "$with_shlib" && test ! -z "$have_dlfcn" && { AC_CHECK_LIB(dl, dlopen, [ AC_DEFINE(HAVE_DLOPEN) DLL_LIB=dl; with_shlib=yes]) }
test -z "$with_shlib" && test ! -z "$have_dlfcn" && { AC_CHECK_LIB(c, _dlopen, [ AC_DEFINE(HAVE_DLOPEN) DLL_LIB=; with_shlib=yes]) }
test -z "$with_shlib" && test ! -z "$have_dlfcn" && { AC_CHECK_LIB(c, dlopen, [ AC_DEFINE(HAVE_DLOPEN) DLL_LIB=; with_shlib=yes]) }
test -z "$with_shlib" && { AC_CHECK_LIB(dld, shl_load, [ AC_DEFINE(HAVE_SHL_LOAD) DLL_LIB=dld; with_shlib=yes]) }
test -z "$with_shlib" && { AC_CHECK_LIB(dld, dld_init, [ AC_DEFINE(HAVE_DLD_INIT) DLL_LIB=dld; with_shlib=yes]) }
if test "$with_shlib" = "yes"; then
- AC_DEFINE(HAVE_SHLIB)
- XE_ADD_OBJS(sysdll.o)
- XE_ADD_OBJS(dll.o)
- test ! -z "$DLL_LIB" && XE_PREPEND(-l${DLL_LIB}, LIBS)
- XE_MAKE_SHAREDLIB
- AC_CHECK_FUNCS(dlerror)
- ld_dynamic_link_flags=
- dnl Fill this in with other values as this gets more testing
- case "$opsys" in
- hpux*) ld_dynamic_link_flags="-Wl,-E" ;;
- linux*) ld_dynamic_link_flags="-rdynamic" ;;
- *) ;;
- esac
+ XE_SHLIB_STUFF
+ if test "$can_build_shared" = "yes"; then
+ AC_DEFINE(HAVE_SHLIB)
+ XE_ADD_OBJS(sysdll.o)
+ XE_ADD_OBJS(emodules.o)
+ XE_APPEND(src, INSTALL_ARCH_DEP_SUBDIR)
+ test ! -z "$DLL_LIB" && XE_PREPEND(-l${DLL_LIB}, LIBS)
+ AC_CHECK_FUNCS(dlerror _dlerror)
+ else
+ AC_MSG_WARN(disabling shared library support)
+ with_shlib=no
+ fi
fi
dnl Unfortunately, just because we can link doesn't mean we can run.
echo "*** PANIC *** on your system. Don't do that."
exit 1])
-dnl Process support (hardcoded)
-dnl every system that supports this runs configure, the others don't
-
-dnl We're not ready for this yet.
-AC_DEFINE(HAVE_UNIX_PROCESSES)
-XE_ADD_OBJS(process-unix.o)
+dnl Process support
+if test "$win32_processes" = "yes"; then
+ XE_ADD_OBJS(process-nt.o)
+else
+ AC_DEFINE(HAVE_UNIX_PROCESSES)
+ XE_ADD_OBJS(process-unix.o)
+fi
dnl --------------------------------
dnl Compute SUBST-itutable variables
dnl Compute lists of Makefiles and subdirs
AC_SUBST(SRC_SUBDIR_DEPS)
XE_APPEND(src, MAKE_SUBDIR)
-internal_makefile_list="Makefile"
+internal_makefile_list="Makefile.in"
SUBDIR_MAKEFILES=''
test -d lock || mkdir lock
for dir in $MAKE_SUBDIR; do
done ) ;;
* ) test -d "$dir" || mkdir "$dir" ;;
esac
- XE_SPACE(SUBDIR_MAKEFILES, $SUBDIR_MAKEFILES $dir/Makefile)
+ XE_SPACE(SUBDIR_MAKEFILES, $SUBDIR_MAKEFILES $dir/Makefile $dir/GNUmakefile)
XE_SPACE(internal_makefile_list, $internal_makefile_list $dir/Makefile.in)
done
AC_SUBST(INSTALL_ARCH_DEP_SUBDIR)
fi
dnl Create top level .sbinit for Sun compilers
-if test "$__sunpro_c" = "yes"; then
+if test "$__SUNPRO_C" = "yes"; then
echo "creating .sbinit"; echo ""
( echo "# For use with Sun WorkShop's Source browser."
echo "# See sbquery(1) and sbinit(4) for more information"
done
AC_SUBST(LISPDIR)
-dnl AC_SUBST(sitelispdir)
-dnl AC_SUBST(SITELISPDIR_USER_DEFINED)
-dnl SITELISPDIR=$sitelispdir
-dnl while true; do
-dnl case "$SITELISPDIR" in
-dnl *\$* ) eval "SITELISPDIR=$SITELISPDIR" ;;
-dnl *) break ;;
-dnl esac
-dnl done
-dnl AC_SUBST(SITELISPDIR)
+AC_SUBST(moduledir)
+AC_SUBST(MODULEDIR_USER_DEFINED)
+MODULEDIR=$moduledir
+while true; do
+ case "$MODULEDIR" in
+ *\$* ) eval "MODULEDIR=$MODULEDIR" ;;
+ *) break ;;
+ esac
+done
+AC_SUBST(MODULEDIR)
+
+AC_SUBST(sitelispdir)
+AC_SUBST(SITELISPDIR_USER_DEFINED)
+SITELISPDIR=$sitelispdir
+while true; do
+ case "$SITELISPDIR" in
+ *\$* ) eval "SITELISPDIR=$SITELISPDIR" ;;
+ *) break ;;
+ esac
+done
+AC_SUBST(SITELISPDIR)
+
+AC_SUBST(sitemoduledir)
+AC_SUBST(SITEMODULEDIR_USER_DEFINED)
+SITEMODULEDIR=$sitemoduledir
+while true; do
+ case "$SITEMODULEDIR" in
+ *\$* ) eval "SITEMODULEDIR=$SITEMODULEDIR" ;;
+ *) break ;;
+ esac
+done
+AC_SUBST(SITEMODULEDIR)
AC_SUBST(etcdir)
AC_SUBST(ETCDIR_USER_DEFINED)
AC_SUBST(docdir)
AC_SUBST(bitmapdir)
AC_SUBST(extra_objs)
-AC_SUBST(ld_dynamic_link_flags)
dnl The following flags combine all the information from:
dnl - command line options (user always gets priority)
dnl - user environment variables
dnl - determined by configure
-dnl - the s&m header files (deprecated)
+dnl - the s&m header files (required for ellcc)
AC_SUBST(machfile)
AC_SUBST(opsysfile)
AC_SUBST(c_switch_general)
AC_SUBST(RANLIB)
AC_SUBST(dynodump_arch)
-# The default is yes
+dnl Preliminary support for using a different compiler for xemacs itself.
+dnl Useful for building XEmacs with a C++ or 64-bit compiler.
+: ${XEMACS_CC:=$CC}
+AC_SUBST(XEMACS_CC)
+
+
+dnl The default is no
if test "$with_site_lisp" = "no"; then
AC_DEFINE(INHIBIT_SITE_LISP)
fi
+dnl The default is yes
+if test "$with_site_modules" = "no"; then
+ AC_DEFINE(INHIBIT_SITE_MODULES)
+fi
XE_SPACE(ac_configure_args, $ac_configure_args)
AC_DEFINE_UNQUOTED(EMACS_CONFIGURATION, "$canonical")
dnl so that the user gets immediate feedback on the results of the
dnl autodetection.
-test -n "$puresize" && AC_DEFINE_UNQUOTED(RAW_PURESIZE, $puresize)
-
if test "$GNU_MALLOC" = "yes"; then AC_DEFINE(GNU_MALLOC)
elif test "$with_system_malloc" = "yes"; then AC_DEFINE(USE_SYSTEM_MALLOC)
elif test "$with_debug_malloc" = "yes"; then AC_DEFINE(USE_DEBUG_MALLOC)
test "$with_i18n3" = "yes" && AC_DEFINE(I18N3)
test "$GCC" = "yes" && AC_DEFINE(USE_GCC)
test "$external_widget" = "yes" && AC_DEFINE(EXTERNAL_WIDGET)
-test "$with_gnu_make" = "yes" && AC_DEFINE(USE_GNU_MAKE)
test "$no_doc_file" = "yes" && AC_DEFINE(NO_DOC_FILE)
dnl test "$const_is_losing" = "yes" && AC_DEFINE(CONST_IS_LOSING)
+test "$with_purify" = "yes" && AC_DEFINE(PURIFY)
test "$with_quantify" = "yes" && AC_DEFINE(QUANTIFY)
test "$with_pop" = "yes" && AC_DEFINE(MAIL_USE_POP)
test "$with_kerberos" = "yes" && AC_DEFINE(KERBEROS)
elif test "$with_x11" = yes; then
echo " --------------------------------------------------------------------"
echo " WARNING: Compiling without XPM support."
- echo " WARNING: You should strongly considering installing XPM."
+ if test "$xpm_problem" != ""; then
+ echo " Reason: $xpm_problem"
+ fi
+ echo " WARNING: You should strongly consider installing XPM."
echo " WARNING: Otherwise toolbars and other graphics will look suboptimal."
+ echo " WARNING: (a copy may be found in ftp://ftp.xemacs.org/pub/xemacs/aux)"
echo " --------------------------------------------------------------------"
fi
+if test "$with_png" = yes; then
+ echo " Compiling in support for PNG image handling."
+elif test "$window_system" != "none"; then
+ echo " --------------------------------------------------------------------"
+ echo " WARNING: Compiling without PNG image support."
+ if test "$png_problem" != ""; then
+ echo " Reason: $png_problem"
+ fi
+ echo " WARNING: You should strongly consider installing the PNG libraries."
+ echo " WARNING: Otherwise certain images and glyphs may not display."
+ echo " WARNING: (a copy may be found in ftp://ftp.xemacs.org/pub/xemacs/aux)"
+ echo " --------------------------------------------------------------------"
+fi
+test "$with_gif" = yes && echo " Compiling in support for (builtin) GIF image handling."
+test "$with_jpeg" = yes && echo " Compiling in support for JPEG image handling."
+test "$with_tiff" = yes && echo " Compiling in support for TIFF image handling."
test "$with_xface" = yes && echo " Compiling in support for X-Face message headers."
-test "$with_gif" = yes && echo " Compiling in support for GIF image conversion."
-test "$with_jpeg" = yes && echo " Compiling in support for JPEG image conversion."
-test "$with_png" = yes && echo " Compiling in support for PNG image conversion."
-test "$with_tiff" = yes && echo " Compiling in support for TIFF image conversion."
case "$with_sound" in
nas ) echo " Compiling in network sound (NAS) support." ;;
native ) echo " Compiling in native sound support." ;;
both ) echo " Compiling in both network and native sound support." ;;
esac
-test "$old_nas" = yes && echo " nas library lacks error trapping, will play synchronously"
+test "$old_nas" = yes && echo " nas library lacks error trapping, will play synchronously."
test "$with_database_berkdb" = yes && echo " Compiling in support for Berkeley DB."
test "$with_database_dbm" = yes && echo " Compiling in support for DBM."
athena3d ) echo " Using Athena-3d scrollbars." ;;
esac
case "$with_dialogs" in
- motif ) echo " Using Motif dialog boxes." ;;
+ motif )
+ echo " Using Motif dialog boxes."
+ if test "$unexec" = "unexaix.o"; then if test "`uname -v`" = 4 -a "`uname -r`" -ge 3; then
+ echo " *WARNING* The Motif dialog boxes cause problems on AIX 4.3 and higher."
+ echo " We recommend using the Athena dialog boxes instead."
+ echo " Install libXaw and re-run configure with --with-dialogs='athena'."
+ echo " Read the PROBLEMS file for more information."
+ fi; fi
+ ;;
athena ) echo " Using Athena dialog boxes." ;;
athena3d ) echo " Using Athena-3d dialog boxes." ;;
esac
test "$with_clash_detection" = yes && \
echo " Clash detection will use \"$lockdir\" for locking files."
echo " movemail will use \"$mail_locking\" for locking mail spool files."
-test "$with_pop" = yes && echo " Using POP for mail access"
-test "$with_kerberos" = yes && echo " Using Kerberos for POP authentication"
-test "$with_hesiod" = yes && echo " Using Hesiod to get POP server host"
+test "$with_pop" = yes && echo " Using POP for mail access."
+test "$with_kerberos" = yes && echo " Using Kerberos for POP authentication."
+test "$with_hesiod" = yes && echo " Using Hesiod to get POP server host."
test "$use_union_type" = yes && echo " Using the union type for Lisp_Objects."
-test "$use_minimal_tagbits" = yes && echo " Using Lisp_Objects with minimal tagbits."
-test "$use_indexed_lrecord_implementation" = yes && echo " Using indexed lrecord implementation."
test "$debug" = yes && echo " Compiling in extra code for debugging."
-test "$memory_usage_stats" = yes && echo " Compiling in code for checking XEmacs memory usage."
test "$usage_tracking" = yes && echo " Compiling with usage tracking active (Sun internal)."
if test "$error_check_extents $error_check_typecheck $error_check_bufpos $error_check_gc $error_check_malloc" \
!= "no no no no no"; then
dnl echo "The above configure report is appended to \"Installation\" file."
echo ""
-dnl Generate Installation.el
-echo '(setq Installation-string "' > Installation.el
-sed 's/"/\\"/g' Installation >> Installation.el
-echo '")' >> Installation.el
-
dnl -----------------------------------
dnl Now generate config.h and Makefiles
dnl -----------------------------------
-
dnl This has to be called in order for this variable to get into config.status
AC_SUBST(internal_makefile_list)
# Remove any trailing slashes in these variables.
ac_output_files="${ac_output_files+$ac_output_files }$file"
done
ac_output_files="$ac_output_files src/paths.h lib-src/config.values"
+if test "$with_shlib" = "yes"; then
+ ac_output_files="$ac_output_files lib-src/ellcc.h"
+fi
AC_OUTPUT($ac_output_files,
-[for dir in $MAKE_SUBDIR; do
- echo creating $dir/Makefile
+[for dir in . $MAKE_SUBDIR; do
(
-changequote(<<, >>)dnl
cd $dir
rm -f junk.c
< Makefile.in \
sed -e '/^# Generated/d' \
-e 's%/\*\*/#.*%%' \
-e 's/^ *# */#/' \
+dnl Delete Makefile.in.in comment lines
-e '/^##/d' \
+dnl Pass through CPP directives unchanged
-e '/^#/ {
p
d
-}' -e '/./ {
-s/\([\"]\)/\\\1/g
+}' \
+dnl Quote other lines to protect from CPP substitution
+ -e '/./ {
+s/\([[\"]]\)/\\\1/g
s/^/"/
s/$/"/
}' > junk.c;
- $CPP -I. -I${top_srcdir}/src $CPPFLAGS junk.c > junk.cpp;
- < junk.cpp \
- sed -e 's/^#.*//' \
- -e 's/^[ TAB][ TAB]*$//' \
- -e 's/^ /TAB/' \
- | sed -n -e '/^..*$/p' \
- | sed '/^"/ {
-s/\\\([\"]\)/\1/g
-s/^[ TAB]*"//
-s/"[ TAB]*$//
-}' > Makefile.new
+
+dnl Create a GNUmakefile and Makefile from Makefile.in.
+
+changequote(<<,>>)dnl
+dnl CPP_MAKEFILE(CPPFLAGS,filename)
+define(<<CPP_MAKEFILE>>,
+echo creating $dir/<<$2>>
+$CPP -I. -I${top_srcdir}/src <<$1>> junk.c \
+dnl Delete line directives inserted by $CPP
+ | sed -e 's/^\#.*//' \
+dnl Delete spurious blanks inserted by $CPP
+ -e 's/^[ TAB][ TAB]*$//'\
+ -e 's/^ /TAB/' \
+dnl Delete blank lines
+ | sed -n -e '/^..*$/p' \
+dnl Restore lines quoted above to original contents.
+ | sed '/^\"/ {
+ s/\\\([\"]\)/\1/g
+ s/^[ TAB]*\"//
+ s/\"[ TAB]*$//
+}' > Makefile.new
chmod 444 Makefile.new
- mv -f Makefile.new Makefile
- rm -f junk.c junk.cpp
-changequote([, ])dnl
-)
+ mv -f Makefile.new <<$2>>
+)dnl CPP_MAKEFILE
+
+ CPP_MAKEFILE(,Makefile)
+ CPP_MAKEFILE(-DUSE_GNU_MAKE,GNUmakefile)
+changequote([,])dnl
+ rm -f junk.c
+ )
done
dnl Append AC_DEFINE information to lib-src/config.values
],
[CPP="$CPP"
- CPPFLAGS="$CPPFLAGS"
top_srcdir="$srcdir"
MAKE_SUBDIR="$MAKE_SUBDIR"
-])
+])dnl
Set compilation and installation parameters for XEmacs, and report.
Note that for most of the following options, you can explicitly enable
-them using `--OPTION=yes' and explicitly disable them using `--OPTION=no'.
+them using `--OPTION=yes' and explicitly disable them using `--OPTION=no'.
This is especially useful for auto-detected options.
The option `--without-FEATURE' is a synonym for `--with-FEATURE=no'.
General options:
---help Issue this usage message.
---verbose Display the results of configure tests.
---extra-verbose Display even more information, useful for debugging.
+--help Issue this usage message.
+--verbose Display the results of configure tests.
+--extra-verbose Display even more information, useful for debugging.
Compilation options:
---compiler=prog C compiler to use.
---with-gcc (*) Use GCC to compile XEmacs.
---without-gcc Don't use GCC to compile XEmacs.
---with-gnu-make Write the Makefiles to take advantage of
- special features of GNU Make. (GNU Make
- works fine on the Makefiles even without this
- option. This just allows for simultaneous
- in-place and --srcdir building.)
---cflags=FLAGS Compiler flags (such as -O)
---cpp=prog C preprocessor to use (e.g. /usr/ccs/lib/cpp or cc -E)
---cppflags=FLAGS C preprocessor flags (e.g. -I/foo or -Dfoo=bar)
---libs=LIBS Additional libraries (e.g. -lfoo)
---ldflags=FLAGS Additional linker flags (e.g. -L/foo)
---site-includes=PATH List of directories to search first for header files.
---site-libraries=PATH List of directories to search first for libraries.
+--compiler=prog C compiler to use.
+--with-gcc (*) Use GCC to compile XEmacs.
+--without-gcc Don't use GCC to compile XEmacs.
+--cflags=FLAGS Compiler flags (such as -O)
+--cpp=prog C preprocessor to use (e.g. /usr/ccs/lib/cpp or cc -E)
+--cppflags=FLAGS C preprocessor flags (e.g. -I/foo or -Dfoo=bar)
+--libs=LIBS Additional libraries (e.g. -lfoo)
+--ldflags=FLAGS Additional linker flags (e.g. -L/foo)
+--site-includes=PATH List of directories to search first for header files.
+--site-libraries=PATH List of directories to search first for libraries.
--site-prefixes=PATH List of directories to search for include/ and lib/
subdirectories, just after 'site-includes' and
'site-libraries'.
--site-runtime-libraries=PATH
- List of ALL directories to search for dynamically
- linked libraries at run time.
---dynamic=yes Link dynamically if supported by system.
---dynamic=no Force static linking on systems where dynamic
- linking is the default.
---srcdir=DIR Look for the XEmacs source files in DIR.
- See also --with-gnu-make.
---use-indexed-lrecord-implementation
---use-minimal-tagbits
---gung-ho Build with new-style Lisp_Objects.
- Equivalent to both of the 2 previous options combined.
+ List of ALL directories to search for dynamically
+ linked libraries at run time.
+--dynamic=yes Link dynamically if supported by system.
+--dynamic=no Force static linking on systems where dynamic
+ linking is the default.
+--srcdir=DIR Look for the XEmacs source files in DIR.
+ Works best when using GNU Make.
Installation options:
---prefix=DIR Install files below DIR. Defaults to `/usr/local'.
+--prefix=DIR Install files below DIR. Defaults to `/usr/local'.
Window-system options:
---with-x11 (*) Support the X Window System.
---without-x11 Don't support X.
---x-includes=DIR Search for X header files in DIR.
---x-libraries=DIR Search for X libraries in DIR.
---without-toolbars Don't compile with any toolbar support.
---without-session Compile without realized leader window which will
- keep the WM_COMMAND property. Required for proper
- session-management.
---with-menubars=TYPE Use TYPE menubars (lucid, motif, or no). The Lucid
- widgets emulate Motif (mostly) but are faster.
- *WARNING* The Motif menubar is currently broken.
---with-scrollbars=TYPE Use TYPE scrollbars
- (lucid, motif, athena, athena3d, or no).
---with-dialogs=TYPE Use TYPE dialog boxes (motif, athena, athena3d, or no).
- Lucid menubars and scrollbars are the default.
- Motif dialog boxes will be used if Motif can be found.
---with-dragndrop (*) Compile in the generic drag and drop API. This is
- automatically added if one of the drag and drop
- protocols is found (currently CDE, OffiX, MSWindows).
- *WARNING* The Drag'n'drop support is under development
- and is considered experimental.
---with-cde (*) Compile in support for CDE drag and drop.
---with-offix (*) Compile in support for OffiX drag and drop.
- *WARNING* If you compile in OffiX, you may not be
- able to use multiple X displays success-
- fully. If the two servers are from
- different vendors, the results may be
- unpredictable.
---without-xmu (*) For those unfortunates whose vendors don't ship Xmu.
---external-widget Compile with external widget support.
---with-xpm (*) Compile with support for XPM files.
- It is highly recommended that you obtain XPM
- (version 3.4h or better) if you don't already
- have it. Get it from the XEmacs FTP site.
---with-xface (*) Compile with support for X-Face mail header
- conversion. Requires the compface library.
- Get it from the XEmacs FTP site.
---with-gif (*) Compile with support for GIF image conversion.
- Requires GifLib 3.1 or greater. Get it from
- the XEmacs FTP site.
---with-jpeg (*) Compile with support for JPEG image conversion.
- Requires libjpeg from the Independent JPEG Group.
- Get it from the XEmacs FTP site.
---with-png (*) Compile with support for PNG image conversion.
- Requires libpng. Get it from the XEmacs FTP site.
---with-tiff (*) Compile with support for TIFF image conversion.
- Requires Sam Lefflier's libtiff library.
- Get if from the XEmacs FTP site.
+--with-x11 (*) Support the X Window System.
+--without-x11 Don't support X.
+--x-includes=DIR Search for X header files in DIR.
+--x-libraries=DIR Search for X libraries in DIR.
+--without-toolbars Don't compile with any toolbar support.
+--without-session Compile without realized leader window which will
+ keep the WM_COMMAND property. Required for proper
+ session-management.
+--with-menubars=TYPE Use TYPE menubars (lucid, motif, or no). The Lucid
+ widgets emulate Motif (mostly) but are faster.
+ *WARNING* The Motif menubar is currently broken.
+--with-scrollbars=TYPE Use TYPE scrollbars
+ (lucid, motif, athena, athena3d, or no).
+--with-dialogs=TYPE Use TYPE dialog boxes (motif, athena, athena3d, or no).
+ Lucid menubars and scrollbars are the default.
+ Motif dialog boxes will be used if Motif can be found.
+--with-dragndrop (*) Compile in the generic drag and drop API. This is
+ automatically added if one of the drag and drop
+ protocols is found (currently CDE, OffiX, MSWindows).
+ *WARNING* The Drag'n'drop support is under development
+ and is considered experimental.
+--with-cde (*) Compile in support for CDE drag and drop.
+--with-offix (*) Compile in support for OffiX drag and drop.
+ *WARNING* If you compile in OffiX, you may not be
+ able to use multiple X displays success-
+ fully. If the two servers are from
+ different vendors, the results may be
+ unpredictable.
+--without-xmu (*) For those unfortunates whose vendors don't ship Xmu.
+--external-widget Compile with external widget support.
+--with-xpm (*) Compile with support for XPM files.
+ It is highly recommended that you obtain XPM
+ (version 3.4h or better) if you don't already
+ have it. Get it from the XEmacs FTP site.
+--with-xface (*) Compile with support for X-Face mail header
+ conversion. Requires the compface library.
+ Get it from the XEmacs FTP site.
+--without-gif Compile without the built-in support for GIF image
+ conversion.
+--with-jpeg (*) Compile with support for JPEG image conversion.
+ Requires libjpeg from the Independent JPEG Group.
+ Get it from the XEmacs FTP site.
+--with-png (*) Compile with support for PNG image conversion.
+ Requires libpng. Get it from the XEmacs FTP site.
+--with-tiff (*) Compile with support for TIFF image conversion.
+ Requires Sam Lefflier's libtiff library.
+ Get if from the XEmacs FTP site.
TTY options:
---without-tty Don't support TTY-s.
---with-ncurses (*) Use the ncurses library for tty support.
---with-gpm (*) Compile in support for General Purpose Mouse.
+--without-tty Don't support TTY-s.
+--with-ncurses (*) Use the ncurses library for tty support.
+--with-gpm (*) Compile in support for General Purpose Mouse.
Additional features:
---with-tooltalk (*) Support the ToolTalk IPC protocol.
---with-workshop Support the Sun WorkShop (formerly Sparcworks)
- development environment.
---with-socks Compile with support for SOCKS (an Internet proxy).
+--with-tooltalk (*) Support the ToolTalk IPC protocol.
+--with-workshop Support the Sun WorkShop (formerly Sparcworks)
+ development environment.
+--with-socks Compile with support for SOCKS (an Internet proxy).
--with-database=TYPE (*) Compile with database support. Valid types are
- `no' or a comma-separated list of one or more
- of `dbm', `gnudbm', or `berkdb'.
---with-sound=native (*) Compile with native sound support.
---with-sound=nas Compile with network sound support.
---with-sound=both Compile with native and network sound support.
---native-sound-lib=LIB Native sound support library. Needed on Suns
- with --with-sound=both because both sound libraries
- are called libaudio.
---with-pop support POP for mail retrieval
---with-kerberos support Kerberos-authenticated POP
---with-hesiod support Hesiod to get the POP server host
---with-dnet (*) Compile with support for DECnet.
+ `no' or a comma-separated list of one or more
+ of `berkdb' and either `dbm' or `gnudbm'.
+--with-sound=native (*) Compile with native sound support.
+--with-sound=nas Compile with network sound support.
+--with-sound=both Compile with native and network sound support.
+--native-sound-lib=LIB Native sound support library. Needed on Suns
+ with --with-sound=both because both sound libraries
+ are called libaudio.
+--with-pop support POP for mail retrieval
+--with-kerberos support Kerberos-authenticated POP
+--with-hesiod support Hesiod to get the POP server host
+--with-dnet (*) Compile with support for DECnet.
--with-ldap (*) Compile with support for the LDAP protocol (requires
installed LDAP libraries on the system).
---mail-locking=TYPE (*) Specify the locking to be used by movemail to prevent
- concurrent updates of mail spool files. Valid types
- are `lockf', `flock', and `file'.
---with-site-lisp Allow for a site-lisp directory in the XEmacs hierarchy
- searched before the installation packages.
+--mail-locking=TYPE (*) Specify the locking to be used by movemail to prevent
+ concurrent updates of mail spool files. Valid types
+ are `lockf', `flock', and `file'.
+--with-site-lisp=yes Allow for a site-lisp directory in the XEmacs hierarchy
+ searched before the installation packages.
+--with-site-modules=no Disable site-modules directory in the XEmacs hierarchy,
+ which is searched before the installation modules.
--package-path=PATH Directories to search for packages to dump with xemacs.
- PATH splits into three parts separated
- by double colons (::), an early, a late, and a last part,
+ PATH splits into three parts separated by double
+ colons (::), an early, a late, and a last part,
corresponding to their position in the various
- system paths: The early part is always first,
- the late part somewhere in the middle, and the
+ system paths: The early part is always first,
+ the late part somewhere in the middle, and the
last part at the very back.
Only the late part gets seen at dump time.
- If PATH has only one component, that component
+ If PATH has only one component, that component
is late.
If PATH has two components, the first is
early, the second is late.
---infodir=DIR Directory to install the XEmacs Info manuals and dir in.
---infopath=PATH Directories to search for Info documents, info dir
- and localdir files in case run-time searching
+--infodir=DIR Directory to install XEmacs Info manuals and dir in.
+--infopath=PATH Directories to search for Info documents, info dir
+ and localdir files in case run-time searching
for them fails.
+--moduledir=DIR Directory to install dynamic modules in.
Internationalization options:
---with-mule Compile with Mule (MUlti-Lingual Emacs) support,
- needed to support non-Latin-1 (including Asian) languages.
---with-xim=xlib Compile with support for X input methods,
---with-xim=motif (*) Used in conjunction with Mule support.
- Use either raw Xlib to provide XIM support, or
- the Motif XmIm* routines (when available).
- NOTE: On some systems bugs in X11's XIM support
- will cause XEmacs to crash, so by default,
- no XIM support is compiled in, unless running
- on Solaris and the XmIm* routines are detected.
---with-canna (*) Compile with support for Canna (a Japanese input method
- used in conjunction with Mule support).
---with-wnn (*) Compile with support for WNN (a multi-language input method
- used in conjunction with Mule support).
---with-wnn6 (*) Compile with support for the comercial package WNN version 6
---with-i18n3 Compile with I18N level 3 (support for message
- translation). This doesn't currently work.
---with-xfs Compile with XFontSet support for bilingual menubar.
- Can't use this option with --with-xim=motif or xlib.
- And should have --with-menubars=lucid.
+--with-mule Compile with Mule (MUlti-Lingual Emacs) support,
+ needed to support non-Latin-1 (including Asian)
+ languages.
+--with-xim=xlib Compile with support for X input methods,
+--with-xim=motif (*) Used in conjunction with Mule support.
+ Use either raw Xlib to provide XIM support, or
+ the Motif XmIm* routines (when available).
+ NOTE: On some systems bugs in X11's XIM support
+ will cause XEmacs to crash, so by default,
+ no XIM support is compiled in, unless running
+ on Solaris and the XmIm* routines are detected.
+--with-canna (*) Compile with support for Canna (a Japanese input method
+ used in conjunction with Mule support).
+--with-wnn (*) Compile with support for WNN (a multi-language input
+ method used in conjunction with Mule support).
+--with-wnn6 (*) Compile with support for the comercial package WNN
+ version 6
+--with-i18n3 Compile with I18N level 3 (support for message
+ translation). This doesn't currently work.
+--with-xfs Compile with XFontSet support for bilingual menubar.
+ Can't use this option with --with-xim=motif or xlib.
+ And should have --with-menubars=lucid.
Debugging options:
---debug Compile with support for debugging XEmacs.
- (Causes code-size increase and little loss of speed.)
+--debug Compile with support for debugging XEmacs.
+ (Causes code-size increase and little loss of speed.)
--error-checking=TYPE[,TYPE]...
- Compile with internal error-checking added.
- Causes noticeable loss of speed. Valid types
- are extents, bufpos, malloc, gc, typecheck.
---error-checking=none Disable all internal error-checking (the default).
---error-checking=all Enable all internal error-checking.
---memory-usage-stats Compile with additional code to allow you to
- determine what XEmacs's memory is being used
- for. Causes a small code increase but no loss
- of speed. Normally enabled when --debug is given.
---no-doc-file Don't rebuild the DOC file unless it's explicitly
- deleted. Only use during development. (It speeds
- up the compile-run-test cycle.)
---use-union-type Enable or disable use of a union, instead of an
- int, for the fundamental Lisp_Object type; this
- provides stricter type-checking. Only works with
- some systems and compilers.
+ Compile with internal error-checking added.
+ Causes noticeable loss of speed. Valid types
+ are extents, bufpos, malloc, gc, typecheck.
+--error-checking=none Disable all internal error-checking (the default).
+--error-checking=all Enable all internal error-checking.
+--memory-usage-stats Compile with additional code to allow you to
+ determine what XEmacs's memory is being used
+ for. Causes a small code increase but no loss
+ of speed. Normally enabled when --debug is given.
+--no-doc-file Don't rebuild the DOC file unless it's explicitly
+ deleted. Only use during development. (It speeds
+ up the compile-run-test cycle.)
+--use-union-type Enable or disable use of a union, instead of an
+ int, for the fundamental Lisp_Object type; this
+ provides stricter type-checking. Only works with
+ some systems and compilers.
+--with-quantify Add support for performance debugging using Quantify.
+--with-purify Add support for memory debugging using Purify.
Other options:
---puresize=VALUE Override default amount of space for pure Lisp code.
---rel-alloc Use the relocating allocator (default for this option
- is system-dependent).
---with-dlmalloc Control usage of Doug Lea malloc on systems that have
- it in the standard C library (default is to use it if
- it is available).
---with-clash-detection Use lock files to detect multiple edits of the same file.
- The default is to not do clash detection.
---lockdir=DIR The directory to put clash detection files in, such as
- `/var/lock/emacs'.
- Defaults to `${statedir}/xemacs/lock'.
---with-system-malloc Force use of the system malloc, rather than GNU malloc.
---with-debug-malloc Use the debugging malloc package.
+--rel-alloc Use the relocating allocator (default for this option
+ is system-dependent).
+--with-dlmalloc Control usage of Doug Lea malloc on systems that have
+ it in the standard C library (default is to use it if
+ it is available).
+--with-system-malloc Force use of the system malloc, rather than GNU malloc.
+--with-debug-malloc Use the debugging malloc package.
+--with-clash-detection Use lock files to detect multiple edits of the same
+ file. The default is to not do clash detection.
+--lockdir=DIR The directory to put clash detection files in, such as
+ `/var/lock/emacs'.
+ Defaults to `${statedir}/xemacs/lock'.
You may also specify any of the `path' variables found in Makefile.in,
including --bindir, --libdir, --lispdir, --sitelispdir, --datadir,
clean: mostlyclean
$(RM) *.so *.so.1
distclean: clean
- $(RM) Makefile Makefile.in TAGS
+ $(RM) GNUmakefile Makefile Makefile.in TAGS
realclean: distclean
extraclean: realclean
$(RM) *~ \#*
* Mountain View, California 94043
*/
-#pragma ident "@(#) $Id: _dynodump.h,v 1.3 1997/05/29 04:22:29 steve Exp $ - SMI"
+#pragma ident "@(#) $Id: _dynodump.h,v 1.5 1996/05/23 18:39:07 georgn Exp $ - SMI"
#ifndef _DYNODUMP_DOT_H
#define _DYNODUMP_DOT_H
* N.B. The above commentary is not quite correct in the flags have been hardwired
* to RTLD_SAVREL.
*/
-#pragma ident "@(#) $Id: dynodump.c,v 1.6 1998/03/31 20:10:55 steve Exp $ - SMI"
+#pragma ident "@(#) $Id: dynodump.c,v 1.8 1996/05/23 18:39:21 georgn Exp $ - SMI"
#define __EXTENSIONS__ 1
* Mountain View, California 94043
*/
-#pragma ident "@(#) $Id: _relocate.c,v 1.3 1997/05/29 04:23:02 steve Exp $ - SMI"
+#pragma ident "@(#) $Id: _relocate.c,v 1.4 1995/06/26 20:12:41 georgn Exp $ - SMI"
/* LINTLIBRARY */
* Mountain View, California 94043
*/
-#pragma ident "@(#) $Id: machdep.h,v 1.3 1997/05/29 04:23:02 steve Exp $ - SMI"
+#pragma ident "@(#) $Id: machdep.h,v 1.2 1995/02/16 22:58:43 georgn Exp $ - SMI"
/*
* Global include file for all sgs Intel machine dependent macros, constants
* Mountain View, California 94043
*/
-#pragma ident "@(#) $Id: _relocate.c,v 1.4 1998/03/31 20:10:55 steve Exp $ - SMI"
+#pragma ident "@(#) $Id: _relocate.c,v 1.3 1995/06/26 20:16:39 georgn Exp $ - SMI"
/* LINTLIBRARY */
* Mountain View, California 94043
*/
-#pragma ident "@(#) $Id: machdep.h,v 1.3 1997/05/29 04:23:20 steve Exp $ - SMI"
+#pragma ident "@(#) $Id: machdep.h,v 1.2 1995/02/16 22:58:49 georgn Exp $ - SMI"
/*
* Global include file for all sgs PowerPC machine dependent macros, constants
/*
* Update the value of the `_edata' and `_end' symbols.
*/
-#pragma ident "@(#) $Id: _relocate.c,v 1.4 1998/03/31 20:10:55 steve Exp $ - SMI"
+#pragma ident "@(#) $Id: _relocate.c,v 1.4 1995/06/26 20:13:26 georgn Exp $ - SMI"
#include <libelf.h>
#include <string.h>
* Mountain View, California 94043
*/
-#pragma ident "@(#) $Id: machdep.h,v 1.3 1997/05/29 04:23:26 steve Exp $ - SMI"
+#pragma ident "@(#) $Id: machdep.h,v 1.2 1995/02/16 22:58:55 georgn Exp $ - SMI"
/*
* Global include file for all sgs SPARC machine dependent macros, constants
/*
* Update the value of the `_edata' and `_end' symbols.
*/
-#pragma ident "@(#) $Id: syms.c,v 1.3 1997/05/29 04:22:30 steve Exp $ - SMI"
+#pragma ident "@(#) $Id: syms.c,v 1.2 1995/03/06 22:39:22 georgn Exp $ - SMI"
#include <libelf.h>
#include <string.h>
After you have verified that you have a functional editor, fire up
your favorite mail program and send a build report to
-xemacs-beta@xemacs.org. The build report should include
+xemacs-build-reports@xemacs.org. The build report should include
1. Your hardware configuration (OS version, etc.)
Each patch will be reviewed by the patches review board, and will be
acked and added to the distribution, or rejected with an explanation.
+Patches to XEmacs Lisp packages should be sent to the maintainer of
+the package. If the maintainer is listed as `XEmacs Development Team'
+patches should be sent to <xemacs-patches@xemacs.org>.
+
Emailed patches should preferably be sent in MIME format and quoted
printable encoding (if necessary).
Please correct this incomplete list and add more!
---------------------------------------------------------
+Amharic (\e$(3"c!<!N"^\e(B) \e$(3!A!,!>\e(B
Arabic \e[2]\e(38R\e(47d\e(3T!JSa\e(4W\e(3W\e[0]\e(B
Croatian (Hrvatski) Bog (Bok), Dobar dan
-Czech (\e,Bh\e(Besky) Dobr\e,B}\e(B den
+Czech (\e.B\eNhesky) Dobr\eN} den
Danish (Dansk) Hej, Goddag
English Hello
Esperanto Saluton
Estonian Tere, Tervist
FORTRAN PROGRAM
Finnish (Suomi) Hei
-French (Fran\e,Ag\e(Bais) Bonjour, Salut
+French (Fran\e.A\eNgais) Bonjour, Salut
German (Deutsch Nord) Guten Tag
-German (Deutsch S\e,A|\e(Bd) Gr\e,A|_\e(B Gott
-Greek (\e,FGkk]mija\e(B) \e,FCei\\e(B \e,Fsar\e(B
-Hebrew \e[2]\e,Hylem\e[0]\e(B
+German (Deutsch S\e.A\eN|d) Gr\eN|\eN_ Gott
+Greek (\e.F\eNE\eNk\eNk\eNg\eNm\eNi\eNj\eN\) \eNC\eNe\eNi\eN\ \eNs\eNa\eNr
+Hebrew \e[2]\e.H\eNy\eNl\eNe\eNm\e[0]
Italiano Ciao, Buon giorno
Maltese Ciao
Nederlands, Vlaams Hallo, Hoi, Goedendag
Norwegian (Norsk) Hei, God dag
-Polish Cze\e,B6f\e(B!
-Russian (\e,L@caaZXY\e(B) \e,L7T`PRabRcYbU\e(B!
-Spanish (Espa\e,Aq\e(Bol) \e,A!\e(BHola!
+Polish Cze\e.B\eN6\eNf!
+Russian (\e.L\eN@\eNc\eNa\eNa\eNZ\eNX\eNY) \eN7\eNT\eN`\eNP\eNR\eNa\eNb\eNR\eNc\eNY\eNb\eNU!
+Slovak Dobr\e.B\eN} de\eNr
+Spanish (Espa\e.A\eNqol) \eN!Hola!
Swedish (Svenska) Hej, Goddag
-Vietnamese (Ti\e,1*\e(Bng Vi\e,1.\e(Bt) Ch\e,1`\e(Bo b\e,1U\e(Bn
+Thai (\e$(?@0R0I0R0d070B0\e(B) \e$(?J0G8J04H$0C8:0\e(B, \e$(?J0G8J04H$2P0\e(B
-Japanese (\e$BF|K\8l\e(B) \e$B$3$s$K$A$O\e(B, \e(I:]FAJ\e(B, \e$BqV\e$(DiQ\e(B
+Tigrigna (\e$(3"8#r!N"^\e(B) \e$(3!Q!,!<"8\e(B
+Turkish (T\e.A\eN|rk\eNge) Merhaba
+Vietnamese (Ti\e.1\eN*ng Vi\eN.t) Ch\eN`o b\eNUn
+
+Japanese (\e$BF|K\8l\e(B) \e$B$3$s$K$A$O\e(B, \e*I\eN:\eN]\eNF\eNA\eNJ, \e$BqV\e$(DiQ\e(B
Chinese (\e$AVPND\e(B,\e$AFUM(;0\e(B,\e$A::So\e(B) \e$ADc:C\e(B
Cantonese (\e$(0GnM$\e(B,\e$(0N]0*Hd\e(B) \e$(0*/=(\e(B, \e$(0+$)p\e(B
Hangul (\e$(CGQ1[\e(B) \e$(C>H3gGO<<?d\e(B, \e$(C>H3gGO=J4O1n\e(B
First, rewards encourage people to focus narrowly on a task, to do it
as quickly as possible and to take few risks. "If they feel that
-'this is something I hve to get through to get the prize,' the're
+'this is something I have to get through to get the prize,' they're
going to be less creative," Amabile said.
Second, people come to see themselves as being controlled by the
--- /dev/null
+Reference: Robert W. Brockway, Myth from the Ice Age to Mickey Mouse
+
+ A collective definition of myth composed of many theories might be
+ framed by the following paraphrase:
+
+ Myths are stories, usually, about gods and other supernatural
+ beings. They are often stories of origins, how the world and
+ everything in it came to be in illo tempore. They are usually
+ strongly structured and their meaning is only discerned by
+ linguistic analysis. Sometimes they are public dreams which, like
+ private dreams, emerge from the unconscious mind. Indeed, they
+ often reveal the archetypes of the collective unconscious. They
+ are symbolic and metaphorical. They orient people to the
+ metaphysical dimension, explain the origins and nature of the
+ cosmos, validate social issues, and, on the psychological plane,
+ address themselves to the innermost depths of the psyche. Some of
+ them are explanatory, being prescientific attempts to interpret
+ the natural world. As such, they are usually functional and are
+ the science of primitive peoples. Often, they are enacted in
+ rituals. Religious myths are sacred histories, and distinguished
+ from the profane. But, being semiotic expressions, they are a
+ "disease of language." They are both individual and social in
+ scope, but they are first and foremost stories.
+
+
Use `C-c C-f' to move to the next equal level of outline, and
`C-c C-b' to move to previous equal level. `C-h m' will give more
-info about the Outline mode. Many commands are also available through
+info about the Outline mode. Many commands are also available through
the menubar.
Users who would like to know which capabilities have been introduced
\f
* Changes in XEmacs 21.2
========================
-None yet.
+** `delete-key-deletes-forward' now defaults to t.
+
+`delete-key-deletes-forward' is the variable that regulates the
+behaviour of the delete key on the systems that offer both a backspace
+and a delete key. If set to nil, the key labeled "Delete" will delete
+backward. If set to non-nil, the "Delete" key will delete forward,
+except on keyboards where a "Backspace" key is not provided.
+
+Unless our implementation has bugs, the only reason why you would want
+to set `delete-key-deletes-forward' to nil is if you want to use the
+Delete key to delete backwards, despite the presence (according to
+Xlib) of a BackSpace key on the keyboard.
+
+** Interactive searching and matching case improvements.
+
+Case sensitiveness in searching operations is normally controlled by
+the variable `case-fold-search' (if non-nil, case is ignored while
+searching). This mechanism has now been slightly improved for
+interactive searches: if the search string (or regexp) contains
+uppercase characters, the searching is forced to be case-sensitive,
+`case-fold-search'.
+
+The new behavior affects all functions performing interactive
+searches, like `zap-to-char', `list-matching-lines', `tags-search'
+etc. The incremental search facility has always behaved that way.
+
+** You can now create "indirect buffers", like in GNU Emacs. An
+indirect buffer shares its text with another buffer ("base buffer"),
+but has its own major mode, local variables, extents, and narrowing.
+An indirect buffer has a name of its own, distinct from those of the
+base buffer and all other buffers. An indirect buffer cannot itself
+be visiting a file (though its base buffer can be). The base buffer
+cannot itself be indirect.
+
+Use (make-indirect-buffer BASE-BUFFER NAME) to make an indirect buffer
+named NAME whose base is BASE-BUFFER. If BASE-BUFFER is itself an
+indirect buffer, its base buffer is used as the base for the new
+buffer.
+
+You can make an indirect buffer current, or switch to it in a window,
+just as you would a non-indirect buffer.
+
+The function `buffer-base-buffer' returns a buffer's base buffer or
+nil, if given an ordinary (non-indirect) buffer. The function
+`buffer-indirect-children' returns a list of the indirect children of
+a base buffer.
+
+** User names following the tilde character can now be completed at
+file name prompts; e.g. `C-x C-f ~hni<TAB>' will complete to
+`~hniksic/'. To make this operation faster, a cache of user names is
+maintained internally.
+
+\f
+* Lisp and internal changes in XEmacs 21.2
+==========================================
+
+** Much effort has been invested to make XEmacs Lisp faster:
+
+*** Many basic lisp operations are now faster.
+This is especially the case when running a Mule-enabled XEmacs.
+
+A general overhaul of the lisp engine should produce a speedup of 1.4
+in a Latin-1 XEmacs, and 2.1 in a Mule XEmacs. These numbers were
+obtained running `(byte-compile "simple.el")', which should be a
+pretty typical test of "pure" Lisp.
+
+*** Lisp hash tables have been re-implemented. The Common Lisp style
+hash table interface has been made standard, and moved from cl.el into
+fast C code (See the section on hash tables in the XEmacs Lisp
+Reference). A speedup factor of 3 can be expected with code that
+makes intensive use of hash tables.
+
+*** The garbage collector has been tuned, leading to a speedup of
+1.16.
+
+*** The family of functions that iterate over lists, like `memq', and
+`rassq', have been made a little faster (typically 1.3).
+
+*** Lisp function calls are faster, by approximately a factor of two.
+However, defining inline functions (via defsubst) still makes sense
+for tight loops.
+
+*** Finally, a few functions have had dramatic performance
+improvements. For example, `(last long-list)' is now 30 times faster.
+
+Of course, your mileage will vary.
+
+Many operations do not see any improvement. Surprisingly, running
+(font-lock-fontify-buffer) does not use the Lisp engine much at all.
+Speeding up your favorite slow operation is an excellent project to
+improve XEmacs. Don't forget to profile!
+
+** XEmacs finally has an automated test suite!
+Although this is not yet very sophisticated, it is already responsible
+for several important bug fixes in XEmacs. To try it out, simply use
+the makefile target `make check' after building XEmacs.
+
+** Hash tables have been reimplemented.
+As was pointed out above, the standard interface to hash tables is now
+the Common Lisp interface, as described in Common Lisp, the Language
+(CLtL2, by Steele). The older interface (functions with names
+containing the phrase `hashtable') will continue to work, but the
+preferred interface now has names containing the phrase `hash-table'.
+
+Here's the executive overview: create hash tables using
+make-hash-table, and use gethash, puthash, remhash, maphash and
+clrhash to manipulate entries in the hash table. See the (updated)
+Lisp Reference Manual for details.
+
+** Lisp code handles circular lists much more robustly.
+Many basic lisp functions used to loop forever when given a circular
+list, expecting you to C-g (quit) out of the loop. Now this is more
+likely to trigger a `circular-list' error. Printing a circular list
+now results in something like this:
+
+ (let ((x (cons 'foo 'foo)))
+ (setcdr x x)
+ x)
+ => (foo ... <circular list>)
+
+An extra bonus is that checking for circularities is not just
+friendlier, but actually faster than checking for C-g.
+
+** The new form `ignore-file-errors', similar to `ignore-errors' may
+be used as a short-hand for condition-case when you wish to ignore
+file-related error. For example:
+
+ (ignore-file-errors (delete-file "foo"))
+
+** The arguments to `locate-file' are now much more "lispy". As
+before, the usage is:
+
+ (locate-file FILENAME PATH-LIST &optional SUFFIXES MODE)
+
+Except that SUFFIXES are now a list of strings instead of a single,
+colon-separated string. MODE is now a symbol or a list of symbols
+(symbols `exists', `executable', `writable', and `readable' are
+supported) instead of an integer code. See the documentation for
+details.
+
+Of course, the old form is still accepted for backward compatibility.
+
+** The `keywordp' function now returns non-nil only on symbols
+interned in the global obarray. For example:
+
+ (keywordp (intern ":foo" [0]))
+ => nil
+ (keywordp (intern ":foo")) ; The same as (keywordp :foo)
+ => t
+
+This behaviour is compatible with other code which treats symbols
+beginning with colon as keywords only if they are interned in the
+global obarray. `keyword' used to wrongly return t in both cases
+above.
+
+** The first argument to `intern-soft' may now also be a symbol, like
+with `unintern'. If given a symbol, `intern-soft' will look for that
+exact symbol rather than for any string. This is useful when you want
+to check whether a specific symbol is interned in an obarray, e.g.:
+
+ (intern "foo")
+ (intern-soft "foo")
+ => foo
+ (intern-soft (make-symbol "foo"))
+ => nil
+
+** Functions for decoding base64 encoding are now available; see
+`base64-encode-region', `base64-encode-string', `base64-decode-region'
+and `base64-decode-string'.
+
+\f
* Changes in XEmacs 21.0
========================
** When the Zmacs region is active, `M-x query-replace' and the other
replace commands now operate on the region contents only.
-** Using the new `-private' option, you can make XEmacs use a private
-colormap.
+** XEmacs now is able to choose X visuals and use private colormaps.
+The '-visual <visualStr>' command line option or the '.EmacsVisual'
+Xresource controls which visual XEmacs will use, and
+'-privateColormap' or '.privateColormap' will force XEmacs to create a
+private colormap for use. The syntax for the visual string is
+"<visual><bitdepth>" where <visual> is one of 'StaticColor',
+'TrueColor', 'GrayScale', 'PseudoColor' or 'DirectColor' and
+<bitdepth> is the appropriate number of bits per pixel. If an invalid
+or non-supported combination is entered, XEmacs attempts to find a happy
+medium. The X creation mechanism will then determine if it needs to
+create a colormap for use, or the presence of the private flags will
+force it to create it.
** The `imenu' package has been ported to XEmacs and is available as a
package.
** The new variable `user-full-name' can be used to customize one's
name when using the Emacs mail and news reading facilities.
-Normally, `user-full-name' is a function that returns the full name of
+Normally, `user-full-name' is a function that returns the full name of
a user or UID, as specified by the system -- for instance,
-(user-full-name "root") returns something like "Super-User". However,
+(user-full-name "root") returns something like "Super-User". However,
when the function is called without arguments, it will return the
-value of the `user-full-name' variable. The `user-full-name' variable
+value of the `user-full-name' variable. The `user-full-name' variable
is initialized using the environment variable NAME and (failing that)
the user's system name.
-The behaviour of the `user-full-name' function with an argument
+The behavior of the `user-full-name' function with an argument
specified is unchanged.
** The new command `M-x customize-changed-options' lets you customize
It has been greatly enhanced with respect to the one once included
with the ilisp package and should work well under XEmacs 21.0.
+** Gnuserv changes
+
+*** Like the old 'gnudoit' program. Gnuclient -batch now can read from stdin.
+
+*** Gnuclient -batch no longer breaks off the output at the first LF.
+
** C mode changes
*** Multiline macros are now handled, both as they affect indentation,
*** \\1-expressions are now valid in `nnmail-split-methods'.
-*** The `custom-face-lookup' function has been removed.
+*** The `custom-face-lookup' function has been removed.
If you used this function in your initialization files, you must
rewrite them to use `face-spec-set' instead.
subsystem. If the `dir' file does not exist in an Info directory, the
relevant information will be generated on-the-fly.
-This behaviour can be customized, look for `Info-auto-generate-directory'
+This behavior can be customized, look for `Info-auto-generate-directory'
and `Info-save-auto-generated-dir' in the `info' customization group.
\f
only when needed, and they are not draggable.
Other properties of the vertical dividers may be controlled using
-`vertical-divider-shadow-thickness', `vertical-divider-line-width' and
+`vertical-divider-shadow-thickness', `vertical-divider-line-width' and
`vertical-divider-spacing' specifiers, which see.
** Frame focus management changes.
** It is now possible to build XEmacs with LDAP support.
You will need to install a LDAP library first. The following have
been tested:
- - LDAP 3.3 from the University of Michigan
+ - LDAP 3.3 from the University of Michigan
(get it from <URL:http://www.umich.edu/~dirsvcs/ldap/>)
+ - OpenLDAP 1.0.3 from the OpenLDAP Foundation
+ (get it from <URL:http://www.openldap.org/>)
- LDAP SDK 1.0 from Netscape Corp.
(get it from <URL:http://developer.netscape.com/>)
* Description of available packages by category
===============================================
-This data is up-to-date as of 13 January 1998.
+This data is up-to-date as of 10 February 1999.
** Library Packages (libs)
==========================
*** Sun
-Support for Sparcworks. Must be installed prior to XEmacs build to be
-effective.
+Support for Sparcworks.
*** apel
*** tooltalk
-Support for building with Tooltalk. Must be installed prior to XEmacs
-build to be effective.
+Support for building with Tooltalk.
*** xemacs-base
*** vm
-An Emacs mailer. This package must be installed prior to building XEmacs.
+An Emacs mailer.
*** w3
*** vc
-Version Control for Free systems. This package must be installed
-prior to building XEmacs.
+Version Control for Free systems.
*** vc-cc
Nun versuche ein weiteres C-f um in die nächste Zeile zu gelangen.
Wenn Du Dich am Anfang oder Ende aus dem Bildschirm bewegst, schiebt
-sich der Text ins Blickfeld. Diesen Vorgang nennt man rollen oder
+sich der Text ins Blickfeld. Diesen Vorgang nennt man Rollen oder
"scrolling". Er erlaubt Emacs den Textzeiger an die gewünschte
Stelle zu bringen, ohne ihn aus dem Bildschirmfenster zu bewegen.
für Satz weiterbewegen. Obwohl sich ihr Verhalten unterscheidet,
erscheint es natürlich.
-Die Stelle des Textzeigers im Text wird auch "Punkt" genannt. Der
-Textzeiger auf dem Bildschirm zeigt an welchem Punkt im Text sich
-dieser befindet.
+Die Stelle des Textzeigers im Text wird auch Punkt oder "point"
+genannt. Der Textzeiger auf dem Bildschirm zeigt an welchem Punkt im
+Text sich dieser befindet.
Hier ist eine Zusammenfassung der einfachen Befehle zur Bewegung des
Textzeigers, inklusive der Befehle zur wort- und satzweisen Bewegung:
Dann verwende C-v wiederholt um hierher zurück zu kommen.
>> Versuche jetzt M-> um ans Ende der Ãœbungen zu springen.
- Benutzte M-v widerholt um hierher zurück zu gelangen.
+ Benutzte M-v wiederholt um hierher zurück zu gelangen.
Du kannst den Textzeiger auch mit den Pfeil-Tasten bewegen, falls
Deine Tastatur solche besitzt. Wir empfehlen das Erlernen von C-b,
Tastaturen. Zweitens wirst Du herausfinden, wenn Du einige Ãœbung mit
Emacs bekommst, daß es schneller ist die CTRL-Tasten zu drücken als
die Pfeil-Tasten (weil Du Deine Hände nicht aus dem normalen
-Fingersatz bringen mußt). Drittens: Hast Du die Versendung der CTRL
+Fingersatz bringen mußt). Drittens: Hast Du die Verwendung der CTRL
Befehle erst zu Deiner Gewohnheit gemacht, wird es ein Leichtes
weitere Bewegungs-Befehle zu erlernen.
entsprechendes Argument geben.
Verwendest Du das X Window System, so befindet sich wahrscheinlich ein
-rechteckiger Balken, Scrollbar oder Rollbalken genannt, rechts neben
+rechteckiger Balken, Rollbalken oder "scrollbar" genannt, rechts neben
dem Emacs-Fenster. Du kannst den Text auch durch Manipulieren dieses
Rollbalkens mit der Maus rollen.
-------------------------------------------
An einem X-Terminal wirst Du es wahrscheinlich einfacher finden die
-Tasten des Tastenfeldes zur Textzeiger Steuerung zu gebrauchen. Die
-Links, Rechts, Auf und Ab Pfeil Tasten steuern in die erwartete
+Tasten des Tastenfeldes zur Textzeiger-Steuerung zu gebrauchen. Die
+Links, Rechts, Auf und Ab Pfeil-Tasten steuern in die erwartete
Richtung; sie funktionieren exakt wie C-b, C-f, C-p und C-n, sind aber
leichter zu tippen und zu merken. Du kannst auch C-Links und C-Rechts
verwenden um wortweise zu springen. C-Auf und C-Ab bewegen den
* WENN EMACS HÄNGT
------------------
-Wenn Emacs auf Deine Befehle nicht mehr reagiert, kannst Du den
-Befehle risikolos mit C-g unterbrechen. Mit C-g kann man Befehle
-abbrechen, die zu lange dauern.
+Wenn Emacs auf Deine Befehle nicht mehr reagiert, kannst Du den Befehl
+risikolos mit C-g unterbrechen. Mit C-g kann man Befehle abbrechen,
+die zu lange dauern.
Du kannst mit C-g auch ein numerisches Argument oder einen teilweise
eingegebenen Befehl, den Du nicht mehr ausführen willst, verwerfen.
>> Geh an den Anfang einer Zeile und tippe <Delete>. Dies fügt die
Zeile an die vorhergehende an.
->> Tippe <Return> um den Newline-Zeichen wieder einzufügen.
+>> Tippe <Return> um das Newline-Zeichen wieder einzufügen.
Denke daran, daß die meisten Emacs-Befehle mittels eines Arguments
wiederholt werden können; Ein Textzeichen wird mittels Argument
CONTROL-Taste, aber das kümmert uns nicht). C-k und M-k verhalten
sich zueinander wie C-e und M-e zu Zeilen und Sätzen.
-Wenn Du mehr als ein Zeichen auf einmal löschst, speichert sie
-Emacs, damit Du sie wieder abrufen kannst. Den gelöschten Text
-zurückzuholen nennt man "yanking". Du kannst den gelöschten Text an
-der selben oder an einer anderen Textstelle zurückholen. Der Text
-kann mehrere Male zurückgeholt geholt werden um Mehrfachkopien
-anzulegen. Der Zurückhol-Befehl ist C-y.
+Wenn Du mehr als ein Zeichen auf einmal löschst, speichert sie Emacs,
+damit Du sie wieder abrufen kannst. Den gelöschten Text zurückzuholen
+nennt man "yanking". Du kannst den gelöschten Text an der selben oder
+an einer anderen Textstelle zurückholen. Der Text kann mehrere Male
+zurückgeholt werden um Mehrfachkopien anzulegen. Der Zurückhol-Befehl
+ist C-y.
Beachte daß der Unterschied zwischen Entfernen ("Killing") und Löschen
("Deleting") darin besteht, daß gelöschte Teile zurückgeholt werden
zurückgeholten Text durch früher gelöschten Text ersetzten. Tippst Du
M-y wieder und wieder, holst Du früher und früher Gelöschtes zurück.
Hast Du den gewünschten Text erreicht, brauchst Du nichts weiter zu
-tun um diesen zu behalten. Fahre mit mit Deiner Arbeit fort und laß
-den zurückgeholten Text wo er ist.
+tun um diesen zu behalten. Fahre mit Deiner Arbeit fort und laß den
+zurückgeholten Text wo er ist.
Verwendest Du M-y oft genug, kehrst Du an den Anfang zurück (der
letzte Löschvorgang).
Fehler waren.
Nahe dem unteren Ende des Bildschirms siehst Du eine Zeile die mit
-Bindestrichen beginnt und endet und den Text "Emacs: TUTORIAL"
+Bindestrichen beginnt und endet und den Text "XEmacs: TUTORIAL.de"
enthält. Dieser Teil des Bildschirms zeigt immer den Namen der
-besuchten Datei. Zur Zeit besuchst Du eine Datei namens "TUTORIAL",
+besuchten Datei. Zur Zeit besuchst Du eine Datei namens "TUTORIAL.de",
welche Deine persönliche Kopie des Emacs Tutorials ist. Was immer für
eine Datei Du findest, ihr Name wird immer an dieser Stelle
erscheinen.
sollte das System abstürzen.
>> Tippe C-x C-s um Deine Kopie des tutorials zu sichern.
- Dies sollte "Wrote ...TUTORIAL" am Fuß des Bildschirms ausgeben.
+ Dies sollte "Wrote ...TUTORIAL.de" am Fuß des Bildschirms ausgeben.
ACHTUNG: Auf manchen Systemen wird C-x C-s den Bildschirm anhalten und
Du wirst keine weitere Ausgabe von Emacs sehen. Dies bedeutet, daß
<Return>.
Dann füge etwas Text ein, bearbeite ihn und sichere die Datei "foo"
mit C-x C-s.
- Schließlich tippe C-x C-f TUTORIAL <Return> um zum Tutorial zurück
+ Schließlich tippe C-x C-f TUTORIAL.de <Return> um zum Tutorial zurück
zu gelangen.
Emacs hält den Text jeder Datei in einem Objekt namens "buffer". Das
willst.
>> Füge eine Text-Zeile ein, dann tippe C-x s.
- Du wirst gefragt, ob Du den Buffer namens TUTORIAL speichern
+ Du wirst gefragt, ob Du den Buffer namens TUTORIAL.de speichern
willst.
* VERWENDUNG DES MENÃœS
----------------------
-An einem X-Terminal wirst Du eine Menüleiste am oberen Ende des Emacs
+An einem X-Terminal wirst Du eine Menüleiste am oberen Ende des Emacs-
Fensters bemerken. Mit der Menüleiste kannst Du die allgemeinsten
Emacs-Befehle, wie "Finde Datei" ("find file"), erreichen. Du wirst
-dies anfänglich einfacher finden, da Du dir die notwendigen
-Tastenkombinationen der Befehle nicht merken mußt. Bist Du einmal
-mit Emacs vertraut, wird es ein Leichtes sein die Kommandos zu
-benutzen, da jeder Menüeintrag, der einer Tastenkombination
-entspricht, diese auch anzeigt.
+dies anfänglich einfacher finden, da Du Dir die notwendigen Tasten-
+kombinationen der Befehle nicht merken mußt. Bist Du einmal mit Emacs
+vertraut, wird es ein Leichtes sein die Kommandos zu benutzen, da
+jeder Menüeintrag, der einer Tastenkombination entspricht, diese auch
+anzeigt.
Beachte, daß es viele Menüeinträge ohne entsprechende Tastensequenz
gibt. So listet z.B. das Buffers-Menü die verfügbaren Buffer in
Verwende "Paste" im Edit-Menü um Text vom X Clipboard zurückzuholen.
Die mittlere Maustaste wird häufig verwendet um sichtbare Objekte auf
-dem Bildschirm auszuwählen. Wenn Du z.B. "Info" (die Online Emacs
+dem Bildschirm auszuwählen. Wenn Du z.B. "Info" (die Emacs Online
Dokumentation) mit C-h i oder über das Help-Menü aufrufst, kannst Du
einer hervorgehobenen Verknüpfung durch Klicken der mittleren
Maustaste folgen. Ganz ähnlich, wenn Du einen Dateinamen eingibst
(eXtend) Befehl. Davon gibt es zwei Ausführungen:
C-x Zeichenerweiterung eXtend. Gefolgt von einer
- Tastaturkombination.
+ Tastenkombination.
M-x Namenserweiterung eXtend. Gefolgt von einer
ausgeschriebenen Befehlsbezeichnung.
Mit C-z kann man Emacs vorübergehend verlassen -- so daß Du später zur
gleichen Sitzung zurückkehren kannst.
-Auf Systemen, die dies unterstützen sendet C-z Emacs "in den
+Auf Systemen, die dies unterstützen, sendet C-z Emacs "in den
Hintergrund"; man kehrt zur Shell zurück, ohne daß der Emacs-Prozeß
beendet wird. In den gebräuchlichsten Shells kann man zu Emacs mit
`fg' oder `%emacs' zurückkehren.
E-mail-Programme, oder andere Erweiterungen, die das Aussetzen von
Emacs nicht korrekt handhaben können, benutzt wird. Normalerweise
ist es besser Emacs mit C-z auszusetzen statt ihn zu beenden, wenn
-man das System nicht verlassen will,.
+man das System nicht verlassen will.
Es gibt viele C-x-Befehle. Hier ist eine Liste der bereits erlernten:
Beachte wie diese Zeile sich veraendert hat: Du hast das Wort
v-e-r-a-e-n-d-e-r-t mit "geaendert" ersetzt wo immer es nach der
- anfänglichen Textzeiger Position auftrat.
+ anfänglichen Textzeiger-Position auftrat.
* AUTOMATISCHE SICHERUNG
gehen. Um Dich davor zu schützen, schreibt Emacs regelmäßig eine
Autosave-Datei für jede Datei, die Du bearbeitest. Autosave-Dateien
beginnen und enden mit "#"; wenn Deine Datei z.B. "hello.c" heißt, so
-heißt die auto-save Datei "#hello.c#". Sicherst Du die Datei, so
+heißt ihre auto-save Datei "#hello.c#". Sicherst Du die Datei, so
löscht Emacs die entsprechende auto-save Datei.
Nach einem Computerabsturz kannst Du die automatisch
gesicherten Änderungen nach dem normalen Finden der Datei (Deiner
Datei, nicht der Autosave-Datei) durch Eintippen von M-x
-recover-file<return> zurückholen. Wenn Du nach der Bestätigung
-gefragt wirst, tippst Du yes<return> um die Änderungen in der
+recover-file<Return> zurückholen. Wenn Du nach der Bestätigung
+gefragt wirst, tippst Du yes<Return> um die Änderungen in der
Autosave-Datei wiederherzustellen.
Die Zeile über der echo area wird "mode line" genannt. Die Moduszeile
zeigt etwa folgendes:
---**-XEmacs: TUTORIAL (Fundamental)--L670--58%----------------
+--**-XEmacs: TUTORIAL.de (Fundamental)--L791--67%----------------
Diese Zeile gibt nützliche Information über den Zustand von Emacs und
dem Text, den Du bearbeitest.
"Fundamental" steht.
Jeder Hauptmodus ändert das Verhalten einiger Befehle. So gibt es
-z.B. Befehle zum Erstellen von Kommentaren in Programmen und da diese
+z.B. Befehle zum Erstellen von Kommentaren in Programmen. Da diese
in jeder Programmiersprache unterschiedlich aussehen, muß jeder
Hauptmodus diese Kommentare entsprechend vorbereiten. Jeder
Hauptmodus trägt den Namen eines entsprechenden Erweiterungsbefehls, so
Wenn Du C-s tippt, wirst Du den String "I-search" in der echo area
bemerken. Dies bedeutet, daß Emacs im inkrementellen Suchmodus auf
-Deine Eingabe wartet. <RET> bricht die Suche ab.
+Deine Eingabe wartet. <Return> bricht die Suche ab.
>> Nun tippe C-s um die Suche einzuleiten. LANGSAM, Buchstabe für
Buchstabe, tippe das Wort 'Textzeiger', mit Pausen dazwischen,
zu suchen.
>> Nun tippe <Delete> viermal und schau wie sich der Textzeiger
bewegt.
->> Tippe <RET> zum Abbrechen der Suche.
+>> Tippe <Return> zum Abbrechen der Suche.
Hast Du gesehen was passiert? Emacs, in der inkrementellen Suche,
versucht zu dem String zu springen, den Du bisher getippt hast. Um
dies wirklich nicht tun, beschwere Dich also beim System
Administrator. In der Zwischenzeit, wenn C-h keine Mitteilung
bezüglich Hilfe am Fuß des Emacs-Fensters anzeigt, versuche M-x help
-RET zu tippen.)
+<Return> zu tippen.)
Die einfachste Hilfe-Einrichtung ist C-h c. Tippe C-h, ein c und
einen Befehls-Buchstaben oder eine Sequenz davon und Emacs gibt Dir
C-p runs the command previous-line
-Dies teils Dir den "Namen der Funktion" mit. Funktions-Namen werden
+Dies teilt Dir den "Namen der Funktion" mit. Funktions-Namen werden
hauptsächlich zum Spezialisieren und Erweitern von Emacs verwendet.
Aber da die Funktions-Namen etwas darüber aussagen was der Befehl tut,
können Sie auch als sehr kurze Dokumentation dienen -- genug um Dich
>> Tippe C-h k C-p.
-Dies zeigt die Dokumentation der Funktion, als auch ihren Namen, in
-einem eigenen Emacs-Fenster. Wenn Du mit dem Lesen fertig bist, tippe
-C-x 1 um den Hilfetext loszuwerden. Du mußt dies nicht gleich tun.
-Du kannst etwas bearbeiten, das sich auf den Hilfetext bezieht und
-dann C-x 1 tippen.
+Dies zeigt sowohl die Dokumentation der Funktion, als auch ihren
+Namen, in einem eigenen Emacs-Fenster. Wenn Du mit dem Lesen fertig
+bist, tippe C-x 1 um den Hilfetext loszuwerden. Du mußt dies nicht
+gleich tun. Du kannst etwas bearbeiten, das sich auf den Hilfetext
+bezieht und dann C-x 1 tippen.
Hier sind einige andere nützliche C-h Möglichkeiten:
verwende C-z. (Unter X ikonifiziert dies den aktuellen Emacs-Rahmen.)
Dieses Tutorial sollte für Anfänger verständlich sein, hast Du etwas
-Unklares gefunden, schiebe die Schuld nicht auf Dich - beschwere Dich!
+Unklares gefunden, schiebe die Schuld nicht auf Dich -- beschwere Dich!
ANFERTIGEN VON KOPIEN
OSversion="`uname -v | sed 's/^\(.\).*$/\1/'`"
shell=`type sh | sed 's/sh is //'`
-distdir=`dirname $shell`
+distdir=`dirname $shell | sed 's!^//\(.\)/\(.*\)!\1:/\2!'`
echo "cygwin installed in $distdir"
echo "checking paths ..."
if [ ! -d "/bin" ]; then
- echo "You don't have /bin would like to mount cygwin as /bin ?"
+ echo "You don't have a /bin directory. Would you like to mount cygwin as /bin ?"
if yorn; then
mkdir /bin
- mount -b /bin $distdir
+ mount -b $distdir /bin
fi
elif [ "$distdir" != "/bin" ]; then
echo "Warning: you have /bin but it's not the cygwin installation."
------BEGIN PGP SIGNED MESSAGE-----
-
;; Package Index file -- Do not edit manually.
;;;@@@
(package-get-update-base-entry (quote
-(zenirc
+(ediff
(standards-version 1.0
- version "1.04"
- author-version "2.112"
- date "1998-08-15"
- build-date "1998-10-12"
- maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
+ version "1.19"
+ author-version "2.72"
+ date "1999-04-06"
+ build-date "1999-05-13"
+ maintainer "Michael Kifer <kifer@cs.sunysb.edu>"
distribution stable
priority medium
- category "comm"
+ category "prog"
dump nil
- description "ZENIRC IRC Client."
- filename "zenirc-1.04-pkg.tar.gz"
- md5sum "96d9e09c41de5c19d8aa092ad544ad6d"
- size 276116
- provides (zenirc)
- requires (zenirc)
+ description "Interface over GNU patch."
+ filename "ediff-1.19-pkg.tar.gz"
+ md5sum "d6e0edc88c5d09279df71ce9aff41b25"
+ size 281804
+ provides (ediff)
+ requires (pcl-cvs elib dired xemacs-base)
type regular
))
))
;;;@@@
(package-get-update-base-entry (quote
-(w3
+(hm--html-menus
(standards-version 1.0
- version "1.10"
- author-version "4.0pre23"
- date "1998-07-18"
- build-date "1998-10-12"
+ version "1.12"
+ author-version "5.9"
+ date "1999-02-05"
+ build-date "1999-02-05"
maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
- distribution experimental
- priority high
- category "comm"
+ distribution stable
+ priority low
+ category "oa"
dump nil
- description "A Web browser."
- filename "w3-1.10-pkg.tar.gz"
- md5sum "6113b455f82c5903b8bd6f4ca48afb00"
- size 612442
- provides (w3 url)
- requires (w3 mail-lib xemacs-base)
+ description "HTML editing."
+ filename "hm--html-menus-1.12-pkg.tar.gz"
+ md5sum "fc80ef260cc0682bde6e706cdc8ddae4"
+ size 177442
+ provides (adapt hm--date hm--html-configuration hm--html-drag-and-drop hm--html-indentation hm--html-keys hm--html-menu hm--html-mode hm--html-not-standard hm--html html-view tmpl-minor-mode)
+ requires (dired xemacs-base)
type regular
))
))
;;;@@@
(package-get-update-base-entry (quote
-(vm
+(jde
(standards-version 1.0
version "1.14"
- author-version "6.62"
- date "1998-09-22"
- build-date "1998-10-12"
- maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
+ author-version "2.14"
+ date "1999-02-05"
+ build-date "1999-02-05"
+ maintainer "Andy Piper <andy@xemacs.org>"
distribution stable
priority medium
- category "comm"
+ category "prog"
dump nil
- description "An Emacs mailer."
- filename "vm-1.14-pkg.tar.gz"
- md5sum "e59383b955243ca90581fd6854bb5eff"
- size 548815
- provides (vm)
- requires (mail-lib xemacs-base)
+ description "Java language and development support."
+ filename "jde-1.14-pkg.tar.gz"
+ md5sum "1028c54ef317d8dd4d4c78e5b9c004e6"
+ size 320702
+ provides (jde)
+ requires (cc-mode debug speedbar edit-utils mail-lib xemacs-base)
type regular
))
))
;;;@@@
(package-get-update-base-entry (quote
-(tm
+(skk
(standards-version 1.0
- version "1.15"
- author-version "21.0"
- date "1998-08-27"
- build-date "1998-10-12"
- maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
- distribution stable
- priority low
- category "comm"
- dump nil
- description "Emacs MIME support."
- filename "tm-1.15-pkg.tar.gz"
- md5sum "7769db3ab1473811a0622742c3e9bf69"
- size 329539
- provides (tm tm-edit tm-view mime-setup)
- requires (gnus mh-e rmail vm mailcrypt mail-lib apel xemacs-base)
+ version "1.12"
+ author-version "10.38"
+ date "1998-10-01"
+ build-date "1999-02-02"
+ maintainer "SL Baur <steve@altair.xemacs.org>"
+ distribution mule
+ priority medium
+ category "mule"
+ dump t
+ description "Japanese Language Input Method."
+ filename "skk-1.12-pkg.tar.gz"
+ md5sum "f690c518a0da65c4dc9fe2a867026c26"
+ size 1514106
+ provides (skk skk-tut)
+ requires (viper mule-base elib xemacs-base)
type regular
))
))
;;;@@@
(package-get-update-base-entry (quote
-(supercite
+(egg-its
(standards-version 1.0
- version "1.10"
- author-version "3.55x2"
- date "1998-08-9"
- build-date "1998-10-12"
+ version "1.16"
+ author-version "21.0b65"
+ date "1999-03-05"
+ build-date "1999-03-11"
maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
- distribution stable
- priority low
- category "comm"
- dump nil
- description "An Emacs citation tool for News & Mail messages."
- filename "supercite-1.10-pkg.tar.gz"
- md5sum "09dee2a7f1400bc8680ea067a2399dcb"
- size 99403
- provides (supercite)
- requires (mail-lib xemacs-base)
+ distribution mule
+ priority high
+ category "mule"
+ dump t
+ description "Wnn (4.2 and 6) support. SJ3 support."
+ filename "egg-its-1.16-pkg.tar.gz"
+ md5sum "5a3b23dbe609feeabfc108ae142715c3"
+ size 257562
+ provides (egg-cnpinyin egg-cnzhuyin egg-cwnn-leim egg-jisx0201 egg-jsymbol egg-kwnn-leim egg-leim egg-sj3-client egg-sj3-leim egg-sj3 egg-wnn egg)
+ requires (leim mule-base fsf-compat xemacs-base)
type regular
))
))
;;;@@@
(package-get-update-base-entry (quote
-(rmail
+(edict
(standards-version 1.0
version "1.07"
- author-version "21.0"
- date "1998-06-28"
- build-date "1998-10-12"
- maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
- distribution contrib
- priority low
- category "comm"
+ author-version "0.9.8"
+ date "1998-07-23"
+ build-date "1999-02-02"
+ maintainer "Stephen J. Turnbull <turnbull@sk.tsukuba.ac.jp>"
+ distribution mule
+ priority high
+ category "mule"
dump nil
- description "An obsolete Emacs mailer."
- filename "rmail-1.07-pkg.tar.gz"
- md5sum "0b256dc4b02e832d939850f86951217a"
- size 96475
- provides (rmail rmailsum)
- requires (tm apel mail-lib xemacs-base)
+ description "Lisp Interface to EDICT, Kanji Dictionary"
+ filename "edict-1.07-pkg.tar.gz"
+ md5sum "493ef0ec6f2760e5c94423c23c9d124e"
+ size 71661
+ provides (dui-registry dui edict-edit edict-english edict-japanese edict-morphology edict-test edict ts-mode)
+ requires (mule-base xemacs-base)
type regular
))
))
;;;@@@
(package-get-update-base-entry (quote
-(mew
+(leim
(standards-version 1.0
- version "1.04"
- author-version "1.93b38"
- date "1998-06-21"
- build-date "1998-10-12"
+ version "1.12"
+ author-version "21.0b62"
+ date "1998-07-23"
+ build-date "1999-02-02"
maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
- distribution contrib
- priority low
- category "comm"
+ distribution mule
+ priority medium
+ category "mule"
dump nil
- description "Messaging in an Emacs World."
- filename "mew-1.04-pkg.tar.gz"
- md5sum "896793a5d91c0ecfe4af5a7351f82fb7"
- size 517164
- provides (mew)
- requires (mew)
+ description "Quail. All non-English and non-Japanese language support."
+ filename "leim-1.12-pkg.tar.gz"
+ md5sum "07cc5be34a0d9d312b883b430349a882"
+ size 1671757
+ provides ()
+ requires (mule-base fsf-compat xemacs-base)
type regular
))
))
;;;@@@
(package-get-update-base-entry (quote
-(net-utils
- (standards-version 1.0
- version "1.10"
- author-version "21.0"
- date "1998-07-01"
- build-date "1998-10-12"
- maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
- distribution stable
- priority low
- category "comm"
- dump nil
- description "Miscellaneous Networking Utilities."
- filename "net-utils-1.10-pkg.tar.gz"
- md5sum "89f6d1830b90e701ab57fcadd7337bb8"
- size 107129
- provides (ilisp-browse-cltl2 emacsbug feedmail metamail net-utils rcompile shadowfile webjump webster-www)
- requires (w3 efs mail-lib xemacs-base)
- type single
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(mh-e
+(locale
(standards-version 1.0
- version "1.08"
+ version "1.13"
author-version "21.0"
- date "1998-07-12"
- build-date "1998-10-12"
+ date "1999-05-11"
+ build-date "1999-05-13"
maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
- distribution contrib
- priority low
- category "comm"
+ distribution mule
+ priority high
+ category "mule"
dump nil
- description "Front end support for MH."
- filename "mh-e-1.08-pkg.tar.gz"
- md5sum "f1995b0f516668922a5f4331d0c13187"
- size 176392
- provides (mh-e)
- requires (mail-lib xemacs-base)
+ description "Localized menubars and localized splash screens."
+ filename "locale-1.13-pkg.tar.gz"
+ md5sum "4735b4005dfce55cf3581885add18836"
+ size 33964
+ provides ()
+ requires (mule-base)
type regular
))
))
;;;@@@
(package-get-update-base-entry (quote
-(mailcryptng
+(mule-base
(standards-version 1.0
- version "1.01"
- author-version "3.5b7"
- date "1998-10-10"
- build-date "1998-10-12"
- maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
- distribution stable
- priority low
- category "comm"
- dump nil
- description "Support for messaging encryption with PGP."
- filename "mailcryptng-1.01-pkg.tar.gz"
- md5sum "70bbfabaa083dc3a6178aa2be979705e"
- size 120414
- provides (mailcrypt)
- requires (gnus vm mail-lib fsf-compat xemacs-base)
+ version "1.29"
+ author-version "21.0"
+ date "1999-05-13"
+ build-date "1999-05-13"
+ maintainer "SL Baur <steve@altair.xemacs.org>"
+ distribution mule
+ priority high
+ category "mule"
+ dump t
+ description "Basic Mule support, required for building with Mule."
+ filename "mule-base-1.29-pkg.tar.gz"
+ md5sum "9b713b6f95c4016dc29d7b584c78f7d1"
+ size 420205
+ 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)
type regular
))
))
;;;@@@
(package-get-update-base-entry (quote
-(mailcrypt
+(strokes
(standards-version 1.0
- version "1.06"
- author-version "3.4"
- date "1998-01-24"
- build-date "1998-10-12"
+ version "1.04"
+ author-version "21.0b62"
+ date "1998-01-25"
+ build-date "1999-02-02"
maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
distribution stable
- priority low
- category "comm"
+ priority medium
+ category "oa"
dump nil
- description "Support for messaging encryption with PGP."
- filename "mailcrypt-1.06-pkg.tar.gz"
- md5sum "e601fc5c1f43c5b7f577c7262c7877a9"
- size 106355
- provides (mailcrypt)
- requires (gnus vm mail-lib xemacs-base)
+ description "Mouse enhancement utility."
+ filename "strokes-1.04-pkg.tar.gz"
+ md5sum "9a83020e888d140da2360dcac83c7c86"
+ size 43481
+ provides (strokes)
+ requires (text-modes edit-utils mail-lib xemacs-base)
type regular
))
))
;;;@@@
(package-get-update-base-entry (quote
-(irchat
+(time
(standards-version 1.0
- version "1.03"
- author-version "980625-2"
- date "1998-09-08"
- build-date "1998-10-12"
+ version "1.07"
+ author-version "1.17"
+ date "1998-04-24"
+ build-date "1999-02-02"
maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
distribution stable
priority medium
- category "comm"
+ category "oa"
dump nil
- description "ZENIRC IRC Client."
- filename "irchat-1.03-pkg.tar.gz"
- md5sum "9d066b2d79ab2dd5e01e1b8733289aa4"
- size 219214
- provides (irchat)
- requires ()
+ description "Display time & date on the modeline."
+ filename "time-1.07-pkg.tar.gz"
+ md5sum "4cc97d84357412fb7d737a88b6f05cbe"
+ size 20006
+ provides (time)
+ requires (xemacs-base)
type regular
))
))
;;;@@@
(package-get-update-base-entry (quote
-(gnats
+(text-modes
(standards-version 1.0
- version "1.07"
- author-version "3.101"
- date "1998-08-01"
- build-date "1998-10-12"
+ version "1.19"
+ author-version "21.0"
+ date "1999-04-22"
+ build-date "1999-05-13"
maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
distribution stable
priority high
- category "comm"
+ category "oa"
dump nil
- description "XEmacs bug reports."
- filename "gnats-1.07-pkg.tar.gz"
- md5sum "40d23fbac2ea05d55be0d0822259b023"
- size 189213
- provides (gnats gnats-admin send-pr)
- requires (mail-lib xemacs-base)
+ description "Miscellaneous support for editing text files."
+ filename "text-modes-1.19-pkg.tar.gz"
+ md5sum "9031e37912506b87a9a4fc4aa8107c13"
+ size 207865
+ provides (autoinsert crontab-edit filladapt fold-isearch folding image-mode iso-acc iso-ascii iso-cvt iso-insert iso-swed swedish tabify whitespace-mode winmgr-mode xpm-mode xrdb-mode)
+ requires (ispell fsf-compat xemacs-base)
type regular
))
))
;;;@@@
(package-get-update-base-entry (quote
-(footnote
+(slider
(standards-version 1.0
- version "1.07"
- author-version "0.18x"
- date "1998-08-27"
- build-date "1998-10-12"
- maintainer "SL Baur <steve@xemacs.org>"
- distribution stable
+ version "1.09"
+ author-version "0.3x1"
+ date "1998-08-13"
+ build-date "1999-02-02"
+ maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
+ distribution experimental
priority low
- category "comm"
+ category "oa"
dump nil
- description "Footnoting in mail message editing modes."
- filename "footnote-1.07-pkg.tar.gz"
- md5sum "1064b49b7e13a467458af2bafd9e62fb"
- size 13362
- provides (footnote)
- requires (mail-lib xemacs-base)
+ description "User interface tool."
+ filename "slider-1.09-pkg.tar.gz"
+ md5sum "b211a950179fee88712fc5c38e395069"
+ size 12004
+ provides (slider color-selector)
+ requires ()
type regular
))
))
;;;@@@
(package-get-update-base-entry (quote
-(eudc
+(sgml
(standards-version 1.0
- version "1.24"
- author-version "1.24"
- date "1998-10-15"
- build-date "1998-10-15"
- maintainer "Oscar Figueiredo <Oscar.Figueiredo@epfl.ch>"
- distribution stable
+ version "1.04"
+ author-version "21.0b62"
+ date "1998-01-25"
+ build-date "1999-02-02"
+ maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
+ distribution contrib
priority low
- category "comm"
+ category "oa"
dump nil
- description "Emacs Unified Directory Client (LDAP, PH)."
- filename "eudc-1.24-pkg.tar.gz"
- md5sum "43c173e7e052c81b196c617fb22b6e00"
- size 50837
- provides (eudc eudc-ldap eudc-ph)
- requires (fsf-compat xemacs-base)
+ description "SGML/Linuxdoc-SGML editing."
+ filename "sgml-1.04-pkg.tar.gz"
+ md5sum "2b762a0fbdda616916624dc2fa53e647"
+ size 26938
+ provides (sgml linuxdoc-sgml)
+ requires (xemacs-base)
type regular
))
))
;;;@@@
(package-get-update-base-entry (quote
-(bbdb
+(psgml
(standards-version 1.0
- version "1.06"
- author-version "2.00.02"
- date "1998-10-08"
- build-date "1998-10-12"
+ version "1.12"
+ author-version "1.01"
+ date "1999-03-05"
+ build-date "1999-03-05"
maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
distribution stable
priority medium
- category "comm"
+ category "oa"
dump nil
- description "The Big Brother Data Base"
- filename "bbdb-1.06-pkg.tar.gz"
- md5sum "4889d21fded3ae5cddee558e0d136a20"
- size 281992
- provides (bbdb)
- requires (bbdb edit-utils gnus mh-e rmail supercite vm tm apel mail-lib xemacs-base)
+ description "Validated HTML/SGML editing."
+ filename "psgml-1.12-pkg.tar.gz"
+ md5sum "7303b3a604659b64f24b0847b3a686d5"
+ size 425458
+ provides (psgml sgml)
+ requires (edit-utils)
type regular
))
))
;;;@@@
(package-get-update-base-entry (quote
-(gnus
+(pc
(standards-version 1.0
- version "1.33"
- author-version "5.6.44"
- date "1998-09-25"
- build-date "1998-10-15"
+ version "1.15"
+ author-version "21.0"
+ date "1999-04-13"
+ build-date "1999-05-13"
maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
distribution stable
- priority medium
- category "comm"
+ priority low
+ category "oa"
dump nil
- description "The Gnus Newsreader and Mailreader."
- filename "gnus-1.33-pkg.tar.gz"
- md5sum "46a0466ec203cd7b0d78bfeb215a65f5"
- size 1874633
- provides (gnus message)
- requires (gnus w3 mh-e mailcrypt rmail mail-lib xemacs-base)
- type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
-(skk
- (standards-version 1.0
- version "1.11"
- author-version "10.38"
- date "1998-10-01"
- build-date "1998-10-12"
- maintainer "SL Baur <steve@altair.xemacs.org>"
- distribution mule
- priority medium
- category "mule"
- dump t
- description "Japanese Language Input Method."
- filename "skk-1.11-pkg.tar.gz"
- md5sum "c158751b558299be9b5f8f9d10216a79"
- size 1513975
- provides (skk skk-tut)
- requires (viper mule-base elib xemacs-base)
+ description "PC style interface emulation."
+ filename "pc-1.15-pkg.tar.gz"
+ md5sum "99ad6b816d02360a4a9ccb5425974818"
+ size 16315
+ provides (delbs fusion pc-select pending-del s-region)
+ requires (xemacs-base)
type regular
))
))
;;;@@@
(package-get-update-base-entry (quote
-(mule-base
+(ispell
(standards-version 1.0
- version "1.24"
- author-version "21.0"
- date "1998-08-12"
- build-date "1998-10-12"
- maintainer "SL Baur <steve@altair.xemacs.org>"
- distribution mule
- priority high
- category "mule"
- dump t
- description "Basic Mule support, required for building with Mule."
- filename "mule-base-1.24-pkg.tar.gz"
- md5sum "9842af89469856fa1c7f3ed60c8c25cf"
- size 508959
- 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)
+ version "1.15"
+ author-version "3.2"
+ date "1999-05-13"
+ build-date "1999-05-13"
+ maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
+ distribution stable
+ priority low
+ category "oa"
+ dump nil
+ description "Spell-checking with GNU ispell."
+ filename "ispell-1.15-pkg.tar.gz"
+ md5sum "23632bd9fc2f7e4c0303865c35c5f4a5"
+ size 68118
+ provides (ispell)
+ requires ()
type regular
))
))
;;;@@@
(package-get-update-base-entry (quote
-(egg-its
+(frame-icon
(standards-version 1.0
- version "1.13"
- author-version "21.0"
- date "1998-08-11"
- build-date "1998-10-15"
+ version "1.06"
+ author-version "21.0b62"
+ date "1998-07-14"
+ build-date "1999-02-02"
maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
- distribution mule
- priority high
- category "mule"
- dump t
- description "Wnn (4.2 and 6) support. SJ3 support."
- filename "egg-its-1.13-pkg.tar.gz"
- md5sum "e7a5d51eb734310b9bb151c4fba05868"
- size 259686
- provides (egg-cnpinyin egg-cnzhuyin egg-cwnn-leim egg-jisx0201 egg-jsymbol egg-kwnn-leim egg-leim egg-sj3-client egg-sj3-leim egg-sj3 egg-wnn egg)
- requires (leim mule-base fsf-compat xemacs-base)
+ distribution contrib
+ priority low
+ category "oa"
+ dump nil
+ description "Set up mode-specific icons for each frame under XEmacs"
+ filename "frame-icon-1.06-pkg.tar.gz"
+ md5sum "bc4f6e838a4fa12d7f3b8b1996b3a9ac"
+ size 33483
+ provides (forms forms-mode)
+ requires ()
type regular
))
))
;;;@@@
(package-get-update-base-entry (quote
-(edict
+(forms
(standards-version 1.0
- version "1.06"
- author-version "0.9.8"
- date "1998-07-23"
- build-date "1998-10-12"
- maintainer "Stephen J. Turnbull <turnbull@sk.tsukuba.ac.jp>"
- distribution mule
- priority high
- category "mule"
+ version "1.10"
+ author-version "2.37"
+ date "1999-05-11"
+ build-date "1999-05-13"
+ maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
+ distribution contrib
+ priority low
+ category "oa"
dump nil
- description "Lisp Interface to EDICT, Kanji Dictionary"
- filename "edict-1.06-pkg.tar.gz"
- md5sum "d9ba0f5372b2b83fe1499d1462dad3ca"
- size 68008
- provides (dui-registry dui edict-edit edict-english edict-japanese edict-morphology edict-test edict ts-mode)
- requires (mule-base xemacs-base)
+ description "Forms editing support (obsolete, use Widget instead)."
+ filename "forms-1.10-pkg.tar.gz"
+ md5sum "a8ad3a114859c0981a1f884072bf4b1b"
+ size 48264
+ provides (forms forms-mode)
+ requires ()
type regular
))
))
;;;@@@
(package-get-update-base-entry (quote
-(leim
+(calendar
(standards-version 1.0
- version "1.11"
- author-version "21.0"
- date "1998-07-23"
- build-date "1998-10-12"
+ version "1.10"
+ author-version "21.0b63"
+ date "1999-02-08"
+ build-date "1999-03-01"
maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
- distribution mule
- priority medium
- category "mule"
+ distribution stable
+ priority low
+ category "oa"
dump nil
- description "Quail. All non-English and non-Japanese language support."
- filename "leim-1.11-pkg.tar.gz"
- md5sum "19f4745d0364b46c7526a34777c653e5"
- size 1670560
- provides ()
- requires (mule-base fsf-compat xemacs-base)
+ description "Calendar and diary support."
+ filename "calendar-1.10-pkg.tar.gz"
+ md5sum "09e93d157d2853a35e735a6a04f54055"
+ size 248580
+ provides (appt cal-dst cal-french cal-mayan cal-x cal-xemacs calendar diary-ins diary-lib holidays lunar solar)
+ requires (xemacs-base)
type regular
))
))
;;;@@@
(package-get-update-base-entry (quote
-(locale
+(calc
(standards-version 1.0
version "1.10"
- author-version "21.0"
- date "1998-07-24"
- build-date "1998-10-12"
+ author-version "2.02fX3"
+ date "1998-07-25"
+ build-date "1999-02-02"
maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
- distribution mule
- priority high
- category "mule"
+ distribution stable
+ priority low
+ category "oa"
dump nil
- description "Localized menubars and localized splash screens."
- filename "locale-1.10-pkg.tar.gz"
- md5sum "8439f2d7e266f3e4c2f18a19aa967202"
- size 32709
- provides ()
- requires (mule-base)
+ description "Emacs calculator"
+ filename "calc-1.10-pkg.tar.gz"
+ md5sum "148c82bf6f213d6e2fb234e1f21e4699"
+ size 1616821
+ provides (calc)
+ requires ()
type regular
))
))
;;;@@@
(package-get-update-base-entry (quote
-(time
+(speedbar
(standards-version 1.0
- version "1.06"
- author-version "1.17"
- date "1998-04-24"
- build-date "1998-10-12"
+ version "1.12"
+ author-version "0.6.2x"
+ date "1999-03-05"
+ build-date "1999-03-12"
maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
distribution stable
- priority medium
+ priority low
category "oa"
dump nil
- description "Display time & date on the modeline."
- filename "time-1.06-pkg.tar.gz"
- md5sum "f55965f3ef08e038bd58ca8f4fb83fe6"
- size 20018
- provides (time)
+ description "Provides a seperate frame with convenient references."
+ filename "speedbar-1.12-pkg.tar.gz"
+ md5sum "3b578d06426921193ac2b8337a669bfa"
+ size 64892
+ provides (speedbar)
requires (xemacs-base)
type regular
))
))
;;;@@@
(package-get-update-base-entry (quote
-(text-modes
+(edit-utils
(standards-version 1.0
- version "1.13"
+ version "1.39"
author-version "21.0"
- date "1998-09-24"
- build-date "1998-10-15"
+ date "1999-05-11"
+ build-date "1999-05-13"
maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
distribution stable
priority high
category "oa"
dump nil
- description "Miscellaneous support for editing text files."
- filename "text-modes-1.13-pkg.tar.gz"
- md5sum "3209269c42e32e39f70259cb68855e4f"
- size 195165
- provides (autoinsert crontab-edit filladapt fold-isearch folding image-mode iso-acc iso-ascii iso-cvt iso-insert iso-swed swedish tabify whitespace-mode winmgr-mode xpm-mode xrdb-mode)
- requires (ispell fsf-compat xemacs-base)
- type regular
+ description "Miscellaneous editor extensions, you probably need this."
+ filename "edit-utils-1.39-pkg.tar.gz"
+ md5sum "f129277008f56e86ec8630a299df7408"
+ size 577970
+ provides (abbrevlist 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 man mic-paren paren popper mode-motion+ outl-mouse page-ext blink-paren paren permanent-buffers recent-files redo reportmail rsz-minibuf saveconfsavehist saveplace scroll-in-place tempo toolbar-utils tree-menu uniquify where-was-i-db)
+ requires (xemacs-base)
+ type single
))
))
;;;@@@
(package-get-update-base-entry (quote
-(strokes
+(view-process
(standards-version 1.0
- version "1.03"
- author-version "21.0"
- date "1998-01-25"
- build-date "1998-10-12"
+ version "1.06"
+ author-version "2.4"
+ date "1998-01-24"
+ build-date "1999-02-02"
maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
distribution stable
- priority medium
- category "oa"
+ priority low
+ category "os"
dump nil
- description "Mouse enhancement utility."
- filename "strokes-1.03-pkg.tar.gz"
- md5sum "170257302196f106a54eb6dcf32fcc7a"
- size 43480
- provides (strokes)
- requires (text-modes edit-utils mail-lib xemacs-base)
+ description "A Unix process browsing tool."
+ filename "view-process-1.06-pkg.tar.gz"
+ md5sum "61c4c7175f23cb4cfd314e10303b238c"
+ size 59958
+ provides (view-process-mode)
+ requires (xemacs-base)
type regular
))
))
;;;@@@
(package-get-update-base-entry (quote
-(speedbar
+(os-utils
(standards-version 1.0
- version "1.10"
- author-version "0.6.2x"
- date "1998-10-02"
- build-date "1998-10-12"
+ version "1.15"
+ author-version "21.0"
+ date "1999-03-19"
+ build-date "1999-05-13"
maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
distribution stable
- priority low
- category "oa"
+ priority medium
+ category "os"
dump nil
- description "Provides a seperate frame with convenient references."
- filename "speedbar-1.10-pkg.tar.gz"
- md5sum "eab230ae2aa7d6ed5739f46ec4099dcf"
- size 64861
- provides (speedbar)
+ description "Miscellaneous O/S utilities."
+ filename "os-utils-1.15-pkg.tar.gz"
+ md5sum "92a3d72b0df1fb79fef2aee88a4d4f50"
+ size 228261
+ provides (archive-mode background crypt crypt++ inf-lisp jka-compr lpr mchat ps-print tar-mode telnet terminal uncompress)
requires (xemacs-base)
- type regular
+ type single
))
))
;;;@@@
(package-get-update-base-entry (quote
-(slider
+(ilisp
(standards-version 1.0
- version "1.08"
- author-version "0.3x1"
- date "1998-08-13"
- build-date "1998-10-12"
+ version "1.07"
+ author-version "5.8"
+ date "1998-01-24"
+ build-date "1999-02-02"
maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
- distribution experimental
+ distribution stable
priority low
- category "oa"
+ category "os"
dump nil
- description "User interface tool."
- filename "slider-1.08-pkg.tar.gz"
- md5sum "8d2fe53d7d58fa0af58ac0359caccaca"
- size 12018
- provides (slider color-selector)
- requires ()
+ description "Front-end for Inferior Lisp."
+ filename "ilisp-1.07-pkg.tar.gz"
+ md5sum "38cb2d94926e310a6e71ec1be854d636"
+ size 262173
+ provides (ilisp completer)
+ requires (xemacs-base)
type regular
))
))
;;;@@@
(package-get-update-base-entry (quote
-(sgml
- (standards-version 1.0
- version "1.03"
- author-version "21.0"
- date "1998-01-25"
- build-date "1998-10-12"
+(igrep
+ (standards-version 1.0
+ version "1.05"
+ author-version "2.83"
+ date "1998-08-11"
+ build-date "1999-02-02"
maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
- distribution contrib
+ distribution stable
priority low
- category "oa"
+ category "os"
dump nil
- description "SGML/Linuxdoc-SGML editing."
- filename "sgml-1.03-pkg.tar.gz"
- md5sum "317c7f52a3215f53e964ad90f9c40909"
- size 26928
- provides (sgml linuxdoc-sgml)
- requires (xemacs-base)
+ description "Enhanced front-end for Grep."
+ filename "igrep-1.05-pkg.tar.gz"
+ md5sum "e70d4973a2af4dbd6222f5943bfa1a50"
+ size 14935
+ provides (igrep)
+ requires (dired xemacs-base)
type regular
))
))
;;;@@@
(package-get-update-base-entry (quote
-(psgml
+(eterm
(standards-version 1.0
- version "1.10"
- author-version "1.01"
- date "1998-07-06"
- build-date "1998-10-12"
+ version "1.08"
+ author-version "21.0b62"
+ date "1998-06-28"
+ build-date "1999-02-02"
maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
distribution stable
priority medium
- category "oa"
+ category "os"
dump nil
- description "Validated HTML/SGML editing."
- filename "psgml-1.10-pkg.tar.gz"
- md5sum "15e584b90a2d2310a2be15ea2aa0717a"
- size 424930
- provides (psgml sgml)
- requires (edit-utils)
+ description "Terminal emulation."
+ filename "eterm-1.08-pkg.tar.gz"
+ md5sum "77e56529b5de6a0a0dd46c5d1634eebf"
+ size 108905
+ provides (eterm)
+ requires (xemacs-base)
type regular
))
))
;;;@@@
(package-get-update-base-entry (quote
-(pc
+(viper
(standards-version 1.0
- version "1.13"
- author-version "21.0"
- date "1998-07-25"
- build-date "1998-10-12"
- maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
+ version "1.14"
+ author-version "3.061"
+ date "1999-03-03"
+ build-date "1999-03-05"
+ maintainer "Michael Kifer <kifer@cs.sunysb.edu>"
distribution stable
priority low
- category "oa"
+ category "wp"
dump nil
- description "PC style interface emulation."
- filename "pc-1.13-pkg.tar.gz"
- md5sum "e5355fb82d1dbd77ad522bffb334168d"
- size 16306
- provides (delbs fusion pc-select pending-del s-region)
+ description "VI emulation support."
+ filename "viper-1.14-pkg.tar.gz"
+ md5sum "0e118822906e195dc352f28c8efc01e0"
+ size 317899
+ provides (viper)
requires (xemacs-base)
type regular
))
))
;;;@@@
(package-get-update-base-entry (quote
-(ispell
+(tpu
(standards-version 1.0
- version "1.12"
- author-version "3.0x2"
- date "1998-09-15"
- build-date "1998-10-12"
- maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
- distribution stable
- priority low
- category "oa"
+ version "1.08"
+ author-version "4.2X"
+ date "1998-07-23"
+ build-date "1999-02-02"
+ maintainer "Kevin Oberman <oberman@es.net>"
+ distribution normal
+ priority medium
+ category "wp"
dump nil
- description "Spell-checking with GNU ispell."
- filename "ispell-1.12-pkg.tar.gz"
- md5sum "5786e4688024aae78fe75a5cbf92c446"
- size 67168
- provides (ispell)
+ description "DEC EDIT/TPU support."
+ filename "tpu-1.08-pkg.tar.gz"
+ md5sum "2306ac55a0a1ed23da02a85c91f881bb"
+ size 58804
+ provides (tpu)
requires ()
type regular
))
))
;;;@@@
(package-get-update-base-entry (quote
-(hm--html-menus
+(textools
(standards-version 1.0
version "1.08"
- author-version "5.9"
- date "1998-01-25"
- build-date "1998-10-12"
+ author-version "21.0b62"
+ date "1998-04-29"
+ build-date "1999-02-02"
maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
- distribution stable
- priority low
- category "oa"
+ distribution stabl
+ priority medium
+ category "wp"
dump nil
- description "HTML editing."
- filename "hm--html-menus-1.08-pkg.tar.gz"
- md5sum "1f0fda934b84c5eed96fcfd02a046398"
- size 168017
- provides (adapt hm--date hm--html-configuration hm--html-drag-and-drop hm--html-indentation hm--html-keys hm--html-menu hm--html-mode hm--html-not-standard hm--html html-view tmpl-minor-mode)
+ description "Miscellaneous TeX support."
+ filename "textools-1.08-pkg.tar.gz"
+ md5sum "22dd0e16433a96547fde5757c6793388"
+ size 79176
+ provides (bib-mode bibtex refer-to-bibtex)
requires (xemacs-base)
- type regular
+ type single
))
))
;;;@@@
(package-get-update-base-entry (quote
-(frame-icon
+(texinfo
(standards-version 1.0
- version "1.05"
- author-version "21.0"
- date "1998-07-14"
- build-date "1998-10-12"
+ version "1.14"
+ author-version "21.0b62"
+ date "1998-07-20"
+ build-date "1999-02-02"
maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
- distribution contrib
- priority low
- category "oa"
+ distribution stable
+ priority high
+ category "wp"
dump nil
- description "Set up mode-specific icons for each frame under XEmacs"
- filename "frame-icon-1.05-pkg.tar.gz"
- md5sum "3d1a67ba8a51f74746ecb14385a025ef"
- size 33490
- provides (forms forms-mode)
- requires ()
+ description "XEmacs TeXinfo support."
+ filename "texinfo-1.14-pkg.tar.gz"
+ md5sum "b1b6a7f4c1ff10be38d3e27d1213f1c8"
+ size 127830
+ provides (makeinfo tex-mode texinfmt texinfo texnfo-tex texnfo-upd)
+ requires (xemacs-base)
type regular
))
))
;;;@@@
(package-get-update-base-entry (quote
-(forms
+(reftex
(standards-version 1.0
- version "1.08"
- author-version "2.10"
- date "1998-01-25"
- build-date "1998-10-12"
- maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
- distribution contrib
- priority low
- category "oa"
+ version "1.13"
+ author-version "3.43"
+ date "1999-04-06"
+ build-date "1999-05-13"
+ maintainer "Carsten Dominik <dominik@strw.LeidenUniv.nl>"
+ distribution stable
+ priority medium
+ category "wp"
dump nil
- description "Forms editing support (obsolete, use Widget instead)."
- filename "forms-1.08-pkg.tar.gz"
- md5sum "8af074cfc164331838bc83eb79eed3b5"
- size 47670
- provides (forms forms-mode)
- requires ()
+ description "Emacs support for LaTeX cross-references, citations.."
+ filename "reftex-1.13-pkg.tar.gz"
+ md5sum "5e9196a6fdda2587bec1aff19d6322ec"
+ size 216008
+ provides (reftex)
+ requires (fsf-compat xemacs-base)
type regular
))
))
;;;@@@
(package-get-update-base-entry (quote
-(edit-utils
+(edt
(standards-version 1.0
- version "1.33"
- author-version "21.0"
- date "1998-09-29"
- build-date "1998-10-12"
+ version "1.07"
+ author-version "21.0b62"
+ date "1998-04-07"
+ build-date "1999-02-02"
maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
- distribution stable
- priority high
- category "oa"
+ distribution contrib
+ priority low
+ category "wp"
dump nil
- description "Miscellaneous editor extensions, you probably need this."
- filename "edit-utils-1.33-pkg.tar.gz"
- md5sum "0aa0b5d2864dc02a62fb6e87880c4733"
- size 564543
- provides (abbrevlist 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 man mic-paren paren popper mode-motion+ outl-mouse page-ext blink-paren paren permanent-buffers recent-files redo reportmail rsz-minibuf saveconfsavehist saveplace scroll-in-place tempo toolbar-utils tree-menu uniquify where-was-i-db)
+ description "DEC EDIT/EDT emulation."
+ filename "edt-1.07-pkg.tar.gz"
+ md5sum "6c48ceb9686c50058be3938288940bc5"
+ size 46131
+ provides (edt)
requires (xemacs-base)
- type single
+ type regular
))
))
;;;@@@
(package-get-update-base-entry (quote
-(calendar
+(crisp
(standards-version 1.0
- version "1.08"
- author-version "21.0"
- date "1998-09-01"
- build-date "1998-10-12"
+ version "1.09"
+ author-version "1.34"
+ date "1998-08-18"
+ build-date "1999-02-02"
maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
distribution stable
priority low
- category "oa"
+ category "wp"
dump nil
- description "Calendar and diary support."
- filename "calendar-1.08-pkg.tar.gz"
- md5sum "afe4b31eb98b130960046bb3c2385ed3"
- size 248313
- provides (appt cal-dst cal-french cal-mayan cal-x cal-xemacs calendar diary-ins diary-lib holidays lunar solar)
- requires (xemacs-base)
+ description "Crisp/Brief emulation."
+ filename "crisp-1.09-pkg.tar.gz"
+ md5sum "faa9b6f2868a7e5b212d1094039cf526"
+ size 10067
+ provides (crisp scroll-lock)
+ requires ()
type regular
))
))
;;;@@@
(package-get-update-base-entry (quote
-(calc
+(auctex
(standards-version 1.0
- version "1.09"
- author-version "2.02fX3"
- date "1998-07-25"
- build-date "1998-10-12"
+ version "1.16"
+ author-version "9.7p"
+ date "1998-09-30"
+ build-date "1999-02-02"
maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
distribution stable
- priority low
- category "oa"
+ priority medium
+ category "wp"
dump nil
- description "Emacs calculator"
- filename "calc-1.09-pkg.tar.gz"
- md5sum "f0eb907a308a96da7ac5c3fc8c7d8bea"
- size 1616564
- provides (calc)
- requires ()
+ description "Basic TeX/LaTeX support."
+ filename "auctex-1.16-pkg.tar.gz"
+ md5sum "56e3454a1162c25db93fc84bdab61d0f"
+ size 365136
+ provides (auc-old bib-cite font-latex latex multi-prompt tex-buf tex-info tex-jp tex-site tex)
+ requires (xemacs-base)
type regular
))
))
(package-get-update-base-entry (quote
(vhdl
(standards-version 1.0
- version "1.06"
+ version "1.07"
author-version "2.74"
date "1998-01-24"
- build-date "1998-10-12"
+ build-date "1999-02-02"
maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
distribution stable
priority low
category "prog"
dump nil
description "Support for VHDL."
- filename "vhdl-1.06-pkg.tar.gz"
- md5sum "b6f786b7f682f76d57eeb94d3c917e56"
- size 65943
+ filename "vhdl-1.07-pkg.tar.gz"
+ md5sum "0eae8d15cff7d7b6dd7e1d00029c0e3a"
+ size 65961
provides (vhdl-mode)
requires ()
type regular
))
;;;@@@
(package-get-update-base-entry (quote
-(vc-cc
+(vc
(standards-version 1.0
- version "1.09"
- author-version "21.0"
- date "1998-07-24"
- build-date "1998-10-12"
+ version "1.17"
+ author-version "21.0b63"
+ date "1999-02-25"
+ build-date "1999-03-01"
maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
- distribution contrib
+ distribution stable
priority low
category "prog"
dump nil
- description "Version Control for ClearCase (UnFree) systems."
- filename "vc-cc-1.09-pkg.tar.gz"
- md5sum "43f4947aeb368164aada9dc2df827ce7"
- size 96473
+ description "Version Control for Free systems."
+ filename "vc-1.17-pkg.tar.gz"
+ md5sum "4e80458c0e6d4cf2805ed6a46135e1c6"
+ size 84499
provides (vc)
requires (dired xemacs-base)
type regular
))
;;;@@@
(package-get-update-base-entry (quote
-(vc
+(vc-cc
(standards-version 1.0
- version "1.14"
- author-version "21.0"
- date "1998-10-07"
- build-date "1998-10-11"
+ version "1.11"
+ author-version "21.0b62"
+ date "1998-12-09"
+ build-date "1999-02-02"
maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
- distribution stable
+ distribution contrib
priority low
category "prog"
dump nil
- description "Version Control for Free systems."
- filename "vc-1.14-pkg.tar.gz"
- md5sum "64c350d9c5280e7545e3dc3936992a8a"
- size 83885
+ description "Version Control for ClearCase (UnFree) systems."
+ filename "vc-cc-1.11-pkg.tar.gz"
+ md5sum "561ab60400e3fa6bfef8ad8567a3702d"
+ size 96544
provides (vc)
requires (dired xemacs-base)
type regular
(package-get-update-base-entry (quote
(sh-script
(standards-version 1.0
- version "1.07"
+ version "1.08"
author-version "2.0e"
date "1998-05-12"
- build-date "1998-10-11"
+ build-date "1999-02-02"
maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
distribution stable
priority low
category "prog"
dump nil
description "Support for editing shell scripts."
- filename "sh-script-1.07-pkg.tar.gz"
- md5sum "c5dd114d8e925fc7c8ec6d9130489421"
- size 33895
+ filename "sh-script-1.08-pkg.tar.gz"
+ md5sum "f2f584ab19761b1db14160d9d3cbc6f3"
+ size 33900
provides (sh-script executable)
requires (xemacs-base)
type regular
(package-get-update-base-entry (quote
(scheme
(standards-version 1.0
- version "1.06"
- author-version "21.0"
+ version "1.07"
+ author-version "21.0b62"
date "1998-09-08"
- build-date "1998-10-11"
+ build-date "1999-02-02"
maintainer "Karl M. Hegbloom <karlheg@bittersweet.inetarena.com>"
distribution contrib
priority low
category "prog"
dump nil
description "Front-end support for Inferior Scheme."
- filename "scheme-1.06-pkg.tar.gz"
- md5sum "86edb18517b7ed62929041c55ea68927"
- size 36321
+ filename "scheme-1.07-pkg.tar.gz"
+ md5sum "998d46aee749b32493cae61cac3888d2"
+ size 36292
provides (scheme xscheme cmuscheme cmuscheme48)
requires (xemacs-base)
type regular
(package-get-update-base-entry (quote
(prog-modes
(standards-version 1.0
- version "1.13"
+ version "1.19"
author-version "21.0"
- date "1998-10-15"
- build-date "1998-10-15"
+ date "1999-05-12"
+ build-date "1999-05-13"
maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
distribution stable
priority medium
category "prog"
dump nil
description "Support for various programming languages."
- filename "prog-modes-1.13-pkg.tar.gz"
- md5sum "6e78de455277b0fe757931532ca56a88"
- size 574269
+ filename "prog-modes-1.19-pkg.tar.gz"
+ md5sum "11da842b17ee65837bc56c13d76f49af"
+ size 596965
provides (autoconf-mode cperl-mode eiffel3 f90 fortran ksh-mode m4-mode makefile perl-mode postscript python-mode rexx-mode simula-mode tcl teco verilog-mod)
- requires (mail-lib xemacs-base)
+ requires (mail-lib xemacs-devel xemacs-base)
type regular
))
))
;;;@@@
(package-get-update-base-entry (quote
-(pcl-cvs
+(emerge
(standards-version 1.0
- version "1.34"
- author-version "R-2_0-Beta_2"
- date "1998-10-12"
- build-date "1998-10-12"
+ version "1.05"
+ author-version "21.0b62"
+ date "1998-04-07"
+ build-date "1999-02-02"
maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
distribution stable
priority low
category "prog"
dump nil
- description "CVS frontend."
- filename "pcl-cvs-1.34-pkg.tar.gz"
- md5sum "6a3f944402c486679e7cb33f60b8689b"
- size 161529
- provides (pcl-cvs generic-sc)
- requires (xemacs-base elib dired)
+ description "Another interface over GNU patch."
+ filename "emerge-1.05-pkg.tar.gz"
+ md5sum "1f4d70d7f4e73290837b2dbd2189be99"
+ size 61009
+ provides (emerge)
+ requires ()
type regular
))
))
;;;@@@
(package-get-update-base-entry (quote
-(jde
+(debug
+ (standards-version 1.0
+ version "1.09"
+ author-version "21.0"
+ date "1999-05-12"
+ build-date "1999-05-13"
+ maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
+ distribution contrib
+ priority low
+ category "prog"
+ dump nil
+ description "GUD, gdb, dbx debugging support."
+ filename "debug-1.09-pkg.tar.gz"
+ md5sum "24442a34f07cdd97ed52aa2c88c3de0b"
+ size 103161
+ provides (dbx gdb-highlight gdb gdbsrc gud history)
+ requires (xemacs-base)
+ type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(c-support
+ (standards-version 1.0
+ version "1.12"
+ author-version "21.0b64"
+ date "1999-03-02"
+ build-date "1999-03-02"
+ maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
+ distribution contrib
+ priority low
+ category "prog"
+ dump nil
+ description "Basic single-file add-ons for editing C code."
+ filename "c-support-1.12-pkg.tar.gz"
+ md5sum "a793cd83bb595d34771332a46d2abfd4"
+ size 69913
+ provides (c-comment-edit cmacexp ctypes hideif hideshow)
+ requires (cc-mode xemacs-base)
+ type regular
+))
+))
+;;;@@@
+(package-get-update-base-entry (quote
+(ada
(standards-version 1.0
version "1.06"
- author-version "2.05"
- date "1998-07-09"
- build-date "1998-10-11"
- maintainer "Andy Piper <andyp@parallax.co.uk>"
+ author-version "2.27"
+ date "1998-01-24"
+ build-date "1999-02-02"
+ maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
distribution stable
- priority medium
+ priority low
category "prog"
dump nil
- description "Java language and development support."
- filename "jde-1.06-pkg.tar.gz"
- md5sum "402a03ac6482ee28a586ee41164cf4f5"
- size 126911
- provides (jde)
- requires (cc-mode debug speedbar edit-utils mail-lib xemacs-base)
+ description "Ada language support."
+ filename "ada-1.06-pkg.tar.gz"
+ md5sum "0f3d2dc2ff33d40092b324a7a5a363d6"
+ size 54364
+ provides (ada-mode ada-stmt)
+ requires ()
type regular
))
))
;;;@@@
(package-get-update-base-entry (quote
-(emerge
+(pcl-cvs
(standards-version 1.0
- version "1.04"
- author-version "21.0"
- date "1998-04-07"
- build-date "1998-10-11"
+ version "1.38"
+ author-version "R-2_0-Beta_2"
+ date "1998-11-17"
+ build-date "1999-02-02"
maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
distribution stable
priority low
category "prog"
dump nil
- description "Another interface over GNU patch."
- filename "emerge-1.04-pkg.tar.gz"
- md5sum "681e35d3a0c167782db2e93f37ee3147"
- size 60972
- provides (emerge)
- requires ()
+ description "CVS frontend."
+ filename "pcl-cvs-1.38-pkg.tar.gz"
+ md5sum "a5ff4e61dffe3985c20385eb741d4783"
+ size 163524
+ provides (pcl-cvs generic-sc)
+ requires (xemacs-base elib dired)
type regular
))
))
;;;@@@
(package-get-update-base-entry (quote
-(ediff
+(cc-mode
(standards-version 1.0
- version "1.13"
- author-version "2.71"
- date "up-mess): "
- build-date "1998-10-15"
- maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
+ version "1.15"
+ author-version "5.25"
+ date "1998-12-30"
+ build-date "1999-02-02"
+ maintainer "Barry Warsaw <bug-cc-mode@gnu.org>"
distribution stable
priority medium
category "prog"
dump nil
- description "Interface over GNU patch."
- filename "ediff-1.13-pkg.tar.gz"
- md5sum "6435e57ce61d0b0262196866d62b63be"
- size 281534
- provides (ediff)
- requires (pcl-cvs elib dired xemacs-base)
+ description "C, C++ and Java language support."
+ filename "cc-mode-1.15-pkg.tar.gz"
+ md5sum "ca73b190e79f96ab928eecd12af94222"
+ size 212611
+ provides (cc-mode)
+ requires (xemacs-base)
type regular
))
))
;;;@@@
(package-get-update-base-entry (quote
-(debug
+(misc-games
(standards-version 1.0
- version "1.06"
- author-version "21.0"
- date "1998-07-09"
- build-date "1998-10-11"
+ version "1.11"
+ author-version "21.0b65"
+ date "1999-03-05"
+ build-date "1999-03-11"
maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
- distribution contrib
+ distribution stable
priority low
- category "prog"
+ category "games"
dump nil
- description "GUD, gdb, dbx debugging support."
- filename "debug-1.06-pkg.tar.gz"
- md5sum "807421911694a3c5853568efb71b88b0"
- size 88964
- provides (dbx gdb-highlight gdb gdbsrc gud history)
+ description "Other amusements and diversions."
+ filename "misc-games-1.11-pkg.tar.gz"
+ md5sum "80149e00e5698d0a48945c918bd2d0ba"
+ size 166197
+ provides (decipher gomoku hanoi life morse rot13)
requires (xemacs-base)
- type regular
+ type single
))
))
;;;@@@
(package-get-update-base-entry (quote
-(cc-mode
+(mine
(standards-version 1.0
- version "1.13"
- author-version "5.22"
- date "1998-03-05"
- build-date "1998-10-11"
- maintainer "Barry Warsaw <cc-mode-help@python.org>"
+ version "1.10"
+ author-version "1.9"
+ date "1998-05-09"
+ build-date "1999-02-02"
+ maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
distribution stable
- priority medium
- category "prog"
+ priority low
+ category "games"
dump nil
- description "C, C++ and Java language support."
- filename "cc-mode-1.13-pkg.tar.gz"
- md5sum "1ea7ffaa586063356ae65f4777cfb431"
- size 186436
- provides (cc-mode)
+ description "Minehunt Game."
+ filename "mine-1.10-pkg.tar.gz"
+ md5sum "a2d4f93830fe86e4d4e2f081ec0517fb"
+ size 66679
+ provides (xmine)
requires (xemacs-base)
type regular
))
))
;;;@@@
(package-get-update-base-entry (quote
-(c-support
+(games
(standards-version 1.0
version "1.09"
- author-version "21.0"
- date "1998-03-25"
- build-date "1998-10-11"
- maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
- distribution contrib
+ author-version "1.04"
+ date "1998-06-04"
+ build-date "1999-02-02"
+ maintainer "Glynn Clements <glynn@sensei.co.uk>"
+ distribution stable
priority low
- category "prog"
+ category "games"
dump nil
- description "Basic single-file add-ons for editing C code."
- filename "c-support-1.09-pkg.tar.gz"
- md5sum "f9dc7f8884203038f750d1e96087dc9c"
- size 68730
- provides (c-comment-edit cmacexp ctypes hideif hideshow)
- requires (cc-mode xemacs-base)
+ description "Tetris, Sokoban, and Snake."
+ filename "games-1.09-pkg.tar.gz"
+ md5sum "76a327a228745576538711180a9e444e"
+ size 32146
+ provides (gamegrid snake tetris sokoban)
+ requires (xemacs-base)
type regular
))
))
;;;@@@
(package-get-update-base-entry (quote
-(ada
+(cookie
(standards-version 1.0
- version "1.05"
- author-version "2.27"
- date "1998-01-24"
- build-date "1998-10-11"
+ version "1.10"
+ author-version "21.0b62"
+ date "1998-04-07"
+ build-date "1999-02-02"
maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
distribution stable
priority low
- category "prog"
+ category "games"
dump nil
- description "Ada language support."
- filename "ada-1.05-pkg.tar.gz"
- md5sum "374870f02139d0d80b56dab23f93b06d"
- size 54388
- provides (ada-mode ada-stmt)
- requires ()
+ description "Spook and Yow (Zippy quotes)."
+ filename "cookie-1.10-pkg.tar.gz"
+ md5sum "1c5599fa30e346af452c126d872121be"
+ size 34198
+ provides (cookie1 yow)
+ requires (xemacs-base)
type regular
))
))
;;;@@@
(package-get-update-base-entry (quote
-(viper
+(bbdb
(standards-version 1.0
- version "1.10"
- author-version "3.03"
- date "1998-02-25"
- build-date "1998-10-11"
+ version "1.07"
+ author-version "2.00.02"
+ date "1998-10-08"
+ build-date "1999-02-02"
maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
distribution stable
- priority low
- category "wp"
+ priority medium
+ category "comm"
dump nil
- description "VI emulation support."
- filename "viper-1.10-pkg.tar.gz"
- md5sum "f34ad536e27aa564849fcfb2fcf22a29"
- size 315794
- provides (viper)
- requires (xemacs-base)
+ description "The Big Brother Data Base"
+ filename "bbdb-1.07-pkg.tar.gz"
+ md5sum "e28c4aed70df000812d34cb3795c2f72"
+ size 282200
+ provides (bbdb)
+ requires (bbdb edit-utils gnus mh-e rmail supercite vm tm apel mail-lib xemacs-base)
type regular
))
))
;;;@@@
(package-get-update-base-entry (quote
-(tpu
+(zenirc
(standards-version 1.0
- version "1.07"
- author-version "4.2X"
- date "1998-07-23"
- build-date "1998-10-11"
- maintainer "Kevin Oberman <oberman@es.net>"
- distribution normal
+ version "1.05"
+ author-version "2.112"
+ date "1998-08-15"
+ build-date "1999-02-02"
+ maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
+ distribution stable
priority medium
- category "wp"
+ category "comm"
dump nil
- description "DEC EDIT/TPU support."
- filename "tpu-1.07-pkg.tar.gz"
- md5sum "be15173be8a57fcb7b7244a143026f8c"
- size 58801
- provides (tpu)
- requires ()
+ description "ZENIRC IRC Client."
+ filename "zenirc-1.05-pkg.tar.gz"
+ md5sum "df432e4987ddd0dd65e0124d7d910967"
+ size 276054
+ provides (zenirc)
+ requires (zenirc)
type regular
))
))
;;;@@@
(package-get-update-base-entry (quote
-(textools
+(mew
(standards-version 1.0
version "1.07"
- author-version "21.0"
- date "1998-04-29"
- build-date "1998-10-11"
+ author-version "1.93b38x1"
+ date "1998-12-09"
+ build-date "1999-02-02"
maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
- distribution stabl
- priority medium
- category "wp"
+ distribution contrib
+ priority low
+ category "comm"
dump nil
- description "Miscellaneous TeX support."
- filename "textools-1.07-pkg.tar.gz"
- md5sum "a7dff92bcb92c3401f7e6085216f72d7"
- size 79178
- provides (bib-mode bibtex refer-to-bibtex)
- requires (xemacs-base)
- type single
+ description "Messaging in an Emacs World."
+ filename "mew-1.07-pkg.tar.gz"
+ md5sum "04ed302d5a3735169835e52dadc9e84d"
+ size 518432
+ provides (mew)
+ requires (mew)
+ type regular
))
))
;;;@@@
(package-get-update-base-entry (quote
-(texinfo
+(tm
(standards-version 1.0
- version "1.13"
+ version "1.18"
author-version "21.0"
- date "1998-07-20"
- build-date "1998-10-11"
+ date "1999-02-06"
+ build-date "1999-05-13"
maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
distribution stable
- priority high
- category "wp"
+ priority low
+ category "comm"
dump nil
- description "XEmacs TeXinfo support."
- filename "texinfo-1.13-pkg.tar.gz"
- md5sum "460efede51ea17cd85872959fcf6474f"
- size 127794
- provides (makeinfo tex-mode texinfmt texinfo texnfo-tex texnfo-upd)
- requires (xemacs-base)
+ description "Emacs MIME support."
+ filename "tm-1.18-pkg.tar.gz"
+ md5sum "3d7641bd11adb085686384ffee80bf04"
+ size 330163
+ provides (tm tm-edit tm-view mime-setup)
+ requires (gnus mh-e rmail vm mailcrypt mail-lib apel xemacs-base)
type regular
))
))
;;;@@@
(package-get-update-base-entry (quote
-(reftex
+(gnus
(standards-version 1.0
- version "1.09"
- author-version "3.41"
- date "1998-08-11"
- build-date "1998-10-11"
- maintainer "Carsten Dominik <dominik@strw.LeidenUniv.nl>"
+ version "1.40"
+ author-version "5.6.45x1"
+ date "1999-03-12"
+ build-date "1999-05-13"
+ maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
distribution stable
priority medium
- category "wp"
+ category "comm"
dump nil
- description "Emacs support for LaTeX cross-references, citations.."
- filename "reftex-1.09-pkg.tar.gz"
- md5sum "c7c12198809741e20431cf14a6b965c4"
- size 204664
- provides (reftex)
- requires (fsf-compat xemacs-base)
+ description "The Gnus Newsreader and Mailreader."
+ filename "gnus-1.40-pkg.tar.gz"
+ md5sum "df916949c14fc6a1dcd5b3f3158a5497"
+ size 1873480
+ provides (gnus message)
+ requires (gnus tm apel w3 mh-e mailcrypt rmail mail-lib xemacs-base)
type regular
))
))
;;;@@@
(package-get-update-base-entry (quote
-(edt
+(rmail
(standards-version 1.0
- version "1.06"
- author-version "21.0"
- date "1998-04-07"
- build-date "1998-10-11"
+ version "1.08"
+ author-version "21.0b62"
+ date "1998-06-28"
+ build-date "1999-02-02"
maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
distribution contrib
priority low
- category "wp"
+ category "comm"
dump nil
- description "DEC EDIT/EDT emulation."
- filename "edt-1.06-pkg.tar.gz"
- md5sum "bb559e2a5c87b7b3f466b83a2ed7ef3b"
- size 46138
- provides (edt)
- requires (xemacs-base)
+ description "An obsolete Emacs mailer."
+ filename "rmail-1.08-pkg.tar.gz"
+ md5sum "90f98f9043e0c6f2180ffec9c6904eca"
+ size 96450
+ provides (rmail rmailsum)
+ requires (tm apel mail-lib xemacs-base)
type regular
))
))
;;;@@@
(package-get-update-base-entry (quote
-(crisp
+(mailcrypt
(standards-version 1.0
- version "1.08"
- author-version "1.34"
- date "1998-08-18"
- build-date "1998-10-11"
+ version "1.07"
+ author-version "3.4"
+ date "1998-01-24"
+ build-date "1999-02-02"
maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
distribution stable
priority low
- category "wp"
+ category "comm"
dump nil
- description "Crisp/Brief emulation."
- filename "crisp-1.08-pkg.tar.gz"
- md5sum "2c18df3dd1eb14e01768832b2b208af4"
- size 10077
- provides (crisp scroll-lock)
- requires ()
+ description "Support for messaging encryption with PGP."
+ filename "mailcrypt-1.07-pkg.tar.gz"
+ md5sum "350dccab50ef0800b95d44ef62cca359"
+ size 86362
+ provides (mailcrypt)
+ requires (gnus vm mail-lib xemacs-base)
type regular
))
))
;;;@@@
(package-get-update-base-entry (quote
-(auctex
+(supercite
(standards-version 1.0
- version "1.15"
- author-version "9.7p"
- date "1998-09-30"
- build-date "1998-10-15"
+ version "1.12"
+ author-version "3.55x3"
+ date "1999-04-06"
+ build-date "1999-05-13"
maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
distribution stable
- priority medium
- category "wp"
+ priority low
+ category "comm"
dump nil
- description "Basic TeX/LaTeX support."
- filename "auctex-1.15-pkg.tar.gz"
- md5sum "491d156e8e1f91b6b1604eccdfddace3"
- size 365003
- provides (auc-old bib-cite font-latex latex multi-prompt tex-buf tex-info tex-jp tex-site tex)
- requires (xemacs-base)
+ description "An Emacs citation tool for News & Mail messages."
+ filename "supercite-1.12-pkg.tar.gz"
+ md5sum "7188738f17ec05c1561fe054fdf120dd"
+ size 99564
+ provides (supercite)
+ requires (mail-lib xemacs-base)
type regular
))
))
;;;@@@
(package-get-update-base-entry (quote
-(view-process
+(mh-e
(standards-version 1.0
- version "1.05"
- author-version "2.4"
- date "1998-01-24"
- build-date "1998-10-12"
+ version "1.09"
+ author-version "21.0b62"
+ date "1998-07-12"
+ build-date "1999-02-02"
maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
- distribution stable
+ distribution contrib
priority low
- category "os"
+ category "comm"
dump nil
- description "A Unix process browsing tool."
- filename "view-process-1.05-pkg.tar.gz"
- md5sum "ec1ba005feb4ea54a832c9d07414de11"
- size 59881
- provides (view-process-mode)
- requires (xemacs-base)
+ description "Front end support for MH."
+ filename "mh-e-1.09-pkg.tar.gz"
+ md5sum "89e6f44e8dca03f6be10068391831262"
+ size 176469
+ provides (mh-e)
+ requires (mail-lib xemacs-base)
type regular
))
))
;;;@@@
(package-get-update-base-entry (quote
-(os-utils
+(gnats
(standards-version 1.0
- version "1.12"
- author-version "21.0"
- date "1998-10-01"
- build-date "1998-10-12"
+ version "1.08"
+ author-version "3.101"
+ date "1998-08-01"
+ build-date "1999-02-02"
maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
distribution stable
- priority medium
- category "os"
+ priority high
+ category "comm"
dump nil
- description "Miscellaneous O/S utilities."
- filename "os-utils-1.12-pkg.tar.gz"
- md5sum "603eb56b2af67de1663c9a3fa700b2ae"
- size 227137
- provides (archive-mode background crypt crypt++ inf-lisp jka-compr lpr mchat ps-print tar-mode telnet terminal uncompress)
- requires (xemacs-base)
- type single
+ description "XEmacs bug reports."
+ filename "gnats-1.08-pkg.tar.gz"
+ md5sum "8c1e3100399aac86c63683b1836d4a61"
+ size 189265
+ provides (gnats gnats-admin send-pr)
+ requires (mail-lib xemacs-base)
+ type regular
))
))
;;;@@@
(package-get-update-base-entry (quote
-(ilisp
+(footnote
(standards-version 1.0
- version "1.06"
- author-version "5.8"
- date "1998-01-24"
- build-date "1998-10-12"
- maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
+ version "1.10"
+ author-version "0.18x"
+ date "1999-03-11"
+ build-date "1999-05-13"
+ maintainer "SL Baur <steve@xemacs.org>"
distribution stable
priority low
- category "os"
- dump nil
- description "Front-end for Inferior Lisp."
- filename "ilisp-1.06-pkg.tar.gz"
- md5sum "89c81fd6dac09a58d09e46ee10db4484"
- size 262258
- provides (ilisp completer)
- requires (xemacs-base)
+ category "comm"
+ dump nil
+ description "Footnoting in mail message editing modes."
+ filename "footnote-1.10-pkg.tar.gz"
+ md5sum "124d7e58ba9905db7488ee142470249f"
+ size 18356
+ provides (footnote)
+ requires (mail-lib xemacs-base)
type regular
))
))
;;;@@@
(package-get-update-base-entry (quote
-(igrep
+(eudc
(standards-version 1.0
- version "1.04"
- author-version "2.83"
- date "1998-08-11"
- build-date "1998-10-12"
- maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
+ version "1.28"
+ author-version "1.28"
+ date "1999-02-13"
+ build-date "1999-03-01"
+ maintainer "Oscar Figueiredo <Oscar.Figueiredo@epfl.ch>"
distribution stable
priority low
- category "os"
+ category "comm"
dump nil
- description "Enhanced front-end for Grep."
- filename "igrep-1.04-pkg.tar.gz"
- md5sum "8621b52d6316c14821334191477a8ba7"
- size 14904
- provides (igrep)
- requires (dired xemacs-base)
+ description "Emacs Unified Directory Client (LDAP, PH)."
+ filename "eudc-1.28-pkg.tar.gz"
+ md5sum "e88e7ed791d16105824812edcd743bc6"
+ size 62476
+ provides (eudc eudc-ldap eudc-ph)
+ requires (fsf-compat xemacs-base bbdb)
type regular
))
))
;;;@@@
(package-get-update-base-entry (quote
-(eterm
+(net-utils
(standards-version 1.0
- version "1.07"
- author-version "21.0"
- date "1998-06-28"
- build-date "1998-10-12"
+ version "1.11"
+ author-version "21.0b62"
+ date "1998-07-01"
+ build-date "1999-02-02"
maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
distribution stable
- priority medium
- category "os"
+ priority low
+ category "comm"
dump nil
- description "Terminal emulation."
- filename "eterm-1.07-pkg.tar.gz"
- md5sum "f25bfd3c591f9ca5be6f3705ea2681a3"
- size 108929
- provides (eterm)
- requires (xemacs-base)
- type regular
+ description "Miscellaneous Networking Utilities."
+ filename "net-utils-1.11-pkg.tar.gz"
+ md5sum "f9d52e6e6b4f53ccf5cdd3521403e276"
+ size 107193
+ provides (ilisp-browse-cltl2 emacsbug feedmail metamail net-utils rcompile shadowfile webjump webster-www)
+ requires (w3 efs mail-lib xemacs-base)
+ type single
))
))
;;;@@@
(package-get-update-base-entry (quote
-(misc-games
+(w3
(standards-version 1.0
- version "1.08"
- author-version "21.0"
- date "1998-03-22"
- build-date "1998-10-11"
+ version "1.13"
+ author-version "4.0pre39x1"
+ date "1999-03-02"
+ build-date "1999-03-02"
maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
- distribution stable
- priority low
- category "games"
+ distribution experimental
+ priority high
+ category "comm"
dump nil
- description "Other amusements and diversions."
- filename "misc-games-1.08-pkg.tar.gz"
- md5sum "ca010a30375137a14b3c37989ad61c48"
- size 165701
- provides (decipher gomoku hanoi life morse rot13)
- requires (xemacs-base)
- type single
+ description "A Web browser."
+ filename "w3-1.13-pkg.tar.gz"
+ md5sum "8e9f70ef2c4b43090cfbf86974517c66"
+ size 682040
+ provides (w3 url)
+ requires (w3 mail-lib xemacs-base)
+ type regular
))
))
;;;@@@
(package-get-update-base-entry (quote
-(mine
+(vm
(standards-version 1.0
- version "1.09"
- author-version "1.9"
- date "1998-05-09"
- build-date "1998-10-11"
+ version "1.20"
+ author-version "6.71"
+ date "1999-05-13"
+ build-date "1999-05-13"
maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
distribution stable
- priority low
- category "games"
+ priority medium
+ category "comm"
dump nil
- description "Minehunt Game."
- filename "mine-1.09-pkg.tar.gz"
- md5sum "044c1e48ffca88adf46e0df91d456a49"
- size 66794
- provides (xmine)
- requires (xemacs-base)
+ description "An Emacs mailer."
+ filename "vm-1.20-pkg.tar.gz"
+ md5sum "120d25d3541fc7ef4bb34659a4aba89c"
+ size 614987
+ provides (vm)
+ requires (mail-lib xemacs-base)
type regular
))
))
;;;@@@
(package-get-update-base-entry (quote
-(games
+(sounds-wav
(standards-version 1.0
version "1.07"
- author-version "1.04"
- date "1998-06-04"
- build-date "1998-10-11"
- maintainer "Glynn Clements <glynn@sensei.co.uk>"
+ author-version "21.0b64"
+ date "1999-02-02"
+ build-date "1999-03-05"
+ maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
distribution stable
- priority low
- category "games"
+ priority high
+ category "libs"
dump nil
- description "Tetris, Sokoban, and Snake."
- filename "games-1.07-pkg.tar.gz"
- md5sum "ac3fa3b5de00f0daa50c1f372e5b86e0"
- size 32101
- provides (gamegrid snake tetris sokoban)
- requires (xemacs-base)
+ description "XEmacs Microsoft sound files."
+ filename "sounds-wav-1.07-pkg.tar.gz"
+ md5sum "60a70b85e8711fb1c9a1c7d0f4bf8ee0"
+ size 149045
+ provides ()
+ requires ()
type regular
))
))
;;;@@@
(package-get-update-base-entry (quote
-(cookie
+(sounds-au
(standards-version 1.0
- version "1.09"
- author-version "21.0"
- date "1998-04-07"
- build-date "1998-10-11"
+ version "1.07"
+ author-version "21.0b64"
+ date "1999-02-02"
+ build-date "1999-03-05"
maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
distribution stable
- priority low
- category "games"
+ priority high
+ category "libs"
dump nil
- description "Spook and Yow (Zippy quotes)."
- filename "cookie-1.09-pkg.tar.gz"
- md5sum "c0618f8a6db3951c081f053233fb75b5"
- size 34228
- provides (cookie1 yow)
- requires (xemacs-base)
+ description "XEmacs Sun sound files."
+ filename "sounds-au-1.07-pkg.tar.gz"
+ md5sum "4b5acd296b50102e50565650d9d7ec0b"
+ size 126184
+ provides ()
+ requires ()
type regular
))
))
(package-get-update-base-entry (quote
(xemacs-devel
(standards-version 1.0
- version "1.19"
- author-version "21.0"
- date "1998-09-18"
- build-date "1998-10-11"
+ version "1.21"
+ author-version "21.0b62"
+ date "1998-10-20"
+ build-date "1999-02-02"
maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
distribution stable
priority medium
category "libs"
dump nil
description "Emacs Lisp developer support."
- filename "xemacs-devel-1.19-pkg.tar.gz"
- md5sum "1a9a1d467ae39ce1e93f5fd238112b3e"
- size 83669
+ filename "xemacs-devel-1.21-pkg.tar.gz"
+ md5sum "aa472f2d412382c2fdd3150105ca7d1c"
+ size 83543
provides (docref eldoc elp find-func hide-copyleft ielm regexp-opt trace)
requires (xemacs-base)
type single
))
;;;@@@
(package-get-update-base-entry (quote
-(xemacs-base
+(tooltalk
(standards-version 1.0
- version "1.27"
- author-version "21.0"
- date "1998-10-08"
- build-date "1998-10-11"
+ version "1.09"
+ author-version "21.0b62"
+ date "1998-07-25"
+ build-date "1999-02-02"
maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
- distribution mule
- priority high
+ distribution contrib
+ priority low
category "libs"
dump nil
- description "Fundamental XEmacs support, you almost certainly need this."
- filename "xemacs-base-1.27-pkg.tar.gz"
- md5sum "bbede4998cdf5af078c0e41d7b9af7c8"
- size 429962
- provides (add-log 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 overlay passwd pp regi ring shell skeleton sort thing time-stamp timezone xbm-button xpm-button)
+ description "Support for building with Tooltalk."
+ filename "tooltalk-1.09-pkg.tar.gz"
+ md5sum "368d6407bf82711bee9a01fa6908b576"
+ size 9271
+ provides ()
requires ()
type regular
))
))
;;;@@@
(package-get-update-base-entry (quote
-(tooltalk
+(elib
(standards-version 1.0
- version "1.08"
- author-version "21.0"
- date "1998-07-25"
- build-date "1998-10-11"
+ version "1.04"
+ author-version "1.0"
+ date "1998-10-01"
+ build-date "1999-02-02"
maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
- distribution contrib
- priority low
+ distribution mule
+ priority high
category "libs"
dump nil
- description "Support for building with Tooltalk."
- filename "tooltalk-1.08-pkg.tar.gz"
- md5sum "9b4d7a73f9bd50273a011b1ed6522535"
- size 9293
- provides ()
+ description "Portable Emacs Lisp utilities library."
+ filename "elib-1.04-pkg.tar.gz"
+ md5sum "d17596beb9b03292e322f8460c36eb81"
+ size 72834
+ provides (avltree bintree cookie dll elib-node queue-f queue-m read stack-f stack-m string)
requires ()
- type regular
+ type single
))
))
;;;@@@
(package-get-update-base-entry (quote
-(mail-lib
+(edebug
(standards-version 1.0
- version "1.18"
- author-version "21.0"
- date "1998-06-08"
- build-date "1998-10-11"
+ version "1.07"
+ author-version "21.0b62"
+ date "1998-03-12"
+ build-date "1999-02-02"
maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
distribution stable
- priority medium
+ priority low
category "libs"
dump nil
- description "Fundamental lisp files for providing email support."
- filename "mail-lib-1.18-pkg.tar.gz"
- md5sum "25896164b50a8c09a45fdf74342c48ea"
- size 120245
- provides (browse-url highlight-headers mail-abbrevs mail-extr mail-utils reporter rfc822 rmail-mini rmailout sendmail smtpmail)
+ description "An Emacs Lisp debugger."
+ filename "edebug-1.07-pkg.tar.gz"
+ md5sum "62d3e581feac2c3a73917ad0d81151b0"
+ size 112408
+ provides (edebug cl-read cust-print eval-reg cl-specs)
requires (xemacs-base)
type regular
))
))
;;;@@@
(package-get-update-base-entry (quote
-(fsf-compat
+(Sun
(standards-version 1.0
- version "1.04"
- author-version "21.0"
- date "1998-09-12"
- build-date "1998-10-11"
+ version "1.10"
+ author-version "21.0b62"
+ date "1998-07-25"
+ build-date "1999-02-02"
maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
- distribution mule
- priority high
+ distribution sun
+ priority low
category "libs"
dump nil
- description "FSF Emacs compatibility files."
- filename "fsf-compat-1.04-pkg.tar.gz"
- md5sum "629a4f399a410e88841db23014d00300"
- size 17419
- provides (overlay thingatpt timer x-popup-menu)
- requires ()
- type single
+ description "Support for Sparcworks."
+ filename "Sun-1.10-pkg.tar.gz"
+ md5sum "54cce5cbb182d99de5562a586714e50c"
+ size 63693
+ provides (sccs eos-browser eos-common eos-debugger eos-debugger eos-editor eos-init eos-load eos-menubar eos-toolbar sunpro)
+ requires (cc-mode xemacs-base)
+ type regular
))
))
;;;@@@
(package-get-update-base-entry (quote
-(elib
+(apel
(standards-version 1.0
- version "1.03"
- author-version "1.0"
- date "1998-10-01"
- build-date "1998-10-11"
+ version "1.11"
+ author-version "9.18"
+ date "1999-05-08"
+ build-date "1999-05-13"
maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
distribution mule
priority high
category "libs"
dump nil
- description "Portable Emacs Lisp utilities library."
- filename "elib-1.03-pkg.tar.gz"
- md5sum "f65ecef3ac286ee59e102f5fc5ad62cc"
- size 72830
- provides (avltree bintree cookie dll elib-node queue-f queue-m read stack-f stack-m string)
- requires ()
- type single
+ description "A Portable Emacs Library. Used by XEmacs MIME support."
+ filename "apel-1.11-pkg.tar.gz"
+ md5sum "4c53047e1f0964b24626c29ee40a04c5"
+ size 73997
+ 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.11"
- author-version "1.17"
- date "1998-08-23"
- build-date "1998-10-11"
+ version "1.14"
+ author-version "1.18"
+ date "1999-01-03"
+ build-date "1999-02-02"
maintainer "Mike Sperber <sperber@informatik.uni-tuebingen.de>"
distribution stable
priority medium
category "libs"
dump nil
description "Treat files on remote systems the same as local files."
- filename "efs-1.11-pkg.tar.gz"
- md5sum "88a538a5016ae53380dba011db80887a"
- size 368997
+ filename "efs-1.14-pkg.tar.gz"
+ md5sum "2b4128fec0dcb31834f404ef962f10ab"
+ size 369742
provides (efs)
requires (xemacs-base vm dired)
type regular
))
;;;@@@
(package-get-update-base-entry (quote
-(edebug
- (standards-version 1.0
- version "1.06"
- author-version "21.0"
- date "1998-03-12"
- build-date "1998-10-11"
- maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
- distribution stable
- priority low
- category "libs"
- dump nil
- description "An Emacs Lisp debugger."
- filename "edebug-1.06-pkg.tar.gz"
- md5sum "a897be415a8b68c1f79a3632374c9174"
- size 112385
- provides (edebug cl-read cust-print eval-reg cl-specs)
- requires (xemacs-base)
- type regular
-))
-))
-;;;@@@
-(package-get-update-base-entry (quote
(dired
(standards-version 1.0
- version "1.03"
+ version "1.05"
author-version "7.9"
- date "1998-05-05"
- build-date "1998-10-11"
+ date "1998-12-09"
+ build-date "1999-02-02"
maintainer "Mike Sperber <sperber@informatik.uni-tuebingen.de>"
distribution stable
priority medium
category "libs"
dump nil
description "Manage file systems."
- filename "dired-1.03-pkg.tar.gz"
- md5sum "30e621efdf8b83e72ad3b68f4e795069"
- size 187593
+ filename "dired-1.05-pkg.tar.gz"
+ md5sum "392440b1472a2415b0b9b6779df93619"
+ size 187654
provides (diff dired)
requires (xemacs-base)
type regular
))
;;;@@@
(package-get-update-base-entry (quote
-(apel
- (standards-version 1.0
- version "1.07"
- author-version "3.3"
- date "1998-07-23"
- build-date "1998-10-11"
- maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
- distribution mule
- priority high
- category "libs"
- dump nil
- description "A Portable Emacs Library. Used by XEmacs MIME support."
- filename "apel-1.07-pkg.tar.gz"
- md5sum "a650a5235403b0a1b46b3269634498e3"
- size 34784
- 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
-(Sun
+(mail-lib
(standards-version 1.0
- version "1.09"
+ version "1.23"
author-version "21.0"
- date "1998-07-25"
- build-date "1998-10-11"
+ date "1999-04-13"
+ build-date "1999-05-13"
maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
- distribution sun
- priority low
+ distribution stable
+ priority medium
category "libs"
dump nil
- description "Support for Sparcworks."
- filename "Sun-1.09-pkg.tar.gz"
- md5sum "dc41d791f7c66dc13e8d0d206689188b"
- size 63916
- provides (sccs eos-browser eos-common eos-debugger eos-debugger eos-editor eos-init eos-load eos-menubar eos-toolbar sunpro)
- requires (cc-mode xemacs-base)
+ description "Fundamental lisp files for providing email support."
+ filename "mail-lib-1.23-pkg.tar.gz"
+ md5sum "4293acbed286a63581f55b7a16e4a489"
+ size 131968
+ provides (browse-url highlight-headers mail-abbrevs mail-extr mail-utils reporter rfc822 rmail-mini rmailout sendmail smtpmail)
+ requires (xemacs-base)
type regular
))
))
;;;@@@
(package-get-update-base-entry (quote
-(sounds-au
+(fsf-compat
(standards-version 1.0
version "1.05"
- author-version "21.0"
- date "1998-06-30"
- build-date "1998-10-11"
+ author-version "21.0b62"
+ date "1998-09-12"
+ build-date "1999-02-02"
maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
- distribution stable
+ distribution mule
priority high
category "libs"
dump nil
- description "XEmacs Sun sound files."
- filename "sounds-au-1.05-pkg.tar.gz"
- md5sum "5e44ddd6754771e35303bf4e71c17a17"
- size 125753
- provides ()
+ description "FSF Emacs compatibility files."
+ filename "fsf-compat-1.05-pkg.tar.gz"
+ md5sum "64cb1984a71974f3f40c0be1a971f441"
+ size 17347
+ provides (overlay thingatpt timer x-popup-menu)
requires ()
- type regular
+ type single
))
))
;;;@@@
(package-get-update-base-entry (quote
-(sounds-wav
+(xemacs-base
(standards-version 1.0
- version "1.05"
+ version "1.30"
author-version "21.0"
- date "1998-06-30"
- build-date "1998-10-11"
+ date "1998-11-30"
+ build-date "1999-05-13"
maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
- distribution stable
+ distribution mule
priority high
category "libs"
dump nil
- description "XEmacs Microsoft sound files."
- filename "sounds-wav-1.05-pkg.tar.gz"
- md5sum "e110bc6096bcd24181b45c1b7f83eb59"
- size 148564
- provides ()
+ description "Fundamental XEmacs support, you almost certainly need this."
+ filename "xemacs-base-1.30-pkg.tar.gz"
+ md5sum "d9e95850fe8e13a04166d59d62fb38ab"
+ size 430640
+ provides (add-log 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 overlay passwd pp regi ring shell skeleton sort thing time-stamp timezone xbm-button xpm-button)
requires ()
type regular
))
))
;;;@@@
;; Package Index file ends here
-
------BEGIN PGP SIGNATURE-----
-Version: 2.6.2
-
-iQCVAwUBNibr5aLJZEUiepcNAQHmWQP+PDjjOvmsdhu6RGXIFCUPV4ado8IWD8i8
-/aEwLHJRdoQWEg0ZuiNgmtF2iNPrNIOkSs9hF+sOF4xoszhxaytfFG7DEA5Q8Alb
-jKooHKEUEF7W0wAxihyGojz3VuH5i7GKAtOcVqFtgWS3eAkNaN4QWlmhxavh0Cdv
-p7wnfYTZYSs=
-=65go
------END PGP SIGNATURE-----
" 51 51 4 1 26 23",
/* colors */
" c None m None",
-/* "# c black m black", */
-/* "@ c black m black", */
-/* "- c white m white", */
-"# c black m chartreuse4",
-"@ c chartreuse4 m chartreuse4",
-"- c chartreuse1 m chartreuse1",
+"# c black m black",
+"- c chartreuse1 m #7fff0f",
+"@ c chartreuse4 m #4f8f0f",
/* pixels */
" ",
" ################### ",
(setq ispell-extra-args '("-W" "3"))
(cond ((or (not (fboundp 'device-type))
- (equal (device-type) 'x))
- ;; Code which applies only when running emacs under X goes here.
- ;; (We check whether the function `device-type' exists
- ;; before using it. In versions before 19.12, there
- ;; was no such function. If it doesn't exist, we
- ;; simply assume we're running under X -- versions before
- ;; 19.12 only supported X.)
+ (equal (device-type) 'x)
+ (equal (device-type) 'mswindows))
+ ;; Code which applies only when running emacs under X or
+ ;; MicroSoft Windows goes here. (We check whether the
+ ;; function `device-type' exists before using it. In
+ ;; versions before 19.12, there was no such function.
+ ;; If it doesn't exist, we simply assume we're running
+ ;; under X -- versions before 19.12 only supported X.)
;; Remove the binding of C-x C-c, which normally exits emacs.
;; It's easy to hit this by mistake, and that can be annoying.
;; standard beep only works with some X servers; many servers
;; completely ignore those parameters.)
;;
- (cond ((string-match ":0" (getenv "DISPLAY"))
+ (cond ((or (and (getenv "DISPLAY")
+ (string-match ":0" (getenv "DISPLAY")))
+ (and (eq (console-type) 'mswindows)
+ (device-sound-enabled-p)))
(load-default-sounds))
(t
(setq bell-volume 40)
(set-glyph-image modeline-pointer-glyph "leftbutton")
;; Change the continuation glyph face so it stands out more
- (and (fboundp 'set-glyph-property)
+ (and (fboundp 'make-face-bold)
(boundp 'continuation-glyph)
- (set-glyph-property continuation-glyph 'face 'bold))
+ (make-face-bold (glyph-face continuation-glyph)))
;; Change the pointer used during garbage collection.
;;
.B \-eval
options to specify files to execute and functions to call.
.TP
-.B \-nw\
+.B \-nw
Inhibit the use of any window-system-specific display code: use the
current TTY.
.TP
.I XEmacs
can be started with the following standard X options:
.TP
+.BI \-visual " <visualname><bitdepth>"
+Select the visual that XEmacs will attempt to use.
+.I <visualname>
+should be one of the strings "StaticColor", "TrueColor", "GrayScale",
+"PseudoColor" or "DirectColor", and
+.I <bitdepth>
+should be the number of bits per pixel (example, "-visual TrueColor24"
+for a 24bit TrueColor visual) See
+.IR X (1)
+for more information.
+.TP
+.B -privateColormap
+Require XEmacs to create and use a private colormap for display. This will keep
+XEmacs from taking colors from the default colormap and keeping them from other
+clients.
+.TP
.BI \-geometry " ##x##+##+##"
Specify the geometry of the initial window. The ##'s represent a number;
the four numbers are width (characters), height (characters), X offset
.B pointerColor (\fPclass\fB Foreground)
Sets the color of the window's mouse cursor.
.TP
+.B emacsVisual (\fPclass\fB EmacsVisual)
+Sets the default visual
+.I XEmacs
+will try to use (as described above).
+.TP
+.B privateColormap (\fPclass\fB PrivateColormap)
+If set,
+.I XEmacs
+will default to using a private colormap.
+.TP
.B geometry (\fPclass\fB Geometry)
Sets the geometry of the
.I XEmacs
--- /dev/null
+Makefile.in
+config.values
+ellcc.h
+make-path
+wakeup
+Makefile
+GNUmakefile
+profile
+make-docfile
+digest-doc
+sorted-doc
+movemail
+cvtmail
+fakemail
+yow
+hexl
+gnuserv
+mmencode
+etags
+ctags
+b2m
+gnuclient
+ootags
+ellcc
+DOC
+1999-05-14 XEmacs Build Bot <builds@cvs.xemacs.org>
+
+ * XEmacs 21.2.14 is released
+
+1999-05-14 SL Baur <steve@gneiss.etl.go.jp>
+
+ * update-elc.sh (ignore_pattern): Correct ignore_dirs/ignore=dirs
+ european keyboard fuckage.
+
+1999-05-03 Hrvoje Niksic <hniksic@srce.hr>
+
+ * update-elc.sh (ignore_pattern): Installation.el is dead.
+
+1999-05-03 Hrvoje Niksic <hniksic@srce.hr>
+
+ * gnuclient.c: Include <sysfile.h> instead of <../src/sysfile.h>.
+
+ * Makefile.in.in (cppflags): Add -I$(top_srcdir)/src.
+
+1999-04-29 Andy Piper <andy@xemacs.org>
+
+ * make-docfile.c: build fixes for mingw32.
+ * movemail.c: ditto.
+ * run.c: ditto.
+ * yow.c: ditto.
+ * profile.c: ditto.
+ (gettimeofday): new function copied from nt.c.
+
+ * fakemail.c (make_file_preface): make buildable under windows.
+
+ * Makefile.in.in: fix some build targets for when we are building
+ on a windows platform.
+
+1999-03-12 giacomo boffi <giacomo.boffi@polimi.it>
+
+ * sorted-doc.c: corrected the outdated or plainly wrong
+ texinfo headers. Broken up the mega-@table that crashes (at
+ least RedHat's) TeX with:
+ "! TeX capacity exceeded, sorry [save size=4000]."
+
+1999-03-12 XEmacs Build Bot <builds@cvs.xemacs.org>
+
+ * XEmacs 21.2.13 is released
+
+1999-03-10 Martin Buchholz <martin@xemacs.org>
+
+ * fakemail.c (add_a_stream): Always use full ANSI prototypes.
+
+1999-03-06 Martin Buchholz <martin@xemacs.org>
+
+ * fakemail.c (main): Ansify.
+ (xmalloc): Ansify.
+ (xrealloc): Ansify.
+ (get_keyword): use paranoid casts ((int) (unsigned char) c) for
+ islower, toupper, isspace.
+
+1999-03-05 XEmacs Build Bot <builds@cvs.xemacs.org>
+
+ * XEmacs 21.2.12 is released
+
+1999-03-01 XEmacs Build Bot <builds@cvs.xemacs.org>
+
+ * XEmacs 21.2.11 is released
+
+1999-02-17 SL Baur <steve@xemacs.org>
+
+ * update-elc.sh (ignore_dirs): Ignore lisp/mule subdirectory when
+ running latin-1 XEmacs. Eliminate 20.4 bundled kludges.
+ * update-custom.sh (ignore_dirs): Ditto.
+
+1999-02-15 Martin Buchholz <martin@xemacs.org>
+
+ * update-elc.sh:
+ * update-autoloads.sh:
+ * update-custom.sh:
+ - improved automounter tmp directory support.
+ - support 4 (!) empirically discovered automounter conventions
+
+1999-02-05 XEmacs Build Bot <builds@cvs.xemacs.org>
+
+ * XEmacs 21.2.10 is released
+
+1999-02-02 XEmacs Build Bot <builds@cvs.xemacs.org>
+
+ * XEmacs 21.2.9 is released
+
+1999-01-27 Martin Buchholz <martin@xemacs.org>
+
+ * movemail.c (strerror): Must be NON-static, since it is used by
+ the POP code, which got moved to a separate file.
+
+1999-01-11 Damon Lipparelli <lipp@primus.com>
+
+ * Makefile.in.in: use ellcc (not ellc) everywhere
+
+1999-01-10 J. Kean Johnston <jkj@sco.com>
+
+ * Makefile.in.in: Include moduledir and sitemoduledir as defined
+ by configure.
+ - Install ellcc if we're supporting shared objects
+ - Rules and dependancies for ellcc
+
+ * ellcc.c: New file. Front end to the compiler for making modules.
+
+ * ellcc.h.in: New file. Contains path definitions used by ellcc.
+
+ * make-docfile.c (main): Add check for -E argument used by ellcc.
+
+ * make-docfile.c: Changed output format when in -E mode.
+
+1998-12-28 Martin Buchholz <martin@xemacs.org>
+
+ * XEmacs 21.2.8 is released.
+
+1998-12-24 Martin Buchholz <martin@xemacs.org>
+
+ * XEmacs 21.2.7 is released.
+
+1998-12-17 Andy Piper <andy@xemacs.org>
+
+ * pop.c (pop_open): disable use of getpass() which doesn't exist under NT.
+
+ * movemail.c: mess with includes so that it builds under native NT.
+
+ * pop.c: mess with includes so that it builds under native NT.
+ From Fabrice Popineau <popineau@ese-metz.fr>
+
+1998-12-16 Andy Piper <andy@xemacs.org>
+
+ * XEmacs 21.2.6 is released
+
+1998-12-05 XEmacs Build Bot <builds@cvs.xemacs.org>
+
+ * XEmacs 21.2.5 is released
+
+1998-11-28 SL Baur <steve@altair.xemacs.org>
+
+ * XEmacs 21.2-beta4 is released.
+
+1998-10-14 Andy Piper <andyp@parallax.co.uk>
+
+ * Makefile.in.in (movemail): add getopt.o to objects to link with.
+
+ * movemail.c (main): rewrite to use getopt(). Add options for
+ order reversal, progress output, regexp matching and message
+ deletion.
+ (popmail): add some optional verbose messages. Use pop_search_top
+ for getting messages. Make message deletion optional. Delete all
+ messages at the end rather than on a message my message basis.
+ (pop_search_top): new function. Looks for messages matching regexp.
+ (compile_regex): new function stolen from etags.
+
+1998-10-15 SL Baur <steve@altair.xemacs.org>
+
+ * XEmacs 21.2-beta3 is released.
+
+1998-10-12 SL Baur <steve@altair.xemacs.org>
+
+ * lib-src/gnudepend.pl: Use /usr/bin/perl.
+ * Makefile.in.in (INSTALLABLE_SCRIPTS): Remove send-pr, install-sid.
+ (GEN_SCRIPTS): Ditto.
+ Delete TM_SCRIPTS.
+
+1998-10-11 SL Baur <steve@altair.xemacs.org>
+
+ * tm-au:
+ * tm-file:
+ * tm-html:
+ * tm-image:
+ * tm-mpeg:
+ * tm-plain:
+ * tm-ps:
+ * tmdecode: packaged.
+
+1998-10-10 SL Baur <steve@altair.xemacs.org>
+
+ * install-sid:
+ * send-pr: Packaged
+
+1998-10-01 Jan Vroonhof <vroonhof@math.ethz.ch>
+
+ * gnuclient.c (filename_expand): Don't forget to copy the
+ filename under UNIX.
+
+1998-09-29 SL Baur <steve@altair.xemacs.org>
+
+ * XEmacs 21.2-beta2 is released.
+
+1998-09-08 Raymond Toy <toy@rtp.ericsson.se>
+
+ * gnuclient.c (filename_expand): Added better recognition of
+ absolute pathnames for CYGWIN. Convert absolute pathnames with
+ drive letters to something xemacs can handle.
+
1998-07-19 SL Baur <steve@altair.xemacs.org>
* XEmacs 21.2-beta1 is released.
bindir=@bindir@
libdir=@libdir@
srcdir=@srcdir@
+top_srcdir=@top_srcdir@
archlibdir=@archlibdir@
configuration=@configuration@
+moduledir=@moduledir@
+sitemoduledir=@sitemoduledir@
+
## ==================== Utility Programs for the Build =================
INSTALL = @install_pp@ @INSTALL@
## Things that a user might actually run,
## which should be installed in bindir.
+#ifdef WINDOWSNT
+INSTALLABLES_BASE = etags ctags b2m ootags
+#else
INSTALLABLES_BASE = etags ctags b2m gnuclient ootags
-INSTALLABLE_SCRIPTS = rcs-checkin pstogif install-sid send-pr gnudoit gnuattach
+#endif
+INSTALLABLE_SCRIPTS = rcs-checkin pstogif gnudoit gnuattach
+#ifdef HAVE_SHLIB
+#ifdef HAVE_MS_WINDOWS
+INSTALLABLES = $(INSTALLABLES_BASE) runxemacs rungnuclient ellcc
+#else
+INSTALLABLES = $(INSTALLABLES_BASE) ellcc
+#endif
+#else
#ifdef HAVE_MS_WINDOWS
-INSTALLABLES = $(INSTALLABLES_BASE) runemacs
+INSTALLABLES = $(INSTALLABLES_BASE) runxemacs rungnuclient
#else
INSTALLABLES = $(INSTALLABLES_BASE)
#endif
+#endif
## Things that Emacs runs internally, or during the build process,
## which should not be installed in bindir.
+#ifdef WINDOWSNT
+UTILITIES= make-path wakeup profile make-docfile digest-doc \
+ sorted-doc movemail cvtmail yow hexl \
+ mmencode
+#else
UTILITIES= make-path wakeup profile make-docfile digest-doc \
sorted-doc movemail cvtmail fakemail yow hexl \
gnuserv mmencode
+#endif
## These need to be conditional on I18N3 make-msgfile make-po
## Like UTILITIES, but they are not system-dependent, and should not be
## deleted by the distclean target.
-GEN_SCRIPTS = rcs2log vcdiff gzip-el.sh install-sid send-pr
-TM_SCRIPTS = tm-au tm-file tm-html tm-image tm-mpeg tm-plain tm-ps tmdecode
+GEN_SCRIPTS = rcs2log vcdiff gzip-el.sh
PKG_SCRIPTS = add-big-package.sh
-SCRIPTS = $(GEN_SCRIPTS) $(TM_SCRIPTS) $(PKG_SCRIPTS)
+SCRIPTS = $(GEN_SCRIPTS) $(PKG_SCRIPTS)
EXECUTABLES= ${UTILITIES} ${INSTALLABLES} ${SCRIPTS} ${INSTALLABLE_SCRIPTS}
## We need to #define emacs to get the right versions of some files.
-cppflags = -Demacs -I../src $(CPPFLAGS)
+cppflags = -Demacs -I$(top_srcdir)/src -I../src $(CPPFLAGS)
cflags = $(CFLAGS) $(cppflags) $(c_switch_general)
ldflags = $(LDFLAGS) $(ld_switch_general) $(ld_libs_general)
clean: mostlyclean
$(RM) ${INSTALLABLES} ${UTILITIES} *.exe
distclean: clean
- $(RM) DOC *.tab.c *.tab.h aixcc.c TAGS
- $(RM) Makefile Makefile.in blessmail config.values
+ $(RM) DOC *.tab.c *.tab.h aixcc.c TAGS ellcc.h
+ $(RM) GNUmakefile Makefile Makefile.in blessmail config.values
realclean: distclean
extraclean: distclean
$(RM) *~ \#*
etags: ${etags_deps}
$(CC) ${etags_args} -o $@
-runemacs_args = -I. $(cflags) -I${srcdir} -I${srcdir}/../src \
- -DVERSION='"${version}"' ${srcdir}/../nt/runemacs.c \
- $(ldflags) -Wl,--subsystem,windows
-runemacs_deps = ${srcdir}/../nt/runemacs.c ${srcdir}/../nt/xemacs.ico ../src/config.h
+ellcc_args = -I. $(cflags) -I${srcdir} -I${srcdir}/../src \
+ ${srcdir}/ellcc.c $(ldflags)
+ellcc_deps = ${srcdir}/ellcc.c ellcc.h ../src/config.h
+
+ellcc: ${ellcc_deps}
+ $(CC) ${ellcc_args} -o $@
+
+run_args = -I. $(cflags) -I${srcdir} -I${srcdir}/../src \
+ -DVERSION='"${version}"' ${srcdir}/run.c \
+ $(ldflags) -Wl,--subsystem,windows -e _mainCRTStartup
+run_deps = ${srcdir}/run.c ${srcdir}/run.h ${srcdir}/run.rc \
+ ${srcdir}/../nt/xemacs.ico ${srcdir}/../nt/file.ico \
+ ${srcdir}/../nt/lisp.ico
+
+run: ${run_deps}
+ windres --include-dir ${srcdir}/../nt -i run.rc -o run_res.o
+ $(CC) run_res.o ${run_args} -o $@
+ strip $@.exe
+
+runxemacs: run
+ cp run.exe $@.exe
-runemacs: ${runemacs_deps}
- echo "runemacs ICON DISCARDABLE \"../nt/xemacs.ico\"" \
- | windres -o runemacs_res.o
- $(CC) runemacs_res.o ${runemacs_args} -o $@
+rungnuclient: run
+ cp run.exe $@.exe
ootags_args = -I. $(cflags) -I${srcdir} -I${srcdir}/../src \
-DVERSION='"${version}"' ${srcdir}/ootags.c \
b2m: ${srcdir}/b2m.c ../src/config.h
$(CC) $(cflags) ${srcdir}/b2m.c $(ldflags) -o $@
-movemail: ${srcdir}/movemail.c ${srcdir}/pop.c ${srcdir}/pop.h ../src/config.h
- $(CC) $(cflags) ${MOVE_FLAGS} ${srcdir}/movemail.c ${srcdir}/pop.c $(ldflags) ${MOVE_LIBS} -o $@
+movemail: ${srcdir}/movemail.c ${srcdir}/pop.c ${srcdir}/pop.h $(GETOPTDEPS) regex.o \
+ ../src/config.h
+ $(CC) $(cflags) ${MOVE_FLAGS} ${srcdir}/movemail.c ${srcdir}/pop.c \
+ $(GETOPTOBJS) regex.o $(ldflags) ${MOVE_LIBS} -o $@
cvtmail: ${srcdir}/cvtmail.c
$(CC) $(cflags) ${srcdir}/cvtmail.c $(ldflags) -o $@
--- /dev/null
+%Start ErrorText ErrorMessage OtherText
+
+EC [0-9][0-9][0-9][0-9]-[0-9][0-9][0-9]
+D [0-9]
+D3 [0-9 ][0-9 ][0-9]
+D4 [0-9 ][0-9 ][0-9 ][0-9]
+D5 [0-9 ][0-9 ][0-9 ][0-9 ][0-9]
+DS [0-9 ]
+
+%{
+/* moore@wilma.cs.utk.edu
+
+ * Hack to work around the AIX C compiler's brain-damaged error messages
+ * so that emacs can parse them. It runs /bin/cc as a subprocess, and
+ * tries to rearrange the error messages so that (a) each message contains
+ * both the filename and line number where the error occurred, and (b)
+ * the error message(s) for a particular line get displayed *before* the
+ * line itself.
+ *
+ * to compile:
+ * lex aixcc.lex
+ * cc -o aixcc lex.yy.c
+ *
+ *
+ * Copyright December 1991 by Keith Moore
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ *
+ * TODO: figure out how the compiler counts file numbers for included
+ * files, keep track of which file corresponds to which number, and
+ * always output the right file name.
+ */
+
+#include <stdio.h>
+#include <string.h>
+
+char *current_file;
+int line;
+int debug = 0;
+char bigbuf[10240];
+char *bufptr = bigbuf;
+int last_line_was_error = 0;
+
+spaces (s)
+char *s;
+{
+ while (*s++)
+ *bufptr++ = ' ';
+}
+
+char *
+strsave (s)
+char *s;
+{
+ char *ptr = malloc (strlen (s) + 1);
+ strcpy (ptr, s);
+ return ptr;
+}
+
+yywrap ()
+{
+ *bufptr = '\0';
+ bufptr = bigbuf;
+ while (*bufptr)
+ putc (*bufptr++, yyout);
+ return 1;
+}
+
+%}
+%%
+^File\ Line\ Column\ Message\ text[^\n]* {
+ /*
+ * ignore this. don't treat it as error text
+ */
+}
+
+^{DS}{DS}{DS}\ {D5}\ \| {
+ /*
+ * (optional) nesting level, followed by line number, followed
+ * by the source code fragment that caused the error
+ */
+
+ /*
+ * save the line number for later
+ */
+ line = atoi (yytext+4);
+
+ if (debug) {
+ fprintf (yyout, "line <= %d\n", line);
+ fprintf (yyout, "%s\n", yytext);
+ }
+
+ /*
+ * if the last line was an error message, to flush out all of
+ * the old source text before starting to save the new source text.
+ */
+ if (last_line_was_error) {
+ *bufptr = '\0';
+ bufptr = bigbuf;
+ while (*bufptr)
+ putc (*bufptr++, yyout);
+ bufptr = bigbuf;
+ last_line_was_error = 0;
+ }
+ /*
+ * stuff enough spaces in the text buffer so that the
+ * saved text will line up properly when displayed.
+ */
+ spaces (yytext);
+
+ BEGIN ErrorText; /* continue below */
+}
+
+<ErrorText>[^\n]*$ {
+ char *ptr;
+
+ /*
+ * Save the text until we see the error message(s), then print it.
+ * This because emacs puts the error message at the top of the
+ * window, and it's nice to be able to see the text below it.
+ */
+
+ ptr = yytext;
+ while (*ptr)
+ *bufptr++ = *ptr++;
+ *bufptr++ = '\n';
+
+ BEGIN 0;
+}
+
+^Processing\ include\ file\ .*$ {
+ /*
+ * name of a new include file being processed. Increment file number
+ * and remember the file name corresponding to this file number.
+ */
+
+ current_file = strsave (yytext+24);
+
+ if (debug) {
+ fprintf (yyout, "current_file <= %s\n", current_file);
+ fprintf (yyout, "%s\n", yytext);
+ }
+}
+
+^([a-z]\ -)?\ *{EC}: {
+ /*
+ * error message (which we print immediately) preceded by an
+ * error code (which we ignore)
+ */
+
+ fprintf (yyout, "\"%s\", line %d: %c -", current_file, line, *yytext);
+ last_line_was_error = 1;
+ BEGIN ErrorMessage;
+}
+
+^{D3}\ {D5}\ {D4}\ {EC}: {
+ /*
+ * (optional) nesting level, followed by line number, followed
+ * by column number, followed by error message text.
+ */
+
+ /*
+ * save the line number for later
+ */
+ line = atoi (yytext+4);
+
+ if (debug) {
+ fprintf (yyout, "line <= %d\n", line);
+ fprintf (yyout, "%s\n", yytext);
+ }
+
+ /*
+ * if the last line was an error message, flush out all of
+ * the old source text before printing this error message.
+ */
+ if (last_line_was_error) {
+ *bufptr = '\0';
+ bufptr = bigbuf;
+ while (*bufptr)
+ putc (*bufptr++, yyout);
+ bufptr = bigbuf;
+ last_line_was_error = 0;
+ }
+ fprintf (yyout, "\"%s\", line %d:", current_file, line);
+ last_line_was_error = 1;
+ BEGIN ErrorMessage;
+}
+
+<ErrorMessage>[^\n]*$ {
+ fprintf (yyout, "%s\n", yytext);
+ BEGIN 0;
+}
+
+
+^[^ :]+".c:"\ *$ {
+ /* name of new source file being processed */
+
+ char *ptr;
+
+ if (current_file)
+ free (current_file);
+ ptr = strchr (yytext, ':');
+ *ptr = '\0';
+ current_file = strsave (yytext);
+}
+
+^[^\n] {
+ /*
+ * other text starting with a newline. We have to break it up this
+ * way to keep this rule from matching any of the above patterns
+ */
+
+ if (last_line_was_error) {
+ *bufptr = '\0';
+ bufptr = bigbuf;
+ while (*bufptr)
+ putc (*bufptr++, yyout);
+ bufptr = bigbuf;
+ last_line_was_error = 0;
+ }
+
+ *bufptr++ = *yytext;
+ BEGIN OtherText;
+}
+
+<OtherText>[^\n]*$ {
+ char *ptr;
+
+ ptr = yytext;
+ while (*ptr)
+ *bufptr++ = *ptr++;
+ *bufptr++ = '\n';
+
+ BEGIN 0;
+}
+
+\n ;
+
+%%
+
+main (argc, argv)
+char **argv;
+{
+ int pfd[2];
+ int child_pid;
+ int i;
+
+ current_file = strsave ("/dev/null");
+
+ line = 0;
+
+ for (i = 1; i < argc; ++i) {
+ char *ptr = strrchr (argv[i], '.');
+ if (ptr && ptr[1] == 'c' && ptr[2] == '\0') {
+ current_file = strsave (argv[i]);
+ break;
+ }
+ }
+
+ if (pipe (pfd) < 0) {
+ perror ("pipe");
+ exit (1);
+ }
+ if ((child_pid = fork()) > 0) {
+ int status;
+
+ close (pfd[1]);
+ yyin = fdopen (pfd[0], "r");
+ yyout = stderr;
+ yylex();
+
+ wait (&status);
+ exit ((status >> 8) & 0xff);
+ }
+ else if (child_pid == 0) {
+ dup2 (pfd[1], 2);
+ close (pfd[0]);
+ close (pfd[1]);
+ argv[0] = "cc";
+ execv ("/bin/cc", argv);
+ perror ("/bin/cc");
+ exit (1);
+ }
+ else {
+ perror ("fork");
+ exit (1);
+ }
+}
LOCKDIR "@LOCKDIR@"
LOCKDIR_USER_DEFINED "@LOCKDIR_USER_DEFINED@"
MAKE_SUBDIR "@MAKE_SUBDIR@"
+MODULEDIR "@MODULEDIR@"
+MODULEDIR_USER_DEFINED "@MODULEDIR_USER_DEFINED@"
PACKAGE_PATH "@PACKAGE_PATH@"
PACKAGE_PATH_USER_DEFINED "@PACKAGE_PATH_USER_DEFINED@"
PREFIX "@PREFIX@"
RANLIB "@RANLIB@"
RECURSIVE_MAKE "@RECURSIVE_MAKE@"
SET_MAKE "@SET_MAKE@"
+SITELISPDIR "@SITELISPDIR@"
+SITELISPDIR_USER_DEFINED "@SITELISPDIR_USER_DEFINED@"
+SITEMODULEDIR "@SITEMODULEDIR@"
+SITEMODULEDIR_USER_DEFINED "@SITEMODULEDIR_USER_DEFINED@"
SRC_SUBDIR_DEPS "@SRC_SUBDIR_DEPS@"
SUBDIR_MAKEFILES "@SUBDIR_MAKEFILES@"
+XEMACS_CC "@XEMACS_CC@"
X_CFLAGS "@X_CFLAGS@"
X_EXTRA_LIBS "@X_EXTRA_LIBS@"
X_LIBS "@X_LIBS@"
datadir "@datadir@"
dll_cflags "@dll_cflags@"
dll_ld "@dll_ld@"
-dll_lflags "@dll_lflags@"
-dll_oflags "@dll_oflags@"
+dll_ldflags "@dll_ldflags@"
+dll_ldo "@dll_ldo@"
+dll_post "@dll_post@"
dnd_objs "@dnd_objs@"
docdir "@docdir@"
dynodump_arch "@dynodump_arch@"
lwlib_objs "@lwlib_objs@"
machfile "@machfile@"
mandir "@mandir@"
+moduledir "@moduledir@"
native_sound_lib "@native_sound_lib@"
oldincludedir "@oldincludedir@"
opsysfile "@opsysfile@"
program_transform_name "@program_transform_name@"
sbindir "@sbindir@"
sharedstatedir "@sharedstatedir@"
+sitelispdir "@sitelispdir@"
+sitemoduledir "@sitemoduledir@"
sound_cflags "@sound_cflags@"
srcdir "@srcdir@"
start_files "@start_files@"
#include <../src/config.h>
#if defined (BSD) && !defined (BSD4_1) && !defined (USE_FAKEMAIL)
-/* This program isnot used in BSD, so just avoid loader complaints. */
+/* This program is not used in BSD, so just avoid loader complaints. */
int
-main ()
+main (int argc, char *argv[])
{
return 0;
}
#include <stdio.h>
#include <stdlib.h>
int
-main ()
+main (int argc, char *argv[])
{
/* Linux /bin/mail, if it exists, is NOT the Unix v7 mail that
fakemail depends on! This causes garbled mail. Better to
#else /* not BSD 4.2 (or newer) */
#ifdef MSDOS
int
-main ()
+main (int argc, char *argv[])
{
return 0;
}
struct header_record *previous;
};
typedef struct header_record *header;
-
+
struct stream_record
{
FILE *handle;
- int (*action)();
+ int (*action)(FILE *);
struct stream_record *rest_streams;
};
typedef struct stream_record *stream_list;
/* Like malloc but get fatal error if memory is exhausted. */
static char *
-xmalloc (size)
- size_t size;
+xmalloc (size_t size)
{
char *result = malloc (((unsigned) size));
if (result == ((char *) NULL))
}
static char *
-xrealloc (ptr, size)
- char *ptr;
- size_t size;
+xrealloc (char *ptr, size_t size)
{
char *result = realloc (ptr, ((unsigned) size));
if (result == ((char *) NULL))
}
/* Read a line of text from `stream' into `linebuffer'.
- * Return the length of the line.
+ * Return the length of the line.
*/
static long
ptr = &keyword[0];
c = *field++;
- if ((isspace (c)) || (c == ':'))
- return ((char *) NULL);
- *ptr++ = ((islower (c)) ? (toupper (c)) : c);
- while (((c = *field++) != ':') && (!(isspace (c))))
- *ptr++ = ((islower (c)) ? (toupper (c)) : c);
+ if ((isspace ((int) (unsigned char) c)) || (c == ':'))
+ return (char *) NULL;
+ *ptr++ = ((islower ((int) (unsigned char) c)) ?
+ (toupper ((int) (unsigned char) c)) : c);
+ while (((c = *field++) != ':') &&
+ (!(isspace ((int) (unsigned char) c))))
+ *ptr++ = ((islower ((int) (unsigned char) c)) ?
+ (toupper ((int) (unsigned char) c)) : c);
*ptr++ = '\0';
- while (isspace (c)) c = *field++;
- if (c != ':') return ((char *) NULL);
+ while (isspace ((int) (unsigned char) c)) c = *field++;
+ if (c != ':') return (char *) NULL;
*rest = field;
return &keyword[0];
}
/* the_date has an unwanted newline at the end */
date_length = strlen (the_date) - 1;
the_date[date_length] = '\0';
+#ifdef WINDOWSNT
+ temp = "(null)";
+#else
temp = cuserid ((char *) NULL);
+#endif
user_length = strlen (temp);
the_user = alloc_string ((size_t) (user_length + 1));
strcpy (the_user, temp);
}
static void
-add_a_stream (FILE *the_stream, int (*closing_action)())
+add_a_stream (FILE *the_stream, int (*closing_action)(FILE *))
{
stream_list old = the_streams;
the_streams = new_stream ();
*where = '\0';
return;
}
-\f
+\f
static header
read_header (void)
{
}
\f
int
-main (argc, argv)
- int argc;
- char **argv;
+main (int argc, char *argv[])
{
char *command_line;
header the_header;
args_size (the_header)));
strcpy (command_line, mail_program_name);
parse_header (the_header, &command_line[name_length]);
-
+
the_pipe = popen (command_line, "w");
if (the_pipe == ((FILE *) NULL))
fatal ("cannot open pipe to real mailer", (char *) 0);
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
+#define DONT_ENCAPSULATE
+#include <sysfile.h>
#ifdef HAVE_STRING_H
#include <string.h>
/* Why is SYSV so retarded? */
/* We want emacs to realize that we are resuming */
+#ifdef SIGCONT
signal(SIGCONT, tell_emacs_to_resume);
+#endif
connect_type = make_connection (NULL, (u_short) 0, &s);
signal (SIGWINCH, pass_signal_to_emacs);
#endif
+#ifdef SIGCONT
/* We want emacs to realize that we are resuming */
signal (SIGCONT, tell_emacs_to_resume);
+#endif
}
fullpath[0] = '\0';
- if (filename[0] && filename[0] != '/')
- { /* relative filename */
+ if (filename[0] && filename[0] == '/')
+ {
+ /* Absolute (unix-style) pathname. Do nothing */
+ strcat (fullpath, filename);
+ }
+#ifdef __CYGWIN32__
+ else if (filename[0] && filename[0] == '\\' &&
+ filename[1] && filename[1] == '\\')
+ {
+ /* This path includes the server name (something like
+ "\\server\path"), so we assume it's absolute. Do nothing to
+ it. */
+ strcat (fullpath, filename);
+ }
+ else if (filename[0] &&
+ filename[1] && filename[1] == ':' &&
+ filename[2] && filename[2] == '\\')
+ {
+ /* Absolute pathname with drive letter. Convert "<drive>:"
+ to "//<drive>/". */
+ strcat (fullpath, "//");
+ strncat (fullpath, filename, 1);
+ strcat (fullpath, &filename[2]);
+ }
+#endif
+ else
+ {
+ /* Assume relative Unix style path. Get the current directory
+ and prepend it. FIXME: need to fix the case of DOS paths like
+ "\foo", where we need to get the current drive. */
+
strcat (fullpath, get_current_working_directory ());
len = strlen (fullpath);
; /* yep */
else
strcat (fullpath, "/"); /* nope, append trailing slash */
- } /* if */
-
- strcat (fullpath,filename);
-
+ /* Don't forget to add the filename! */
+ strcat (fullpath,filename);
+ }
} /* filename_expand */
/* Encase the string in quotes, escape all the backslashes and quotes
if (read_line (s, buffer) == 0)
{
- fprintf (stderr, "%s: Could not establish Emacs procces id\n",
+ fprintf (stderr, "%s: Could not establish Emacs process id\n",
progname);
exit (1);
}
-#!/usr/local/bin/perl
+#!/usr/bin/perl
while (<>)
{
/*
- setup_table -- initialise the table of hosts allowed to contact the server,
+ setup_table -- initialize the table of hosts allowed to contact the server,
by reading from the file specified by the GNU_SECURE
environment variable
Put in the local machine, and, if a security file is specifed,
int
-main(argc,argv)
- int argc;
- char *argv[];
+main (int argc, char *argv[])
{
int chan; /* temporary channel number */
#ifdef SYSV_IPC
#endif /* SYSV_IPC */
#ifdef INTERNET_DOMAIN_SOCKETS
- ils = internet_init(); /* get a internet domain socket to listen on */
+ ils = internet_init(); /* get an internet domain socket to listen on */
#endif /* INTERNET_DOMAIN_SOCKETS */
#ifdef UNIX_DOMAIN_SOCKETS
/* Generate doc-string file for XEmacs from source files.
Copyright (C) 1985, 1986, 1992, 1993, 1994 Free Software Foundation, Inc.
- Copyright (C) 1995 Board of Trustees, University of Illinois
+ Copyright (C) 1995 Board of Trustees, University of Illinois.
+ Copyright (C) 1998, 1999 J. Kean Johnston.
This file is part of XEmacs.
#include <ctype.h>
#endif
-#include <sys/param.h>
-
#if defined(MSDOS) || defined(__CYGWIN32__)
#include <fcntl.h>
#endif /* MSDOS */
#include <stdlib.h>
#endif /* WINDOWSNT */
+#include <sys/param.h>
+
#if defined(DOS_NT) || defined(__CYGWIN32__)
#define READ_TEXT "rt"
#define READ_BINARY "rb"
/* Name this program was invoked with. */
char *progname;
+/* Set to 1 if this was invoked by ellcc */
+int ellcc = 0;
+
/* Print error message. `s1' is printf control string, `s2' is arg for it. */
static void
outfile = fopen (argv[i + 1], APPEND_BINARY);
i += 2;
}
+ if (argc > i + 1 && !strcmp (argv[i], "-E"))
+ {
+ outfile = fopen (argv[i + 1], APPEND_BINARY);
+ i += 2;
+ ellcc = 1;
+ }
if (argc > i + 1 && !strcmp (argv[i], "-d"))
{
chdir (argv[i + 1]);
if (outfile == 0)
fatal ("No output file specified", "");
+ if (ellcc)
+ fprintf (outfile, "{\n");
+
first_infile = i;
for (; i < argc; i++)
{
}
putc ('\n', outfile);
+ if (ellcc)
+ fprintf (outfile, "}\n\n");
#ifndef VMS
exit (err_count > 0);
#endif /* VMS */
scan_file (CONST char *filename)
{
int len = strlen (filename);
- if (len > 4 && !strcmp (filename + len - 4, ".elc"))
+ if (ellcc == 0 && len > 4 && !strcmp (filename + len - 4, ".elc"))
{
Current_file_type = elc_file;
return scan_lisp_file (filename, READ_BINARY);
}
- else if (len > 3 && !strcmp (filename + len - 3, ".el"))
+ else if (ellcc == 0 && len > 3 && !strcmp (filename + len - 3, ".el"))
{
Current_file_type = el_file;
return scan_lisp_file (filename, READ_TEXT);
if (start != -1)
{
if (printflag > 0)
- putc ('\n', outfile);
+ {
+ if (ellcc)
+ fprintf (outfile, "\\n\\");
+ putc ('\n', outfile);
+ }
else if (printflag < 0)
*p++ = '\n';
}
else
{
start = 0;
- if (printflag > 0)
+ if (printflag > 0) {
+ if (ellcc && c == '"')
+ putc ('\\', outfile);
putc (c, outfile);
+ }
else if (printflag < 0)
*p++ = c;
}
need_space = 0;
#endif
}
- putc ('\n', out); /* XEmacs addition */
+ if (!ellcc)
+ putc ('\n', out); /* XEmacs addition */
}
\f
/* Read through a c file. If a .o file is named,
if (defunflag || defvarflag || c == '"')
{
- putc (037, outfile);
- putc (defvarflag ? 'V' : 'F', outfile);
- fprintf (outfile, "%s\n", buf);
+ if (ellcc)
+ fprintf (outfile, " CDOC%s(\"%s\", \"\\\n",
+ defvarflag ? "SYM" : "SUBR", buf);
+ else
+ {
+ putc (037, outfile);
+ putc (defvarflag ? 'V' : 'F', outfile);
+ fprintf (outfile, "%s\n", buf);
+ }
c = read_c_string (infile, 1, (defunflag || defvarflag));
/* If this is a defun, find the arguments and print them. If
while (c != ')');
*p = '\0';
/* Output them. */
- fprintf (outfile, "\n\n");
+ if (ellcc)
+ fprintf (outfile, "\\n\\\n\\n\\\n");
+ else
+ fprintf (outfile, "\n\n");
write_c_args (outfile, buf, argbuf, minargs, maxargs);
}
+ if (ellcc)
+ fprintf (outfile, "\\n\");\n\n");
}
}
eof:
else
{
#ifdef DEBUG
- fprintf (stderr, "## unrecognised top-level form, %s (%s)\n",
+ fprintf (stderr, "## unrecognized top-level form, %s (%s)\n",
buffer, filename);
#endif
continue;
This program (make-msgfile.c) addresses the first part, extracting the
strings.
- For the emacs C code, we need to recognise the following patterns:
+ For the emacs C code, we need to recognize the following patterns:
message ("string" ... )
error ("string")
there are no alphabetic characters in it that are not a part of a `%'
directive. (Careful not to translate either "%s%s" or "%s: ".)
- For the emacs Lisp code, we need to recognise the following patterns:
+ For the emacs Lisp code, we need to recognize the following patterns:
(message "string" ... )
(error "string" ... )
I expect there will be a lot like the above; basically, any function which
is a commonly used wrapper around an eventual call to `message' or
- `read-from-minibuffer' needs to be recognised by this program.
+ `read-from-minibuffer' needs to be recognized by this program.
(dgettext "domain-name" "string") #### do we still need this?
Menu descriptors: one way to extract the strings in menu labels would be
to teach this program about "^(defvar .*menu\n" forms; that's probably
kind of hard, though, so perhaps a better approach would be to make this
- program recognise lines of the form
+ program recognize lines of the form
"string" ... ;###translate
This program (make-msgfile.c) addresses the first part, extracting the
strings.
- For the emacs C code, we need to recognise the following patterns:
+ For the emacs C code, we need to recognize the following patterns:
message ("string" ... )
error ("string")
there are no alphabetic characters in it that are not a part of a `%'
directive. (Careful not to translate either "%s%s" or "%s: ".)
- For the emacs Lisp code, we need to recognise the following patterns:
+ For the emacs Lisp code, we need to recognize the following patterns:
(message "string" ... )
(error "string" ... )
I expect there will be a lot like the above; basically, any function which
is a commonly used wrapper around an eventual call to `message' or
- `read-from-minibuffer' needs to be recognised by this program.
+ `read-from-minibuffer' needs to be recognized by this program.
(dgettext "domain-name" "string") #### do we still need this?
Menu descriptors: one way to extract the strings in menu labels would be
to teach this program about "^(defvar .*menu\n" forms; that's probably
kind of hard, though, so perhaps a better approach would be to make this
- program recognise lines of the form
+ program recognize lines of the form
"string" ... ;###translate
*/
#define NO_SHORTNAMES /* Tell config not to load remap.h */
+#define DONT_ENCAPSULATE
#include <../src/config.h>
#include <sys/types.h>
#include <sys/stat.h>
-#include <sys/file.h>
#include <stdio.h>
#include <errno.h>
+#include "../src/sysfile.h"
#include "../src/syswait.h"
+#ifndef WINDOWSNT
#include "../src/systime.h"
+#endif
#include <stdlib.h>
#include <string.h>
+#include "getopt.h"
#ifdef MAIL_USE_POP
#include "pop.h"
+#include "../src/regex.h"
#endif
+extern char *optarg;
+extern int optind, opterr;
+
#ifndef HAVE_STRERROR
-static char * strerror (int errnum);
+char * strerror (int errnum);
#endif /* HAVE_STRERROR */
#ifdef MSDOS
static int mbx_write (char *, FILE *);
static int mbx_delimit_begin (FILE *);
static int mbx_delimit_end (FILE *);
+static struct re_pattern_buffer* compile_regex (char* regexp_pattern);
+static int pop_search_top (popserver server, int msgno, int lines,
+ struct re_pattern_buffer* regexp);
#endif
/* Nonzero means this is name of a lock file to delete on fatal error. */
char *delete_lockname;
+int verbose=0;
+#ifdef MAIL_USE_POP
+int reverse=0;
+int keep_messages=0;
+struct re_pattern_buffer* regexp_pattern=0;
+int match_lines=10;
+#endif
+
+#define VERBOSE(x) if (verbose) { printf x; fflush(stdout); }
+
+struct option longopts[] =
+{
+ { "inbox", required_argument, NULL, 'i' },
+ { "outfile", required_argument, NULL, 'o' },
+#ifdef MAIL_USE_POP
+ { "password", required_argument, NULL, 'p' },
+ { "reverse-pop-order", no_argument, NULL, 'x' },
+ { "keep-messages", no_argument, NULL, 'k' },
+ { "regex", required_argument, NULL, 'r' },
+ { "match-lines", required_argument, NULL, 'l' },
+#endif
+ { "verbose", no_argument, NULL, 'v' },
+ { 0 }
+};
+
int
main (int argc, char *argv[])
{
- char *inname, *outname;
+ char *inname=0, *outname=0, *poppass=0;
#ifndef DISABLE_DIRECT_ACCESS
int indesc, outdesc;
int nread;
delete_lockname = 0;
- if (argc < 3)
+ while (1)
{
- fprintf (stderr, "Usage: movemail inbox destfile [POP-password]\n");
- exit(1);
+#ifdef MAIL_USE_POP
+ char* optstring = "i:o:p:l:r:xvk";
+#else
+ char* optstring = "i:o:v";
+#endif
+ int opt = getopt_long (argc, argv, optstring, longopts, 0);
+
+ if (opt == EOF)
+ break;
+
+ switch (opt)
+ {
+ case 0:
+ break;
+ case 1: /* one of the standard arguments seen */
+ if (!inname)
+ inname = optarg;
+ else if (!outname)
+ outname = optarg;
+ else
+ poppass = optarg;
+ break;
+
+ case 'i': /* infile */
+ inname = optarg;
+ break;
+
+ case 'o': /* outfile */
+ outname = optarg;
+ break;
+#ifdef MAIL_USE_POP
+ case 'p': /* pop password */
+ poppass = optarg;
+ break;
+ case 'k': keep_messages=1; break;
+ case 'x': reverse = 1; break;
+ case 'l': /* lines to match */
+ match_lines = atoi (optarg);
+ break;
+
+ case 'r': /* regular expression */
+ regexp_pattern = compile_regex (optarg);
+ break;
+#endif
+ case 'v': verbose = 1; break;
+ }
}
- inname = argv[1];
- outname = argv[2];
+ while (optind < argc)
+ {
+ if (!inname)
+ inname = argv[optind];
+ else if (!outname)
+ outname = argv[optind];
+ else
+ poppass = argv[optind];
+ optind++;
+ }
+
+ if (!inname || !outname)
+ {
+ fprintf (stderr, "Usage: movemail [-rvxk] [-l lines ] [-i] inbox [-o] destfile [[-p] POP-password]\n");
+ exit(1);
+ }
#ifdef MAIL_USE_MMDF
mmdf_init (argv[0]);
#ifdef MAIL_USE_POP
if (!strncmp (inname, "po:", 3))
{
- int retcode = popmail (inname + 3, outname, argc > 3 ? argv[3] : NULL);
+ int retcode = popmail (inname + 3, outname, poppass);
exit (retcode);
}
+#ifndef WINDOWSNT
setuid (getuid ());
+#endif
#endif /* MAIL_USE_POP */
#ifndef DISABLE_DIRECT_ACCESS
#include <stdio.h>
#include <pwd.h>
-#define NOTOK (-1)
-#define OK 0
-#define DONE 1
+#define POP_ERROR (-1)
+#define POP_RETRIEVED (0)
+#define POP_DONE (1)
char *progname;
FILE *sfi;
popmail (char *user, char *outfile, char *password)
{
int nmsgs, nbytes;
- register int i;
+ register int i, idx;
int mbfi;
+ short* retrieved_list;
FILE *mbf;
popserver server;
+ VERBOSE(("opening server\r"));
server = pop_open (0, user, password, POP_NO_GETPASS);
if (! server)
{
return (1);
}
+ VERBOSE(("stat'ing messages\r"));
if (pop_stat (server, &nmsgs, &nbytes))
{
error (pop_error, NULL, NULL);
if (!nmsgs)
{
+ VERBOSE(("closing server\n"));
pop_close (server);
return (0);
}
+ /* build a retrieved table */
+ retrieved_list = (short*) xmalloc (sizeof (short) * (nmsgs+1));
+ memset (retrieved_list, 0, sizeof (short) * (nmsgs+1));
+
mbfi = open (outfile, O_WRONLY | O_CREAT | O_EXCL, 0666);
if (mbfi < 0)
{
error ("Error in open: %s, %s", strerror (errno), outfile);
return (1);
}
-#ifndef __CYGWIN32__
+#if !defined(__CYGWIN32__) && !defined(WINDOWSNT)
fchown (mbfi, getuid (), -1);
#endif
return (1);
}
- for (i = 1; i <= nmsgs; i++)
+ for (idx = 0; idx < nmsgs; idx++)
{
- mbx_delimit_begin (mbf);
- if (pop_retr (server, i, mbx_write, mbf) != OK)
+ i = reverse ? nmsgs - idx : idx + 1;
+ VERBOSE(("checking message %d \r", i));
+
+ if (!regexp_pattern
+ ||
+ pop_search_top (server, i, match_lines, regexp_pattern) == POP_RETRIEVED)
{
- error (Errmsg, NULL, NULL);
- close (mbfi);
- return (1);
- }
- mbx_delimit_end (mbf);
- fflush (mbf);
- if (ferror (mbf))
- {
- error ("Error in fflush: %s", strerror (errno), NULL);
- pop_close (server);
- close (mbfi);
- return (1);
+ VERBOSE(("retrieving message %d \r", i));
+ mbx_delimit_begin (mbf);
+ if (pop_retr (server, i, mbx_write, mbf) != POP_RETRIEVED)
+ {
+ error (Errmsg, NULL, NULL);
+ close (mbfi);
+ return (1);
+ }
+
+ retrieved_list[i]=1;
+
+ mbx_delimit_end (mbf);
+ fflush (mbf);
+ if (ferror (mbf))
+ {
+ error ("Error in fflush: %s", strerror (errno), NULL);
+ pop_close (server);
+ close (mbfi);
+ return (1);
+ }
}
}
return (1);
}
- for (i = 1; i <= nmsgs; i++)
+ if (!keep_messages)
{
- if (pop_delete (server, i))
+ for (i = 1; i <= nmsgs; i++)
{
- error (pop_error, NULL, NULL);
- pop_close (server);
- return (1);
+ if (retrieved_list[i] == 1)
+ {
+ VERBOSE(("deleting message %d \r", i));
+ if (pop_delete (server, i))
+ {
+ error (pop_error, NULL, NULL);
+ pop_close (server);
+ return (1);
+ }
+ }
}
}
+ VERBOSE(("closing server \n"));
if (pop_quit (server))
{
error (pop_error, NULL, NULL);
{
strncpy (Errmsg, pop_error, sizeof (Errmsg));
Errmsg[sizeof (Errmsg)-1] = '\0';
- return (NOTOK);
+ return (POP_ERROR);
}
while (! (ret = pop_retrieve_next (server, &line)))
if (! line)
break;
- if ((*action)(line, arg) != OK)
+ if ((*action)(line, arg) != POP_RETRIEVED)
{
strcpy (Errmsg, strerror (errno));
pop_close (server);
- return (NOTOK);
+ return (POP_ERROR);
}
}
{
strncpy (Errmsg, pop_error, sizeof (Errmsg));
Errmsg[sizeof (Errmsg)-1] = '\0';
- return (NOTOK);
+ return (POP_ERROR);
}
- return (OK);
+ return (POP_RETRIEVED);
+}
+
+/* search the top lines of each message looking for a match */
+static int
+pop_search_top (popserver server, int msgno, int lines, struct re_pattern_buffer* regexp)
+{
+ char *line;
+ int ret;
+ int match = POP_DONE;
+
+ if (pop_top_first (server, msgno, lines, &line))
+ {
+ strncpy (Errmsg, pop_error, sizeof (Errmsg));
+ Errmsg[sizeof (Errmsg)-1] = '\0';
+ return (POP_ERROR);
+ }
+
+ while (! (ret = pop_top_next (server, &line)))
+ {
+ if (! line)
+ break;
+
+ /* VERBOSE (("checking %s\n", line));*/
+ if (match != POP_RETRIEVED)
+ {
+ if ((ret = re_match (regexp, line, strlen (line), 0, 0)) == -2 )
+ {
+ strcpy (Errmsg, "error in regular expression");
+ pop_close (server);
+ return (POP_ERROR);
+ }
+ else if (ret >=0)
+ {
+ match = POP_RETRIEVED;
+ }
+ }
+ }
+
+ if (ret)
+ {
+ strncpy (Errmsg, pop_error, sizeof (Errmsg));
+ Errmsg[sizeof (Errmsg)-1] = '\0';
+ return (POP_ERROR);
+ }
+
+ return match;
}
/* Do this as a macro instead of using strcmp to save on execution time. */
if (IS_FROM_LINE (line))
{
if (fputc ('>', mbf) == EOF)
- return (NOTOK);
+ return (POP_ERROR);
}
if (fputs (line, mbf) == EOF)
- return (NOTOK);
+ return (POP_ERROR);
if (fputc (0x0a, mbf) == EOF)
- return (NOTOK);
- return (OK);
+ return (POP_ERROR);
+ return (POP_RETRIEVED);
}
static int
mbx_delimit_begin (FILE *mbf)
{
if (fputs ("\f\n0, unseen,,\n", mbf) == EOF)
- return (NOTOK);
- return (OK);
+ return (POP_ERROR);
+ return (POP_RETRIEVED);
}
static int
mbx_delimit_end (FILE *mbf)
{
if (putc ('\037', mbf) == EOF)
- return (NOTOK);
- return (OK);
+ return (POP_ERROR);
+ return (POP_RETRIEVED);
}
+/* Turn a name, which is an ed-style (but Emacs syntax) regular
+ expression, into a real regular expression by compiling it. */
+static struct re_pattern_buffer*
+compile_regex (char* pattern)
+{
+ char *err;
+ struct re_pattern_buffer *patbuf=0;
+
+ patbuf = (struct re_pattern_buffer*) xmalloc (sizeof (struct re_pattern_buffer));
+ patbuf->translate = NULL;
+ patbuf->fastmap = NULL;
+ patbuf->buffer = NULL;
+ patbuf->allocated = 0;
+
+ err = (char*) re_compile_pattern (pattern, strlen (pattern), patbuf);
+ if (err != NULL)
+ {
+ error ("%s while compiling pattern", err, NULL);
+ return 0;
+ }
+
+ return patbuf;
+}
+
+
+
#endif /* MAIL_USE_POP */
\f
#ifndef HAVE_STRERROR
-static char *
+char *
strerror (int errnum)
{
extern char *sys_errlist[];
#include <sys/types.h>
#ifdef WINDOWSNT
-#include "ntlib.h"
#include <winsock.h>
#undef SOCKET_ERROR
#define RECV(s,buf,len,flags) recv(s,buf,len,flags)
#include <sys/stat.h>
#include <sys/file.h>
#include "../src/syswait.h"
+#ifndef WINDOWSNT
#include "../src/systime.h"
+#endif
#include <stdlib.h>
#include <string.h>
username = getenv ("USER");
if (! (username && *username))
{
+#ifndef WINDOWSNT
username = getlogin ();
if (! (username && *username))
{
return (0);
}
}
+#else
+ strcpy (pop_error, "Could not determine username");
+ return (0);
+#endif
}
}
if ((! password) && (! DONT_NEED_PASSWORD))
{
+#ifndef WINDOWSNT
if (! (flags & POP_NO_GETPASS))
{
password = getpass ("Enter POP password:");
}
+#endif
if (! password)
{
strcpy (pop_error, "Could not determine POP password");
--- /dev/null
+## Process the output of makedepend.
+## Copyright (c) 1994 Amdahl Corporation.
+## Written by Ben Wing, December 1994.
+
+## This file is used as part of 'make depend', to produce the
+## dependency list for src/Makefile.in.in.
+
+## Unfortunately, makedepend (at least the one that comes as part
+## of Open Windows under Solaris) is stupid and doesn't follow the
+## documented behavior. So we have to force the definitions of
+## certain options through -D flags (even though it's supposed to
+## pick this up), and post-process the output to get rid of stuff
+## we don't want.
+
+## The sed stage gets rid of include files in other directories,
+## except for lwlib.h (makedepend puts system include files in,
+## which is pretty stupid). We also get rid of some standard
+## include files that are in every or pretty much every file
+## and where changes in those files don't usually merit
+## recompilation of everything. Finally, we eliminate entirely
+## the dependencies for some files (such as unex*.c) that get
+## screwed up by makedepend. We just put those in by hand at
+## the top of the dependency list.
+
+## For Mule, we need to do some additional processing: conversion
+## to MULESRCDIR (at least so that the include files don't get
+## wiped out by the next stage) and removing the mule/ prefix
+## from the object file names.
+
+## The awk stage puts one dependency per line. Then we pass
+## the result through sort and uniq (makedepend is supposed
+## to not put in duplicate dependencies, but it does so
+## occasionally).
+
+## After running 'make depend', verify that the output (in
+## depend.out) is reasonable and then replace the stuff in
+## Makefile.in.in marked "generated by 'make depend'".
+
+sed -e '
+1d
+s/ \/[^ ]*\/lwlib\// $(LWLIBSRCDIR)\//g
+s/\.\.\/etc\//${srcdir}\/${etcdir}/g
+s/^mule\///g
+s/ mule\// $(MULESRCDIR)\/mule\//g
+s/ \/[^ ]*\.h//g
+s/ \/[^ ]*gray//g
+s/ [a-z][^ ]*\/[^ ]*\.h//g
+s/ lisp\.h//g
+s/ lisp-union\.h//g
+s/ lisp-disunion\.h//g
+s/ lrecord\.h//g
+s/ emacsfns\.h//g
+s/ symeval\.h//g
+s/ symsinit\.h//g
+s/ syssignal\.h//g
+s/ intl\.h//g
+s/ tt_c\.h//g
+s/ descrip\.h//g
+/^unex/d
+/^sgiplay/d
+/^Extern/d
+/^extw/d
+/^[^ ]*\.o:$/d
+' | awk '
+{ for (i = 2; i <= NF; i++)
+ printf ("%s %s\n", $1, $i)
+}
+' | sort | uniq
--- /dev/null
+#!/bin/sh
+
+perl -e '
+while (<>)
+{
+ chop;
+ $foo .= $_;
+ if (!/\\$/)
+ {
+ @foo = split (/[ \\:\n]+/, $foo);
+ $filename = $foo[0];
+ if (($filename =~ /^unex/) ||
+ ($filename =~ /^sgiplay/) ||
+ ($filename =~ /^Extern/) ||
+ ($filename =~ /^extw/))
+ {
+ $foo = "";
+ next;
+ }
+ @foo = grep (!/\.c$/, @foo);
+ @foo = grep ((s/\/.*lwlib\//\$(LWLIBSRCDIR)\//, 1), @foo);
+ @foo = grep (!/lisp\.h/, @foo);
+ @foo = grep (!/lisp\.h/, @foo);
+ @foo = grep (!/lisp-union\.h/, @foo);
+ @foo = grep (!/lisp-disunion\.h/, @foo);
+ @foo = grep (!/lrecord\.h/, @foo);
+ @foo = grep (!/emacsfns\.h/, @foo);
+ @foo = grep (!/symeval\.h/, @foo);
+ @foo = grep (!/symsinit\.h/, @foo);
+ @foo = grep (!/syssignal\.h/, @foo);
+ @foo = grep (!/intl\.h/, @foo);
+ @foo = grep (!/tt_c\.h/, @foo);
+ @foo = grep (!/descrip\.h/, @foo);
+ shift @foo;
+ if (!$#foo)
+ {
+ next;
+ }
+ foreach $i (0 .. $#foo)
+ {
+ $foo[$i] = $filename . ": " . $foo[$i];
+ }
+ print $filename . ": config.h\n";
+ print join ("\n", @foo);
+ print "\n";
+ $foo = "";
+ }
+}
+' | sort | uniq
\ No newline at end of file
static int watch_not_started = 1; /* flag */
static char time_string[30];
+#ifdef WINDOWSNT
+#include <sys/timeb.h>
+/* Emulate gettimeofday (Ulrich Leodolter, 1/11/95). */
+void
+gettimeofday (struct timeval *tv, struct timezone *tz)
+{
+ struct _timeb tb;
+ _ftime (&tb);
+
+ tv->tv_sec = tb.time;
+ tv->tv_usec = tb.millitm * 1000L;
+ if (tz)
+ {
+ tz->tz_minuteswest = tb.timezone; /* minutes west of Greenwich */
+ tz->tz_dsttime = tb.dstflag; /* type of dst correction */
+ }
+}
+#endif
+
/* Reset the stopwatch to zero. */
static void
#$PSTOPPM= $ENV{'PSTOPPM'} ||
# 'pstoppm.ps';
-# Available in the PBMPLUS libary
+# Available in the PBMPLUS library
$PNMCROP=$ENV{'PNMCROP'} || 'pnmcrop' ;
# Also in PBMPLUS
Report bugs to <bug-gnu-emacs@prep.ai.mit.edu>.'
-Id='$Id: rcs2log,v 1.2 1997/07/09 04:31:03 steve Exp $'
+Id='$Id: rcs2log,v 1.37 1997/03/21 22:19:30 eggert Exp $'
# Copyright 1992, 1993, 1994, 1995, 1996, 1997 Free Software Foundation, Inc.
{
STARTUPINFO start;
SECURITY_ATTRIBUTES sec_attrs;
- SECURITY_DESCRIPTOR sec_desc;
PROCESS_INFORMATION child;
int retval;
char buf[MAX_PATH + FILENAME_MAX + 100];
int i,j;
- int len = 0;
/*
* STARTS WITH / or \
* execpath NOT used
char *ptr;
char *tdirs;
char returnval[MAX_PATH + FILENAME_MAX + 100];
- char *recursive_name;
int foundit = FALSE;
returnval[0] = '\0';
--- /dev/null
+// #define DEBUG
+// #define DEBUGALL
+
+// B19 - egcs automatically defines CYGWIN32 but not CYGWIN
+// B20 - egcs automatically defines both CYGWIN32 and CYGWIN
+// Bfuture - (???) defines CYGWIN but not CYGWIN32
+#if defined(__CYGWIN32__)
+#if !defined(__CYGWIN__)
+ #define B19
+ #define __CYGWIN__
+#else
+ #define B20
+#endif
+#else
+#if defined(__CYGWIN__)
+ #define B21
+#endif
+#endif
+// Now: use __CYGWIN__ to represent any version
+// distinguish using B19, B20, or B21
+
+#if defined(__CYGWIN__)
+#ifdef B19
+#define CYGWIN_ATTACH_HANDLE_TO_FD(a) cygwin32_attach_handle_to_fd a
+#define CYGWIN_CONV_TO_FULL_POSIX_PATH(a) cygwin32_conv_to_full_posix_path a
+#define CYGWIN_CONV_TO_FULL_WIN32_PATH(a) cygwin32_conv_to_full_win32_path a
+#define CYGWIN_CONV_TO_POSIX_PATH(a) cygwin32_conv_to_posix_path a
+#define CYGWIN_CONV_TO_WIN32_PATH(a) cygwin32_conv_to_win32_path a
+#define CYGWIN_DETACH_DLL(a) cygwin32_detach_dll a
+#define CYGWIN_GETSHARED(a) cygwin32_getshared a
+#define CYGWIN_INTERNAL(a) cygwin32_internal a
+#define CYGWIN_POSIX_PATH_LIST_P(a) cygwin32_posix_path_list_p a
+#define CYGWIN_POSIX_TO_WIN32_PATH_LIST(a) cygwin32_posix_to_win32_path_list a
+#define CYGWIN_POSIX_TO_WIN32_PATH_LIST_BUF_SIZE(a) cygwin32_posix_to_win32_path_list_buf_size a
+#define CYGWIN_SPLIT_PATH(a) cygwin32_split_path a
+#define CYGWIN_WIN32_TO_POSIX_PATH_LIST(a) cygwin32_win32_to_posix_path_list a
+#define CYGWIN_WIN32_TO_POSIX_PATH_LIST_BUF_SIZE(a) cygwin32_win32_to_posix_path_list_buf_size a
+#define CYGWIN_WINPID_TO_PID(a) cygwin32_winpid_to_pid a
+#else
+#define CYGWIN_ATTACH_HANDLE_TO_FD(a) cygwin_attach_handle_to_fd a
+#define CYGWIN_CONV_TO_FULL_POSIX_PATH(a) cygwin_conv_to_full_posix_path a
+#define CYGWIN_CONV_TO_FULL_WIN32_PATH(a) cygwin_conv_to_full_win32_path a
+#define CYGWIN_CONV_TO_POSIX_PATH(a) cygwin_conv_to_posix_path a
+#define CYGWIN_CONV_TO_WIN32_PATH(a) cygwin_conv_to_win32_path a
+#define CYGWIN_DETACH_DLL(a) cygwin_detach_dll a
+#define CYGWIN_GETSHARED(a) cygwin_getshared a
+#define CYGWIN_INTERNAL(a) cygwin_internal a
+#define CYGWIN_POSIX_PATH_LIST_P(a) cygwin_posix_path_list_p a
+#define CYGWIN_POSIX_TO_WIN32_PATH_LIST(a) cygwin_posix_to_win32_path_list a
+#define CYGWIN_POSIX_TO_WIN32_PATH_LIST_BUF_SIZE(a) cygwin_posix_to_win32_path_list_buf_size a
+#define CYGWIN_SPLIT_PATH(a) cygwin_split_path a
+#define CYGWIN_WIN32_TO_POSIX_PATH_LIST(a) cygwin_win32_to_posix_path_list a
+#define CYGWIN_WIN32_TO_POSIX_PATH_LIST_BUF_SIZE(a) cygwin_win32_to_posix_path_list_buf_size a
+#define CYGWIN_WINPID_TO_PID(a) cygwin_winpid_to_pid a
+#endif
+#endif
+
+#if defined(__CYGWIN__)
+ #define PATH_SEP_CHAR_STR "/"
+ #define SEP_CHARS ":"
+#else
+ #define PATH_SEP_CHAR_STR "\\"
+ #define SEP_CHARS ";"
+#endif
+
+#ifndef RC_INVOKED
+
+#define MAX_ARGS 20
+
+#ifdef DEBUG
+ #define Trace(x) Trace_ x
+#else
+ #define Trace(x)
+#endif
+
+#define NUM_EXTENSIONS 2
+const char* exts[NUM_EXTENSIONS] = { "", ".exe" };
+
+char* pfopen(char *retval, const char *name, const char *dirs);
+void error(char* fmt, ...);
+void message(char* fmt, ...);
+void Trace_(char* fmt, ...);
+int get_exec_name_and_path(char* execname, char* execpath);
+char* my_strtok(char* s, const char* delim, char** lasts);
+int parse_cmdline_to_arg_array(char* argv[MAX_ARGS], char* cmdline);
+void strip_exe(char* s);
+int start_child(char* cmdline, int wait_for_child);
+void xemacs_special(char* exec);
+int build_cmdline(char* new_cmdline, char* exec, int argc, char* argv[]);
+void process_execname(char *exec, const char* execname, const char* execpath);
+int fileExists(char* fullname, const char* path, const char* name);
+int endsWith(const char* s1, const char* s2);
+int fileExistsMulti(char* fullname, const char* path,
+ const char* name_noext, const char* exts[],
+ const int extcnt);
+
+#endif /* RC_INVOKED */
+
+
+
--- /dev/null
+XEmacs ICON PRELOAD "xemacs.ico"
+XEmacsFile ICON "file.ico"
+XEmacsLisp ICON "lisp.ico"
+
+#include <windows.h>
+#include "run.h"
+
+1 VERSIONINFO
+FILEVERSION 1, 1, 4, 0
+PRODUCTVERSION 1, 1, 4, 0
+FILEOS VOS_NT_WINDOWS32
+FILETYPE VFT_APP
+FILESUBTYPE 0
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "04090000"
+ BEGIN
+ VALUE "CompanyName", "Charles S. Wilson\000"
+ VALUE "FileDescription", "Runs console-mode programs sans console.\000"
+ VALUE "FileVersion", "1.1.4\000"
+ VALUE "InternalName", "run\000"
+ VALUE "LegalCopyright", "Copyright © 1998 Charles S. Wilson\000"
+ VALUE "OriginalFilename", "run.exe\000"
+ VALUE "ProductName","run\000"
+ VALUE "ProductVersion","1.1.4\000"
+ VALUE "GPL Copyleft", "Released under the GNU General Public License version 2 --------------------------------------- This program is free software; you can redistribute it and/or modify it under the termms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. --------------------------------------- This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. --------------------------------------- You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA\000"
+ END
+ END
+END
printf ("@unnumbered Command Summary for GNU Emacs\n");
printf ("@table @asis\n");
printf ("\n");
- printf ("@let@ITEM@item\n");
+ printf ("@iftex\n");
+ printf ("@global@let@ITEM=@item\n");
printf ("@def@item{@filbreak@vskip5pt@ITEM}\n");
printf ("@font@tensy cmsy10 scaled @magstephalf\n");
printf ("@font@teni cmmi10 scaled @magstephalf\n");
printf ("@chardef@@64\n");
printf ("@catcode43=12\n");
printf ("@tableindent-0.2in\n");
+ printf ("@end iftex\n");
/* print each function from the array */
putchar ('\n');
}
printf("@end display\n");
+ if ( i%200 == 0 && i != 0 ) printf("@end table\n\n@table @asis\n");
}
printf ("@end table\n");
export EMACS
-REAL=`cd \`dirname $EMACS\` ; pwd | sed 's|^/tmp_mnt||'`/`basename $EMACS`
+EMACS_DIR=`cd \`dirname $EMACS\` && pwd`;
+CANON_PWD=`pwd`
+# Account for various system automounter configurations
+if test -d "/net"; then
+ if test -d "/tmp_mnt/net"; then tdir="/tmp_mnt/net"; else tdir="/tmp_mnt"; fi
+ EMACS_DIR=`echo "$EMACS_DIR" | \
+ sed -e "s|^${tdir}/|/net/|" -e "s|^/a/|/net/|" -e "s|^/amd/|/net/|"`
+ CANON_PWD=`echo "$CANON_PWD" | \
+ sed -e "s|^${tdir}/|/net/|" -e "s|^/a/|/net/|" -e "s|^/amd/|/net/|"`
+fi
+REAL="$EMACS_DIR/`basename $EMACS`"
-echo "Rebuilding autoloads in `pwd|sed 's|^/tmp_mnt||'`"
+echo "Rebuilding autoloads in $CANON_PWD"
echo " with $REAL..."
if [ "`uname -r | sed 's/\(.\).*/\1/'`" -gt 4 ]; then
echon()
- {
+ {
/bin/echo $* '\c'
}
else
export EMACS
-REAL=`cd \`dirname $EMACS\` ; pwd | sed 's|^/tmp_mnt||'`/`basename $EMACS`
+EMACS_DIR=`cd \`dirname $EMACS\` && pwd`;
+# Account for various system automounter configurations
+if test -d "/net"; then
+ if test -d "/tmp_mnt/net"; then tdir="/tmp_mnt/net"; else tdir="/tmp_mnt"; fi
+ EMACS_DIR=`echo "$EMACS_DIR" | \
+ sed -e "s|^${tdir}/|/net/|" -e "s|^/a/|/net/|" -e "s|^/amd/|/net/|"`
+fi
+REAL="$EMACS_DIR/`basename $EMACS`"
echo "Rebuilding custom-loads with $REAL..."
if [ "`uname -r | sed 's/\(.\).*/\1/'`" -gt 4 ]; then
echon()
- {
+ {
/bin/echo $* '\c'
}
else
fi
# Compute patterns to ignore when searching for files
-# These directories don't have customizations, or are partially broken.
-# If some of the packages listed here are customized, don't forget to
-# remove the directory!
-ignore_dirs="cl egg eos its language locale sunpro term \
-tooltalk iso electric \
-hm--html-menus gnats pcl-cvs vm"
+ignore_dirs=""
# Only use Mule XEmacs to build Mule-specific autoloads & custom-loads.
echon "Checking for Mule support..."
mule_p="`$EMACS -batch -q -no-site-file -eval \"$lisp_prog\"`"
if test "$mule_p" = nil ; then
echo No
- ignore_dirs="$ignore_dirs mule leim skk"
+ ignore_dirs="$ignore_dirs mule"
else
echo Yes
fi
}
fi
-REAL=`cd \`dirname $EMACS\` ; pwd | sed 's|^/tmp_mnt||'`/`basename $EMACS`
-BYTECOMP="$REAL -batch -vanilla "
-echo "Recompiling in `pwd|sed 's|^/tmp_mnt||'`"
+EMACS_DIR=`cd \`dirname $EMACS\` && pwd`;
+CANON_PWD=`pwd`
+# Account for various system automounter configurations
+if test -d "/net"; then
+ if test -d "/tmp_mnt/net"; then tdir="/tmp_mnt/net"; else tdir="/tmp_mnt"; fi
+ EMACS_DIR=`echo "$EMACS_DIR" | \
+ sed -e "s|^${tdir}/|/net/|" -e "s|^/a/|/net/|" -e "s|^/amd/|/net/|"`
+ CANON_PWD=`echo "$CANON_PWD" | \
+ sed -e "s|^${tdir}/|/net/|" -e "s|^/a/|/net/|" -e "s|^/amd/|/net/|"`
+fi
+REAL="$EMACS_DIR/`basename $EMACS`"
+
+echo "Recompiling in $CANON_PWD"
echo " with $REAL..."
-$EMACS -batch -vanilla -l `pwd`/lisp/cleantree -f batch-remove-old-elc lisp
+BYTECOMP="$REAL -batch -vanilla "
+
+$EMACS -batch -vanilla -l $CANON_PWD/lisp/cleantree -f batch-remove-old-elc lisp
prune_vc="( -name '.*' -o -name SCCS -o -name RCS -o -name CVS ) -prune -o"
mule_p="`$EMACS -batch -vanilla -eval \"$lisp_prog\"`"
if test "$mule_p" = nil ; then
echo No
- ignore_dirs="$ignore_dirs its egg mule language leim skk"
- ignore_pattern='\!/tl/char-table.el$!d
-\!/tl/chartblxmas.el$!d
-\!/mu/latex-math-symbol.el$!d
-'
+ ignore_dirs="$ignore_dirs mule"
else
echo Yes
fi
\!/site-init.el$!d
\!/version.el$!d
\!/very-early-lisp.el$!d
-\!/Installation.el$!d
'
echo "Compiling files without .elc..."
/* Synched up with: FSF 19.28. */
+#define DONT_ENCAPSULATE
#include <../src/config.h>
#include <stdio.h>
--- /dev/null
+finder-inf.el
+1999-05-14 XEmacs Build Bot <builds@cvs.xemacs.org>
+
+ * XEmacs 21.2.14 is released
+
+1999-05-13 SL Baur <steve@gneiss.etl.go.jp>
+
+ * about.el: update contact info for jason and slb.
+
+1999-05-13 SL Baur <steve@gneiss.etl.go.jp>
+
+ * mule/european.el (setup-romanian-environment): Add Romanian
+ support from Emacs/Mule romanian.el.
+
+1999-03-17 Jan Vroonhof <vroonhof@math.ethz.ch>
+
+ * cus-face.el: Label all custom changes with the 'custom' tag.
+
+ * cus-edit.el: idem ditto.
+
+ * faces.el: Added suport for adding device tags to various functions.
+ (custom): New device tag.
+ (face-spec-set): Call reset face with tags argument. No longer do
+ x-init-global-faces hack.
+
+ * faces.el (frob-face-property): Use an anonymous specifier to map
+ frob-face-property-1 over.
+
+ * x-font-menu.el (font-menu-set-font): Always specify all
+ properties to custom.
+
+1999-05-12 SL Baur <steve@gneiss.etl.go.jp>
+
+ * mule/european.el (setup-czech-environment): Add czech support.
+ From David Sauer <davids@orfinet.cz>
+
+1999-03-15 SL Baur <steve@xemacs.org>
+
+ * check-features.el: Turn hard errors into warnings.
+
+1999-03-21 SL Baur <steve@xemacs.org>
+
+ * simple.el (delete-key-deletes-forward): As per discussion on
+ xemacs-beta, default to t.
+
+1999-05-11 Hrvoje Niksic <hniksic@srce.hr>
+
+ * loadup.el: Define Installation-string before loading anything.
+
+1999-05-06 Gunnar Evermann <ge204@eng.cam.ac.uk>
+
+ * files.el (auto-mode-alist): fix typo in regex for .bash_* files
+ From Anders Stenman <stenman@isy.liu.se>
+
+1999-05-03 Hrvoje Niksic <hniksic@srce.hr>
+
+ * wid-edit.el (widget-glyph-find): Ditto.
+
+ * packages.el (locate-library): Ditto.
+
+ * loadup.el (really-early-error-handler): Ditto.
+
+ * lib-complete.el (read-library): Ditto.
+
+ * faces.el (set-face-stipple): Ditto.
+
+ * code-files.el (load): Use new calling style of locate-file.
+
+1999-05-03 Hrvoje Niksic <hniksic@srce.hr>
+
+ * packages.el (packages-unbytecompiled-lisp): Installation.el is
+ dead.
+
+1999-05-03 Hrvoje Niksic <hniksic@srce.hr>
+
+ * dumped-lisp.el (preloaded-file-list): Don't load
+ Installation.el.
+
+ * loadup.el (Installation-string): Define it here.
+
+1999-05-03 Hrvoje Niksic <hniksic@srce.hr>
+
+ * dumped-lisp.el (preloaded-file-list): Revert previous change --
+ Installation.el needs to be loaded before `dump-paths', otherwise
+ the dumping process won't find it.
+
+1999-03-13 Adrian Aichner <aichner@ecf.teradyne.com>
+
+ * dumped-lisp.el (preloaded-file-list): Load Installation.el after
+ subr so that we can use `replace-in-string' in Installation.el to
+ get rid of C-m chars under the native Windows build.
+
+1999-04-29 Andy Piper <andy@xemacs.org>
+
+ * make-docfile.el: canonicalize file and directory names.
+
+ * device.el (call-device-method): new function for calling device
+ specific methods.
+ (define-device-method): new function for defining device methods.
+ (define-device-method*): ditto.
+
+1999-04-27 Hrvoje Niksic <hniksic@srce.hr>
+
+ * subr.el (buffer-string): Support new FSFmacs 20.4 stuff.
+
+1999-04-08 MORIOKA Tomohiko <tomo@etl.go.jp>
+
+ * mule/cyrillic.el (cyrillic-koi8-r-decode-table): New variable.
+ (cyrillic-koi8-r-encode-table): Likewise.
+ (ccl-decode-koi8): Use `cyrillic-koi8-r-decode-table'.
+ (ccl-encode-koi8): Use `cyrillic-koi8-r-encode-table'.
+
+ * mule/mule-misc.el (split-char-or-char-int): New function [moved
+ from vietnamese.el].
+
+ * mule/vietnamese.el: Move function `split-char-or-char-int' to
+ mule/mule-misc.el.
+
+1999-04-08 MORIOKA Tomohiko <tomo@etl.go.jp>
+
+ * mule/thai-xtis.el:
+ - Change font registry name from "Thai94x94-0" to "xtis-0".
+ - Change mnemonic of coding-system `tis-620' to "TIS620".
+
+1999-04-06 MORIOKA Tomohiko <tomo@etl.go.jp>
+
+ * mule/ethiopic.el: fixed.
+
+1999-03-30 MORIOKA Tomohiko <tomo@etl.go.jp>
+
+ * dumped-lisp.el: Add ethiopic, thai-xtis and vietnamese.
+
+ * mule/thai-xtis.el: New file.
+
+ * mule/vietnamese.el: New file.
+
+ * mule/ethiopic.el: New file.
+
+1999-04-22 Hrvoje Niksic <hniksic@srce.hr>
+
+ * bytecomp.el (byte-compile-close-variables): Leave
+ debug-issue-ebola-notices alone.
+
+1999-04-11 Oscar Figueiredo <Oscar.Figueiredo@di.epfl.ch>
+
+ * ldap.el (ldap-host-parameters-alist): Make `Search Base' appear
+ at the top of the buffer since it is the most important thing to
+ customize
+ (ldap-get-host-parameter): New defun
+ (ldap-search): Add a new parameter `withdn' to retrieve the
+ distinguished names of entries
+
+1999-04-22 Kai Haberzettl <khaberz@synnet.de>
+
+ * startup.el (splash-frame-body): Date and spelling fixes.
+
+1999-03-16 Colin Rafferty <colin@xemacs.org>
+
+ * view-less.el (toggle-truncate-lines): add autoload tag
+
+1999-04-19 Hrvoje Niksic <hniksic@srce.hr>
+
+ * format.el (format-alist): Disable image stuff.
+
+1999-04-17 Hrvoje Niksic <hniksic@srce.hr>
+
+ * wid-edit.el (widget-glyph-find): Search by directories, then by
+ suffixes rather than the other way around.
+ (widget-image-conversion): Renamed to
+ `widget-image-file-name-suffixes'.
+
+1999-04-16 Olivier Galibert <galibert@pobox.com>
+
+ * mule/mule-charset.el: Made old functions obsolete, remove the
+ unspeakably evil (and inexistant in fsf's) charset-leading-byte.
+ (charset-iso-graphic-plane): Rename from charset-graphic.
+ (charset-iso-final-char): Rename from charset-final.
+ (charset-width): Rename from charset-columns.
+ (charset-bytes): Added from fsf compatibility, returns always 1.
+
+ * mule/mule-misc.el: Move charset-doc-string alias to
+ mule-charset.el
+
+1999-04-14 Colin Rafferty <colin@xemacs.org>
+
+ * x-faces.el (x-make-font-bold-italic): honor
+ *try-oblique-before-italic-fonts*
+
+1999-04-14 Hrvoje Niksic <hniksic@srce.hr>
+
+ * cl-extra.el (coerce): Coerce numbers to characters correctly.
+
+1998-12-02 Hrvoje Niksic <hniksic@srce.hr>
+
+ * x-faces.el (try-oblique-before-italic-fonts): Use the right
+ name.
+
+1999-04-14 Dave Gillesipe <daveg@synaptics.com>
+
+ * cl-extra.el (equalp): Would bug out for lists.
+
+1999-03-12 Charles G Waldman <cgw@fnal.gov>
+
+ * about.el (about-hackers): Change cgw's email address
+
+1999-03-12 XEmacs Build Bot <builds@cvs.xemacs.org>
+
+ * XEmacs 21.2.13 is released
+
+1999-03-12 SL Baur <steve@xemacs.org>
+
+ * simple.el (delete-key-deletes-forward): Revert to previous
+ behavior.
+
+1999-01-18 Didier Verna <verna@inf.enst.fr>
+
+ * menubar-items.el (xemacs-splash-buffer): handle the case of
+ multiple elements in the splash buffer body.
+
+ * startup.el (splash-frame-timeout): new constant: interval
+ between splash buffer elements.
+ (command-line-1): handle splash buffer with multiple elements (use
+ a timeout).
+ (splash-frame-body): Originally `startup-splash-frame-body'.
+ Rewrote a cleaner and more readable version. This can now be array,
+ in which case each element is displayed in turn in the splash buffer.
+ (splash-frame-static-body): new constant. Persistent information
+ across all splash buffer elements (preserves the possibility to give
+ it in different languages.
+ (circulate-splash-frame-elements): new function. Used as a timeout
+ to circulate through all splash frame elements and display them in
+ sequence.
+ (display-splash-frame): originally `startup-splash-frame'. Handle
+ the case of multiple elements in the splash buffer body. Now
+ returns a timeout id if multiple elements to display, or nil.
+
+1999-02-19 Jan Vroonhof <vroonhof@math.ethz.ch>
+
+ * x-faces.el (x-init-global-faces): Add default tag to specifiers,
+ so they can be overridden by x-init-face-from-resources.
+ Additionally specify the font name also with an x tag.
+
+1999-03-08 Andy Piper <andy@xemacs.org>
+
+ * package-get.el (package-get-base): autoload.
+
+ * menubar-items.el (default-menubar): add update menu item. Fix
+ custom menu to only be activated when package-base is available.
+
+ * package-get.el (package-get-custom): don't load
+ package-get-custom as it is auto-generated. Fix group definition.
+
+1999-03-05 Didier Verna <verna@inf.enst.fr>
+
+ * cus-dep.el (Custom-make-dependencies): use `prin1-to-string'
+ instead of `symbol-name' (Thanks Kyle).
+
+ * cus-edit.el (custom-save-variables): use `prin1' instead of
+ princ to write symbols.
+
+1999-03-05 XEmacs Build Bot <builds@cvs.xemacs.org>
+
+ * XEmacs 21.2.12 is released
+
+1999-03-05 SL Baur <steve@xemacs.org>
+
+ * menubar-items.el (default-menubar): Add kfm browsing support.
+ From Neal Becker <nbecker@fred.net>
+
+1999-03-03 Steven Baur <steve@gneiss.etl.go.jp>
+
+ * font-lock.el (font-lock-revert-cleanup): Null out to avoid repeated
+ calls to font-lock during buffer reversion.
+
+1999-02-12 Didier Verna <verna@inf.enst.fr>
+
+ * info.el (Info-build-node-completions): unconditionally widen the
+ tag table buffer.
+
+1999-02-19 Paul Stodghill <stodghil@cs.cornell.edu>
+
+ * x-faces.el (x-init-face-from-resources):
+ Only set fonts in the 'x locale.
+
+1999-03-04 Adrian Aichner <aichner@ecf.teradyne.com>
+
+ * package-ui.el (pui-install-selected-packages): Don't throw on
+ `package-admin-delete-binary-package' returning nil since it's
+ normal. Reindent function.
+ (pui-add-required-packages): Handle case where packages selected
+ for installation have never been installed.
+
+1999-03-03 Martin Buchholz <martin@xemacs.org>
+
+ * menubar-items.el (default-menubar):
+ Implement the ``Mule->Set coding system of process'' menu item.
+
+1999-02-18 Martin Buchholz <martin@xemacs.org>
+
+ * files.el (auto-mode-alist): Use c-mode for *.i pre-processed cpp
+ files
+ - Change some `if's to `when's
+
+1999-03-01 XEmacs Build Bot <builds@cvs.xemacs.org>
+
+ * XEmacs 21.2.11 is released
+
+1999-02-22 Jan Vroonhof <vroonhof@math.ethz.ch>
+
+ * userlock.el (ask-user-about-supersession-threat-dbox): Guard
+ against window close (Fix Bug #460).
+ (ask-user-about-lock-dbox): Idem.
+
+1999-02-25 SL Baur <steve@xemacs.org>
+
+ * mule/mule-charset.el (charset-leading-byte): New function.
+ From Kazuyuki IENAGA <ienaga@jsys.co.jp>
+
+1999-02-12 Andy Piper <andy@xemacs.org>
+
+ * about.el (xemacs-hackers): change andy's email address.
+ (about-url-alist): change andy's web page address.
+ (about-xemacs): add piper.
+
+1999-02-16 SL Baur <steve@xemacs.org>
+
+ * dumped-lisp.el (preloaded-file-list): Core mule files moved out
+ of mule-base into lisp/mule.
+
+1999-02-16 SL Baur <steve@xemacs.org>
+
+ * mule/arabic.el:
+ mule/canna-leim.el:
+ mule/chinese.el:
+ mule/cyrillic.el:
+ mule/english.el:
+ mule/european.el:
+ mule/greek.el:
+ mule/hebrew.el:
+ mule/japanese.el:
+ mule/kinsoku.el:
+ mule/korean.el:
+ mule/misc-lang.el:
+ mule/mule-category.el:
+ mule/mule-ccl.el:
+ mule/mule-charset.el:
+ mule/mule-cmds.el:
+ mule/mule-coding.el:
+ mule/mule-files.el:
+ mule/mule-help.el:
+ mule/mule-init.el:
+ mule/mule-misc.el:
+ mule/mule-tty-init.el:
+ mule/mule-x-init.el:
+ mule/viet-chars.el: Remerge from mule-base.
+
+ * dumped-lisp.el (preloaded-file-list): Core mule files moved out
+ of mule-base into lisp/mule.
+
+1999-02-10 Adrian Aichner <aichner@ecf.teradyne.com>
+
+ * process.el (exec-to-string): Use `shell-command-switch' in place
+ of hard-wired "-c" (for WindowsNT).
+
+1999-02-08 Charles G Waldman <cgw@pgt.com>
+
+ * menubar-items.el (default-menubar): Remove obsolete
+ "Gopher" item
+
+1999-02-06 Jan Vroonhof <vroonhof@math.ethz.ch>
+
+ * package-admin.el (package-admin-get-install-dir): First fall
+ back to the location of xemacs-base for non-mule packages.
+
+1999-02-15 Martin Buchholz <martin@xemacs.org>
+
+ * paths.el:
+ - improved automounter tmp directory support.
+ - support 4 (!) empirically discovered automounter conventions
+
+1999-02-12 SL Baur <steve@xemacs.org>
+
+ * etags.el (pop-tag-mark): autoload to match key binding.
+
+1999-02-05 XEmacs Build Bot <builds@cvs.xemacs.org>
+
+ * XEmacs 21.2.10 is released
+
+1999-02-02 Jan Vroonhof <vroonhof@math.ethz.ch>
+
+ * package-get.el (package-get-remote-filename): Don't bug out for
+ a local file name in the search entry.
+
+1999-02-02 XEmacs Build Bot <builds@cvs.xemacs.org>
+
+ * XEmacs 21.2.9 is released
+
+1999-01-19 Didier Verna <verna@inf.enst.fr>
+
+ * replace.el (replace-search-function): new variable containing a
+ function to perform a search-forward.
+ (replace-re-search-function): new variable containing a function
+ to perform a re-search-forward.
+ (perform-replace): use them.
+
+1999-01-25 Didier Verna <verna@inf.enst.fr>
+
+ * select.el (selection-owner-p): use the name `XEmacs'.
+ (cut-copy-clear-internal): ditto.
+
+1999-01-18 Andy Piper <andy@xemacs.org>
+
+ * about.el (about-url-alist): Update my entry.
+ (xemacs-hackers): Ditto.
+
+1999-01-14 Adrian Aichner <aichner@ecf.teradyne.com>
+
+ * buffer.el (switch-to-buffer): Fixing documentation.
+ * minibuf.el (minibuffer-completion-table): ditto.
+ * cl-macs.el (return-from): ditto.
+
+1999-01-04 Didier Verna <verna@inf.enst.fr>
+
+ * replace.el (delete-non-matching-lines): temporarily disable
+ case-folding when called interactively with a regexp containing
+ uppercase characters.
+ (delete-matching-lines): ditto.
+ (count-matches): ditto.
+ (list-matching-lines): ditto.
+
+1999-01-07 Colin Rafferty <colin@xemacs.org>
+
+ * window.el (shrink-window-if-larger-than-buffer): Clean up. Only
+ abort if current window is split horizontally, not if others are
+ split. Got rid of unnecessary minibuffer checking. Also, add
+ some comments (it's still complex).
+
+1999-01-12 Robert Pluim <rpluim@BayNetworks.com>
+
+ * package-get.el: changed address for doc.ic.ac.uk to
+ sunsite.doc.ic.ac.uk
+
+1999-01-09 Oscar Figueiredo <Oscar.Figueiredo@di.epfl.ch>
+
+ * ldap.el (toplevel): Remove requires so that the file compiles
+ with a non LDAP-enabled XEmacs binary. Provide `ldap'.
+
+1999-01-10 J. Kean Johnston <jkj@sco.com>
+
+ * dump-paths.el: Calculate module-directory and set
+ module-load-path to the load path for modules.
+
+ * loadup.el: Get bootstrap value of module-load-path from the
+ environment variable EMACSBOOTSTRAPMODULEPATH.
+ - Display the module load path if we're debugging paths.
+
+ * setup-paths.el: Added function paths-find-site-module-directory.
+ - Added function paths-find-module-directory.
+ - Added function paths-construct-module-load-path. Uses new
+ environment variable EMACSMODULEPATH.
+
+1998-12-30 Martin Buchholz <martin@xemacs.org>
+
+ * font.el (font-default-object-for-device):
+ Oops! This `or' can't be replaced by `unless'.
+ Fixed inability to run w3, among other things.
+
+1998-12-17 Charles G. Waldman <cgw@pgt.com>
+
+ * package-admin.el: Change initialization of
+ package-admin-install-function dependent on system type.
+ Change package-admin-install-function-mswindows to use
+ "minitar".
+
+1998-12-23 Hrvoje Niksic <hniksic@srce.hr>
+
+ * mouse.el (default-mouse-motion-handler): Disable help echo while
+ in the minibuffer.
+
+1998-12-28 Martin Buchholz <martin@xemacs.org>
+
+ * XEmacs 21.2.8 is released.
+
+1998-12-24 Martin Buchholz <martin@xemacs.org>
+
+ * XEmacs 21.2.7 is released.
+
+1998-12-07 Jan Vroonhof <vroonhof@math.ethz.ch>
+
+ * package-ui.el (pui-list-packages): Set truncate-lines.
+
+ * package-get.el (package-get-download-menu): Use
+ `package-ui-add-site'. Add a a toggle to indicate it is in the list.
+
+ * package-ui.el (pui-help): Ditch in favor of `describe-mode'
+ (pui-help-string): idem.
+ (list-packages-mode): New major mode.
+ (pui-list-packages): Use 'list-packages-mode' in the package buffer.
+ (pui-install-selected-packages): Add suport for removing packages.
+ (pui-toggle-package-delete-key): New function.
+ (pui-popup-context-sensitive): New kludge.
+ (pui-list-packages): Add warning when `package-get-remote' is nil.
+ (package-ui-add-site): New function.
+
+1998-12-01 Didier Verna <verna@inf.enst.fr>
+
+ * hyper-apropos.el (hyper-where-is): added the missing autoload.
+
+1998-11-29 Oscar Figueiredo <Oscar.Figueiredo@di.epfl.ch>
+
+ * ldap.el: Custom-ized
+ (toplevel): Do not provide `ldap' which is provided by C level
+ LDAP code
+ (ldap-search): Docstring and stylistic fixes as suggested by Hrvoje
+
+1998-12-05 Hrvoje Niksic <hniksic@srce.hr>
+
+ * isearch-mode.el (isearch-mode): Really fix keymap lossage.
+
+1998-12-17 Andy Piper <andy@xemacs.org>
+
+ * sound.el (sound-load-list): name changed from sound-load-alist.
+ (sound-extension-list): name changed from sound-ext-list.
+ (load-default-sounds): use new names.
+ (load-sound-file): use new names.
+
+1998-12-16 Andy Piper <andy@xemacs.org>
+
+ * XEmacs 21.2.6 is released
+
+1998-11-30 Hrvoje Niksic <hniksic@srce.hr>
+
+ * cus-dep.el (Custom-make-dependencies): Be smarter about trapping
+ errors.
+
+1998-12-04 Hrvoje Niksic <hniksic@srce.hr>
+
+ * wid-edit.el (widget-echo-this-extent): Set
+ help-echo-owns-message to t.
+
+1998-11-30 Greg Klanderman <greg@alphatech.com>
+
+ * package-get.el (package-get-download-menu): use toggles for
+ each site in the download site menu.
+
+1998-12-01 Jan Vroonhof <vroonhof@math.ethz.ch>
+
+ * package-get.el (package-get): If we cannot find a package
+ because package-get-remote is not set, give a more helpful
+ error message.
+
+1998-11-30 Greg Klanderman <greg@alphatech.com>
+
+ * package-get.el (package-get-remote-filename): use an EFS path
+ with user anonymous if no user is specified.
+
+1998-12-10 Jan Vroonhof <vroonhof@math.ethz.ch>
+
+ * faces.el (face-spec-set): Re-init fallfacks for default after
+ calling reset-face on the default face.
+
+1998-12-10 Jan Vroonhof <vroonhof@math.ethz.ch>
+
+ * package-admin.el (package-admin-default-install-function):
+ Behave as advertised. Make sure the pkg-dir is proper for
+ default-directory.
+ (package-admin-add-binary-package): Make sure the pkg-dir is
+ proper for default-directory.
+ (package-admin-install-function-mswindows): Make sure the pkg-dir
+ is proper for default-directory.
+
+1998-12-05 XEmacs Build Bot <builds@cvs.xemacs.org>
+
+ * XEmacs 21.2.5 is released
+
+1998-12-05 SL Baur <steve@altair.xemacs.org>
+
+ * files.el (binary-file-regexps): regexp-opt is not available at
+ bytecompile time.
+
+1998-11-30 Martin Buchholz <martin@xemacs.org>
+
+ * x-win-xfree86.el:
+ * x-win-sun.el (x-win-init-sun):
+ * x-win-sun.el:
+ * x-mouse.el (mouse-track-and-copy-to-cutbuffer):
+ * x-iso8859-1.el:
+ * x-init.el (init-post-x-win):
+ * x-init.el (init-pre-x-win):
+ * x-init.el (x-initialize-compose):
+ * x-init.el:
+ * x-compose.el:
+ * winnt.el:
+ * widget.el:
+ * wid-edit.el (widget-glyph-click):
+ * wid-edit.el (widget-glyph-find):
+ * wid-edit.el (widget-type):
+ * view-less.el (view-buffer-other-window):
+ * very-early-lisp.el:
+ * version.el:
+ * toolbar.el:
+ * toolbar-items.el:
+ * term/sun.el (suntool-map):
+ * term/sun-mouse.el:
+ * term/internal.el:
+ * syntax.el (modify-syntax-entry):
+ * symbol-syntax.el:
+ * subr.el:
+ * startup.el (lock-directory):
+ * simple.el (set-comment-column):
+ * simple.el (backward-delete-char-untabify):
+ * shadow.el (find-emacs-lisp-shadows):
+ * shadow.el:
+ * setup-paths.el (paths-construct-info-path):
+ * select.el (cut-copy-clear-internal):
+ * process.el (call-process-region):
+ * process.el (start-process-shell-command):
+ * process.el:
+ * paths.el (rmail-spool-directory):
+ * paragraphs.el (use-hard-newlines):
+ * package-get.el (package-get-dependencies):
+ * package-admin.el (package-admin-delete-binary-package):
+ * obsolete.el (truncate-string):
+ * obsolete.el (store-substring):
+ * mouse.el (default-mouse-track-maybe-own-selection):
+ * mouse.el (mouse-yank-at-point):
+ * modeline.el:
+ * modeline.el (mouse-drag-modeline):
+ * minibuf.el (read-directory-name-internal):
+ * minibuf.el (read-file-name-internal):
+ * minibuf.el (read-file-name-internal-1):
+ * minibuf.el (read-file-name-2):
+ * minibuf.el (exact-minibuffer-completion-p):
+ * minibuf.el (read-from-minibuffer):
+ * minibuf.el:
+ * menubar.el (check-menu-syntax):
+ * map-ynp.el (map-y-or-n-p):
+ * make-docfile.el (docfile-out-of-date):
+ * loadup.el ((member "run-temacs" command-line-args)):
+ * loadup.el ((member "no-site-file" command-line-args)):
+ * loadup.el (really-early-error-handler):
+ * loadup.el:
+ * loadhist.el:
+ * loaddefs.el:
+ * lisp-mnt.el (lm-verify):
+ * lib-complete.el (lib-complete:cache-completions):
+ * lib-complete.el (library-all-completions):
+ * itimer.el (itimer-run-expired-timers):
+ * info.el (Info-mode):
+ * info.el (Info-insert-file-contents):
+ * info.el (Info-rebuild-dir):
+ * info.el (Info-build-dir-anew):
+ * info.el (Info-parse-dir-entries):
+ * info.el (Info-dir-outdated-p):
+ * info.el (Info-insert-dir):
+ * info.el (info-xref):
+ * info.el:
+ * hyper-apropos.el (hyper-apropos-get-doc):
+ * hyper-apropos.el (hyper-describe-face):
+ * hyper-apropos.el (hyper-apropos-mode):
+ * hyper-apropos.el:
+ * help.el (list-processes):
+ * help.el:
+ * gnuserv.el:
+ * font.el (mswindows-font-create-name):
+ * font.el (font-default-font-for-device):
+ * font.el (x-font-create-object):
+ * font.el (font-registry):
+ * font.el:
+ * font-lock.el (font-lock-keywords):
+ * font-lock.el:
+ * finder.el (finder-compile-keywords):
+ * find-paths.el (paths-find-recursive-path):
+ * fill.el (set-justification-center):
+ * fill.el (fill-region-as-paragraph):
+ * files.el (insert-directory):
+ * files.el (wildcard-to-regexp):
+ * files.el (recover-file):
+ * files.el (basic-save-buffer):
+ * files.el (delete-auto-save-file-if-necessary):
+ * files.el (file-relative-name):
+ * files.el (backup-extract-version):
+ * files.el (backup-buffer):
+ * files.el (set-visited-file-name):
+ * files.el (set-auto-mode):
+ * files.el (interpreter-mode-alist):
+ * files.el:
+ * files.el (find-file-noselect):
+ * files.el (abbreviate-file-name):
+ * files.el (parse-colon-path):
+ * files.el (directory-abbrev-alist):
+ * etags.el (visit-tags-table-buffer):
+ * easymenu.el (easy-menu-define):
+ * dragdrop.el (experimental-dragdrop-drag):
+ * dragdrop.el (dragdrop-drop-do-functions):
+ * dragdrop.el (dragdrop-drop-at-point):
+ * disass.el (disassemble-1):
+ * disass.el (disassemble-internal):
+ * disass.el (disassemble):
+ * disass.el:
+ * derived.el (derived-mode-init-mode-variables):
+ * derived.el (define-derived-mode):
+ * custom.el (defgroup):
+ * cus-edit.el (custom-quote):
+ * config.el:
+ * code-process.el (open-network-stream):
+ * code-process.el (start-process):
+ * code-process.el (call-process-region):
+ * code-process.el (call-process):
+ * code-process.el:
+ * code-files.el (insert-file-contents):
+ * code-files.el:
+ * code-files.el (buffer-file-coding-system-for-read):
+ * cmdloop.el (yes-or-no-p-minibuf):
+ * cl.el:
+ * cl-macs.el:
+ * cl-extra.el:
+ * callers-of-rpt.el (make-caller-report):
+ * callers-of-rpt.el:
+ * bytecomp.el (batch-byte-recompile-directory):
+ * bytecomp.el (batch-byte-compile-1):
+ * bytecomp.el (batch-byte-compile):
+ * bytecomp.el (display-call-tree):
+ * bytecomp.el (byte-compile-insert):
+ * bytecomp.el (byte-compile-two-args-19->20):
+ * bytecomp.el (byte-compile-variable-ref):
+ * bytecomp.el (byte-compile-form):
+ * bytecomp.el (byte-compile-top-level-body):
+ * bytecomp.el (byte-compile-out-toplevel):
+ * bytecomp.el (byte-compile-byte-code-maker):
+ * bytecomp.el (byte-compile-file-form-defmumble):
+ * bytecomp.el (byte-compile-file-form):
+ * bytecomp.el (byte-compile-keep-pending):
+ * bytecomp.el (byte-compile-insert-header):
+ * bytecomp.el (byte-compile-from-buffer):
+ * bytecomp.el (byte-compile-file):
+ * bytecomp.el (byte-recompile-file):
+ * bytecomp.el (byte-compile-close-variables):
+ * bytecomp.el (byte-compile-warn-about-unused-variables):
+ * bytecomp.el (byte-compile-warn-about-unresolved-functions):
+ * bytecomp.el (byte-compiler-legal-options):
+ * bytecomp.el (byte-compile-lapcode):
+ * bytecomp.el (byte-optimize-log):
+ * bytecomp.el ((fboundp 'defsubst)):
+ * bytecomp.el:
+ * bytecomp-runtime.el:
+ * byte-optimize.el (byte-optimize-apply):
+ * byte-optimize.el (car):
+ * byte-optimize.el (byte-optimize-form):
+ * byte-optimize.el (byte-optimize-form-code-walker):
+ * byte-optimize.el:
+ * build-report.el (build-report-insert-installation-file):
+ * build-report.el (build-report):
+ * auto-show.el:
+ * apropos.el (apropos-documentation):
+ - mega patch
+ - clean up byte-compile warnings
+ - remove unused variables
+ - Use common lisp style hashtable functions
+ - byte compiler cleanup
+ - use #'(lambda ...) instead of '(lambda ...) or (function (lambda ...))
+ - remove old backquote syntax usage
+ - move some cl functionality into C for speed.
+ - remove last remaining VMS support
+ - spelling fixes
+ - implement last, butlast, nbutlast, copy-list in C.
+ - new macro ignore-file-errors, similar to ignore-errors
+ (ignore-file-errors (delete-file "foo"))
+ - get frequent garbage collection during loadup.el by tweaking
+ gc-cons-threshold, rather than explicitly calling garbage-collect
+ - default delete-key-deletes-forward to `t'.
+
+1998-11-28 SL Baur <steve@altair.xemacs.org>
+
+ * XEmacs 21.2-beta4 is released.
+
+1998-11-27 Jan Vroonhof <vroonhof@math.ethz.ch>
+
+ * easymenu.el (easy-menu-add-item): Wraper around add-menu-btton.
+ (easy-menu-item-present-p): Wrapper around find-menu-item.
+ (easy-menu-remove-item): Wrapper around delete-menu-item.
+
+ * menubar.el (delete-menu-item): Add 'from-menu' argument.
+ (add-menu-button): Add 'in-menu' argument.
+ (add-menu-item-1): Add in-menu support to helper function.
+
+1998-11-27 Katsumi Yamaoka <yamaoka@jpl.org>
+
+ * isearch-mode.el (isearch-mode): Fix keymap lossage.
+
+1998-11-26 Jan Vroonhof <vroonhof@math.ethz.ch>
+
+ * faces.el (get-custom-frame-properties): Revert Hrvoje Niksic change
+ of Dec 4, 1997.
+
+1998-11-25 Hrvoje Niksic <hniksic@srce.hr>
+
+ * process.el (shell-command-on-region): Report if the command
+ succeeded or failed.
+
+1998-11-24 Hrvoje Niksic <hniksic@srce.hr>
+
+ * subr.el (buffer-substring-no-properties): Comment out.
+
+1998-11-07 Adrian Aichner <aichner@ecf.teradyne.com>
+
+ * msw-faces.el (mswindows-find-smaller-font): Turning font names
+ into font instances first, like `x-frob-font-size' does.
+ (mswindows-find-larger-font): ditto
+
+1998-11-04 Greg Klanderman <greg@alphatech.com>
+
+ * package-ui.el (pui-install-selected-packages): fix args in call
+ to `package-get'.
+
+1998-10-29 Jan Vroonhof <vroonhof@math.ethz.ch>
+
+ * package-get.el (host-name): New widget type.
+ (package-get-remote): Better customization using new type.
+ (package-get-download-sites): idem dito.
+
+ (package-get-custom): Do not use package-get-all untill we have
+ runtime dependencies.
+
+ (package-get-remove-copy): Default to 't' we no longer need this
+ kludge as we do not currently use depenencies.
+
+ (package-get-was-current): New variable.
+ (package-get-require-base): New 'force-current' argument.
+ (package-get-update-base): idem
+ (package-get-package-provider): idem
+ (package-get-locate-index-file): New 'no-remote' argument.
+ (package-get-locate-file): idem.
+
+ (package-get-maybe-save-index): New function.
+ (package-get-update-base): Use it.
+
+1998-10-28 Greg Klanderman <greg@alphatech.com>
+
+ * package-get.el (package-get-remote): default to nil; by default,
+ don't go out to the net via EFS. They must select a download site.
+ (package-get-download-sites): new variable.
+ (package-get-download-menu): new function.
+ (package-get-locate-index-file): new function.
+ (package-get-update-base): use it.
+
+ * menubar-items.el (default-menubar): add "Update Package Index"
+ and "Add Download Site" menus under Options | Manage Packages.
+
+1998-10-19 Greg Klanderman <greg@alphatech.com>
+
+ * package-get.el (package-get): bugfix code checking installed version
+ for case where package is not currently installed.
+ (package-get-require-signed-base-updates): new variable.
+ (package-get-update-base-from-buffer): remove REMOTE-SOURCE arg, it was
+ deemed not a goot thing. Use the variable
+ package-get-allow-unsigned-base-updates instead.
+
+1998-10-16 Greg Klanderman <greg@alphatech.com>
+
+ * package-get.el (package-get): Don't install an older version than
+ we already have unless explicitly told to. Issue a warning.
+
+ * package-ui.el (pui-add-required-packages): when adding
+ dependencies, don't add packages that are up to date.
+ (pui-package-symbol-char): Don't consider a package out of date
+ if you have a newer version installed than the latest version in
+ package-get-base.
+
+ * package-get.el (package-get-base-filename): document that it may
+ be a path relative to package-get-remote; new default value.
+ (package-get-locate-file): new function.
+ (package-get-update-base): use it to expand package-get-base-filename.
+ (package-get-save-base): new function to save the package-get database
+ to file.
+ (package-get-update-base-from-buffer): add REMOTE-SOURCE argument.
+ (package-get-update-base): pass the REMOTE-SOURCE arg.
+ (package-get-update-base-entry): call package-get-custom-add-entry.
+ (package-get-file-installed-p): removed; no longer needed.
+ (package-get-create-custom): ditto.
+ (toplevel): remove code to build and load package-get-custom.el
+ (package-get-custom-add-entry): new function.
+
+1998-10-12 Hrvoje Niksic <hniksic@srce.hr>
+
+ * wid-edit.el (widget-button-click): Don't switch window.
+
+1998-10-22 Jan Vroonhof <vroonhof@math.ethz.ch>
+
+ * cus-face.el (custom-set-face-update-spec): Add autoload cookie
+
+1998-10-20 Malcolm Box <malcolm@brownale.demon.co.uk>
+
+ * etags.el (find-tag-default): Run find-tag-hook using
+ run-hooks rather than funcall
+
+1998-10-19 Hrvoje Niksic <hniksic@srce.hr>
+
+ * isearch-mode.el (isearch-mode): Set the current minor mode maps
+ and the current local map as the parents to isearch-mode-map.
+
+1998-10-15 SL Baur <steve@altair.xemacs.org>
+
+ * XEmacs 21.2-beta3 is released.
+
+1998-10-15 Greg Klanderman <greg@alphatech.com>
+
+ * package-get.el (package-get-update-base): use
+ insert-file-contents-internal, not insert-file-contents-literally.
+
+1998-10-14 Jan Vroonhof <vroonhof@math.ethz.ch>
+
+ * auto-save.el: expand-file 'auto-save-*-dir' at runtime not at
+ dump time.
+
+1998-10-15 Greg Klanderman <greg@alphatech.com>
+
+ * package-get.el (package-get-update-base-entry): new function.
+ (package-get-update-base): renamed; was `package-get-load-base'.
+ cleanup, and use package-get-update-base-from-buffer.
+ (package-get-update-base-from-buffer): new function.
+ (package-get-update-base-entries): new; helper for above.
+ Do not eval lisp grabbed over ftp; parse it from new format.
+
+1998-10-15 Greg Klanderman <greg@alphatech.com>
+
+ * files.el (set-auto-mode): Don't play games loading package-get
+ database; package-get-package-provider will handle it all.
+
+1998-10-14 Greg Klanderman <greg@alphatech.com>
+
+ * package-get.el (package-get-base-filename): new variable.
+ (package-get-require-base): new function.
+ (package-get-pgp-signed-begin-line): new variable.
+ (package-get-pgp-signature-begin-line): ditto.
+ (package-get-pgp-signature-end-line): ditto.
+ (package-get-load-base): new function.
+ (package-get-interactive-package-query):
+ (package-get-update-all):
+ (package-get-dependencies):
+ (package-get-package-provider):
+ (package-get-custom): use package-get-require-base.
+ [package-get-custom loading]: disable for now.
+
+ * package-ui.el (pui-list-packages): use (package-get-require-base)
+
+1998-10-14 Jan Vroonhof <vroonhof@math.ethz.ch>
+
+ * package-ui.el: Correct obvious thinko in choosing extent face.
+
+1998-10-12 Jan Vroonhof <vroonhof@math.ethz.ch>
+
+ * menubar-items.el (default-menubar): pui-list-package has nothing
+ to with Customize. Move all the package stuff to a new Item in Options.
+
+ * package-ui.el (pui-menu): Add menu and Popup menu.
+
+ * package-get.el (package-get): Use new
+ package-admin-get-install-dir.
+
+ * package-admin.el (package-admin-get-install-dir): New syntax.
+ Conserve package location and put mule packages where mule-base is.
+
+ * package-get.el : Customized
+
+ * package-ui.el (pui): Customized
+ (pui-package-install-dest-dir): New variable.
+ (pui-install-selected-packages): Use it
+
+1998-10-12 SL Baur <steve@altair.xemacs.org>
+
+ * package-get.el (package-get-interactive-package-query): Move
+ dependency on package-get-base to run-time.
+ (package-get-update-all): Ditto.
+ (package-get-dependencies): Ditto.
+ (package-get-package-provider): Ditto.
+ (package-get-custom): Ditto.
+
+1998-10-11 Glynn Clements <glynn@sensei.co.uk>
+
+ * events.el: Remove 'ascii-character property from 'backspace
+ and 'delete symbols
+
+1998-10-11 SL Baur <steve@altair.xemacs.org>
+
+ * package-get-base.el: removed.
+
+1998-09-23 Didier Verna <verna@inf.enst.fr>
+
+ * simple.el (search-caps-disable-folding): moved from isearch-mode.el
+ (no-upper-case-p): new function.
+ (with-search-caps-disable-folding): new macro.
+ (with-interactive-search-caps-disable-folding): new macro.
+ (zap-to-char): In interactive mode, do a case-sensitive search if
+ the character is uppercase.
+ (zap-up-to-char): ditto.
+
+ * replace.el (perform-replace): use the function no-upper-case-p.
+
+ * isearch-mode.el (isearch-fix-case): ditto.
+ make obsolete `with-caps-disable-folding' and
+ `isearch-no-upper-case-p'.
+
+ * etags.el (find-tag-internal): use `with-search-caps-disable-folding'.
+ (tags-search): ditto.
+ (tags-query-replace): ditto.
+
+ * info.el (Info-search): ditto.
+
+1998-10-07 Jan Vroonhof <vroonhof@math.ethz.ch>
+
+ * x-font-menu.el (font-menu-set-font): Respect font-menu-frame-local
+
+1998-10-07 Greg Klanderman <greg@alphatech.com>
+
+ * package-admin.el (package-admin-rmtree): rewritten. need to
+ check for "." and ".." before symlink check. expand files and
+ directories with respect to DIRECTORY, not default-directory.
+
+1998-10-04 Greg Klanderman <greg@alphatech.com>
+
+ * package-get.el (package-get-all): add INSTALL-DIR argument.
+
+1998-10-06 Greg Klanderman <greg@alphatech.com>
+
+ * package-ui.el (pui-add-required-packages): new function, select
+ dependent packages.
+ (pui-display-keymap): bind it.
+ (pui-help-string): document it.
+ (pui-install-selected-packages): package-get-all -> package-get.
+
+ * package-get.el (package-get-dependencies): new function.
+
+1998-10-04 Hrvoje Niksic <hniksic@srce.hr>
+
+ * isearch-mode.el (isearch-done): Use regexp-search-ring-max for
+ regexps.
+
+1998-10-05 Hrvoje Niksic <hniksic@srce.hr>
+
+ * mouse.el (default-mouse-track-point-at-opening-quote-p): New
+ function.
+ (default-mouse-track-normalize-point): Use it.
+
+1998-09-30 Jan Vroonhof <vroonhof@math.ethz.ch>
+
+ * package-admin.el (package-admin-delete-binary-package):
+ General cleanup. Remove unnessary use of progn and
+ save-excursion.
+ (package-admin-delete-binary-package): Do NOT mess with file
+ modes. That is evil.
+ (package-admin-delete-binary-package): Wrap all deleting in
+ condition-case. The data in MANIFEST is untrustworthy.
+ (package-admin-delete-binary-package): Let the OS worry about non
+ empty directories.
+
+1998-10-09 SL Baur <steve@altair.xemacs.org>
+
+ * lisp-mnt.el (lm-commentary): Fix InfoDock-style comment
+ processing.
+ (lm-report-bug): Fix mail address to send bug reports to.
+
+1998-09-29 SL Baur <steve@altair.xemacs.org>
+
+ * XEmacs 21.2-beta2 is released.
+
+1998-08-14 Jan Vroonhof <vroonhof@math.ethz.ch>
+
+ * files.el (auto-mode-alist): Enhanced regexp for perl-mode
+
+1998-09-22 Karl M. Hegbloom <karlheg@bittersweet.inetarena.com>
+
+ * info.el (Info-mode): Document page turning by double clicks in
+ docstring so `M-x describe-mode' will display it.
+
+1998-09-20 Karl M. Hegbloom <karlheg@bittersweet.inetarena.com>
+
+ * info.el (Info-mouse-track-double-click-hook): Use character
+ widths to calculate a border region where double clicking does
+ page turning, and return `nil' by default so other hooks, such as
+ region highlighting, will be run.
+
+1998-09-29 Colin Rafferty <colin@xemacs.org>
+
+ * sound.el (default-sound-directory-list): Initialize with all the
+ "sounds" directories in `data-directory-list'. It used to just be
+ the first one.
+
+ * packages.el (locate-data-directory-list): Created. This gives
+ the list of matching directories, unlike `locate-data-directory',
+ which just gives the first one.
+
+1998-09-26 Jan Vroonhof <vroonhof@math.ethz.ch>
+
+ * minibuf.el (read-from-minibuffer): No longer bind help-form but
+ make a binding in the local keymap until help-char handling is
+ improved.
+
+ * help.el (help-keymap-with-help-key): Provide keymap with help
+ binding.
+ (help-print-help-form): New helper function.
+
+1998-09-23 Hrvoje Niksic <hniksic@srce.hr>
+
+ * isearch-mode.el (isearch-highlight): set-extent-endpoints can
+ move extent to another buffer; no need to create a new extent.
+ (isearch-fix-case): New function.
+ (isearch-search-and-update): Use it.
+
+1998-09-22 Hrvoje Niksic <hniksic@srce.hr>
+
+ * isearch-mode.el (isearch-mode): Use overriding-local-map to set
+ the keymap, not minor-mode-map-alist.
+ (isearch-done): Restore overriding-local-map.
+
+1998-09-21 Martin Buchholz <martin@xemacs.org>
+
+ * bytecomp.el (byte-compile-buffer-substring):
+ Fix for: (byte-compile (defun f () (buffer-substring)))
+ ==> ** buffer-substring called with 3 args, but requires 0-3
+ - new code not only works, but is more readable, too.
+
+1998-09-20 Jonathan Harris <jhar@tardis.ed.ac.uk>
+
+ * msw-faces.el (mswindows-init-device-faces): Don't try to
+ specify a default font at this late stage. Do try to force
+ creation of the default face font so that if it fails we get
+ an error now instead of a crash at frame creation.
+
+ mswindows-font-canonicalize-name, mswindows-make-font-unbold,
+ mswindows-make-font-unitalic: Canonical default weight
+ changed from "Normal" to "Regular".
+
+ mswindows-make-font-bold / -bold-italic: Supplied device was
+ not being passed into call to mswindows-find-smaller-font.
+
+1998-09-10 Bjrn Torkelsson <torkel@hpc2n.umu.se>
+
+ * package-get.el (package-get-remote): Fix the path where to find
+ the packages on xemacs.org.
+
+1998-09-08 Hrvoje Niksic <hniksic@srce.hr>
+
+ * about.el (about-maintainer-info): Update Ben's entry.
+
+1998-09-24 Martin Buchholz <martin@xemacs.org>
+
+ * lisp/shadow.el (find-emacs-lisp-shadows):
+ - `member' was being called on lists of length 2000!
+ - Replace with hashtables.
+ - Replace hand-coded loops with (dolist)
+ - Fix comment typo
+
+1998-09-20 Darryl Okahata <darrylo@sr.hp.com>
+
+ * packages.el: Added new function, `package-delete-name', to
+ delete existing packages from the installed package database
+ (`packages-package-list'). Also added the "pkginfo" directory
+ to `packages-special-base-regexp', so that the pkginfo directory
+ would not get added to `late-packages'.
+
+ * package-admin.el: Added ability to delete an installed package
+ (added low-level function, `package-admin-delete-package').
+ Understands how to use the pkginfo/MANIFEST.<package> file to
+ delete the package. When installing a package, will also
+ create a MANIFEST.* file if one is not provided by the
+ package. If the MANIFEST.* doesn't exist when deleting a
+ package, the functions will fall back to attempting to delete
+ any package-specific lisp directory.
+
+ * package-get.el: Moved some functions to package-admin.el.
+ Added interactive function `package-get-delete-package', for
+ use by users for deleting a package.
+
+ Also modified to not require the prescence of efs.
+
+1998-09-22 Hrvoje Niksic <hniksic@srce.hr>
+
+ * files.el (find-file-noselect): Handle all signals, kill the
+ buffer and resignal.
+
+1998-09-23 SL Baur <steve@altair.xemacs.org>
+
+ * cl-macs.el (glyph-image): Add setf method.
+
+1998-09-06 Darryl Okahata <darrylo@sr.hp.com>
+
+ * package-get.el: Fixed broken EFS downloading. Also, look for
+ .tar.gz files first, in preference over .tgz files.
+
+ * package-ui.el: Fix display of package version numbers.
+
+1998-08-27 Jan Vroonhof <vroonhof@math.ethz.ch>
+
+ * x-font-menu.el (font-menu-set-font): Add "pt" units to size
+ argument.
+
+1998-09-03 Darryl Okahata <darrylo@sr.hp.com>
+
+ * list-mode.el: `display-completion-list': added new/optional
+ keyword `:completion-string', which allows the programmer to
+ change the "Possible completions are:" prompt.
+
+ * menubar-items.el: Added new pulldown menu-pick to start up the
+ visual package browser/installer:
+
+ Options->Customize->List Packages
+
+ * package-admin.el: Added hooks for installing under both Unix
+ and MS Windows. Does additional error checking. No longer
+ calls "add-big-package.sh" to install packages under Unix; now
+ calls gunzip & tar directly.
+
+ * package-get.el: Added ability to install packages from files
+ on a local disk/CDROM. Now deletes any existing package lisp
+ directory. Does completion on available packages when
+ querying for package names. Will also search for .tgz files
+ in addition for .tar.gz files. Tries to reload
+ auto-autoloads, as a convenience when loading new packages,
+ and also tries to add any new package paths to `load-path'.
+ Changed all occurences of `concat' to use `expand-file-name'.
+
+ * package-ui.el: New file which implements the main visual
+ package browser/installer, which is started via a menu pick or
+ M-x pui-list packages.
+
+1998-09-03 Hrvoje Niksic <hniksic@srce.hr>
+
+ * startup.el (load-init-file): spelling fix.
+
+1998-09-02 Michael Sperber [Mr. Preprocessor] <sperber@informatik.uni-tuebingen.de>
+
+ * startup.el (normal-top-level): Load auto-autoload files
+ covariantly with their precedence.
+
+1998-08-26 Jan Vroonhof <vroonhof@math.ethz.ch>
+
+ * menubar-items.el (default-menubar): Remove "Font Weight"
+ option, there is currently no custom equivalent.. Customize-faces
+ is "Edit faces".
+
+ * x-font-menu.el (font-menu-set-font): Use customize to set
+ default face.
+
+ * faces.el (face-spec-update-all-matching): New function.
+
+ * cus-face.el (custom-set-face-update-spec): New function.
+ Interface to customize faces from elisp.
+
+ (custom-face-value-create): Show the customized settings if set
+ but not saved.
+
+1998-08-26 Jan Vroonhof <vroonhof@math.ethz.ch>
+
+ (custom-face-value-create): Show the customized settings if set
+ but not saved.
+
+1998-08-31 Hrvoje Niksic <hniksic@srce.hr>
+
+ * keydefs.el (global-map): Add FSF 20.3 binding of
+ query-replace-regexp.
+
+1998-08-21 Greg Klanderman <greg@alphatech.com>
+
+ * minibuf.el (read-file-name-internal-1): use
+ user-name-completion-1 instead of user-name-completion.
+
+1998-08-19 Michael Sperber [Mr. Preprocessor] <sperber@informatik.uni-tuebingen.de>
+
+ * loadup.el:
+ * make-docfile.el:
+ * update-elc.el: Don't set `source-directory' (now defunct as a
+ global variable) no more.
+
+ * packages.el (packages-list-autoloads): Made `source-directory'
+ (now defunct as a global variable) a parameter.
+
+1998-08-13 Carsten Leonhardt <leo@arioch.oche.de>
+
+ * about.el (about-hackers): new email
+
+1998-08-16 SL Baur <steve@altair.xemacs.org>
+
+ * lisp-mode.el (with-string-as-buffer-contents): Set indentation.
+
+1998-07-17 Didier Verna <verna@inf.enst.fr>
+
+ * faces.el (set-face-property):
+ (set-face-dim-p):
+ (face-dim-p): updated the doc strings now that the dim property isn't
+ tty-specific.
+ (face-equal): the dim property is now a common one.
+
+ * cus-face.el (custom-face-attributes): New face attribute: `dim'
+ Renamed the `stipple' attribute to `background-pixmap'.
+ (custom-face-background-pixmap): make custom-face-stipple an
+ obsolete alias for this.
+
+1998-08-11 Michael Sperber [Mr. Preprocessor] <sperber@informatik.uni-tuebingen.de>
+
+ * find-paths.el (paths-file-readable-directory-p): Created and
+ used.
+
+ * loadup.el: Don't set inhibit-... flags from run-temacs.
+
+1998-08-06 Michael Sperber [Mr. Preprocessor] <sperber@informatik.uni-tuebingen.de>
+
+ * packages.el (packages-data-path-depth): Added and used.
+
+1998-08-05 Charles G. Waldman <cgw@pgt.com>
+
+ * about.el:
+ - Change .xpm to .png, delete "zcat" section.
+ - cosmetic fix in the 'marcpa' entry.
+
+ * etc/photos
+ - convert all .xpm.Z to .png
+ - rename mrb to martin
+ - rename mcook-m to mcookm
+
+1998-07-31 Martin Buchholz <martin@xemacs.org>
+
+ * x-init.el (x-initialize-compose): Add support for
+ dead-circumflex as YET ANOTHER NAME for that dead key.
+
+1998-08-05 Colin Rafferty <colin@xemacs.org>
+
+ * setup-paths.el (paths-construct-exec-path): Made the
+ last-packages really be last.
+ (paths-construct-data-directory-list): Ditto.
+
+1998-08-01 Kai Haberzettl <khaberz@synnet.de>
+
+ * startup.el(startup-splash-frame-body):
+ Update Copyright notice in splash screen
+
+1998-07-20 Greg Klanderman <greg@alphatech.com>
+
+ * minibuf.el (read-file-name-internal-1): do ~user completion.
+
+1998-07-22 Jan Vroonhof <vroonhof@math.ethz.ch>
+
+ * font-lock.el (font-lock-fontify-glumped-region): Add guard
+ aginst destroyed extents
+
+1998-07-24 Greg Klanderman <greg@alphatech.com>
+
+ * package-get.el (package-get): add `install-dir' argument.
+
+1998-07-20 John Jones <jj@asu.edu>
+
+ * package-get.el: calls to package-get-update-all will only
+ update packages which are already installed.
+
+1998-07-23 SL Baur <steve@altair.xemacs.org>
+
+ * autoload.el (update-file-autoloads): Ensure autoloads buffer is
+ writable.
+
+1998-07-20 Colin Rafferty <colin@xemacs.org>
+
+ * about.el (about-hackers): Correct my email.
+
+1998-07-20 Kai Haberzettl <khaberz@synnet.de>
+
+ * about.el (about-hackers): new email-address.
+
+1998-07-25 SL Baur <steve@altair.xemacs.org>
+
+ * minibuf.el (read-number): Don't let `input-error' condition
+ escape.
+
+1998-07-20 Greg Klanderman <greg@alphatech.com>
+
+ * about.el (about-hackers): use my `email-for-life' address.
+
1998-07-19 SL Baur <steve@altair.xemacs.org>
* XEmacs 21.2-beta1 is released.
;; People in this list have their individual links from the main page,
;; or from the `Legion' page. If they have an image, it should be
-;; named after the CAR of the list element (baw -> baw.xpm).
+;; named after the CAR of the list element (baw -> baw.png).
;;
;; If you add to this list, you'll want to update
;; `about-maintainer-info' (and maybe `about-hackers'.
'((ajc "Andrew Cosgriff" "ajc@bing.wattle.id.au")
(baw "Barry Warsaw" "bwarsaw@python.org")
(bw "Bob Weiner" "weiner@altrasoft.com")
+ (chr "Christian Nybø" "chr@mediascience.no")
(cthomp "Chuck Thompson" "cthomp@xemacs.org")
(dmoore "David Moore" "dmoore@ucsd.edu")
(dkindred "Darrell Kindred" "dkindred@cmu.edu")
(dv "Didier Verna" "verna@inf.enst.fr")
(hniksic "Hrvoje Niksic" "hniksic@srce.hr")
(jareth "Jareth Hein" "jareth@camelot.co.jp")
- (jason "Jason Mastaler" "jason@mastaler.com")
+ (jason "Jason Mastaler" "jason@xemacs.org")
(jens "Jens Lautenbacher" "jens@lemcbed.lem.uni-karlsruhe.de")
(jmiller "Jeff Miller" "jmiller@smart.net")
(juhp "Jens-Ulrik Holger Petersen" "petersen@kurims.kyoto-u.ac.jp")
(martin "Martin Buchholz" "martin@xemacs.org")
(ograf "Oliver Graf" "ograf@fga.de")
(pez "Peter Pezaris" "pez@dwwc.com")
- (piper "Andy Piper" "andyp@parallax.co.uk")
+ (piper "Andy Piper" "andy@xemacs.org")
(rickc "Rick Campbell" "rickc@lehman.com")
(rossini "Anthony Rossini" "rossini@stat.sc.edu")
(vin "Vin Shelton" "acs@acm.org")
(slb "SL Baur" "steve@xemacs.org")
(stig "Jonathan Stigelman" "stig@hackvan.com")
(stigb "Stig Bjorlykke" "stigb@tihlde.hist.no")
- (thiessel "Marcus Thiessel" "thiessel@rhrk.uni-kl.de")
+ (thiessel "Marcus Thiessel" "marcus@xemacs.org")
(vladimir "Vladimir Ivanovic" "vladimir@mri.com")
(wing "Ben Wing" "ben@xemacs.org")
(wmperry "William Perry" "wmperry@aventail.com"))
(defvar about-url-alist
'((ajc . "http://www-personal.monash.edu.au/~ajc/")
(altrasoft . "http://www.altrasoft.com/")
+ (ben . "http://www.666.com/ben/")
+ (ben-xemacs . "http://www.666.com/xemacs/")
(baw . "http://www.python.org/~bwarsaw/")
(cc-mode . "http://www.python.org/ftp/emacs/")
+ (chr . "http://www.xemacs.org/faq/")
(dkindred . "http://www.cs.cmu.edu/People/dkindred/me.html")
(dmoore . "http://oj.egbt.org/dmoore/")
(jason . "http://www.mastaler.com/")
(marcpa . "http://www.positron911.com/products/power.htm")
(ograf . "http://www.fga.de/~ograf/")
(pez . "http://www.dwwc.com/")
- (piper . "http://www.parallax.co.uk/~andyp")
+ (piper . "http://www.xemacs.freeserve.co.uk/")
(vin . "http://www.upa.org/")
(stigb . "http://www.tihlde.hist.no/~stigb/")
(wget . "ftp://gnjilux.cc.fer.hr/pub/unix/util/wget/")
(let* ((emacs-short-version (format "%d.%d"
emacs-major-version
emacs-minor-version))
- (emacs-about-version (format "version %s; Apr 1998"
+ (emacs-about-version (format "version %s; Aug 1998"
emacs-short-version)))
(widget-insert (about-center emacs-about-version))
(widget-create 'link :help-echo "The latest NEWS of XEmacs"
:value who)
(widget-insert (format " <%s>\n" address)))))
;; Setup persons responsible for this release.
- (mapc 'setup-person '(slb hniksic kyle martin))
+ (mapc 'setup-person '(slb hniksic kyle martin piper))
(widget-insert "\n\t* ")
(widget-create 'link :help-echo "A legion of XEmacs hackers"
:action 'about-hackers
(if (memq (device-class)
'(color grayscale))
"" "m")
- ".xpm")
+ ".png")
(locate-data-directory "photos")))
(data nil))
- (unless (file-exists-p file)
- ;; Maybe the file is compressed?
- (setq file (concat file ".Z"))
- (if (file-exists-p file)
- ;; Decompress it.
- (condition-case nil
- (let ((buffer (get-buffer-create " *image*")))
- (unwind-protect
- (save-excursion
- (message "Uncompressing image...")
- (set-buffer buffer)
- (erase-buffer)
- (let ((coding-system-for-read 'binary)
- (coding-system-for-write 'binary))
- (insert-file-contents-literally file)
- (call-process-region (point-min) (point-max)
- "zcat" t t nil)
- (setq data
- (buffer-substring (point-min) (point-max))))
- (message "Uncompressing image... done"))
- (kill-buffer buffer)))
- (error (setq data 'error)))
- (setq file nil)))
(setq glyph
(cond ((stringp data)
(make-glyph
- (if (featurep 'xpm)
- `([xpm :data ,data]
+ (if (featurep 'png)
+ `([png :data ,data]
[string :data "[Image]"])
`([string :data "[Image]"]))))
((eq data 'error)
(make-glyph [string :data "[Error]"]))
(file
(make-glyph
- (if (featurep 'xpm)
- `([xpm :file ,file]
+ (if (featurep 'png)
+ `([png :file ,file]
[string :data "[Image]"])
`([string :data "[Image]"]))))
(t
(ecase (car entry)
(slb
(widget-insert "\
-I took over the maintenance of XEmacs in November of 1996 (it
-seemed like a good idea at the time ...). In real life I am a
-network administrator and Unix systems programmer for Calag.com,
-Inc. a small, but growing ISP in California.
-
-My main hobby while not maintaining XEmacs or working is ...
-you have got to be kidding ...")
+Peaches Baur, 1986-1999.
+Rest in peace")
(widget-insert ".\n"))
(martin
(widget-insert "\
Volunteer.\n"))
(hniksic
(widget-insert "\
-Hrvoje is currently a student at the Faculty of Electrical
-Engineering and Computing in Zagreb, Croatia. He works part-time
-at SRCE, where he helps run the network machines. In his free time he
-is helping develop free software (especially XEmacs, as well as GNU
-software) and is writing his own -- he has written a small network
-mirroring utility Wget, see ")
- (about-url-link 'wget "Download Wget")
- (widget-insert ".\n"))
+Hrvoje is a student at the Faculty of Electrical Engineering and
+Computing in Zagreb, Croatia, working part-time at system administration
+at SRCE. His hobby is hacking free software, particularly XEmacs and
+GNU Wget, the latter being his very own creation.
+
+His contribution to XEmacs consists of a multitude of hours spent
+adding new features and bugs, and fixing old ones. He dreams of
+writing a home page.\n"))
(wing
(widget-insert
"\
-I'm not a thug -- I just play one on video.
-My roommate says I'm a San Francisco \"Mission Critter\".\n\n"
- (about-with-face "Gory stuff follows:" 'italic)
- "\n
-In 1992 I left a stuffy East-Coast university, set out into the real
-world, and ended up a co-founder of Pearl Software. As part of this
-company, I became the principal architect of Win-Emacs, a port of
-Lucid Emacs to Microsoft Windows and Windows NT (for more info, e-mail
-to info@pearlsoft.com).
+I began my Emacs life in 1992 as the co-founder of the now defunct
+Pearl Software. As part of this company, I became the principal
+architect of Win-Emacs, an early port of Lucid Emacs to Microsoft
+Windows and Windows NT.
Since April 1993, I've worked on XEmacs as a contractor for various
companies, changing hats faster than Ronald Reagan's hair color (oops,
manual), and being a general nuisance ... er, brainstormer for many of
the new features of XEmacs.
-Recently I took a job at Dimension X, where I'm working on a
-Java-based toolkit for developing VRML applications.\n"))
+Alas, life has not been good to me recently. This former San Francisco
+\"Mission Critter\" was exiled to \"Stroller Valley\" and, after a brief
+stint developing a Java-based VRML toolkit for the now also defunct
+Dimension X, I developed insidious hand and neck problems, and I was
+forced to quit working. Since then, I have been learning how to interact
+with the computer by using foot pedals and by dictating text to other
+people. Recently I completed Architecting XEmacs, a web site about the
+future of XEmacs.\n\n")
+ (widget-insert "Architecting XEmacs: ")
+ (about-url-link 'ben-xemacs "Find the miracles in store for XEmacs")
+ (widget-insert "\nBen's home page: ")
+ (about-url-link 'ben "Visit Ben's page")
+ (widget-insert "\n"))
(cthomp
(widget-insert "\
Chuck, through being in the wrong place at the right time, has gotten
system written in Modula3:\n")
(about-url-link 'marcpa "Visit POWER 911")
(widget-insert "\
-Previously, I worked at Softimage Inc., now a Microsoft company
+\n\nPreviously, I worked at Softimage Inc., now a Microsoft company
\(eeekkk!), as a UNIX system administrator. This is where I've been
converted to NT.
(widget-insert ".\n"))
(thiessel
(widget-insert "\
-On May 1, 1996 he started working at University of Kaiserslautern in
-the field of computer aided analog circuit design. His
-responsibilities include the development and design of a CAD-Tool for
-analog integrated circuits with special emphasis on distributed
-software concepts.
-
-When all the daily hacking is done he tries to take care of XEmacs
-website at ")
- (about-url-link 'xemacs "Visit XEmacs web site")
- (widget-insert ".\n"))
+ All of the buildings,
+ all of the cars
+ were once just a dream
+ in somebody's head.\n
+ P. Gabriel\n\n
+")
+ (widget-insert "\n"))
(sperber
(widget-insert "\
Mike ported EFS to XEmacs 20 and integrated EFS into XEmacs. He's
(widget-insert ".\n"))
(jason
(widget-insert "\
-Beta tester and manager of the various XEmacs mailing lists.
-Originator and maintainer of the gnus.org domain.
+Beta tester, manager of the various XEmacs mailing lists and
+binary kit manager. Also, originator and maintainer of the gnus.org
+domain.
Jason resides in Albuquerque, New Mexico where he keeps himself
busy with studies at the university and consulting work.
Roman history and enjoys making trips to Italy, where he was born, and
seeing the sights")
(widget-insert ".\n"))
+ (chr
+ (widget-insert "\
+Maintainer of the XEmacs FAQ and proud author of `zap-up-to-char'.
+
+Christian is a student at the Norwegian School of Economics and
+Business Administration in Bergen, Norway. He used to work for an
+internet startup called New Media Science, doing scripting and
+violation of HTML DTD's. After graduation, spring 1999, he'll be
+looking for a job involving lisp programming, French and Russian.")
+ (widget-insert ".\n"))
))
;; Setup the buffer for a maintainer.
(format "<%s>\n%s\n" address shortinfo))))
(defun about-hackers (&rest ignore)
- (unless (about-get-buffer "*About Hackers*")
+ (unless (about-get-buffer "*About Contributors*")
(let ((title "Other Contributors to XEmacs"))
(widget-insert
(about-center title)
Vin helps maintain the older, more mature (read: moldy) versions of
XEmacs. Vin has maintained the official XEmacs patch pages.\n")
(about-show-linked-info 'thiessel "\
-On May 1, 1996 he started working at University of Kaiserslautern in
-the field of computer aided analog circuit design. His
-responsibilities include the development and design of a CAD-Tool for
-analog integrated circuits with special emphasis on distributed
-software concepts.
+Worked at University of Kaiserslautern where he took part in the
+development and design of a CAD framework for analog integrated
+circuits with special emphasis on distributed software concepts. He
+has now joined HP as technical consultant.
-When all the daily hacking is done he tries to take care of XEmacs
+For XEmacs he does beta testing and tries to take care of XEmacs
website at <http://www.xemacs.org>.\n")
(about-show-linked-info 'ajc "\
When not helping maintain the XEmacs website, Andrew is a Network
Originator and maintainer of the gnus.org domain.\n")
(about-show-linked-info 'jmiller "\
Beta tester and last hacker of calendar.\n")
+ (about-show-linked-info 'chr "\
+Maintainer of the XEmacs FAQ and proud author of `zap-up-to-char'.\n")
(flet ((print-short (name addr &optional shortinfo)
(concat (about-with-face name 'italic)
(about-tabs name)
(print-short "Michael Guenther" "michaelg@igor.stuttgart.netsurf.de")
(print-short "Dipankar Gupta" "dg@hplb.hpl.hp.com")
(print-short "Markus Gutschke" "gutschk@GOEDEL.UNI-MUENSTER.DE")
- (print-short "Kai Haberzettl" "khaberz@privat.circular.de")
+ (print-short "Kai Haberzettl" "khaberz@synnet.de")
(print-short "Adam Hammer" "hammer@cs.purdue.edu")
(print-short "Magnus Hammerin" "magnush@epact.se")
(print-short "ChangGil Han" "cghan@phys401.phys.pusan.ac.kr")
(print-short "Gregor Kennedy" "gregork@dadd.ti.com")
(print-short "Michael Kifer" "kifer@cs.sunysb.edu")
(print-short "Yasuhiko Kiuchi" "kiuchi@dsp.ksp.fujixerox.co.jp")
- (print-short "Greg Klanderman" "greg@alphatech.com")
+ (print-short "Greg Klanderman" "greg.klanderman@alum.mit.edu")
(print-short "Valdis Kletnieks" "Valdis.Kletnieks@vt.edu")
+ (print-short "Norbert Koch" "n.koch@delta-ii.de")
(print-short "Rob Kooper" "kooper@cc.gatech.edu")
(print-short "Peter Skov Knudsen" "knu@dde.dk")
(print-short "Jens Krinke" "krinke@ips.cs.tu-bs.de")
(print-short "Maximilien Lincourt" "max@toonboom.com")
(print-short "Mats Larsson" "Mats.Larsson@uab.ericsson.se")
(print-short "Simon Leinen" "simon@instrumatic.ch")
- (print-short "Carsten Leonhardt" "leo@arioch.tng.oche.de")
+ (print-short "Carsten Leonhardt" "leo@arioch.oche.de")
(print-short "James LewisMoss" "moss@cs.sc.edu")
(print-short "Mats Lidell" "mats.lidell@contactor.se")
(print-short "Matt Liggett" "mliggett@seven.ucs.indiana.edu")
(print-short "Andy Norman" "ange@hplb.hpl.hp.com")
(print-short "Joe Nuspl" "nuspl@sequent.com")
(print-short "Kim Nyberg" "kny@tekla.fi")
- (print-short "Christian Nybø" "chr@mediascience.no")
(print-short "Kevin Oberman" "oberman@es.net")
(print-short "David Ofelt" "ofelt@getalife.Stanford.EDU")
(print-short "Alexandre Oliva" "oliva@dcc.unicamp.br")
(print-short "Frederic Poncin" "fp@info.ucl.ac.be")
(print-short "E. Rehmi Post" "rehmi@asylum.sf.ca.us")
(print-short "Martin Pottendorfer" "Martin.Pottendorfer@aut.alcatel.at")
- (print-short "Colin Rafferty" "craffert@ml.com")
+ (print-short "Colin Rafferty" "colin@xemacs.org")
(print-short "Rick Rankin" "Rick_Rankin-P15254@email.mot.com")
(print-short "Paul M Reilly" "pmr@pajato.com")
(print-short "Jack Repenning" "jackr@sgi.com")
(print-short "Cotton Seed" "cottons@cybercom.net")
(print-short "Axel Seibert" "seiberta@informatik.tu-muenchen.de")
(print-short "Odd-Magne Sekkingstad" "oddms@ii.uib.no")
+ (print-short "Gregory Neil Shapiro" "gshapiro@sendmail.org")
(print-short "Justin Sheehy" "justin@linus.mitre.org")
(print-short "John Shen" "zfs60@cas.org")
(print-short "Murata Shuuichirou" "mrt@mickey.ai.kyutech.ac.jp")
(print-short "Juan E. Villacis" "jvillaci@cs.indiana.edu")
(print-short "Jan Vroonhof" "vroonhof@math.ethz.ch")
(print-short "Vladimir Vukicevic" "vladimir@intrepid.com")
- (print-short "Charles G. Waldman" "cgw@pgt.com")
+ (print-short "Charles G. Waldman" "cgw@fnal.gov")
(print-short "David Walte" "djw18@cornell.edu")
(print-short "Peter Ware" "ware@cis.ohio-state.edu")
(print-short "Christoph Wedler" "wedler@fmi.uni-passau.de")
(print-short "Peter B. West" "p.west@uq.net.au")
(print-short "Rod Whitby" "rwhitby@asc.corp.mot.com")
(print-short "Rich Williams" "rdw@hplb.hpl.hp.com")
+ (print-short "Raymond Wiker" "raymond@orion.no")
(print-short "Peter Windle" "peterw@SDL.UG.EDS.COM")
(print-short "David C Worenklein" "dcw@gcm.com")
(print-short "Takeshi Yamada" "yamada@sylvie.kecl.ntt.jp")
(print-short "Jason Yanowitz" "yanowitz@eternity.cs.umass.edu")
(print-short "La Monte Yarroll" "piggy@hilbert.maths.utas.edu.au")
(print-short "Blair Zajac" "blair@olympia.gps.caltech.edu")
+ (print-short "Volker Zell" "vzell@de.oracle.com")
(print-short "Daniel Zivkovic" "daniel@canada.sun.com")
(print-short "Karel Zuiderveld" "Karel.Zuiderveld@cv.ruu.nl")
"\n"))
-;;; alist.el --- utility functions about assoc-list
+;;; alist.el --- utility functions about association-list
-;; Copyright (C) 1993,1994,1995,1996 Free Software Foundation, Inc.
+;; Copyright (C) 1993,1994,1995,1996,1998 Free Software Foundation, Inc.
;; Author: MORIOKA Tomohiko <morioka@jaist.ac.jp>
-;; Version:
-;; $Id: alist.el,v 1.1 1997/11/29 20:37:43 steve Exp $
;; Keywords: alist
-;; This file is part of SEMI (SEMI is Emacs MIME Interfaces).
+;; This file is part of APEL (A Portable Emacs Library).
;; This program is free software; you can redistribute it and/or
;; modify it under the terms of the GNU General Public License as
;;; Code:
+;;;###autoload
(defun put-alist (item value alist)
"Modify ALIST to set VALUE to ITEM.
If there is a pair whose car is ITEM, replace its cdr by VALUE.
(cons (cons item value) alist)
)))
+;;;###autoload
(defun del-alist (item alist)
"If there is a pair whose key is ITEM, delete it from ALIST.
\[tomo's ELIS emulating function]"
)
alist))))
+;;;###autoload
(defun set-alist (symbol item value)
"Modify a alist indicated by SYMBOL to set VALUE to ITEM."
(or (boundp symbol)
(set symbol (put-alist item value (symbol-value symbol)))
)
+;;;###autoload
(defun remove-alist (symbol item)
"Remove ITEM from the alist indicated by SYMBOL."
(and (boundp symbol)
(set symbol (del-alist item (symbol-value symbol)))
))
+;;;###autoload
(defun modify-alist (modifier default)
"Modify alist DEFAULT into alist MODIFIER."
(mapcar (function
modifier)
default)
+;;;###autoload
(defun set-modified-alist (sym modifier)
"Modify a value of a symbol SYM into alist MODIFIER.
The symbol SYM should be alist. If it is not bound,
(lambda (symbol)
(setq f (apropos-safe-documentation symbol)
v (get symbol 'variable-documentation))
- (if (integerp v) (setq v))
+ (when (integerp v) (setq v nil))
(setq f (apropos-documentation-internal f)
v (apropos-documentation-internal v))
(if (or f v)
;;;***
\f
+;;;### (autoloads (set-modified-alist modify-alist remove-alist set-alist del-alist put-alist) "alist" "lisp/alist.el")
+
+(autoload 'put-alist "alist" "\
+Modify ALIST to set VALUE to ITEM.
+If there is a pair whose car is ITEM, replace its cdr by VALUE.
+If there is not such pair, create new pair (ITEM . VALUE) and
+return new alist whose car is the new pair and cdr is ALIST.
+[tomo's ELIS like function]" nil nil)
+
+(autoload 'del-alist "alist" "\
+If there is a pair whose key is ITEM, delete it from ALIST.
+[tomo's ELIS emulating function]" nil nil)
+
+(autoload 'set-alist "alist" "\
+Modify a alist indicated by SYMBOL to set VALUE to ITEM." nil nil)
+
+(autoload 'remove-alist "alist" "\
+Remove ITEM from the alist indicated by SYMBOL." nil nil)
+
+(autoload 'modify-alist "alist" "\
+Modify alist DEFAULT into alist MODIFIER." nil nil)
+
+(autoload 'set-modified-alist "alist" "\
+Modify a value of a symbol SYM into alist MODIFIER.
+The symbol SYM should be alist. If it is not bound,
+its value regard as nil." nil nil)
+
+;;;***
+\f
;;;### (autoloads (apropos-documentation apropos-value apropos apropos-command) "apropos" "lisp/apropos.el")
(fset 'command-apropos 'apropos-command)
;;;***
\f
-;;;### (autoloads (compiler-macroexpand define-compiler-macro ignore-errors assert check-type typep deftype cl-struct-setf-expander defstruct define-modify-macro callf2 callf letf* letf rotatef shiftf remf cl-do-pop psetf setf get-setf-method defsetf define-setf-method declare the locally multiple-value-setq multiple-value-bind lexical-let* lexical-let symbol-macrolet macrolet labels flet progv psetq do-all-symbols do-symbols dotimes dolist do* do loop return-from return block etypecase typecase ecase case load-time-value eval-when destructuring-bind function* defmacro* defun* gentemp gensym cl-compile-time-init) "cl-macs" "lisp/cl-macs.el")
+;;;### (autoloads (compiler-macroexpand define-compiler-macro ignore-file-errors ignore-errors assert check-type typep deftype cl-struct-setf-expander defstruct define-modify-macro callf2 callf letf* letf rotatef shiftf remf cl-do-pop psetf setf get-setf-method defsetf define-setf-method declare the locally multiple-value-setq multiple-value-bind lexical-let* lexical-let symbol-macrolet macrolet labels flet progv psetq do-all-symbols do-symbols dotimes dolist do* do loop return-from return block etypecase typecase ecase case load-time-value eval-when destructuring-bind function* defmacro* defun* gentemp gensym cl-compile-time-init) "cl-macs" "lisp/cl-macs.el")
(autoload 'cl-compile-time-init "cl-macs" nil nil nil)
(autoload 'return-from "cl-macs" "\
(return-from NAME [RESULT]): return from the block named NAME.
-This jump out to the innermost enclosing `(block NAME ...)' form,
+This jumps out to the innermost enclosing `(block NAME ...)' form,
returning RESULT from that form (or nil if RESULT is omitted).
This is compatible with Common Lisp, but note that `defun' and
`defmacro' do not create implicit blocks as they do in Common Lisp." nil 'macro)
(autoload 'labels "cl-macs" "\
(labels ((FUNC ARGLIST BODY...) ...) FORM...): make temporary func bindings.
This is like `flet', except the bindings are lexical instead of dynamic.
-Unlike `flet', this macro is fully complaint with the Common Lisp standard." nil 'macro)
+Unlike `flet', this macro is fully compliant with the Common Lisp standard." nil 'macro)
(autoload 'macrolet "cl-macs" "\
(macrolet ((NAME ARGLIST BODY...) ...) FORM...): make temporary macro defns.
Execute FORMS; if an error occurs, return nil.
Otherwise, return result of last FORM." nil 'macro)
+(autoload 'ignore-file-errors "cl-macs" "\
+Execute FORMS; if an error of type `file-error' occurs, return nil.
+Otherwise, return result of last FORM." nil 'macro)
+
(autoload 'define-compiler-macro "cl-macs" "\
(define-compiler-macro FUNC ARGLIST BODY...): Define a compiler-only macro.
This is like `defmacro', but macro expansion occurs only if the call to
;;;### (autoloads (config-value config-value-hash-table) "config" "lisp/config.el")
(autoload 'config-value-hash-table "config" "\
-Return hashtable of configuration parameters and their values." nil nil)
+Return hash table of configuration parameters and their values." nil nil)
(autoload 'config-value "config" "\
Return the value of the configuration parameter CONFIG_SYMBOL." nil nil)
;;;***
\f
-;;;### (autoloads (custom-set-faces custom-declare-face) "cus-face" "lisp/cus-face.el")
+;;;### (autoloads (custom-set-faces custom-set-face-update-spec custom-declare-face) "cus-face" "lisp/cus-face.el")
(autoload 'custom-declare-face "cus-face" "\
Like `defface', but FACE is evaluated as a normal argument." nil nil)
+(autoload 'custom-set-face-update-spec "cus-face" "\
+Customize the FACE for display types matching DISPLAY, merging
+ in the new items from PLIST" nil nil)
+
(autoload 'custom-set-faces "cus-face" "\
Initialize faces according to user preferences.
The arguments should be a list where each entry has the form:
;;;***
\f
-;;;### (autoloads (tags-apropos list-tags tags-query-replace tags-search tags-loop-continue next-file tag-complete-symbol find-tag-other-window find-tag visit-tags-table) "etags" "lisp/etags.el")
+;;;### (autoloads (pop-tag-mark tags-apropos list-tags tags-query-replace tags-search tags-loop-continue next-file tag-complete-symbol find-tag-other-window find-tag visit-tags-table) "etags" "lisp/etags.el")
(autoload 'visit-tags-table "etags" "\
Tell tags commands to use tags table file FILE when all else fails.
Display list of all tags in tag table REGEXP matches." t nil)
(define-key esc-map "*" 'pop-tag-mark)
+(autoload 'pop-tag-mark "etags" "\
+Go to last tag position.
+`find-tag' maintains a mark-stack seperate from the \\[set-mark-command] mark-stack.
+This function pops (and moves to) the tag at the top of this stack." t nil)
+
;;;***
\f
;;;### (autoloads (finder-by-keyword) "finder" "lisp/finder.el")
Where MATCHER is as for MATCH-HIGHLIGHT with one exception; see below.
PRE-MATCH-FORM and POST-MATCH-FORM are evaluated before the first, and after
the last, instance MATCH-ANCHORED's MATCHER is used. Therefore they can be
-used to initialise before, and cleanup after, MATCHER is used. Typically,
+used to initialize before, and cleanup after, MATCHER is used. Typically,
PRE-MATCH-FORM is used to move to some position relative to the original
MATCHER, before starting with MATCH-ANCHORED's MATCHER. POST-MATCH-FORM might
be used to move, before resuming with MATCH-ANCHORED's parent's MATCHER.
(make-variable-buffer-local 'font-lock-keywords)
-(defcustom font-lock-mode nil "Non nil means `font-lock-mode' is on" :group 'font-lock :type 'boolean :initialize 'custom-initialize-default :require 'font-lock :set '(lambda (var val) (font-lock-mode (or val 0))))
+(defcustom font-lock-mode nil "Non nil means `font-lock-mode' is on" :group 'font-lock :type 'boolean :initialize 'custom-initialize-default :require 'font-lock :set (function (lambda (var val) (font-lock-mode (or val 0)))))
(defvar font-lock-mode-hook nil "\
Function or functions to run on entry to font-lock-mode.")
;;;***
\f
-;;;### (autoloads (hyper-apropos-popup-menu hyper-apropos-set-variable hyper-set-variable hyper-apropos-read-variable-symbol hyper-describe-function hyper-describe-variable hyper-describe-face hyper-describe-key-briefly hyper-describe-key hyper-apropos) "hyper-apropos" "lisp/hyper-apropos.el")
+;;;### (autoloads (hyper-apropos-popup-menu hyper-apropos-set-variable hyper-set-variable hyper-apropos-read-variable-symbol hyper-describe-function hyper-where-is hyper-describe-variable hyper-describe-face hyper-describe-key-briefly hyper-describe-key hyper-apropos) "hyper-apropos" "lisp/hyper-apropos.el")
(autoload 'hyper-apropos "hyper-apropos" "\
Display lists of functions and variables matching REGEXP
Hypertext drop-in replacement for `describe-variable'.
See also `hyper-apropos' and `hyper-describe-function'." t nil)
+(autoload 'hyper-where-is "hyper-apropos" "\
+Print message listing key sequences that invoke specified command." t nil)
+
(autoload 'hyper-describe-function "hyper-apropos" "\
Hypertext replacement for `describe-function'. Unlike `describe-function'
in that the symbol under the cursor is the default if it is a function.
;;;***
\f
-;;;### (autoloads (package-get-custom package-get-package-provider package-get package-get-all package-get-update-all) "package-get" "lisp/package-get.el")
+;;;### (autoloads (package-get-custom package-get-package-provider package-get package-get-dependencies package-get-all package-get-update-all package-get-delete-package package-get-save-base package-get-update-base-from-buffer package-get-update-base package-get-update-base-entry package-get-require-base package-get-download-menu) "package-get" "lisp/package-get.el")
+
+(defvar package-get-base nil "\
+List of packages that are installed at this site.
+For each element in the alist, car is the package name and the cdr is
+a plist containing information about the package. Typical fields
+kept in the plist are:
+
+version - version of this package
+provides - list of symbols provided
+requires - list of symbols that are required.
+ These in turn are provided by other packages.
+filename - name of the file.
+size - size of the file (aka the bundled package)
+md5sum - computed md5 checksum
+description - What this package is for.
+type - Whether this is a 'binary (default) or 'single file package
+
+More fields may be added as needed. An example:
+
+'(
+ (name
+ (version \"<version 2>\"
+ file \"filename\"
+ description \"what this package is about.\"
+ provides (<list>)
+ requires (<list>)
+ size <integer-bytes>
+ md5sum \"<checksum\"
+ type single
+ )
+ (version \"<version 1>\"
+ file \"filename\"
+ description \"what this package is about.\"
+ provides (<list>)
+ requires (<list>)
+ size <integer-bytes>
+ md5sum \"<checksum\"
+ type single
+ )
+ ...
+ ))
+
+For version information, it is assumed things are listed in most
+recent to least recent -- in other words, the version names don't have to
+be lexically ordered. It is debatable if it makes sense to have more than
+one version of a package available.")
+
+(autoload 'package-get-download-menu "package-get" "\
+Build the `Add Download Site' menu." nil nil)
+
+(autoload 'package-get-require-base "package-get" "\
+Require that a package-get database has been loaded.
+If the optional FORCE-CURRENT argument or the value of
+`package-get-always-update' is Non-nil, try to update the database
+from a location in `package-get-remote'. Otherwise a local copy is used
+if available and remote access is never done.
+
+Please use FORCE-CURRENT only when the user is explictly dealing with packages
+and remote access is likely in the near future." nil nil)
+
+(autoload 'package-get-update-base-entry "package-get" "\
+Update an entry in `package-get-base'." nil nil)
+
+(autoload 'package-get-update-base "package-get" "\
+Update the package-get database file with entries from DB-FILE.
+Unless FORCE-CURRENT is non-nil never try to update the database." t nil)
+
+(autoload 'package-get-update-base-from-buffer "package-get" "\
+Update the package-get database with entries from BUFFER.
+BUFFER defaults to the current buffer. This command can be
+used interactively, for example from a mail or news buffer." t nil)
+
+(autoload 'package-get-save-base "package-get" "\
+Write the package-get database to FILE.
+
+Note: This database will be unsigned of course." t nil)
+
+(autoload 'package-get-delete-package "package-get" "\
+Delete an installation of PACKAGE below directory PKG-TOPDIR.
+PACKAGE is a symbol, not a string.
+This is just an interactive wrapper for `package-admin-delete-binary-package'." t nil)
(autoload 'package-get-update-all "package-get" "\
Fetch and install the latest versions of all currently installed packages." t nil)
Uses `package-get-base' to determine just what is required and what
package provides that functionality. If VERSION is nil, retrieves
latest version. Optional argument FETCHED-PACKAGES is used to keep
-track of packages already fetched." t nil)
+track of packages already fetched. Optional argument INSTALL-DIR,
+if non-nil, specifies the package directory where fetched packages
+should be installed.
+
+Returns nil upon error." t nil)
+
+(autoload 'package-get-dependencies "package-get" "\
+Compute dependencies for PACKAGES.
+Uses `package-get-base' to determine just what is required and what
+package provides that functionality. Returns the list of packages
+required by PACKAGES." nil nil)
(autoload 'package-get "package-get" "\
Fetch PACKAGE from remote site.
package is already installed. Valid values for CONFLICT are:
'always always retrieve the package even if it is already installed
'never do not retrieve the package if it is installed.
+INSTALL-DIR, if non-nil, specifies the package directory where
+fetched packages should be installed.
The value of `package-get-base' is used to determine what files should
be retrieved. The value of `package-get-remote' is used to determine
Once the package is retrieved, its md5 checksum is computed. If that
sum does not match that stored in `package-get-base' for this version
-of the package, an error is signalled." t nil)
+of the package, an error is signalled.
+
+Returns `t' upon success, the symbol `error' if the package was
+successfully installed but errors occurred during initialization, or
+`nil' upon error." t nil)
(autoload 'package-get-package-provider "package-get" "\
Search for a package that provides SYM and return the name and
version. Searches in `package-get-base' for SYM. If SYM is a
consp, then it must match a corresponding (provide (SYM VERSION)) from
- the package." t nil)
+ the package.
+
+If FORCE-CURRENT is non-nil make sure the database is up to date. This might
+lead to Emacs accessing remote sites." t nil)
(autoload 'package-get-custom "package-get" "\
Fetch and install the latest versions of all customized packages." t nil)
;;;***
\f
+;;;### (autoloads (pui-list-packages pui-add-install-directory package-ui-add-site) "package-ui" "lisp/package-ui.el")
+
+(autoload 'package-ui-add-site "package-ui" "\
+Add site to package-get-remote and possibly offer to update package list." nil nil)
+
+(autoload 'pui-add-install-directory "package-ui" "\
+Add a new package binary directory to the head of `package-get-remote'.
+Note that no provision is made for saving any changes made by this function.
+It exists mainly as a convenience for one-time package installations from
+disk." t nil)
+
+(autoload 'pui-list-packages "package-ui" "\
+List all packages and package information.
+The package name, version, and description are displayed. From the displayed
+buffer, the user can see which packages are installed, which are not, and
+which are out-of-date (a newer version is available). The user can then
+select packages for installation via the keyboard or mouse." t nil)
+
+(defalias 'list-packages 'pui-list-packages)
+
+;;;***
+\f
;;;### (autoloads (picture-mode) "picture" "lisp/picture.el")
(autoload 'picture-mode "picture" "\
;;;***
\f
-;;;### (autoloads (auto-view-mode view-major-mode view-mode view-minor-mode view-buffer-other-window view-file-other-window view-buffer view-file) "view-less" "lisp/view-less.el")
+;;;### (autoloads (toggle-truncate-lines auto-view-mode view-major-mode view-mode view-minor-mode view-buffer-other-window view-file-other-window view-buffer view-file) "view-less" "lisp/view-less.el")
(defvar view-minor-mode-map (let ((map (make-keymap))) (set-keymap-name map 'view-minor-mode-map) (suppress-keymap map) (define-key map "-" 'negative-argument) (define-key map " " 'scroll-up) (define-key map "f" 'scroll-up) (define-key map "b" 'scroll-down) (define-key map 'backspace 'scroll-down) (define-key map 'delete 'scroll-down) (define-key map "\r" 'view-scroll-lines-up) (define-key map "\n" 'view-scroll-lines-up) (define-key map "e" 'view-scroll-lines-up) (define-key map "j" 'view-scroll-lines-up) (define-key map "y" 'view-scroll-lines-down) (define-key map "k" 'view-scroll-lines-down) (define-key map "d" 'view-scroll-some-lines-up) (define-key map "u" 'view-scroll-some-lines-down) (define-key map "r" 'recenter) (define-key map "t" 'toggle-truncate-lines) (define-key map "N" 'view-buffer) (define-key map "E" 'view-file) (define-key map "P" 'view-buffer) (define-key map "!" 'shell-command) (define-key map "|" 'shell-command-on-region) (define-key map "=" 'what-line) (define-key map "?" 'view-search-backward) (define-key map "h" 'view-mode-describe) (define-key map "s" 'view-repeat-search) (define-key map "n" 'view-repeat-search) (define-key map "/" 'view-search-forward) (define-key map "\\" 'view-search-backward) (define-key map "g" 'view-goto-line) (define-key map "G" 'view-last-windowful) (define-key map "%" 'view-goto-percent) (define-key map "p" 'view-goto-percent) (define-key map "m" 'point-to-register) (define-key map "'" 'register-to-point) (define-key map "C" 'view-cleanup-backspaces) (define-key map "\ 3\ 3" 'view-quit) (define-key map "\18\11" 'view-quit-toggle-ro) (define-key map "q" 'view-quit) map))
If the file of the current buffer is not writable, call view-mode.
This is meant to be added to `find-file-hooks'." nil nil)
+(autoload 'toggle-truncate-lines "view-less" "\
+Toggles the values of truncate-lines.
+Positive prefix arg sets, negative disables." t nil)
+
;;;***
\f
;;;### (autoloads (widget-minor-mode widget-browse-other-window widget-browse widget-browse-at) "wid-browse" "lisp/wid-browse.el")
\f
;;;### (autoloads (font-menu-weight-constructor font-menu-size-constructor font-menu-family-constructor reset-device-font-menus) "x-font-menu" "lisp/x-font-menu.el")
-(defcustom font-menu-ignore-scaled-fonts t "*If non-nil, then the font menu will try to show only bitmap fonts." :type 'boolean :group 'x)
+(defcustom font-menu-ignore-scaled-fonts t "*If non-nil, then the font menu will try to show only bitmap fonts." :type 'boolean :group 'font-menu)
-(defcustom font-menu-this-frame-only-p nil "*If non-nil, then changing the default font from the font menu will only\naffect one frame instead of all frames." :type 'boolean :group 'x)
+(defcustom font-menu-this-frame-only-p nil "*If non-nil, then changing the default font from the font menu will only\naffect one frame instead of all frames." :type 'boolean :group 'font-menu)
(fset 'install-font-menus 'reset-device-font-menus)
(autoload 'font-menu-weight-constructor "x-font-menu" nil nil nil)
;;;***
+\f
+;;;### (autoloads (x-win-init-sun) "x-win-sun" "lisp/x-win-sun.el")
+
+(autoload 'x-win-init-sun "x-win-sun" nil nil nil)
+
+;;;***
+\f
+;;;### (autoloads (x-win-init-xfree86) "x-win-xfree86" "lisp/x-win-xfree86.el")
+
+(autoload 'x-win-init-xfree86 "x-win-xfree86" nil nil nil)
+
+;;;***
(provide 'Standard-autoloads)
\f
;;; Preparations to be done at load time
-(defvar auto-save-directory-fallback (expand-file-name "~/.autosave/")
+;; Do not call expand-file-name! This is evaluated at dump time now!
+(defvar auto-save-directory-fallback "~/.autosave/"
;; not user-variable-p, see above
"Directory used for local autosaving of remote files if
both `auto-save-directory' and `efs-auto-save-remotely' are nil.
auto-save-directory-fallback))
"If non-nil, directory used for hashed autosave filenames.")
-(defun auto-save-check-directory (var)
- (let ((dir (symbol-value var)))
- (if (null dir)
- nil
- ;; Expand and store back into the variable
- (set var (setq dir (expand-file-name dir)))
+(defun auto-save-checked-directory (dir)
+ "Make sure the directory DIR exists and return it expanded if non-nil."
+ (when dir
+ (setq dir (expand-file-name dir))
;; Make sure directory exists
- (if (file-directory-p dir)
- nil
+ (unless (file-directory-p dir)
;; Else we create and chmod 0700 the directory
(setq dir (directory-file-name dir)) ; some systems need this
(make-directory dir)
- (set-file-modes dir #o700)))))
+ (set-file-modes dir #o700))
+ dir))
-(mapc #'auto-save-check-directory
- '(auto-save-directory auto-save-directory-fallback))
+;; This make no sense at dump time
+;; (mapc #'auto-save-check-directory
+; '(auto-save-directory auto-save-directory-fallback))
-(and auto-save-hash-p
- (auto-save-check-directory 'auto-save-hash-directory))
+;(and auto-save-hash-p
+; (auto-save-check-directory 'auto-save-hash-directory))
\f
;;; Computing an autosave name for a file and vice versa
(string-match "^#%" basename))
nil)
;; now we know it looks like #...# thus substring is safe to use
- ((or (equal savedir auto-save-directory) ; 2nd arg may be nil
- (equal savedir auto-save-directory-fallback))
+ ((or (equal savedir
+ (and auto-save-directory
+ (expand-file-name auto-save-directory)))
+ ; 2nd arg may be nil
+ (equal savedir
+ (expand-file-name auto-save-directory-fallback)))
;; it is of the `-fixed-directory' type
(auto-save-slashify-name (substring basename 1 -1)))
(t
auto-save-hash-directory
(> (length base-name) 14))
(expand-file-name (auto-save-cyclic-hash-14 filename)
- auto-save-hash-directory)
+ (auto-save-checked-directory auto-save-hash-directory))
(expand-file-name base-name
- (or auto-save-directory
- auto-save-directory-fallback)))))
+ (auto-save-checked-directory
+ (or auto-save-directory
+ auto-save-directory-fallback))))))
(defun auto-save-name-in-same-directory (filename &optional prefix)
;; Enclose the non-directory part of FILENAME in `#' to make an auto
(let ((directory (file-name-directory filename)))
(or (null directory)
(file-writable-p directory)
- (setq directory auto-save-directory-fallback))
+ (setq directory (auto-save-checked-directory
+ auto-save-directory-fallback)))
(concat directory ; (concat nil) is ""
(or prefix "#")
(file-name-nondirectory filename)
file ; its original file
(total 0) ; # of files offered to recover
(count 0)) ; # of files actually recovered
- (or (equal auto-save-directory auto-save-directory-fallback)
+ (or (equal (expand-file-name auto-save-directory)
+ (expand-file-name auto-save-directory-fallback))
(setq savefiles
(nconc savefiles
(directory-files auto-save-directory-fallback
that the region will be visible when `auto-show-make-point-visible'
is next called (this happens after every command)."
(if (auto-show-should-take-action-p)
- (let* ((col (current-column)) ;column on line point is at
- (scroll (window-hscroll));how far window is scrolled
+ (let* ((scroll (window-hscroll)) ;how far window is scrolled
(w-width (- (window-width)
(if (> scroll 0)
2 1))) ;how wide window is on the screen
(let ((find-file-hooks nil))
(set-buffer (or (get-file-buffer generated-autoload-file)
(find-file-noselect generated-autoload-file))))
+ ;; Make sure we can scribble in it.
+ (setq buffer-read-only nil)
;; First delete all sections for this file.
(goto-char (point-min))
(while (search-forward generate-autoload-section-header nil t)
(defun switch-to-buffer (bufname &optional norecord)
"Select buffer BUFNAME in the current window.
-BUFNAME may be a buffer or a buffer name and is created if did not exist.
-Optional second arg NORECORD non-nil means
-do not put this buffer at the front of the list of recently selected ones.
+BUFNAME may be a buffer or a buffer name and is created if it did not exist.
+Optional second arg NORECORD non-nil means do not put this buffer at the
+front of the list of recently selected ones.
WARNING: This is NOT the way to work on another buffer temporarily
within a Lisp program! Use `set-buffer' instead. That avoids messing with
(prompts build-report-prompts))
(progn
(while prompts
+ (defvar hist)
(setq prompt (caar prompts))
(setq hist (cdar prompts))
(setq prompts (cdr prompts))
(defun build-report-keep ()
"build-report-internal function of no general value."
- (mapconcat '(lambda (item) item)
+ (mapconcat #'identity
(cons "^--\\[\\[\\|\\]\\]$" build-report-keep-regexp) "\\|"))
(defun build-report-delete ()
"build-report-internal function of no general value."
- (mapconcat '(lambda (item) item)
+ (mapconcat #'identity
build-report-delete-regexp "\\|"))
;;; build-report.el ends here
-;;; byte-opt.el --- the optimization passes of the emacs-lisp byte compiler.
+;;; byte-optimize.el --- the optimization passes of the emacs-lisp byte compiler.
;;; Copyright (c) 1991, 1994 Free Software Foundation, Inc.
;; TO DO:
;;
-;; (apply '(lambda (x &rest y) ...) 1 (foo))
+;; (apply #'(lambda (x &rest y) ...) 1 (foo))
;;
;; maintain a list of functions known not to access any global variables
;; (actually, give them a 'dynamically-safe property) and then
;; in some grody way, but that's a really bad idea.)
;;
;; HA! RMS removed the following paragraph from his version of
-;; byte-opt.el.
+;; byte-optimize.el.
;;
;; Really the Right Thing is to make lexical scope the default across
;; the board, in the interpreter and compiler, and just FIX all of
;; Other things to consider:
;; Associative math should recognize subcalls to identical function:
-;;(disassemble (lambda (x) (+ (+ (foo) 1) (+ (bar) 2))))
+;;(disassemble #'(lambda (x) (+ (+ (foo) 1) (+ (bar) 2))))
;; This should generate the same as (1+ x) and (1- x)
-;;(disassemble (lambda (x) (cons (+ x 1) (- x 1))))
+;;(disassemble #'(lambda (x) (cons (+ x 1) (- x 1))))
;; An awful lot of functions always return a non-nil value. If they're
;; error free also they may act as true-constants.
-;;(disassemble (lambda (x) (and (point) (foo))))
+;;(disassemble #'(lambda (x) (and (point) (foo))))
;; When
;; - all but one arguments to a function are constant
;; - the non-constant argument is an if-expression (cond-expression?)
;; arguments may be any expressions. Since, however, the code size
;; can increase this way they should be "simple". Compare:
-;;(disassemble (lambda (x) (eq (if (point) 'a 'b) 'c)))
-;;(disassemble (lambda (x) (if (point) (eq 'a 'c) (eq 'b 'c))))
+;;(disassemble #'(lambda (x) (eq (if (point) 'a 'b) 'c)))
+;;(disassemble #'(lambda (x) (if (point) (eq 'a 'c) (eq 'b 'c))))
;; (car (cons A B)) -> (progn B A)
-;;(disassemble (lambda (x) (car (cons (foo) 42))))
+;;(disassemble #'(lambda (x) (car (cons (foo) 42))))
;; (cdr (cons A B)) -> (progn A B)
-;;(disassemble (lambda (x) (cdr (cons 42 (foo)))))
+;;(disassemble #'(lambda (x) (cdr (cons 42 (foo)))))
;; (car (list A B ...)) -> (progn B ... A)
-;;(disassemble (lambda (x) (car (list (foo) 42 (bar)))))
+;;(disassemble #'(lambda (x) (car (list (foo) 42 (bar)))))
;; (cdr (list A B ...)) -> (progn A (list B ...))
-;;(disassemble (lambda (x) (cdr (list 42 (foo) (bar)))))
+;;(disassemble #'(lambda (x) (cdr (list 42 (foo) (bar)))))
;;; Code:
(error "The old version of the disassembler is loaded. Reload new-bytecomp as well."))
(byte-compile-log-1
(apply 'format format
- (let (c a)
- (mapcar '(lambda (arg)
- (if (not (consp arg))
- (if (and (symbolp arg)
- (string-match "^byte-" (symbol-name arg)))
- (intern (substring (symbol-name arg) 5))
- arg)
- (if (integerp (setq c (car arg)))
- (error "non-symbolic byte-op %s" c))
- (if (eq c 'TAG)
- (setq c arg)
- (setq a (cond ((memq c byte-goto-ops)
- (car (cdr (cdr arg))))
- ((memq c byte-constref-ops)
- (car (cdr arg)))
- (t (cdr arg))))
- (setq c (symbol-name c))
- (if (string-match "^byte-." c)
- (setq c (intern (substring c 5)))))
- (if (eq c 'constant) (setq c 'const))
- (if (and (eq (cdr arg) 0)
- (not (memq c '(unbind call const))))
- c
- (format "(%s %s)" c a))))
- args)))))
+ (let (c a)
+ (mapcar
+ #'(lambda (arg)
+ (if (not (consp arg))
+ (if (and (symbolp arg)
+ (string-match "^byte-" (symbol-name arg)))
+ (intern (substring (symbol-name arg) 5))
+ arg)
+ (if (integerp (setq c (car arg)))
+ (error "non-symbolic byte-op %s" c))
+ (if (eq c 'TAG)
+ (setq c arg)
+ (setq a (cond ((memq c byte-goto-ops)
+ (car (cdr (cdr arg))))
+ ((memq c byte-constref-ops)
+ (car (cdr arg)))
+ (t (cdr arg))))
+ (setq c (symbol-name c))
+ (if (string-match "^byte-." c)
+ (setq c (intern (substring c 5)))))
+ (if (eq c 'constant) (setq c 'const))
+ (if (and (eq (cdr arg) 0)
+ (not (memq c '(unbind call const))))
+ c
+ (format "(%s %s)" c a))))
+ args)))))
(defmacro byte-compile-log-lap (format-string &rest args)
(list 'and
(defun byte-optimize-inline-handler (form)
"byte-optimize-handler for the `inline' special-form."
- (cons 'progn
- (mapcar
- '(lambda (sexp)
- (let ((fn (car-safe sexp)))
- (if (and (symbolp fn)
- (or (cdr (assq fn byte-compile-function-environment))
- (and (fboundp fn)
- (not (or (cdr (assq fn byte-compile-macro-environment))
- (and (consp (setq fn (symbol-function fn)))
- (eq (car fn) 'macro))
- (subrp fn))))))
- (byte-compile-inline-expand sexp)
- sexp)))
- (cdr form))))
+ (cons
+ 'progn
+ (mapcar
+ #'(lambda (sexp)
+ (let ((fn (car-safe sexp)))
+ (if (and (symbolp fn)
+ (or (cdr (assq fn byte-compile-function-environment))
+ (and (fboundp fn)
+ (not (or (cdr (assq fn byte-compile-macro-environment))
+ (and (consp (setq fn (symbol-function fn)))
+ (eq (car fn) 'macro))
+ (subrp fn))))))
+ (byte-compile-inline-expand sexp)
+ sexp)))
+ (cdr form))))
;; Splice the given lap code into the current instruction stream.
;; are more deeply nested are optimized first.
(cons fn
(cons
- (mapcar '(lambda (binding)
- (if (symbolp binding)
- binding
- (if (cdr (cdr binding))
- (byte-compile-warn "malformed let binding: %s"
- (prin1-to-string binding)))
- (list (car binding)
- (byte-optimize-form (nth 1 binding) nil))))
- (nth 1 form))
+ (mapcar
+ #'(lambda (binding)
+ (if (symbolp binding)
+ binding
+ (if (cdr (cdr binding))
+ (byte-compile-warn "malformed let binding: %s"
+ (prin1-to-string binding)))
+ (list (car binding)
+ (byte-optimize-form (nth 1 binding) nil))))
+ (nth 1 form))
(byte-optimize-body (cdr (cdr form)) for-effect))))
((eq fn 'cond)
(cons fn
- (mapcar '(lambda (clause)
- (if (consp clause)
- (cons
- (byte-optimize-form (car clause) nil)
- (byte-optimize-body (cdr clause) for-effect))
- (byte-compile-warn "malformed cond form: %s"
- (prin1-to-string clause))
- clause))
- (cdr form))))
+ (mapcar
+ #'(lambda (clause)
+ (if (consp clause)
+ (cons
+ (byte-optimize-form (car clause) nil)
+ (byte-optimize-body (cdr clause) for-effect))
+ (byte-compile-warn "malformed cond form: %s"
+ (prin1-to-string clause))
+ clause))
+ (cdr form))))
((eq fn 'progn)
;; as an extra added bonus, this simplifies (progn <x>) --> <x>
(if (cdr (cdr form))
;; First, optimize all sub-forms of this one.
(setq form (byte-optimize-form-code-walker form for-effect))
;;
- ;; after optimizing all subforms, optimize this form until it doesn't
+ ;; After optimizing all subforms, optimize this form until it doesn't
;; optimize any further. This means that some forms will be passed through
;; the optimizer many times, but that's necessary to make the for-effect
;; processing do as much as possible.
(defun byte-optimize-body (forms all-for-effect)
- ;; optimize the cdr of a progn or implicit progn; all forms is a list of
+ ;; Optimize the cdr of a progn or implicit progn; `forms' is a list of
;; forms, all but the last of which are optimized with the assumption that
- ;; they are being called for effect. the last is for-effect as well if
- ;; all-for-effect is true. returns a new list of forms.
+ ;; they are being called for effect. The last is for-effect as well if
+ ;; all-for-effect is true. Returns a new list of forms.
(let ((rest forms)
(result nil)
fe new)
;; I'd like this to be a defsubst, but let's not be self-referential...
(defmacro byte-compile-trueconstp (form)
;; Returns non-nil if FORM is a non-nil constant.
- (` (cond ((consp (, form)) (eq (car (, form)) 'quote))
- ((not (symbolp (, form))))
- ((eq (, form) t)))))
+ `(cond ((consp ,form) (eq (car ,form) 'quote))
+ ((not (symbolp ,form)))
+ ((eq ,form t))
+ ((keywordp ,form))))
;; If the function is being called with constant numeric args,
;; evaluate as much as possible at compile-time. This optimizer
;; I'm not convinced that this is necessary. Doesn't the optimizer loop
;; take care of this? - Jamie
-;; I think this may some times be necessary to reduce ie (quote 5) to 5,
+;; I think this may some times be necessary to reduce eg. (quote 5) to 5,
;; so arithmetic optimizers recognize the numeric constant. - Hallvard
(put 'quote 'byte-optimizer 'byte-optimize-quote)
(defun byte-optimize-quote (form)
(if (listp (nth 1 last))
(let ((butlast (nreverse (cdr (reverse (cdr (cdr form)))))))
(nconc (list 'funcall fn) butlast
- (mapcar '(lambda (x) (list 'quote x)) (nth 1 last))))
+ (mapcar #'(lambda (x) (list 'quote x)) (nth 1 last))))
(byte-compile-warn
"last arg to apply can't be a literal atom: %s"
(prin1-to-string last))
file-newer-than-file-p file-readable-p file-symlink-p file-writable-p
float floor format
get get-buffer get-buffer-window getenv get-file-buffer
+ ;; hash-table functions
+ make-hash-table copy-hash-table
+ gethash
+ hash-table-count
+ hash-table-rehash-size
+ hash-table-rehash-threshold
+ hash-table-size
+ hash-table-test
+ hash-table-type
+ ;;
int-to-string
length log log10 logand logb logior lognot logxor lsh
marker-buffer max member memq min mod
;; XEmacs change: window-edges -> window-pixel-edges
window-buffer window-dedicated-p window-pixel-edges window-height
window-hscroll window-minibuffer-p window-width
- zerop))
+ zerop
+ ;; functions defined by cl
+ oddp evenp plusp minusp
+ abs expt signum last butlast ldiff
+ pairlis gcd lcm
+ isqrt floor* ceiling* truncate* round* mod* rem* subseq
+ list-length get* getf
+ ))
(side-effect-and-error-free-fns
'(arrayp atom
bobp bolp buffer-end buffer-list buffer-size buffer-string bufferp
dot dot-marker eobp eolp eq eql equal eventp extentp
extent-live-p floatp framep frame-live-p
get-largest-window get-lru-window
+ hash-table-p
identity ignore integerp integer-or-marker-p interactive-p
invocation-directory invocation-name
;; keymapp may autoload in XEmacs, so not on this list!
user-full-name user-login-name user-original-login-name
user-real-login-name user-real-uid user-uid
vector vectorp
- window-configuration-p window-live-p windowp)))
- (while side-effect-free-fns
- (put (car side-effect-free-fns) 'side-effect-free t)
- (setq side-effect-free-fns (cdr side-effect-free-fns)))
- (while side-effect-and-error-free-fns
- (put (car side-effect-and-error-free-fns) 'side-effect-free 'error-free)
- (setq side-effect-and-error-free-fns (cdr side-effect-and-error-free-fns)))
- nil)
+ window-configuration-p window-live-p windowp
+ ;; Functions defined by cl
+ eql floatp-safe list* subst acons equalp random-state-p
+ copy-tree sublis
+ )))
+ (dolist (fn side-effect-free-fns)
+ (put fn 'side-effect-free t))
+ (dolist (fn side-effect-and-error-free-fns)
+ (put fn 'side-effect-free 'error-free)))
(defun byte-compile-splice-in-already-compiled-code (form)
(if endtag
(setq lap (cons (cons nil endtag) lap)))
;; remove addrs, lap = ( [ (op . arg) | (TAG tagno) ]* )
- (mapcar (function (lambda (elt)
- (if (numberp elt)
- elt
- (cdr elt))))
+ (mapcar #'(lambda (elt) (if (numberp elt) elt (cdr elt)))
(nreverse lap))))
\f
(assq 'byte-code (symbol-function 'byte-optimize-form))
(let ((byte-optimize nil)
(byte-compile-warnings nil))
- (mapcar '(lambda (x)
- (or noninteractive (message "compiling %s..." x))
- (byte-compile x)
- (or noninteractive (message "compiling %s...done" x)))
- '(byte-optimize-form
- byte-optimize-body
- byte-optimize-predicate
- byte-optimize-binary-predicate
- ;; Inserted some more than necessary, to speed it up.
- byte-optimize-form-code-walker
- byte-optimize-lapcode))))
+ (mapcar
+ #'(lambda (x)
+ (or noninteractive (message "compiling %s..." x))
+ (byte-compile x)
+ (or noninteractive (message "compiling %s...done" x)))
+ '(byte-optimize-form
+ byte-optimize-body
+ byte-optimize-predicate
+ byte-optimize-binary-predicate
+ ;; Inserted some more than necessary, to speed it up.
+ byte-optimize-form-code-walker
+ byte-optimize-lapcode))))
nil)
;;; byte-optimize.el ends here
(apply
'nconc
(mapcar
- '(lambda (x)
- (` ((or (memq (get '(, x) 'byte-optimizer)
- '(nil byte-compile-inline-expand))
- (error
- "%s already has a byte-optimizer, can't make it inline"
- '(, x)))
- (put '(, x) 'byte-optimizer 'byte-compile-inline-expand))))
+ #'(lambda (x)
+ `((or (memq (get ',x 'byte-optimizer)
+ '(nil byte-compile-inline-expand))
+ (error
+ "%s already has a byte-optimizer, can't make it inline"
+ ',x))
+ (put ',x 'byte-optimizer 'byte-compile-inline-expand)))
fns))))
(apply
'nconc
(mapcar
- '(lambda (x)
- (` ((if (eq (get '(, x) 'byte-optimizer)
- 'byte-compile-inline-expand)
- (put '(, x) 'byte-optimizer nil)))))
+ #'(lambda (x)
+ `((if (eq (get ',x 'byte-optimizer)
+ 'byte-compile-inline-expand)
+ (put ',x 'byte-optimizer nil))))
fns))))
;; This has a special byte-hunk-handler in bytecomp.el.
If (featurep 'FEATURE), evals now; otherwise adds an elt to
`after-load-alist' (which see), using FEATURE as filename if FILENAME is nil."
(let ((file (or (cdr feature) (symbol-name (car feature)))))
- `(let ((bodythunk (function (lambda () ,@body))))
+ `(let ((bodythunk #'(lambda () ,@body)))
(if (featurep ',(car feature))
(funcall bodythunk)
(setq after-load-alist (cons '(,file . (list 'lambda '() bodythunk))
;; Subsequently modified by RMS and others.
-(defconst byte-compile-version (purecopy "2.25 XEmacs; 22-Mar-96."))
+(defconst byte-compile-version (purecopy "2.26 XEmacs; 1998-10-07."))
;; This file is part of XEmacs.
;;; 'unresolved (calls to unknown functions)
;;; 'callargs (lambda calls with args that don't
;;; match the lambda's definition)
+;;; 'subr-callargs (calls to subrs with args that
+;;; don't match the subr's definition)
;;; 'redefine (function cell redefined from
;;; a macro to a lambda or vice versa,
;;; or redefined to take other args)
;;; buffer, and that buffer is modified, you are asked whether you want
;;; to save the buffer before compiling.
;;;
-;;; o You can add this to /etc/magic to make file(1) recognise the files
+;;; o You can add this to /etc/magic to make file(1) recognize the files
;;; generated by this compiler:
;;;
;;; 0 string ;ELC GNU Emacs Lisp compiled file,
be hard-coded into bytecomp when it compiles itself. If the compiler itself
is compiled with optimization, this causes a speedup.")
- (cond (byte-compile-single-version
- (defmacro byte-compile-single-version () t)
- (defmacro byte-compile-version-cond (cond) (list 'quote (eval cond))))
- (t
- (defmacro byte-compile-single-version () nil)
- (defmacro byte-compile-version-cond (cond) cond)))
+ (cond
+ (byte-compile-single-version
+ (defmacro byte-compile-single-version () t)
+ (defmacro byte-compile-version-cond (cond) (list 'quote (eval cond))))
+ (t
+ (defmacro byte-compile-single-version () nil)
+ (defmacro byte-compile-version-cond (cond) cond)))
)
-(defvar emacs-lisp-file-regexp (if (eq system-type 'vax-vms)
- (purecopy "\\.EL\\(;[0-9]+\\)?$")
- (purecopy "\\.el$"))
+(defvar emacs-lisp-file-regexp (purecopy "\\.el$")
"*Regexp which matches Emacs Lisp source files.
You may want to redefine `byte-compile-dest-file' if you change this.")
(funcall handler 'byte-compiler-base-file-name filename)
filename)))
-(or (fboundp 'byte-compile-dest-file)
- ;; The user may want to redefine this along with emacs-lisp-file-regexp,
- ;; so only define it if it is undefined.
- (defun byte-compile-dest-file (filename)
- "Convert an Emacs Lisp source file name to a compiled file name."
- (setq filename (byte-compiler-base-file-name filename))
- (setq filename (file-name-sans-versions filename))
- (cond ((eq system-type 'vax-vms)
- (concat (substring filename 0 (string-match ";" filename)) "c"))
- ((string-match emacs-lisp-file-regexp filename)
- (concat (substring filename 0 (match-beginning 0)) ".elc"))
- (t (concat filename ".elc")))))
+(unless (fboundp 'byte-compile-dest-file)
+ ;; The user may want to redefine this along with emacs-lisp-file-regexp,
+ ;; so only define it if it is undefined.
+ (defun byte-compile-dest-file (filename)
+ "Convert an Emacs Lisp source file name to a compiled file name."
+ (setq filename (byte-compiler-base-file-name filename))
+ (setq filename (file-name-sans-versions filename))
+ (if (string-match emacs-lisp-file-regexp filename)
+ (concat (substring filename 0 (match-beginning 0)) ".elc")
+ (concat filename ".elc"))))
;; This can be the 'byte-compile property of any symbol.
(autoload 'byte-compile-inline-expand "byte-optimize")
;; disassembler. The disassembler just requires 'byte-compile, but
;; that doesn't define this function, so this seems to be a reasonable
;; thing to do.
-(autoload 'byte-decompile-bytecode "byte-opt")
+(autoload 'byte-decompile-bytecode "byte-optimize")
(defvar byte-compile-verbose
(and (not noninteractive) (> (device-baud-rate) search-slow-speed))
;; byte-compile-warning-types in FSF.
(defvar byte-compile-default-warnings
- '(redefine callargs free-vars unresolved unused-vars obsolete)
+ '(redefine callargs subr-callargs free-vars unresolved unused-vars obsolete)
"*The warnings used when byte-compile-warnings is t.")
(defvar byte-compile-warnings t
unused-vars references to non-global variables bound but not referenced.
unresolved calls to unknown functions.
callargs lambda calls with args that don't match the definition.
+ subr-callargs calls to subrs with args that don't match the definition.
redefine function cell redefined from a macro to a lambda or vice
versa, or redefined to take a different number of arguments.
obsolete use of an obsolete function or variable.
(defvar byte-compile-generate-call-tree nil
"*Non-nil means collect call-graph information when compiling.
-This records functions were called and from where.
+This records functions that were called and from where.
If the value is t, compilation displays the call graph when it finishes.
If the value is neither t nor nil, compilation asks you whether to display
the graph.
"to examine top-of-stack, jump and don't pop it if it's nil,
otherwise pop it")
(byte-defop 134 -1 byte-goto-if-not-nil-else-pop
- "to examine top-of-stack, jump and don't pop it if it's non nil,
+ "to examine top-of-stack, jump and don't pop it if it's non-nil,
otherwise pop it")
(byte-defop 135 -1 byte-return "to pop a value and return it from `byte-code'")
(error "Non-symbolic opcode `%s'" op))
((eq op 'TAG)
(setcar off pc)
- (setq patchlist (cons off patchlist)))
+ (push off patchlist))
((memq op byte-goto-ops)
(setq pc (+ pc 3))
(setq bytes (cons (cons pc (cdr off))
(cons nil
(cons (symbol-value op) bytes))))
- (setq patchlist (cons bytes patchlist)))
+ (push bytes patchlist))
(t
(setq bytes
(cond ((cond ((consp off)
(defvar byte-compile-dest-file nil)
(defmacro byte-compile-log (format-string &rest args)
- (list 'and
- 'byte-optimize
- '(memq byte-optimize-log '(t source))
- (list 'let '((print-escape-newlines t)
- (print-level 4)
- (print-length 4))
- (list 'byte-compile-log-1
- (cons 'format
- (cons format-string
- (mapcar
- '(lambda (x)
- (if (symbolp x) (list 'prin1-to-string x) x))
- args)))))))
-
-(defconst byte-compile-last-warned-form nil)
+ `(when (and byte-optimize (memq byte-optimize-log '(t source)))
+ (let ((print-escape-newlines t)
+ (print-level 4)
+ (print-length 4))
+ (byte-compile-log-1 (format ,format-string ,@args)))))
+
+(defconst byte-compile-last-warned-form 'nothing)
;; Log a message STRING in *Compile-Log*.
;; Also log the current function and file if not already done.
(defun byte-compile-log-1 (string &optional fill)
- (let ((this-form (or byte-compile-current-form "toplevel forms")))
- (cond
- (noninteractive
- (if (or byte-compile-current-file
- (and byte-compile-last-warned-form
- (not (eq this-form byte-compile-last-warned-form))))
- (message
- (format "While compiling %s%s:"
- this-form
- (if byte-compile-current-file
- (if (stringp byte-compile-current-file)
- (concat " in file " byte-compile-current-file)
- (concat " in buffer "
- (buffer-name byte-compile-current-file)))
- ""))))
- (message " %s" string))
- (t
- (save-excursion
- (set-buffer (get-buffer-create "*Compile-Log*"))
+ (let* ((this-form (or byte-compile-current-form "toplevel forms"))
+ (while-compiling-msg
+ (when (or byte-compile-current-file
+ (not (eq this-form byte-compile-last-warned-form)))
+ (format
+ "While compiling %s%s:"
+ this-form
+ (cond
+ ((stringp byte-compile-current-file)
+ (concat " in file " byte-compile-current-file))
+ ((bufferp byte-compile-current-file)
+ (concat " in buffer "
+ (buffer-name byte-compile-current-file)))
+ (""))))))
+ (if noninteractive
+ (progn
+ (when while-compiling-msg (message "%s" while-compiling-msg))
+ (message " %s" string))
+ (with-current-buffer (get-buffer-create "*Compile-Log*")
(goto-char (point-max))
- (cond ((or byte-compile-current-file
- (and byte-compile-last-warned-form
- (not (eq this-form byte-compile-last-warned-form))))
- (if byte-compile-current-file
- (insert "\n\^L\n" (current-time-string) "\n"))
- (insert "While compiling "
- (if (stringp this-form) this-form
- (format "%s" this-form)))
- (if byte-compile-current-file
- (if (stringp byte-compile-current-file)
- (insert " in file " byte-compile-current-file)
- (insert " in buffer "
- (buffer-name byte-compile-current-file))))
- (insert ":\n")))
+ (when byte-compile-current-file
+ (when (> (point-max) (point-min))
+ (insert "\n\^L\n"))
+ (insert (current-time-string) "\n"))
+ (when while-compiling-msg (insert while-compiling-msg "\n"))
(insert " " string "\n")
- (if (and fill (not (string-match "\n" string)))
- (let ((fill-prefix " ")
- (fill-column 78))
- (fill-paragraph nil)))
- )))
- (setq byte-compile-current-file nil
- byte-compile-last-warned-form this-form)))
+ (when (and fill (not (string-match "\n" string)))
+ (let ((fill-prefix " ")
+ (fill-column 78))
+ (fill-paragraph nil)))))
+ (setq byte-compile-current-file nil)
+ (setq byte-compile-last-warned-form this-form)))
;; Log the start of a file in *Compile-Log*, and mark it as done.
;; But do nothing in batch mode.
(defun byte-compile-log-file ()
- (and byte-compile-current-file (not noninteractive)
- (save-excursion
- (set-buffer (get-buffer-create "*Compile-Log*"))
- (goto-char (point-max))
- (insert "\n\^L\nCompiling "
- (if (stringp byte-compile-current-file)
- (concat "file " byte-compile-current-file)
- (concat "buffer " (buffer-name byte-compile-current-file)))
- " at " (current-time-string) "\n")
- (setq byte-compile-current-file nil))))
+ (when (and byte-compile-current-file (not noninteractive))
+ (with-current-buffer (get-buffer-create "*Compile-Log*")
+ (when (> (point-max) (point-min))
+ (goto-char (point-max))
+ (insert "\n\^L\n"))
+ (insert "Compiling "
+ (if (stringp byte-compile-current-file)
+ (concat "file " byte-compile-current-file)
+ (concat "buffer " (buffer-name byte-compile-current-file)))
+ " at " (current-time-string) "\n")
+ (setq byte-compile-current-file nil))))
(defun byte-compile-warn (format &rest args)
(setq format (apply 'format format args))
(verbose byte-compile-verbose (t nil) val)
(new-bytecodes byte-compile-new-bytecodes (t nil) val)
(warnings byte-compile-warnings
- ((callargs redefine free-vars unused-vars unresolved))
+ ((callargs subr-callargs redefine free-vars unused-vars unresolved))
val)))
;; XEmacs addition
nil)
(defun byte-compile-defvar-p (var)
- ;; Whether the byte compiler thinks that nonexical references to this
+ ;; Whether the byte compiler thinks that non-lexical references to this
;; variable are ok.
(or (globally-boundp var)
(let ((rest byte-compile-bound-variables))
;; have (declare (ignore x)) yet; and second, inline
;; expansion produces forms like
;; ((lambda (arg) (byte-code "..." [arg])) x)
- ;; which we can't (ok, well, don't) recognise as
+ ;; which we can't (ok, well, don't) recognize as
;; containing a reference to arg, so every inline
;; expansion would generate a warning. (If we had
;; `ignore' then inline expansion could emit an
(setq unreferenced (cdr unreferenced)))))
\f
+(defmacro byte-compile-constant-symbol-p (symbol)
+ `(or (keywordp ,symbol) (memq ,symbol '(nil t))))
+
(defmacro byte-compile-constp (form)
;; Returns non-nil if FORM is a constant.
- (` (cond ((consp (, form)) (eq (car (, form)) 'quote))
- ((not (symbolp (, form))))
- ((keywordp (, form)))
- ((memq (, form) '(nil t))))))
+ `(cond ((consp ,form) (eq (car ,form) 'quote))
+ ((symbolp ,form) (byte-compile-constant-symbol-p ,form))
+ (t)))
(defmacro byte-compile-close-variables (&rest body)
`(let
(byte-compile-warnings (if (eq byte-compile-warnings t)
byte-compile-default-warnings
byte-compile-warnings))
- (byte-compile-file-domain nil)
- )
+ (byte-compile-file-domain nil))
(prog1
(progn ,@body)
(if (memq 'unused-vars byte-compile-warnings)
(byte-compile-warn-about-unused-variables)))))
-(defvar byte-compile-warnings-point-max nil)
(defmacro displaying-byte-compile-warnings (&rest body)
- `(let ((byte-compile-warnings-point-max byte-compile-warnings-point-max))
- ;; Log the file name.
+ `(let* ((byte-compile-log-buffer (get-buffer-create "*Compile-Log*"))
+ (byte-compile-point-max-prev (point-max byte-compile-log-buffer)))
+ ;; Log the file name or buffer name.
(byte-compile-log-file)
;; Record how much is logged now.
;; We will display the log buffer if anything more is logged
;; before the end of BODY.
- (or byte-compile-warnings-point-max
- (save-excursion
- (set-buffer (get-buffer-create "*Compile-Log*"))
- (setq byte-compile-warnings-point-max (point-max))))
- (unwind-protect
- (condition-case error-info
- (progn ,@body)
- (error
- (byte-compile-report-error error-info)))
- (save-excursion
- ;; If there were compilation warnings, display them.
- (set-buffer "*Compile-Log*")
- (if (= byte-compile-warnings-point-max (point-max))
- nil
- (if temp-buffer-show-function
- (let ((show-buffer (get-buffer-create "*Compile-Log-Show*")))
- (save-excursion
- (set-buffer show-buffer)
- (setq buffer-read-only nil)
- (erase-buffer))
- (copy-to-buffer show-buffer
- (save-excursion
- (goto-char byte-compile-warnings-point-max)
- (forward-line -1)
- (point))
- (point-max))
- (funcall temp-buffer-show-function show-buffer))
- (select-window
- (prog1 (selected-window)
- (select-window (display-buffer (current-buffer)))
- (goto-char byte-compile-warnings-point-max)
- (recenter 1)))))))))
+ (defvar byte-compile-warnings-beginning)
+ (let ((byte-compile-warnings-beginning
+ (if (boundp 'byte-compile-warnings-beginning)
+ byte-compile-warnings-beginning
+ (point-max byte-compile-log-buffer))))
+
+ (unwind-protect
+ (condition-case error-info
+ (progn ,@body)
+ (error
+ (byte-compile-report-error error-info)))
+
+ ;; Always set point in log to start of interesting output.
+ (with-current-buffer byte-compile-log-buffer
+ (let ((show-begin
+ (progn (goto-char byte-compile-point-max-prev)
+ (skip-chars-forward "\^L\n")
+ (point))))
+ ;; If there were compilation warnings, display them.
+ (if temp-buffer-show-function
+ (let ((show-buffer (get-buffer-create "*Compile-Log-Show*")))
+ ;; Always clean show-buffer, even when not displaying it,
+ ;; so that misleading previous messages aren't left around.
+ (with-current-buffer show-buffer
+ (setq buffer-read-only nil)
+ (erase-buffer))
+ (copy-to-buffer show-buffer show-begin (point-max))
+ (when (< byte-compile-warnings-beginning (point-max))
+ (funcall temp-buffer-show-function show-buffer)))
+ (when (< byte-compile-warnings-beginning (point-max))
+ (select-window
+ (prog1 (selected-window)
+ (select-window (display-buffer (current-buffer)))
+ (goto-char show-begin)
+ (recenter 1)))))))))))
\f
;;;###autoload
(y-or-n-p (concat "Compile " filename "? "))))))
(byte-compile-file filename))))
-(defvar kanji-flag nil)
-
;;;###autoload
(defun byte-compile-file (filename &optional load)
"Compile a file of Lisp code named FILENAME into a file of byte code.
(message "Compiling %s..." filename))
(let (;;(byte-compile-current-file (file-name-nondirectory filename))
(byte-compile-current-file filename)
- (debug-issue-ebola-notices 0) ; Hack -slb
target-file input-buffer output-buffer
byte-compile-dest-file)
(setq target-file (byte-compile-dest-file filename))
(set-buffer output-buffer)
(goto-char (point-max))
(insert "\n") ; aaah, unix.
- (let ((vms-stmlf-recfm t))
- (setq target-file (byte-compile-dest-file filename))
- (or byte-compile-overwrite-file
- (condition-case ()
- (delete-file target-file)
- (error nil)))
- (if (file-writable-p target-file)
- (let ((kanji-flag nil)) ; for nemacs, from Nakagawa Takayuki
- (if (or (eq system-type 'ms-dos) (eq system-type 'windows-nt))
- (setq buffer-file-type t))
- (write-region 1 (point-max) target-file))
- ;; This is just to give a better error message than write-region
- (signal 'file-error
- (list "Opening output file"
- (if (file-exists-p target-file)
- "cannot overwrite file"
- "directory not writable or nonexistent")
- target-file)))
- (or byte-compile-overwrite-file
- (condition-case ()
- (set-file-modes target-file (file-modes filename))
- (error nil))))
+ (setq target-file (byte-compile-dest-file filename))
+ (unless byte-compile-overwrite-file
+ (ignore-file-errors (delete-file target-file)))
+ (if (file-writable-p target-file)
+ (progn
+ (when (memq system-type '(ms-dos windows-nt))
+ (defvar buffer-file-type)
+ (setq buffer-file-type t))
+ (write-region 1 (point-max) target-file))
+ ;; This is just to give a better error message than write-region
+ (signal 'file-error
+ (list "Opening output file"
+ (if (file-exists-p target-file)
+ "cannot overwrite file"
+ "directory not writable or nonexistent")
+ target-file)))
+ (or byte-compile-overwrite-file
+ (condition-case ()
+ (set-file-modes target-file (file-modes filename))
+ (error nil)))
(kill-buffer (current-buffer)))
(if (and byte-compile-generate-call-tree
(or (eq t byte-compile-generate-call-tree)
;; Compile the forms from the input buffer.
(while (progn
- (while (progn (skip-chars-forward " \t\n\^l")
+ (while (progn (skip-chars-forward " \t\n\^L")
(looking-at ";"))
(forward-line 1))
(not (eobp)))
;; extended characters are output properly and distinguished properly.
;; Otherwise, use `no-conversion' for maximum portability with non-Mule
;; Emacsen.
- (if (featurep 'mule)
- (if (save-excursion
- (set-buffer byte-compile-inbuffer)
- (goto-char (point-min))
- ;; mrb- There must be a better way than skip-chars-forward
- (skip-chars-forward (concat (char-to-string 0) "-"
- (char-to-string 255)))
- (eq (point) (point-max)))
- (setq buffer-file-coding-system 'no-conversion)
- (insert "(require 'mule)\n;;;###coding system: escape-quoted\n")
- (setq buffer-file-coding-system 'escape-quoted)
- ;; Lazy loading not yet implemented for MULE files
- ;; mrb - Fix this someday.
- (save-excursion
+ (when (featurep 'mule)
+ (defvar buffer-file-coding-system)
+ (if (save-excursion
(set-buffer byte-compile-inbuffer)
- (setq byte-compile-dynamic nil
- byte-compile-dynamic-docstrings nil))
- ;;(external-debugging-output (prin1-to-string (buffer-local-variables))))
- ))
+ (goto-char (point-min))
+ ;; mrb- There must be a better way than skip-chars-forward
+ (skip-chars-forward (concat (char-to-string 0) "-"
+ (char-to-string 255)))
+ (eq (point) (point-max)))
+ (setq buffer-file-coding-system 'no-conversion)
+ (insert "(require 'mule)\n;;;###coding system: escape-quoted\n")
+ (setq buffer-file-coding-system 'escape-quoted)
+ ;; #### Lazy loading not yet implemented for MULE files
+ ;; mrb - Fix this someday.
+ (save-excursion
+ (set-buffer byte-compile-inbuffer)
+ (setq byte-compile-dynamic nil
+ byte-compile-dynamic-docstrings nil))
+ ;;(external-debugging-output (prin1-to-string (buffer-local-variables))))
+ ))
)
(nthcdr 300 byte-compile-output)
(byte-compile-flush-pending))
(funcall handler form)
- (if for-effect
- (byte-compile-discard)))
+ (when for-effect
+ (byte-compile-discard)))
(byte-compile-form form t))
nil)
(byte-compile-file-form form)))))
;; Functions and variables with doc strings must be output separately,
-;; so make-docfile can recognise them. Most other things can be output
+;; so make-docfile can recognize them. Most other things can be output
;; as byte-code.
(put 'defsubst 'byte-hunk-handler 'byte-compile-file-form-defsubst)
(cons (list name nil nil) byte-compile-call-tree))))
(setq byte-compile-current-form name) ; for warnings
- (if (memq 'redefine byte-compile-warnings)
- (byte-compile-arglist-warn form macrop))
- (if byte-compile-verbose
- (message "Compiling %s... (%s)"
- ;; #### filename used free
- (if filename (file-name-nondirectory filename) "")
- (nth 1 form)))
+ (when (memq 'redefine byte-compile-warnings)
+ (byte-compile-arglist-warn form macrop))
+ (defvar filename) ; #### filename used free
+ (when byte-compile-verbose
+ (message "Compiling %s... (%s)"
+ (if filename (file-name-nondirectory filename) "")
+ (nth 1 form)))
(cond (that-one
- (if (and (memq 'redefine byte-compile-warnings)
- ;; hack hack: don't warn when compiling the stubs in
- ;; bytecomp-runtime...
- (not (assq (nth 1 form)
- byte-compile-initial-macro-environment)))
- (byte-compile-warn
- "%s defined multiple times, as both function and macro"
- (nth 1 form)))
+ (when (and (memq 'redefine byte-compile-warnings)
+ ;; hack hack: don't warn when compiling the stubs in
+ ;; bytecomp-runtime...
+ (not (assq (nth 1 form)
+ byte-compile-initial-macro-environment)))
+ (byte-compile-warn
+ "%s defined multiple times, as both function and macro"
+ (nth 1 form)))
(setcdr that-one nil))
(this-one
- (if (and (memq 'redefine byte-compile-warnings)
- ;; hack: don't warn when compiling the magic internal
- ;; byte-compiler macros in bytecomp-runtime.el...
- (not (assq (nth 1 form)
- byte-compile-initial-macro-environment)))
- (byte-compile-warn "%s %s defined multiple times in this file"
- (if macrop "macro" "function")
- (nth 1 form))))
+ (when (and (memq 'redefine byte-compile-warnings)
+ ;; hack: don't warn when compiling the magic internal
+ ;; byte-compiler macros in bytecomp-runtime.el...
+ (not (assq (nth 1 form)
+ byte-compile-initial-macro-environment)))
+ (byte-compile-warn "%s %s defined multiple times in this file"
+ (if macrop "macro" "function")
+ (nth 1 form))))
((and (fboundp name)
(or (subrp (symbol-function name))
(eq (car-safe (symbol-function name))
(if macrop "macro" "function")))
;; shadow existing definition
(set this-kind
- (cons (cons name nil) (symbol-value this-kind))))
- )
+ (cons (cons name nil) (symbol-value this-kind)))))
(let ((body (nthcdr 3 form)))
(if (and (stringp (car body))
(symbolp (car-safe (cdr-safe body)))
(let* ((interactive (assq 'interactive (cdr (cdr fun)))))
(nconc (list 'make-byte-code
(list 'quote (nth 1 fun)) ;arglist
- (nth 1 tmp) ;bytes
- (nth 2 tmp) ;consts
- (nth 3 tmp)) ;depth
+ (nth 1 tmp) ;instructions
+ (nth 2 tmp) ;constants
+ (nth 3 tmp)) ;stack-depth
(cond ((stringp (nth 2 fun))
- (list (nth 2 fun))) ;doc
+ (list (nth 2 fun))) ;docstring
(interactive
(list nil)))
(cond (interactive
(let* ((arglist (nth 1 fun))
(byte-compile-bound-variables
(let ((new-bindings
- (mapcar (function (lambda (x)
- (cons x byte-compile-arglist-bit)))
+ (mapcar #'(lambda (x) (cons x byte-compile-arglist-bit))
(and (memq 'free-vars byte-compile-warnings)
(delq '&rest (delq '&optional
(copy-sequence arglist)))))))
(prog1 (car body)
(setq body (cdr body)))))
(int (assq 'interactive body)))
- (let ((rest arglist))
- (while rest
- (cond ((not (symbolp (car rest)))
- (byte-compile-warn "non-symbol in arglist: %s"
- (prin1-to-string (car rest))))
- ((memq (car rest) '(t nil))
- (byte-compile-warn "constant in arglist: %s" (car rest)))
- ((and (char= ?\& (aref (symbol-name (car rest)) 0))
- (not (memq (car rest) '(&optional &rest))))
- (byte-compile-warn "unrecognised `&' keyword in arglist: %s"
- (car rest))))
- (setq rest (cdr rest))))
+ (dolist (arg arglist)
+ (cond ((not (symbolp arg))
+ (byte-compile-warn "non-symbol in arglist: %S" arg))
+ ((byte-compile-constant-symbol-p arg)
+ (byte-compile-warn "constant symbol in arglist: %s" arg))
+ ((and (char= ?\& (aref (symbol-name arg) 0))
+ (not (eq arg '&optional))
+ (not (eq arg '&rest)))
+ (byte-compile-warn "unrecognized `&' keyword in arglist: %s"
+ arg))))
(cond (int
;; Skip (interactive) if it is in front (the most usual location).
(if (eq int (car body))
(if (if (eq (car (car rest)) 'byte-constant)
(or (consp tmp)
(and (symbolp tmp)
- (not (keywordp tmp))
- (not (memq tmp '(nil t))))))
+ (not (byte-compile-constant-symbol-p tmp)))))
(if maycall
(setq body (cons (list 'quote tmp) body)))
(setq body (cons tmp body))))
;; This is the recursive entry point for compiling each subform of an
;; expression.
;; If for-effect is non-nil, byte-compile-form will output a byte-discard
-;; before terminating (ie no value will be left on the stack).
+;; before terminating (ie. no value will be left on the stack).
;; A byte-compile handler may, when for-effect is non-nil, choose output code
;; which does not leave a value on the stack, and then set for-effect to nil
;; (to prevent byte-compile-form from outputting the byte-discard).
(defun byte-compile-form (form &optional for-effect)
(setq form (macroexpand form byte-compile-macro-environment))
(cond ((not (consp form))
- ;; XEmacs addition: keywordp
- (cond ((or (not (symbolp form)) (keywordp form) (memq form '(nil t)))
+ (cond ((or (not (symbolp form))
+ (byte-compile-constant-symbol-p form))
(byte-compile-constant form))
((and for-effect byte-compile-delete-errors)
(setq for-effect nil))
(byte-compile-form form for-effect)
(setq for-effect nil))
((byte-compile-normal-call form)))
- (if for-effect
- (byte-compile-discard)))
+ (when for-effect
+ (byte-compile-discard)))
(defun byte-compile-normal-call (form)
(if byte-compile-generate-call-tree
(or (fboundp 'globally-boundp) (fset 'globally-boundp 'boundp))
(defun byte-compile-variable-ref (base-op var &optional varbind-flags)
- (if (or (not (symbolp var)) (keywordp var) (memq var '(nil t)))
- (byte-compile-warn (if (eq base-op 'byte-varbind)
- "Attempt to let-bind %s %s"
- "Variable reference to %s %s")
- (if (symbolp var) "constant" "nonvariable")
- (prin1-to-string var))
+ (if (or (not (symbolp var)) (byte-compile-constant-symbol-p var))
+ (byte-compile-warn
+ (case base-op
+ (byte-varref "Variable reference to %s %s")
+ (byte-varset "Attempt to set %s %s")
+ (byte-varbind "Attempt to let-bind %s %s"))
+ (if (symbolp var) "constant symbol" "non-symbol")
+ var)
(if (and (get var 'byte-obsolete-variable)
(memq 'obsolete byte-compile-warnings))
(let ((ob (get var 'byte-obsolete-variable)))
(byte-compile-out base-op tmp)))
(defmacro byte-compile-get-constant (const)
- (` (or (if (stringp (, const))
- (assoc (, const) byte-compile-constants)
- (assq (, const) byte-compile-constants))
- (car (setq byte-compile-constants
- (cons (list (, const)) byte-compile-constants))))))
+ `(or (if (stringp ,const)
+ (assoc ,const byte-compile-constants)
+ (assq ,const byte-compile-constants))
+ (car (setq byte-compile-constants
+ (cons (list ,const) byte-compile-constants)))))
;; Use this when the value of a form is a constant. This obeys for-effect.
(defun byte-compile-constant (const)
(byte-defop-compiler20 old-memq 2)
(byte-defop-compiler cons 2)
(byte-defop-compiler aref 2)
-(byte-defop-compiler (= byte-eqlsign) byte-compile-one-or-more-args)
-(byte-defop-compiler (< byte-lss) byte-compile-one-or-more-args)
-(byte-defop-compiler (> byte-gtr) byte-compile-one-or-more-args)
-(byte-defop-compiler (<= byte-leq) byte-compile-one-or-more-args)
-(byte-defop-compiler (>= byte-geq) byte-compile-one-or-more-args)
-(byte-defop-compiler /= byte-compile-/=)
(byte-defop-compiler get 2+1)
(byte-defop-compiler nth 2)
(byte-defop-compiler substring 2-3)
(byte-defop-compiler (rplacd byte-setcdr) 2)
(byte-defop-compiler setcar 2)
(byte-defop-compiler setcdr 2)
-;; buffer-substring now has its own function. This used to be
-;; 2+1, but now all args are optional.
-(byte-defop-compiler buffer-substring)
(byte-defop-compiler delete-region 2+1)
(byte-defop-compiler narrow-to-region 2+1)
(byte-defop-compiler (% byte-rem) 2)
\f
(defun byte-compile-subr-wrong-args (form n)
- (byte-compile-warn "%s called with %d arg%s, but requires %s"
- (car form) (length (cdr form))
- (if (= 1 (length (cdr form))) "" "s") n)
+ (when (memq 'subr-callargs byte-compile-warnings)
+ (byte-compile-warn "%s called with %d arg%s, but requires %s"
+ (car form) (length (cdr form))
+ (if (= 1 (length (cdr form))) "" "s") n))
;; get run-time wrong-number-of-args error.
(byte-compile-normal-call form))
(defun byte-compile-no-args (form)
- (if (not (= (length form) 1))
- (byte-compile-subr-wrong-args form "none")
- (byte-compile-out (get (car form) 'byte-opcode) 0)))
+ (case (length (cdr form))
+ (0 (byte-compile-out (get (car form) 'byte-opcode) 0))
+ (t (byte-compile-subr-wrong-args form "none"))))
(defun byte-compile-one-arg (form)
- (if (not (= (length form) 2))
- (byte-compile-subr-wrong-args form 1)
- (byte-compile-form (car (cdr form))) ;; Push the argument
- (byte-compile-out (get (car form) 'byte-opcode) 0)))
+ (case (length (cdr form))
+ (1 (byte-compile-form (car (cdr form))) ;; Push the argument
+ (byte-compile-out (get (car form) 'byte-opcode) 0))
+ (t (byte-compile-subr-wrong-args form 1))))
(defun byte-compile-two-args (form)
- (if (not (= (length form) 3))
- (byte-compile-subr-wrong-args form 2)
- (byte-compile-form (car (cdr form))) ;; Push the arguments
- (byte-compile-form (nth 2 form))
- (byte-compile-out (get (car form) 'byte-opcode) 0)))
+ (case (length (cdr form))
+ (2 (byte-compile-form (nth 1 form)) ;; Push the arguments
+ (byte-compile-form (nth 2 form))
+ (byte-compile-out (get (car form) 'byte-opcode) 0))
+ (t (byte-compile-subr-wrong-args form 2))))
(defun byte-compile-three-args (form)
- (if (not (= (length form) 4))
- (byte-compile-subr-wrong-args form 3)
- (byte-compile-form (car (cdr form))) ;; Push the arguments
- (byte-compile-form (nth 2 form))
- (byte-compile-form (nth 3 form))
- (byte-compile-out (get (car form) 'byte-opcode) 0)))
+ (case (length (cdr form))
+ (3 (byte-compile-form (nth 1 form)) ;; Push the arguments
+ (byte-compile-form (nth 2 form))
+ (byte-compile-form (nth 3 form))
+ (byte-compile-out (get (car form) 'byte-opcode) 0))
+ (t (byte-compile-subr-wrong-args form 3))))
(defun byte-compile-zero-or-one-arg (form)
- (let ((len (length form)))
- (cond ((= len 1) (byte-compile-one-arg (append form '(nil))))
- ((= len 2) (byte-compile-one-arg form))
- (t (byte-compile-subr-wrong-args form "0-1")))))
+ (case (length (cdr form))
+ (0 (byte-compile-one-arg (append form '(nil))))
+ (1 (byte-compile-one-arg form))
+ (t (byte-compile-subr-wrong-args form "0-1"))))
(defun byte-compile-one-or-two-args (form)
- (let ((len (length form)))
- (cond ((= len 2) (byte-compile-two-args (append form '(nil))))
- ((= len 3) (byte-compile-two-args form))
- (t (byte-compile-subr-wrong-args form "1-2")))))
+ (case (length (cdr form))
+ (1 (byte-compile-two-args (append form '(nil))))
+ (2 (byte-compile-two-args form))
+ (t (byte-compile-subr-wrong-args form "1-2"))))
(defun byte-compile-two-or-three-args (form)
- (let ((len (length form)))
- (cond ((= len 3) (byte-compile-three-args (append form '(nil))))
- ((= len 4) (byte-compile-three-args form))
- (t (byte-compile-subr-wrong-args form "2-3")))))
+ (case (length (cdr form))
+ (2 (byte-compile-three-args (append form '(nil))))
+ (3 (byte-compile-three-args form))
+ (t (byte-compile-subr-wrong-args form "2-3"))))
;; from Ben Wing <ben@xemacs.org>: some inlined functions have extra
;; optional args added to them in XEmacs 19.12. Changing the byte
;; `byte-compile-subr-wrong-args' also converts the call to non-inlined.
(defun byte-compile-no-args-with-one-extra (form)
- (let ((len (length form)))
- (cond ((= len 1) (byte-compile-no-args form))
- ((= len 2) (byte-compile-normal-call form))
- (t (byte-compile-subr-wrong-args form "0-1")))))
+ (case (length (cdr form))
+ (0 (byte-compile-no-args form))
+ (1 (byte-compile-normal-call form))
+ (t (byte-compile-subr-wrong-args form "0-1"))))
(defun byte-compile-one-arg-with-one-extra (form)
- (let ((len (length form)))
- (cond ((= len 2) (byte-compile-one-arg form))
- ((= len 3) (byte-compile-normal-call form))
- (t (byte-compile-subr-wrong-args form "1-2")))))
+ (case (length (cdr form))
+ (1 (byte-compile-one-arg form))
+ (2 (byte-compile-normal-call form))
+ (t (byte-compile-subr-wrong-args form "1-2"))))
(defun byte-compile-two-args-with-one-extra (form)
- (let ((len (length form)))
- (cond ((= len 3) (byte-compile-two-args form))
- ((= len 4) (byte-compile-normal-call form))
- (t (byte-compile-subr-wrong-args form "2-3")))))
+ (case (length (cdr form))
+ (2 (byte-compile-two-args form))
+ (3 (byte-compile-normal-call form))
+ (t (byte-compile-subr-wrong-args form "2-3"))))
(defun byte-compile-zero-or-one-arg-with-one-extra (form)
- (let ((len (length form)))
- (cond ((= len 1) (byte-compile-one-arg (append form '(nil))))
- ((= len 2) (byte-compile-one-arg form))
- ((= len 3) (byte-compile-normal-call form))
- (t (byte-compile-subr-wrong-args form "0-2")))))
+ (case (length (cdr form))
+ (0 (byte-compile-one-arg (append form '(nil))))
+ (1 (byte-compile-one-arg form))
+ (2 (byte-compile-normal-call form))
+ (t (byte-compile-subr-wrong-args form "0-2"))))
(defun byte-compile-one-or-two-args-with-one-extra (form)
- (let ((len (length form)))
- (cond ((= len 2) (byte-compile-two-args (append form '(nil))))
- ((= len 3) (byte-compile-two-args form))
- ((= len 4) (byte-compile-normal-call form))
- (t (byte-compile-subr-wrong-args form "1-3")))))
+ (case (length (cdr form))
+ (1 (byte-compile-two-args (append form '(nil))))
+ (2 (byte-compile-two-args form))
+ (3 (byte-compile-normal-call form))
+ (t (byte-compile-subr-wrong-args form "1-3"))))
(defun byte-compile-two-or-three-args-with-one-extra (form)
- (let ((len (length form)))
- (cond ((= len 3) (byte-compile-three-args (append form '(nil))))
- ((= len 4) (byte-compile-three-args form))
- ((= len 5) (byte-compile-normal-call form))
- (t (byte-compile-subr-wrong-args form "2-4")))))
+ (case (length (cdr form))
+ (2 (byte-compile-three-args (append form '(nil))))
+ (3 (byte-compile-three-args form))
+ (4 (byte-compile-normal-call form))
+ (t (byte-compile-subr-wrong-args form "2-4"))))
(defun byte-compile-no-args-with-two-extra (form)
- (let ((len (length form)))
- (cond ((= len 1) (byte-compile-no-args form))
- ((or (= len 2) (= len 3)) (byte-compile-normal-call form))
- (t (byte-compile-subr-wrong-args form "0-2")))))
+ (case (length (cdr form))
+ (0 (byte-compile-no-args form))
+ ((1 2) (byte-compile-normal-call form))
+ (t (byte-compile-subr-wrong-args form "0-2"))))
(defun byte-compile-one-arg-with-two-extra (form)
- (let ((len (length form)))
- (cond ((= len 2) (byte-compile-one-arg form))
- ((or (= len 3) (= len 4)) (byte-compile-normal-call form))
- (t (byte-compile-subr-wrong-args form "1-3")))))
+ (case (length (cdr form))
+ (1 (byte-compile-one-arg form))
+ ((2 3) (byte-compile-normal-call form))
+ (t (byte-compile-subr-wrong-args form "1-3"))))
;; XEmacs: used for functions that have a different opcode in v19 than v20.
;; this includes `eq', `equal', and other old-ified functions.
(defun byte-compile-discard ()
(byte-compile-out 'byte-discard 0))
+;; Compile a function that accepts one or more args and is right-associative.
+;; We do it by left-associativity so that the operations
+;; are done in the same order as in interpreted code.
+;(defun byte-compile-associative (form)
+; (if (cdr form)
+; (let ((opcode (get (car form) 'byte-opcode))
+; (args (copy-sequence (cdr form))))
+; (byte-compile-form (car args))
+; (setq args (cdr args))
+; (while args
+; (byte-compile-form (car args))
+; (byte-compile-out opcode 0)
+; (setq args (cdr args))))
+; (byte-compile-constant (eval form))))
;; Compile a function that accepts one or more args and is right-associative.
;; We do it by left-associativity so that the operations
;; are done in the same order as in interpreted code.
(defun byte-compile-associative (form)
- (if (cdr form)
- (let ((opcode (get (car form) 'byte-opcode))
- (args (copy-sequence (cdr form))))
- (byte-compile-form (car args))
- (setq args (cdr args))
- (while args
- (byte-compile-form (car args))
- (byte-compile-out opcode 0)
- (setq args (cdr args))))
- (byte-compile-constant (eval form))))
+ (let ((args (cdr form))
+ (opcode (get (car form) 'byte-opcode)))
+ (case (length args)
+ (0 (byte-compile-constant (eval form)))
+ (t (byte-compile-form (car args))
+ (dolist (arg (cdr args))
+ (byte-compile-form arg)
+ (byte-compile-out opcode 0))))))
\f
;; more complicated compiler macros
(byte-defop-compiler nconc)
(byte-defop-compiler-1 beginning-of-line)
-(defun byte-compile-one-or-more-args (form)
- (let ((len (length form)))
- (cond ((= len 1) (byte-compile-subr-wrong-args form "1 or more"))
- ((= len 2) (byte-compile-constant t))
- ((= len 3) (byte-compile-two-args form))
- (t (byte-compile-normal-call form)))))
+(byte-defop-compiler (= byte-eqlsign) byte-compile-arithcompare)
+(byte-defop-compiler (< byte-lss) byte-compile-arithcompare)
+(byte-defop-compiler (> byte-gtr) byte-compile-arithcompare)
+(byte-defop-compiler (<= byte-leq) byte-compile-arithcompare)
+(byte-defop-compiler (>= byte-geq) byte-compile-arithcompare)
+
+(defun byte-compile-arithcompare (form)
+ (case (length (cdr form))
+ (0 (byte-compile-subr-wrong-args form "1 or more"))
+ (1 (byte-compile-constant t))
+ (2 (byte-compile-two-args form))
+ (t (byte-compile-normal-call form))))
+
+(byte-defop-compiler /= byte-compile-/=)
(defun byte-compile-/= (form)
- (let ((len (length form)))
- (cond ((= len 1) (byte-compile-subr-wrong-args form "1 or more"))
- ((= len 2) (byte-compile-constant t))
- ;; optimize (/= X Y) to (not (= X Y))
- ((= len 3) (byte-compile-form-do-effect `(not (= ,@(cdr form)))))
- (t (byte-compile-normal-call form)))))
+ (case (length (cdr form))
+ (0 (byte-compile-subr-wrong-args form "1 or more"))
+ (1 (byte-compile-constant t))
+ ;; optimize (/= X Y) to (not (= X Y))
+ (2 (byte-compile-form-do-effect `(not (= ,@(cdr form)))))
+ (t (byte-compile-normal-call form))))
+
+;; buffer-substring now has its own function. This used to be
+;; 2+1, but now all args are optional.
+(byte-defop-compiler buffer-substring)
(defun byte-compile-buffer-substring (form)
- (let ((len (length form)))
- ;; buffer-substring used to take exactly two args, but now takes 0-3.
- ;; convert 0-2 to two args and use special bytecode operand.
- ;; convert 3 args to a normal call.
- (cond ((= len 1) (setq form (append form '(nil nil)))
- (= len 2) (setq form (append form '(nil)))))
- (cond ((= len 3) (byte-compile-two-args form))
- ((= len 4) (byte-compile-normal-call form))
- (t (byte-compile-subr-wrong-args form "0-3")))))
+ ;; buffer-substring used to take exactly two args, but now takes 0-3.
+ ;; convert 0-2 to two args and use special bytecode operand.
+ ;; convert 3 args to a normal call.
+ (case (length (cdr form))
+ (0 (byte-compile-two-args (append form '(nil nil))))
+ (1 (byte-compile-two-args (append form '(nil))))
+ (2 (byte-compile-two-args form))
+ (3 (byte-compile-normal-call form))
+ (t (byte-compile-subr-wrong-args form "0-3"))))
(defun byte-compile-list (form)
- (let ((count (length (cdr form))))
- (cond ((= count 0)
- (byte-compile-constant nil))
- ((< count 5)
- (mapcar 'byte-compile-form (cdr form))
- (byte-compile-out
- (aref [byte-list1 byte-list2 byte-list3 byte-list4] (1- count)) 0))
- ((< count 256)
- (mapcar 'byte-compile-form (cdr form))
- (byte-compile-out 'byte-listN count))
- (t (byte-compile-normal-call form)))))
+ (let* ((args (cdr form))
+ (nargs (length args)))
+ (cond
+ ((= nargs 0)
+ (byte-compile-constant nil))
+ ((< nargs 5)
+ (mapcar 'byte-compile-form args)
+ (byte-compile-out
+ (aref [byte-list1 byte-list2 byte-list3 byte-list4] (1- nargs))
+ 0))
+ ((< nargs 256)
+ (mapcar 'byte-compile-form args)
+ (byte-compile-out 'byte-listN nargs))
+ (t (byte-compile-normal-call form)))))
(defun byte-compile-concat (form)
- (let ((count (length (cdr form))))
- (cond ((and (< 1 count) (< count 5))
- (mapcar 'byte-compile-form (cdr form))
- (byte-compile-out
- (aref [byte-concat2 byte-concat3 byte-concat4] (- count 2))
- 0))
- ;; Concat of one arg is not a no-op if arg is not a string.
- ((= count 0)
- (byte-compile-form ""))
- ((< count 256)
- (mapcar 'byte-compile-form (cdr form))
- (byte-compile-out 'byte-concatN count))
- ((byte-compile-normal-call form)))))
+ (let* ((args (cdr form))
+ (nargs (length args)))
+ ;; Concat of one arg is not a no-op if arg is not a string.
+ (cond
+ ((memq nargs '(2 3 4))
+ (mapcar 'byte-compile-form args)
+ (byte-compile-out
+ (aref [byte-concat2 byte-concat3 byte-concat4] (- nargs 2))
+ 0))
+ ((eq nargs 0)
+ (byte-compile-form ""))
+ ((< nargs 256)
+ (mapcar 'byte-compile-form args)
+ (byte-compile-out 'byte-concatN nargs))
+ ((byte-compile-normal-call form)))))
(defun byte-compile-minus (form)
- (if (null (setq form (cdr form)))
- (byte-compile-constant 0)
- (byte-compile-form (car form))
- (if (cdr form)
- (while (setq form (cdr form))
- (byte-compile-form (car form))
- (byte-compile-out 'byte-diff 0))
- (byte-compile-out 'byte-negate 0))))
+ (let ((args (cdr form)))
+ (case (length args)
+ (0 (byte-compile-subr-wrong-args form "1 or more"))
+ (1 (byte-compile-form (car args))
+ (byte-compile-out 'byte-negate 0))
+ (t (byte-compile-form (car args))
+ (dolist (elt (cdr args))
+ (byte-compile-form elt)
+ (byte-compile-out 'byte-diff 0))))))
(defun byte-compile-quo (form)
- (let ((len (length form)))
- (cond ((<= len 2)
- (byte-compile-subr-wrong-args form "2 or more"))
- (t
- (byte-compile-form (car (setq form (cdr form))))
- (while (setq form (cdr form))
- (byte-compile-form (car form))
- (byte-compile-out 'byte-quo 0))))))
+ (let ((args (cdr form)))
+ (case (length args)
+ (0 (byte-compile-subr-wrong-args form "1 or more"))
+ (1 (byte-compile-constant 1)
+ (byte-compile-form (car args))
+ (byte-compile-out 'byte-quo 0))
+ (t (byte-compile-form (car args))
+ (dolist (elt (cdr args))
+ (byte-compile-form elt)
+ (byte-compile-out 'byte-quo 0))))))
(defun byte-compile-nconc (form)
- (let ((len (length form)))
- (cond ((= len 1)
- (byte-compile-constant nil))
- ((= len 2)
- ;; nconc of one arg is a noop, even if that arg isn't a list.
- (byte-compile-form (nth 1 form)))
- (t
- (byte-compile-form (car (setq form (cdr form))))
- (while (setq form (cdr form))
- (byte-compile-form (car form))
- (byte-compile-out 'byte-nconc 0))))))
+ (let ((args (cdr form)))
+ (case (length args)
+ (0 (byte-compile-constant nil))
+ ;; nconc of one arg is a noop, even if that arg isn't a list.
+ (1 (byte-compile-form (car args)))
+ (t (byte-compile-form (car args))
+ (dolist (elt (cdr args))
+ (byte-compile-form elt)
+ (byte-compile-out 'byte-nconc 0))))))
(defun byte-compile-fset (form)
;; warn about forms like (fset 'foo '(lambda () ...))
;; I'm sick of getting mail asking me whether that warning is a problem.
(let ((fn (nth 2 form))
body)
- (if (and (eq (car-safe fn) 'quote)
- (eq (car-safe (setq fn (nth 1 fn))) 'lambda)
- (not (eq (car-safe (cdr-safe (nth 1 form))) 'make-byte-code)))
- (progn
- (setq body (cdr (cdr fn)))
- (if (stringp (car body)) (setq body (cdr body)))
- (if (eq 'interactive (car-safe (car body))) (setq body (cdr body)))
- (if (and (consp (car body))
- (not (eq 'byte-code (car (car body)))))
- (byte-compile-warn
- "A quoted lambda form is the second argument of fset. This is probably
+ (when (and (eq (car-safe fn) 'quote)
+ (eq (car-safe (setq fn (nth 1 fn))) 'lambda)
+ (not (eq (car-safe (cdr-safe (nth 1 form))) 'make-byte-code)))
+ (setq body (cdr (cdr fn)))
+ (if (stringp (car body)) (setq body (cdr body)))
+ (if (eq 'interactive (car-safe (car body))) (setq body (cdr body)))
+ (if (and (consp (car body))
+ (not (eq 'byte-code (car (car body)))))
+ (byte-compile-warn
+ "A quoted lambda form is the second argument of fset. This is probably
not what you want, as that lambda cannot be compiled. Consider using
- the syntax (function (lambda (...) ...)) instead.")))))
+ the syntax (function (lambda (...) ...)) instead."))))
(byte-compile-two-args form))
(defun byte-compile-funarg (form)
(while (setq form (cdr form))
(byte-compile-form (car form))
(byte-compile-out 'byte-insert 0)
- (if (cdr form)
- (byte-compile-discard))))))
+ (when (cdr form)
+ (byte-compile-discard))))))
;; alas, the old (pre-19.12, and all existing versions of FSFmacs 19)
;; byte compiler will generate incorrect code for
(byte-defop-compiler-1 quote-form)
(defun byte-compile-setq (form)
- (let ((args (cdr form)))
- (if args
- (while args
- (byte-compile-form (car (cdr args)))
- (or for-effect (cdr (cdr args))
+ (let ((args (cdr form)) var val)
+ (if (null args)
+ ;; (setq), with no arguments.
+ (byte-compile-form nil for-effect)
+ (while args
+ (setq var (pop args))
+ (if (null args)
+ ;; Odd number of args? Let `set' get the error.
+ (byte-compile-form `(set ',var) for-effect)
+ (setq val (pop args))
+ (if (keywordp var)
+ ;; (setq :foo ':foo) compatibility kludge
+ (byte-compile-form `(set ',var ,val) (if args t for-effect))
+ (byte-compile-form val)
+ (unless (or args for-effect)
(byte-compile-out 'byte-dup 0))
- (byte-compile-variable-ref 'byte-varset (car args))
- (setq args (cdr (cdr args))))
- ;; (setq), with no arguments.
- (byte-compile-form nil for-effect))
- (setq for-effect nil)))
+ (byte-compile-variable-ref 'byte-varset var))))))
+ (setq for-effect nil))
(defun byte-compile-set (form)
;; Compile (set 'foo x) as (setq foo x) for trivially better code and so
;; that we get applicable warnings. Compile everything else (including
;; malformed calls) like a normal 2-arg byte-coded function.
- (if (or (not (eq (car-safe (nth 1 form)) 'quote))
- (not (= (length form) 3))
- (not (= (length (nth 1 form)) 2)))
- (byte-compile-two-args form)
- (byte-compile-setq (list 'setq (nth 1 (nth 1 form)) (nth 2 form)))))
+ (let ((symform (nth 1 form))
+ (valform (nth 2 form))
+ sym)
+ (if (and (= (length form) 3)
+ (= (safe-length symform) 2)
+ (eq (car symform) 'quote)
+ (symbolp (setq sym (car (cdr symform))))
+ (not (byte-compile-constant-symbol-p sym)))
+ (byte-compile-setq `(setq ,sym ,valform))
+ (byte-compile-two-args form))))
(defun byte-compile-setq-default (form)
- (let ((rest (cdr form)))
- ;; emit multiple calls to set-default if necessary
- (while rest
- (byte-compile-form
- (list 'set-default (list 'quote (car rest)) (car (cdr rest)))
- (not (null (cdr (cdr rest)))))
- (setq rest (cdr (cdr rest))))))
+ (let ((args (cdr form)))
+ (if (null args)
+ ;; (setq-default), with no arguments.
+ (byte-compile-form nil for-effect)
+ ;; emit multiple calls to `set-default' if necessary
+ (while args
+ (byte-compile-form
+ ;; Odd number of args? Let `set-default' get the error.
+ `(set-default ',(pop args) ,@(if args (list (pop args)) nil))
+ (if args t for-effect)))))
+ (setq for-effect nil))
+
(defun byte-compile-set-default (form)
- (let ((rest (cdr form)))
- (if (cdr (cdr (cdr form)))
- ;; emit multiple calls to set-default if necessary; all but last
- ;; for-effect (this recurses.)
- (while rest
- (byte-compile-form
- (list 'set-default (car rest) (car (cdr rest)))
- (not (null (cdr rest))))
- (setq rest (cdr (cdr rest))))
- ;; else, this is the one-armed version
- (let ((var (nth 1 form))
- ;;(val (nth 2 form))
- )
- ;; notice calls to set-default/setq-default for variables which
- ;; have not been declared with defvar/defconst.
- (if (and (memq 'free-vars byte-compile-warnings)
- (or (null var)
- (and (eq (car-safe var) 'quote)
- (= 2 (length var)))))
- (let ((sym (nth 1 var))
- cell)
- (or (and sym (symbolp sym) (globally-boundp sym))
- (and (setq cell (assq sym byte-compile-bound-variables))
- (setcdr cell (logior (cdr cell)
- byte-compile-assigned-bit)))
- (memq sym byte-compile-free-assignments)
- (if (or (not (symbolp sym)) (memq sym '(t nil)))
- (progn
- (byte-compile-warn
- "Attempt to set-globally %s %s"
- (if (symbolp sym) "constant" "nonvariable")
- (prin1-to-string sym)))
- (progn
- (byte-compile-warn "assignment to free variable %s" sym)
- (setq byte-compile-free-assignments
- (cons sym byte-compile-free-assignments)))))))
- ;; now emit a normal call to set-default (or possibly multiple calls)
- (byte-compile-normal-call form)))))
+ (let* ((args (cdr form))
+ (nargs (length args))
+ (var (car args)))
+ (when (and (= (safe-length var) 2)
+ (eq (car var) 'quote))
+ (let ((sym (nth 1 var)))
+ (cond
+ ((not (symbolp sym))
+ (byte-compile-warn "Attempt to set-globally non-symbol %s" sym))
+ ((byte-compile-constant-symbol-p sym)
+ (byte-compile-warn "Attempt to set-globally constant symbol %s" sym))
+ ((let ((cell (assq sym byte-compile-bound-variables)))
+ (and cell
+ (setcdr cell (logior (cdr cell) byte-compile-assigned-bit))
+ t)))
+ ;; notice calls to set-default/setq-default for variables which
+ ;; have not been declared with defvar/defconst.
+ ((globally-boundp sym)) ; OK
+ ((not (memq 'free-vars byte-compile-warnings))) ; warnings suppressed?
+ ((memq sym byte-compile-free-assignments)) ; already warned about sym
+ (t
+ (byte-compile-warn "assignment to free variable %s" sym)
+ (push sym byte-compile-free-assignments)))))
+ (if (= nargs 2)
+ ;; now emit a normal call to set-default
+ (byte-compile-normal-call form)
+ (byte-compile-subr-wrong-args form 2))))
(defun byte-compile-quote (form)
(byte-compile-body-do-effect (cdr form)))
(defun byte-compile-prog1 (form)
- (byte-compile-form-do-effect (car (cdr form)))
- (byte-compile-body (cdr (cdr form)) t))
+ (setq form (cdr form))
+ (byte-compile-form-do-effect (pop form))
+ (byte-compile-body form t))
(defun byte-compile-prog2 (form)
- (byte-compile-form (nth 1 form) t)
- (byte-compile-form-do-effect (nth 2 form))
- (byte-compile-body (cdr (cdr (cdr form))) t))
+ (setq form (cdr form))
+ (byte-compile-form (pop form) t)
+ (byte-compile-form-do-effect (pop form))
+ (byte-compile-body form t))
(defmacro byte-compile-goto-if (cond discard tag)
- (` (byte-compile-goto
- (if (, cond)
- (if (, discard) 'byte-goto-if-not-nil 'byte-goto-if-not-nil-else-pop)
- (if (, discard) 'byte-goto-if-nil 'byte-goto-if-nil-else-pop))
- (, tag))))
+ `(byte-compile-goto
+ (if ,cond
+ (if ,discard 'byte-goto-if-not-nil 'byte-goto-if-not-nil-else-pop)
+ (if ,discard 'byte-goto-if-nil 'byte-goto-if-nil-else-pop))
+ ,tag))
(defun byte-compile-if (form)
(byte-compile-form (car (cdr form)))
(defun byte-compile-out-tag (tag)
- (setq byte-compile-output (cons tag byte-compile-output))
+ (push tag byte-compile-output)
(if (cdr (cdr tag))
(progn
;; ## remove this someday
(setcdr (cdr tag) byte-compile-depth)))
(defun byte-compile-goto (opcode tag)
- (setq byte-compile-output (cons (cons opcode tag) byte-compile-output))
+ (push (cons opcode tag) byte-compile-output)
(setcdr (cdr tag) (if (memq opcode byte-goto-always-pop-ops)
(1- byte-compile-depth)
byte-compile-depth))
(1- byte-compile-depth))))
(defun byte-compile-out (opcode offset)
- (setq byte-compile-output (cons (cons opcode offset) byte-compile-output))
- (cond ((eq opcode 'byte-call)
- (setq byte-compile-depth (- byte-compile-depth offset)))
- ((eq opcode 'byte-return)
- ;; This is actually an unnecessary case, because there should be
- ;; no more opcodes behind byte-return.
- (setq byte-compile-depth nil))
- (t
- (setq byte-compile-depth (+ byte-compile-depth
- (or (aref byte-stack+-info
- (symbol-value opcode))
- (- (1- offset))))
- byte-compile-maxdepth (max byte-compile-depth
- byte-compile-maxdepth))))
+ (push (cons opcode offset) byte-compile-output)
+ (case opcode
+ (byte-call
+ (setq byte-compile-depth (- byte-compile-depth offset)))
+ (byte-return
+ ;; This is actually an unnecessary case, because there should be
+ ;; no more opcodes behind byte-return.
+ (setq byte-compile-depth nil))
+ (t
+ (setq byte-compile-depth (+ byte-compile-depth
+ (or (aref byte-stack+-info
+ (symbol-value opcode))
+ (- (1- offset))))
+ byte-compile-maxdepth (max byte-compile-depth
+ byte-compile-maxdepth))))
;;(if (< byte-compile-depth 0) (error "Compiler error: stack underflow"))
)
(or (memq byte-compile-current-form (nth 1 entry)) ;callers
(setcar (cdr entry)
(cons byte-compile-current-form (nth 1 entry))))
- (setq byte-compile-call-tree
- (cons (list (car form) (list byte-compile-current-form) nil)
- byte-compile-call-tree)))
+ (push (list (car form) (list byte-compile-current-form) nil)
+ byte-compile-call-tree))
;; annotate the current function
(if (setq entry (assq byte-compile-current-form byte-compile-call-tree))
(or (memq (car form) (nth 2 entry)) ;called
(setcar (cdr (cdr entry))
(cons (car form) (nth 2 entry))))
- (setq byte-compile-call-tree
- (cons (list byte-compile-current-form nil (list (car form)))
- byte-compile-call-tree)))
- ))
+ (push (list byte-compile-current-form nil (list (car form)))
+ byte-compile-call-tree))))
;; Renamed from byte-compile-report-call-tree
;; to avoid interfering with completion of byte-compile-file.
(sort byte-compile-call-tree
(cond
((eq byte-compile-call-tree-sort 'callers)
- (function (lambda (x y) (< (length (nth 1 x))
- (length (nth 1 y))))))
+ #'(lambda (x y) (< (length (nth 1 x))
+ (length (nth 1 y)))))
((eq byte-compile-call-tree-sort 'calls)
- (function (lambda (x y) (< (length (nth 2 x))
- (length (nth 2 y))))))
+ #'(lambda (x y) (< (length (nth 2 x))
+ (length (nth 2 y)))))
((eq byte-compile-call-tree-sort 'calls+callers)
- (function (lambda (x y) (< (+ (length (nth 1 x))
- (length (nth 2 x)))
- (+ (length (nth 1 y))
- (length (nth 2 y)))))))
+ #'(lambda (x y) (< (+ (length (nth 1 x))
+ (length (nth 2 x)))
+ (+ (length (nth 1 y))
+ (length (nth 2 y))))))
((eq byte-compile-call-tree-sort 'name)
- (function (lambda (x y) (string< (car x)
- (car y)))))
+ #'(lambda (x y) (string< (car x)
+ (car y))))
(t (error
"`byte-compile-call-tree-sort': `%s' - unknown sort mode"
byte-compile-call-tree-sort))))))
(defvar command-line-args-left) ;Avoid 'free variable' warning
(if (not noninteractive)
(error "`batch-byte-compile' is to be used only with -batch"))
- (let ((error nil)
- (debug-issue-ebola-notices 0)) ; Hack -slb
+ (let ((error nil))
(while command-line-args-left
(if (file-directory-p (expand-file-name (car command-line-args-left)))
(let ((files (directory-files (car command-line-args-left)))
(if (fboundp 'display-error) ; XEmacs 19.8+
(display-error err nil)
(princ (or (get (car err) 'error-message) (car err)))
- (mapcar '(lambda (x) (princ " ") (prin1 x)) (cdr err)))
+ (mapcar #'(lambda (x) (princ " ") (prin1 x)) (cdr err)))
(princ "\n")
nil)))
(error "batch-byte-recompile-directory is to be used only with -batch"))
(or command-line-args-left
(setq command-line-args-left '(".")))
- (let ((byte-recompile-directory-ignore-errors-p t)
- (debug-issue-ebola-notices 0))
+ (let ((byte-recompile-directory-ignore-errors-p t))
(while command-line-args-left
(byte-recompile-directory (car command-line-args-left))
(setq command-line-args-left (cdr command-line-args-left))))
(assq 'byte-code (symbol-function 'byte-compile-form))
(let ((byte-optimize nil) ; do it fast
(byte-compile-warnings nil))
- (mapcar '(lambda (x)
- (or noninteractive (message "compiling %s..." x))
- (byte-compile x)
- (or noninteractive (message "compiling %s...done" x)))
+ (mapcar #'(lambda (x)
+ (or noninteractive (message "compiling %s..." x))
+ (byte-compile x)
+ (or noninteractive (message "compiling %s...done" x)))
'(byte-compile-normal-call
byte-compile-form
byte-compile-body
"Where the package lisp sources live.")
;; (makunbound 'caller-table)
-(defconst caller-table (make-hashtable 256 #'equal)
- "Hashtable keyed on the symbols being required. Each element will
+(defconst caller-table (make-hash-table :test 'equal)
+ "Hash table keyed on the symbols being required. Each element will
be a list of file-names of programs that depend on them.")
;;./apel/atype.el:(require 'emu)
(point))
cmd-out))
(lst (gethash key caller-table)))
- (puthash key (add-to-list 'lst file-name) caller-table))
+ (unless (member file-name lst)
+ (puthash key (cons file-name lst) caller-table)))
(forward-line 1)
(sit-for 0))
(switch-to-buffer rpt)
(condition-case nil
(package-require 'tooltalk 1.0)
(t (progn
- (setq build-error 1)
- (message "Error: This XEmacs is built with tooltalk support but")
+ ;; (setq build-error 1)
+ (message "Warning: This XEmacs is built with tooltalk support but")
(message "does not have a tooltalk package installed. Without the")
(message "tooltalk lisp package, Tooltalk support is broken.")))))
(condition-case nil
(package-require 'Sun 1.0)
(t (progn
- (setq build-error 1)
- (message "Error: This XEmacs is built with sparcworks support but")
+ ;; (setq build-error 1)
+ (message "Warning: This XEmacs is built with sparcworks support but")
(message "does not have the Sun package installed. Without the Sun")
(message "lisp package, Sparcworks support will be broken.")))))
;;; Code:
+(eval-when-compile
+ (require 'obsolete))
(or (memq 'cl-19 features)
(error "Tried to load `cl-extra' before `cl'!"))
((eq type 'array) (if (arrayp x) x (vconcat x)))
((and (eq type 'character) (stringp x) (= (length x) 1)) (aref x 0))
((and (eq type 'character) (symbolp x)) (coerce (symbol-name x) type))
+ ((and (eq type 'character) (numberp x) (char-or-char-int-p x)
+ (int-char x)))
((eq type 'float) (float x))
((eq type 'bit-vector) (if (bit-vector-p x) x
(apply 'bit-vector (append x nil))))
(and (numberp y) (= x y)))
((consp x)
;; XEmacs change
- (while (and (consp x) (consp y) (equalp (cl-pop x) (cl-pop y))))
+ (while (and (consp x) (consp y) (equalp (car x) (car y)))
+ (cl-pop x) (cl-pop y))
(and (not (consp x)) (equalp x y)))
((vectorp x)
(and (vectorp y) (= (length x) (length y))
;; Inspired by "ran3" from Numerical Recipes. Additive congruential method.
(let ((vec (aref state 3)))
(if (integerp vec)
- (let ((i 0) (j (- 1357335 (% (abs vec) 1357333))) (k 1) ii)
+ (let ((i 0) (j (- 1357335 (% (abs vec) 1357333))) (k 1))
(aset state 3 (setq vec (make-vector 55 nil)))
(aset vec 0 j)
(while (> (setq i (% (+ i 21) 55)) 0)
;; Implementation limits.
(defun cl-finite-do (func a b)
- (condition-case err
+ (condition-case nil
(let ((res (funcall func a b))) ; check for IEEE infinity
(and (numberp res) (/= res (/ res 2)) res))
(arith-error nil)))
most-negative-float (- x))
;; Divide down until mantissa starts rounding.
(setq x (/ x z) y (/ 16 z) x (* x y))
- (while (condition-case err (and (= x (* (/ x 2) 2)) (> (/ y 2) 0))
+ (while (condition-case nil (and (= x (* (/ x 2) 2)) (> (/ y 2) 0))
(arith-error nil))
(setq x (/ x 2) y (/ y 2)))
(setq least-positive-normalized-float y
least-negative-normalized-float (- y))
;; Divide down until value underflows to zero.
(setq x (/ 1 z) y x)
- (while (condition-case err (> (/ x 2) 0) (arith-error nil))
+ (while (condition-case nil (> (/ x 2) 0) (arith-error nil))
(setq x (/ x 2)))
(setq least-positive-float x
least-negative-float (- x))
(defun concatenate (type &rest seqs)
"Concatenate, into a sequence of type TYPE, the argument SEQUENCES."
- (cond ((eq type 'vector) (apply 'vconcat seqs))
- ((eq type 'string) (apply 'concat seqs))
- ((eq type 'list) (apply 'append (append seqs '(nil))))
- (t (error "Not a sequence type name: %s" type))))
-
+ (case type
+ (vector (apply 'vconcat seqs))
+ (string (apply 'concat seqs))
+ (list (apply 'append (append seqs '(nil))))
+ (t (error "Not a sequence type name: %s" type))))
;;; List functions.
;;; Hash tables.
-(defun make-hash-table (&rest cl-keys)
- "Make an empty Common Lisp-style hash-table.
-If :test is `eq', `eql', or `equal', this can use XEmacs built-in hash-tables.
-In Emacs 19, or with a different test, this internally uses a-lists.
-Keywords supported: :test :size
-The Common Lisp keywords :rehash-size and :rehash-threshold are ignored."
- (let ((cl-test (or (car (cdr (memq ':test cl-keys))) 'eql))
- (cl-size (or (car (cdr (memq ':size cl-keys))) 20)))
- ;; XEmacs change
- (if (and (memq cl-test '(eq eql equal)) (fboundp 'make-hashtable))
- (funcall 'make-hashtable cl-size cl-test)
- (list 'cl-hash-table-tag cl-test
- (if (> cl-size 1) (make-vector cl-size 0)
- (let ((sym (make-symbol "--hashsym--"))) (set sym nil) sym))
- 0))))
-
-(defvar cl-lucid-hash-tag
- (if (and (fboundp 'make-hashtable) (vectorp (make-hashtable 1)))
- (aref (make-hashtable 1) 0) (make-symbol "--cl-hash-tag--")))
-
-(defun hash-table-p (x)
- "Return t if OBJECT is a hash table."
- (or (and (fboundp 'hashtablep) (funcall 'hashtablep x))
- (eq (car-safe x) 'cl-hash-table-tag)
- (and (vectorp x) (= (length x) 4) (eq (aref x 0) cl-lucid-hash-tag))))
-
-(defun cl-not-hash-table (x &optional y &rest z)
- (signal 'wrong-type-argument (list 'hash-table-p (or y x))))
-
-(defun cl-hash-lookup (key table)
- (or (eq (car-safe table) 'cl-hash-table-tag) (cl-not-hash-table table))
- (let* ((array (nth 2 table)) (test (car (cdr table))) (str key) sym)
- (if (symbolp array) (setq str nil sym (symbol-value array))
- (while (or (consp str) (and (vectorp str) (> (length str) 0)))
- (setq str (elt str 0)))
- (cond ((stringp str) (if (eq test 'equalp) (setq str (downcase str))))
- ((symbolp str) (setq str (symbol-name str)))
- ((and (numberp str) (> str -8000000) (< str 8000000))
- (or (integerp str) (setq str (truncate str)))
- (setq str (aref ["0" "1" "2" "3" "4" "5" "6" "7" "8" "9" "10"
- "11" "12" "13" "14" "15"] (logand str 15))))
- (t (setq str "*")))
- (setq sym (symbol-value (intern-soft str array))))
- (list (and sym (cond ((or (eq test 'eq)
- (and (eq test 'eql) (not (numberp key))))
- (assq key sym))
- ((memq test '(eql equal)) (assoc key sym))
- (t (assoc* key sym ':test test))))
- sym str)))
-
-(defvar cl-builtin-gethash
- (if (and (fboundp 'gethash) (subrp (symbol-function 'gethash)))
- (symbol-function 'gethash) 'cl-not-hash-table))
-(defvar cl-builtin-remhash
- (if (and (fboundp 'remhash) (subrp (symbol-function 'remhash)))
- (symbol-function 'remhash) 'cl-not-hash-table))
-(defvar cl-builtin-clrhash
- (if (and (fboundp 'clrhash) (subrp (symbol-function 'clrhash)))
- (symbol-function 'clrhash) 'cl-not-hash-table))
-(defvar cl-builtin-maphash
- (if (and (fboundp 'maphash) (subrp (symbol-function 'maphash)))
- (symbol-function 'maphash) 'cl-not-hash-table))
-
-(defun cl-gethash (key table &optional def)
- "Look up KEY in HASH-TABLE; return corresponding value, or DEFAULT."
- (if (consp table)
- (let ((found (cl-hash-lookup key table)))
- (if (car found) (cdr (car found)) def))
- (funcall cl-builtin-gethash key table def)))
-(defalias 'gethash 'cl-gethash)
-
-(defun cl-puthash (key val table)
- (if (consp table)
- (let ((found (cl-hash-lookup key table)))
- (if (car found) (setcdr (car found) val)
- (if (nth 2 found)
- (progn
- (if (> (nth 3 table) (* (length (nth 2 table)) 3))
- (let ((new-table (make-vector (nth 3 table) 0)))
- (mapatoms (function
- (lambda (sym)
- (set (intern (symbol-name sym) new-table)
- (symbol-value sym))))
- (nth 2 table))
- (setcar (cdr (cdr table)) new-table)))
- (set (intern (nth 2 found) (nth 2 table))
- (cons (cons key val) (nth 1 found))))
- (set (nth 2 table) (cons (cons key val) (nth 1 found))))
- (setcar (cdr (cdr (cdr table))) (1+ (nth 3 table)))))
- (funcall 'puthash key val table)) val)
-
-(defun cl-remhash (key table)
- "Remove KEY from HASH-TABLE."
- (if (consp table)
- (let ((found (cl-hash-lookup key table)))
- (and (car found)
- (let ((del (delq (car found) (nth 1 found))))
- (setcar (cdr (cdr (cdr table))) (1- (nth 3 table)))
- (if (nth 2 found) (set (intern (nth 2 found) (nth 2 table)) del)
- (set (nth 2 table) del)) t)))
- (prog1 (not (eq (funcall cl-builtin-gethash key table '--cl--) '--cl--))
- (funcall cl-builtin-remhash key table))))
-(defalias 'remhash 'cl-remhash)
-
-(defun cl-clrhash (table)
- "Clear HASH-TABLE."
- (if (consp table)
- (progn
- (or (hash-table-p table) (cl-not-hash-table table))
- (if (symbolp (nth 2 table)) (set (nth 2 table) nil)
- (setcar (cdr (cdr table)) (make-vector (length (nth 2 table)) 0)))
- (setcar (cdr (cdr (cdr table))) 0))
- (funcall cl-builtin-clrhash table))
- nil)
-(defalias 'clrhash 'cl-clrhash)
-
-(defun cl-maphash (cl-func cl-table)
- "Call FUNCTION on keys and values from HASH-TABLE."
- (or (hash-table-p cl-table) (cl-not-hash-table cl-table))
- (if (consp cl-table)
- (mapatoms (function (lambda (cl-x)
- (setq cl-x (symbol-value cl-x))
- (while cl-x
- (funcall cl-func (car (car cl-x))
- (cdr (car cl-x)))
- (setq cl-x (cdr cl-x)))))
- (if (symbolp (nth 2 cl-table))
- (vector (nth 2 cl-table)) (nth 2 cl-table)))
- (funcall cl-builtin-maphash cl-func cl-table)))
-(defalias 'maphash 'cl-maphash)
-
-(defun hash-table-count (table)
- "Return the number of entries in HASH-TABLE."
- (or (hash-table-p table) (cl-not-hash-table table))
- (if (consp table) (nth 3 table) (funcall 'hashtable-fullness table)))
-
+;; The `regular' Common Lisp hash-table stuff has been moved into C.
+;; Only backward compatibility stuff remains here.
+(defun make-hashtable (size &optional test)
+ (make-hash-table :size size :test test :type 'non-weak))
+(defun make-weak-hashtable (size &optional test)
+ (make-hash-table :size size :test test :type 'weak))
+(defun make-key-weak-hashtable (size &optional test)
+ (make-hash-table :size size :test test :type 'key-weak))
+(defun make-value-weak-hashtable (size &optional test)
+ (make-hash-table :size size :test test :type 'value-weak))
+
+(define-obsolete-function-alias 'hashtablep 'hash-table-p)
+(define-obsolete-function-alias 'hashtable-fullness 'hash-table-count)
+(define-obsolete-function-alias 'hashtable-test-function 'hash-table-test)
+(define-obsolete-function-alias 'hashtable-type 'hash-table-type)
+(define-obsolete-function-alias 'hashtable-size 'hash-table-size)
+(define-obsolete-function-alias 'copy-hashtable 'copy-hash-table)
+
+(make-obsolete 'make-hashtable 'make-hash-table)
+(make-obsolete 'make-weak-hashtable 'make-hash-table)
+(make-obsolete 'make-key-weak-hashtable 'make-hash-table)
+(make-obsolete 'make-value-weak-hashtable 'make-hash-table)
+
+(when (fboundp 'x-keysym-hash-table)
+ (make-obsolete 'x-keysym-hashtable 'x-keysym-hash-table))
+
+;; Compatibility stuff for old kludgy cl.el hash table implementation
+(defvar cl-builtin-gethash (symbol-function 'gethash))
+(defvar cl-builtin-remhash (symbol-function 'remhash))
+(defvar cl-builtin-clrhash (symbol-function 'clrhash))
+(defvar cl-builtin-maphash (symbol-function 'maphash))
+
+(defalias 'cl-gethash 'gethash)
+(defalias 'cl-puthash 'puthash)
+(defalias 'cl-remhash 'remhash)
+(defalias 'cl-clrhash 'clrhash)
+(defalias 'cl-maphash 'maphash)
;;; Some debugging aids.
(or (fboundp 'defalias) (fset 'defalias 'fset))
(or (fboundp 'cl-transform-function-property)
(defalias 'cl-transform-function-property
- (function (lambda (n p f)
- (list 'put (list 'quote n) (list 'quote p)
- (list 'function (cons 'lambda f)))))))
+ #'(lambda (n p f)
+ (list 'put (list 'quote n) (list 'quote p)
+ (list 'function (cons 'lambda f))))))
(car (or features (setq features (list 'cl-kludge))))))
(setq cl-old-bc-file-form (symbol-function 'byte-compile-file-form))
(or (fboundp 'byte-compile-flush-pending) ; Emacs 19 compiler?
(defalias 'byte-compile-file-form
- (function
- (lambda (form)
- (setq form (macroexpand form byte-compile-macro-environment))
- (if (eq (car-safe form) 'progn)
- (cons 'progn (mapcar 'byte-compile-file-form (cdr form)))
- (funcall cl-old-bc-file-form form))))))
+ #'(lambda (form)
+ (setq form (macroexpand form byte-compile-macro-environment))
+ (if (eq (car-safe form) 'progn)
+ (cons 'progn (mapcar 'byte-compile-file-form (cdr form)))
+ (funcall cl-old-bc-file-form form)))))
(put 'eql 'byte-compile 'cl-byte-compile-compiler-macro)
(run-hooks 'cl-hack-bytecomp-hook))
(body (cons
'cond
(mapcar
- (function
- (lambda (c)
- (cons (cond ((memq (car c) '(t otherwise))
- (or (eq c last-clause)
- (error
- "`%s' is allowed only as the last case clause"
- (car c)))
- t)
- ((eq (car c) 'ecase-error-flag)
- (list 'error "ecase failed: %s, %s"
- temp (list 'quote (reverse head-list))))
- ((listp (car c))
- (setq head-list (append (car c) head-list))
- (list 'member* temp (list 'quote (car c))))
- (t
- (if (memq (car c) head-list)
- (error "Duplicate key in case: %s"
- (car c)))
- (cl-push (car c) head-list)
- (list 'eql temp (list 'quote (car c)))))
- (or (cdr c) '(nil)))))
+ #'(lambda (c)
+ (cons (cond ((memq (car c) '(t otherwise))
+ (or (eq c last-clause)
+ (error
+ "`%s' is allowed only as the last case clause"
+ (car c)))
+ t)
+ ((eq (car c) 'ecase-error-flag)
+ (list 'error "ecase failed: %s, %s"
+ temp (list 'quote (reverse head-list))))
+ ((listp (car c))
+ (setq head-list (append (car c) head-list))
+ (list 'member* temp (list 'quote (car c))))
+ (t
+ (if (memq (car c) head-list)
+ (error "Duplicate key in case: %s"
+ (car c)))
+ (cl-push (car c) head-list)
+ (list 'eql temp (list 'quote (car c)))))
+ (or (cdr c) '(nil))))
clauses))))
(if (eq temp expr) body
(list 'let (list (list temp expr)) body))))
(body (cons
'cond
(mapcar
- (function
- (lambda (c)
- (cons (cond ((eq (car c) 'otherwise) t)
- ((eq (car c) 'ecase-error-flag)
- (list 'error "etypecase failed: %s, %s"
- temp (list 'quote (reverse type-list))))
- (t
- (cl-push (car c) type-list)
- (cl-make-type-test temp (car c))))
- (or (cdr c) '(nil)))))
+ #'(lambda (c)
+ (cons (cond ((eq (car c) 'otherwise) t)
+ ((eq (car c) 'ecase-error-flag)
+ (list 'error "etypecase failed: %s, %s"
+ temp (list 'quote (reverse type-list))))
+ (t
+ (cl-push (car c) type-list)
+ (cl-make-type-test temp (car c))))
+ (or (cdr c) '(nil))))
clauses))))
(if (eq temp expr) body
(list 'let (list (list temp expr)) body))))
;;;###autoload
(defmacro return-from (name &optional res)
"(return-from NAME [RESULT]): return from the block named NAME.
-This jump out to the innermost enclosing `(block NAME ...)' form,
+This jumps out to the innermost enclosing `(block NAME ...)' form,
returning RESULT from that form (or nil if RESULT is omitted).
This is compatible with Common Lisp, but note that `defun' and
`defmacro' do not create implicit blocks as they do in Common Lisp."
(defun cl-expand-do-loop (steps endtest body star)
(list 'block nil
(list* (if star 'let* 'let)
- (mapcar (function (lambda (c)
- (if (consp c) (list (car c) (nth 1 c)) c)))
+ (mapcar #'(lambda (c) (if (consp c) (list (car c) (nth 1 c)) c))
steps)
(list* 'while (list 'not (car endtest))
(append body
(let ((sets (mapcar
- (function
- (lambda (c)
- (and (consp c) (cdr (cdr c))
- (list (car c) (nth 2 c)))))
+ #'(lambda (c)
+ (and (consp c) (cdr (cdr c))
+ (list (car c) (nth 2 c))))
steps)))
(setq sets (delq nil sets))
(and sets
go back to their previous definitions, or lack thereof)."
(list* 'letf*
(mapcar
- (function
- (lambda (x)
- (if (or (and (fboundp (car x))
- (eq (car-safe (symbol-function (car x))) 'macro))
- (cdr (assq (car x) cl-macro-environment)))
- (error "Use `labels', not `flet', to rebind macro names"))
- (let ((func (list 'function*
- (list 'lambda (cadr x)
- (list* 'block (car x) (cddr x))))))
- (if (and (cl-compiling-file)
- (boundp 'byte-compile-function-environment))
- (cl-push (cons (car x) (eval func))
- byte-compile-function-environment))
- (list (list 'symbol-function (list 'quote (car x))) func))))
+ #'(lambda (x)
+ (if (or (and (fboundp (car x))
+ (eq (car-safe (symbol-function (car x))) 'macro))
+ (cdr (assq (car x) cl-macro-environment)))
+ (error "Use `labels', not `flet', to rebind macro names"))
+ (let ((func (list 'function*
+ (list 'lambda (cadr x)
+ (list* 'block (car x) (cddr x))))))
+ (if (and (cl-compiling-file)
+ (boundp 'byte-compile-function-environment))
+ (cl-push (cons (car x) (eval func))
+ byte-compile-function-environment))
+ (list (list 'symbol-function (list 'quote (car x))) func)))
bindings)
body))
(defmacro labels (bindings &rest body)
"(labels ((FUNC ARGLIST BODY...) ...) FORM...): make temporary func bindings.
This is like `flet', except the bindings are lexical instead of dynamic.
-Unlike `flet', this macro is fully complaint with the Common Lisp standard."
+Unlike `flet', this macro is fully compliant with the Common Lisp standard."
(let ((vars nil) (sets nil) (cl-macro-environment cl-macro-environment))
(while bindings
(let ((var (gensym)))
The main visible difference is that lambdas inside BODY will create
lexical closures as in Common Lisp."
(let* ((cl-closure-vars cl-closure-vars)
- (vars (mapcar (function
- (lambda (x)
- (or (consp x) (setq x (list x)))
- (cl-push (gensym (format "--%s--" (car x)))
- cl-closure-vars)
- (list (car x) (cadr x) (car cl-closure-vars))))
+ (vars (mapcar #'(lambda (x)
+ (or (consp x) (setq x (list x)))
+ (cl-push (gensym (format "--%s--" (car x)))
+ cl-closure-vars)
+ (list (car x) (cadr x) (car cl-closure-vars)))
bindings))
- (ebody
+ (ebody
(cl-macroexpand-all
(cons 'progn body)
- (nconc (mapcar (function (lambda (x)
- (list (symbol-name (car x))
- (list 'symbol-value (caddr x))
- t))) vars)
+ (nconc (mapcar #'(lambda (x)
+ (list (symbol-name (car x))
+ (list 'symbol-value (caddr x))
+ t))
+ vars)
(list '(defun . cl-defun-expander))
cl-macro-environment))))
(if (not (get (car (last cl-closure-vars)) 'used))
- (list 'let (mapcar (function (lambda (x)
- (list (caddr x) (cadr x)))) vars)
- (sublis (mapcar (function (lambda (x)
- (cons (caddr x)
- (list 'quote (caddr x)))))
+ (list 'let (mapcar #'(lambda (x) (list (caddr x) (cadr x))) vars)
+ (sublis (mapcar #'(lambda (x)
+ (cons (caddr x) (list 'quote (caddr x))))
vars)
ebody))
- (list 'let (mapcar (function (lambda (x)
- (list (caddr x)
- (list 'make-symbol
- (format "--%s--" (car x))))))
+ (list 'let (mapcar #'(lambda (x)
+ (list (caddr x)
+ (list 'make-symbol
+ (format "--%s--" (car x)))))
vars)
(apply 'append '(setf)
- (mapcar (function
- (lambda (x)
- (list (list 'symbol-value (caddr x)) (cadr x))))
+ (mapcar #'(lambda (x)
+ (list (list 'symbol-value (caddr x)) (cadr x)))
vars))
ebody))))
a synonym for (list A B C)."
(let ((temp (gensym)) (n -1))
(list* 'let* (cons (list temp form)
- (mapcar (function
- (lambda (v)
- (list v (list 'nth (setq n (1+ n)) temp))))
+ (mapcar #'(lambda (v)
+ (list v (list 'nth (setq n (1+ n)) temp)))
vars))
body)))
(let* ((temp (gensym)) (n 0))
(list 'let (list (list temp form))
(list 'prog1 (list 'setq (cl-pop vars) (list 'car temp))
- (cons 'setq (apply 'nconc
- (mapcar (function
- (lambda (v)
- (list v (list
- 'nth
- (setq n (1+ n))
- temp))))
- vars)))))))))
+ (cons 'setq
+ (apply 'nconc
+ (mapcar
+ #'(lambda (v)
+ (list v (list
+ 'nth
+ (setq n (1+ n))
+ temp)))
+ vars)))))))))
;;; Declarations.
(if (boundp 'byte-compile-bound-variables)
(setq byte-compile-bound-variables
;; todo: this should compute correct binding bits vs. 0
- (append (mapcar #'(lambda (v) (cons v 0))
+ (append (mapcar #'(lambda (v) (cons v 0))
(cdr spec))
byte-compile-bound-variables))))
call)))))
;;; Some standard place types from Common Lisp.
+(eval-when-compile (defvar ignored-arg)) ; Warning suppression
(defsetf aref aset)
(defsetf car setcar)
(defsetf cdr setcdr)
(defsetf elt (seq n) (store)
(list 'if (list 'listp seq) (list 'setcar (list 'nthcdr n seq) store)
(list 'aset seq n store)))
-(defsetf get (x y &optional d) (store) (list 'put x y store))
-(defsetf get* (x y &optional d) (store) (list 'put x y store))
-(defsetf gethash (x h &optional d) (store) (list 'cl-puthash x store h))
+(defsetf get (x y &optional ignored-arg) (store) (list 'put x y store))
+(defsetf get* (x y &optional ignored-arg) (store) (list 'put x y store))
+(defsetf gethash (x h &optional ignored-arg) (store) (list 'cl-puthash x store h))
(defsetf nth (n x) (store) (list 'setcar (list 'nthcdr n x) store))
(defsetf subseq (seq start &optional end) (new)
(list 'progn (list 'replace seq new ':start1 start ':end1 end) new))
(defsetf documentation-property put)
(defsetf extent-face set-extent-face)
(defsetf extent-priority set-extent-priority)
-(defsetf extent-property (x y &optional d) (arg)
+(defsetf extent-property (x y &optional ignored-arg) (arg)
(list 'set-extent-property x y arg))
(defsetf extent-end-position (ext) (store)
(list 'progn (list 'set-extent-endpoints (list 'extent-start-position ext)
(defsetf frame-visible-p cl-set-frame-visible-p)
(defsetf frame-properties (&optional f) (p)
`(progn (set-frame-properties ,f ,p) ,p))
-(defsetf frame-property (f p &optional d) (v)
+(defsetf frame-property (f p &optional ignored-arg) (v)
`(progn (set-frame-property ,f ,v) ,p))
(defsetf frame-width (&optional f) (v)
`(progn (set-frame-width ,f ,v) ,v))
;; Misc
(defsetf recent-keys-ring-size set-recent-keys-ring-size)
-(defsetf symbol-value-in-buffer (s b &optional u) (store)
+(defsetf symbol-value-in-buffer (s b &optional ignored-arg) (store)
`(with-current-buffer ,b (set ,s ,store)))
-(defsetf symbol-value-in-console (s c &optional u) (store)
+(defsetf symbol-value-in-console (s c &optional ignored-arg) (store)
`(letf (((selected-console) ,c))
(set ,s ,store)))
;; Avoid adding various face and glyph functions.
(defsetf frame-selected-window (&optional f) (v)
`(set-frame-selected-window ,f ,v))
+(defsetf glyph-image (glyph &optional domain) (i)
+ (list 'set-glyph-image glyph i domain))
(defsetf itimer-function set-itimer-function)
(defsetf itimer-function-arguments set-itimer-function-arguments)
(defsetf itimer-is-idle set-itimer-is-idle)
(defsetf marker-insertion-type set-marker-insertion-type)
(defsetf mouse-pixel-position (&optional d) (v)
`(progn
- set-mouse-pixel-position ,d ,(car v) ,(car (cdr v)) ,(cdr (cdr v))
+ (set-mouse-pixel-position ,d ,(car v) ,(car (cdr v)) ,(cdr (cdr v)))
,v))
(defsetf trunc-stack-length set-trunc-stack-length)
(defsetf trunc-stack-stack set-trunc-stack-stack)
(defsetf window-buffer set-window-buffer t)
(defsetf window-display-table set-window-display-table t)
(defsetf window-dedicated-p set-window-dedicated-p t)
-(defsetf window-height () (store)
- (list 'progn (list 'enlarge-window (list '- store '(window-height))) store))
+(defsetf window-height (&optional window) (store)
+ `(progn (enlarge-window (- ,store (window-height)) nil ,window) ,store))
(defsetf window-hscroll set-window-hscroll)
(defsetf window-point set-window-point)
(defsetf window-start set-window-start)
-(defsetf window-width () (store)
- (list 'progn (list 'enlarge-window (list '- store '(window-width)) t) store))
+(defsetf window-width (&optional window) (store)
+ `(progn (enlarge-window (- ,store (window-width)) t ,window) ,store))
(defsetf x-get-cutbuffer x-store-cutbuffer t)
(defsetf x-get-cut-buffer x-store-cut-buffer t) ; groan.
(defsetf x-get-secondary-selection x-own-secondary-selection t)
the PLACE is not modified before executing BODY."
(if (and (not (cdr bindings)) (cdar bindings) (symbolp (caar bindings)))
(list* 'let bindings body)
- (let ((lets nil) (sets nil)
- (unsets nil) (rev (reverse bindings)))
+ (let ((lets nil)
+ (rev (reverse bindings)))
(while rev
(let* ((place (if (symbolp (caar rev))
(list 'symbol-value (list 'quote (caar rev)))
(tag (intern (format "cl-struct-%s" name)))
(tag-symbol (intern (format "cl-struct-%s-tags" name)))
(include-descs nil)
- ;; XEmacs change
- (include-tag-symbol nil)
(side-eff nil)
(type nil)
(named nil)
(cl-push (list 'put (list 'quote name) '(quote structure-documentation)
(cl-pop descs)) forms))
(setq descs (cons '(cl-tag-slot)
- (mapcar (function (lambda (x) (if (consp x) x (list x))))
+ (mapcar #'(lambda (x) (if (consp x) x (list x)))
descs)))
(while opts
(let ((opt (if (consp (car opts)) (caar opts) (car opts)))
(if args (setq predicate (car args))))
((eq opt ':include)
(setq include (car args)
- include-descs (mapcar (function
- (lambda (x)
- (if (consp x) x (list x))))
- (cdr args))
- ;; XEmacs change
- include-tag-symbol (intern (format "cl-struct-%s-tags"
- include))))
+ include-descs (mapcar #'(lambda (x)
+ (if (consp x) x (list x)))
+ (cdr args))))
((eq opt ':print-function)
(setq print-func (car args)))
((eq opt ':type)
(let* ((name (caar constrs))
(args (cadr (cl-pop constrs)))
(anames (cl-arglist-args args))
- (make (mapcar* (function (lambda (s d) (if (memq s anames) s d)))
+ (make (mapcar* #'(lambda (s d) (if (memq s anames) s d))
slots defaults)))
(cl-push (list 'defsubst* name
(list* '&cl-defs (list 'quote (cons nil descs)) args)
(list 'quote include))
(list 'put (list 'quote name) '(quote cl-struct-print)
print-auto)
- (mapcar (function (lambda (x)
- (list 'put (list 'quote (car x))
- '(quote side-effect-free)
- (list 'quote (cdr x)))))
+ (mapcar #'(lambda (x)
+ (list 'put (list 'quote (car x))
+ '(quote side-effect-free)
+ (list 'quote (cdr x))))
side-eff))
forms)
(cons 'progn (nreverse (cons (list 'quote name) forms)))))
(list '<= val (caddr type)))))))
((memq (car-safe type) '(and or not))
(cons (car type)
- (mapcar (function (lambda (x) (cl-make-type-test val x)))
+ (mapcar #'(lambda (x) (cl-make-type-test val x))
(cdr type))))
((memq (car-safe type) '(member member*))
(list 'and (list 'member* val (list 'quote (cdr type))) t))
(and (or (not (cl-compiling-file))
(< cl-optimize-speed 3) (= cl-optimize-safety 3))
(let ((sargs (and show-args (delq nil (mapcar
- (function
- (lambda (x)
- (and (not (cl-const-expr-p x))
- x))) (cdr form))))))
+ #'(lambda (x)
+ (and (not (cl-const-expr-p x))
+ x))
+ (cdr form))))))
(list 'progn
(list 'or form
(if string
(defmacro ignore-errors (&rest body)
"Execute FORMS; if an error occurs, return nil.
Otherwise, return result of last FORM."
- (list 'condition-case nil (cons 'progn body) '(error nil)))
+ `(condition-case nil (progn ,@body) (error nil)))
+;;;###autoload
+(defmacro ignore-file-errors (&rest body)
+ "Execute FORMS; if an error of type `file-error' occurs, return nil.
+Otherwise, return result of last FORM."
+ `(condition-case nil (progn ,@body) (file-error nil)))
;;; Some predicates for analyzing Lisp forms. These are used by various
;;; macro expanders to optimize the results in certain common cases.
(if (and whole (not (cl-safe-expr-p (cons 'progn argvs)))) whole
(if (cl-simple-exprs-p argvs) (setq simple t))
(let ((lets (delq nil
- (mapcar* (function
- (lambda (argn argv)
- (if (or simple (cl-const-expr-p argv))
- (progn (setq body (subst argv argn body))
- (and unsafe (list argn argv)))
- (list argn argv))))
+ (mapcar* #'(lambda (argn argv)
+ (if (or simple (cl-const-expr-p argv))
+ (progn (setq body (subst argv argn body))
+ (and unsafe (list argn argv)))
+ (list argn argv)))
argns argvs))))
(if lets (list 'let lets body) body))))
form))
-(mapcar (function
- (lambda (y)
- (put (car y) 'side-effect-free t)
- (put (car y) 'byte-compile 'cl-byte-compile-compiler-macro)
- (put (car y) 'cl-compiler-macro
- (list 'lambda '(w x)
- (if (symbolp (cadr y))
- (list 'list (list 'quote (cadr y))
- (list 'list (list 'quote (caddr y)) 'x))
- (cons 'list (cdr y)))))))
- '((first 'car x) (second 'cadr x) (third 'caddr x) (fourth 'cadddr x)
- (fifth 'nth 4 x) (sixth 'nth 5 x) (seventh 'nth 6 x)
- (eighth 'nth 7 x) (ninth 'nth 8 x) (tenth 'nth 9 x)
- (rest 'cdr x) (endp 'null x) (plusp '> x 0) (minusp '< x 0)
- (caar car car) (cadr car cdr) (cdar cdr car) (cddr cdr cdr)
- (caaar car caar) (caadr car cadr) (cadar car cdar)
- (caddr car cddr) (cdaar cdr caar) (cdadr cdr cadr)
- (cddar cdr cdar) (cdddr cdr cddr) (caaaar car caaar)
- (caaadr car caadr) (caadar car cadar) (caaddr car caddr)
- (cadaar car cdaar) (cadadr car cdadr) (caddar car cddar)
- (cadddr car cdddr) (cdaaar cdr caaar) (cdaadr cdr caadr)
- (cdadar cdr cadar) (cdaddr cdr caddr) (cddaar cdr cdaar)
- (cddadr cdr cdadr) (cdddar cdr cddar) (cddddr cdr cdddr) ))
+(mapc
+ #'(lambda (y)
+ (put (car y) 'side-effect-free t)
+ (put (car y) 'byte-compile 'cl-byte-compile-compiler-macro)
+ (put (car y) 'cl-compiler-macro
+ (list 'lambda '(w x)
+ (if (symbolp (cadr y))
+ (list 'list (list 'quote (cadr y))
+ (list 'list (list 'quote (caddr y)) 'x))
+ (cons 'list (cdr y))))))
+ '((first 'car x) (second 'cadr x) (third 'caddr x) (fourth 'cadddr x)
+ (fifth 'nth 4 x) (sixth 'nth 5 x) (seventh 'nth 6 x)
+ (eighth 'nth 7 x) (ninth 'nth 8 x) (tenth 'nth 9 x)
+ (rest 'cdr x) (endp 'null x) (plusp '> x 0) (minusp '< x 0)
+ (caar car car) (cadr car cdr) (cdar cdr car) (cddr cdr cdr)
+ (caaar car caar) (caadr car cadr) (cadar car cdar)
+ (caddr car cddr) (cdaar cdr caar) (cdadr cdr cadr)
+ (cddar cdr cdar) (cdddr cdr cddr) (caaaar car caaar)
+ (caaadr car caadr) (caadar car cadar) (caaddr car caddr)
+ (cadaar car cdaar) (cadadr car cdadr) (caddar car cddar)
+ (cadddr car cdddr) (cdaaar cdr caaar) (cdaadr cdr caadr)
+ (cdadar cdr cadar) (cdaddr cdr caddr) (cddaar cdr cdaar)
+ (cddadr cdr cdadr) (cdddar cdr cddar) (cddddr cdr cdddr)))
;;; Things that are inline.
(proclaim '(inline floatp-safe acons map concatenate notany notevery
;; XEmacs change
- cl-set-elt revappend nreconc))
-
-;;; Things that are side-effect-free.
-(mapcar (function (lambda (x) (put x 'side-effect-free t)))
- '(oddp evenp abs expt signum last butlast ldiff pairlis gcd lcm
- isqrt floor* ceiling* truncate* round* mod* rem* subseq
- list-length get* getf gethash hash-table-count))
-
-;;; Things that are side-effect-and-error-free.
-(mapcar (function (lambda (x) (put x 'side-effect-free 'error-free)))
- '(eql floatp-safe list* subst acons equalp random-state-p
- copy-tree sublis hash-table-p))
+ cl-set-elt revappend nreconc
+ plusp minusp oddp evenp
+ ))
+
+;;; Things that are side-effect-free. Moved to byte-optimize.el
+;(dolist (fun '(oddp evenp plusp minusp
+; abs expt signum last butlast ldiff
+; pairlis gcd lcm
+; isqrt floor* ceiling* truncate* round* mod* rem* subseq
+; list-length get* getf))
+; (put fun 'side-effect-free t))
+
+;;; Things that are side-effect-and-error-free. Moved to byte-optimize.el
+;(dolist (fun '(eql floatp-safe list* subst acons equalp random-state-p
+; copy-tree sublis))
+; (put fun 'side-effect-free 'error-free))
(run-hooks 'cl-macs-load-hook)
careful about evaluating each argument only once and in the right order.
PLACE may be a symbol, or any generalized variable allowed by `setf'."
(if (symbolp place)
- (list 'car (list 'prog1 place (list 'setq place (list 'cdr place))))
+ `(car (prog1 ,place (setq ,place (cdr ,place))))
(cl-do-pop place)))
(defmacro push (x place)
Analogous to (setf PLACE (cons X PLACE)), though more careful about
evaluating each argument only once and in the right order. PLACE may
be a symbol, or any generalized variable allowed by `setf'."
- (if (symbolp place) (list 'setq place (list 'cons x place))
+ (if (symbolp place) `(setq ,place (cons ,x ,place))
(list 'callf2 'cons x place)))
(defmacro pushnew (x place &rest keys)
;;; Control structures.
-;; These macros are so simple and so often-used that it's better to have
-;; them all the time than to load them from cl-macs.el.
-
-;; NOTE: these macros were moved to subr.el in FSF 20. It is of no
-;; consequence to XEmacs, because we preload this file, and they
-;; should better remain here.
-
-(defmacro when (cond &rest body)
- "(when COND BODY...): if COND yields non-nil, do BODY, else return nil."
- (list 'if cond (cons 'progn body)))
-
-(defmacro unless (cond &rest body)
- "(unless COND BODY...): if COND yields nil, do BODY, else return nil."
- (cons 'if (cons cond (cons nil body))))
+;; The macros `when' and `unless' are so useful that we want them to
+;; ALWAYS be available. So they've been moved from cl.el to eval.c.
+;; Note: FSF Emacs moved them to subr.el in FSF 20.
(defun cl-map-extents (&rest cl-args)
;; XEmacs: This used to check for overlays first, but that's wrong
;;; List functions.
+;; These functions are made known to the byte-compiler by cl-macs.el
+;; and turned into efficient car and cdr bytecodes.
+
(defalias 'first 'car)
(defalias 'rest 'cdr)
(defalias 'endp 'null)
"Return the `cdr' of the `cdr' of the `cdr' of the `cdr' of X."
(cdr (cdr (cdr (cdr x)))))
-(defun last (x &optional n)
- "Return the last link in the list LIST.
-With optional argument N, return Nth-to-last link (default 1)."
- (if n
- (let ((m 0) (p x))
- (while (consp p) (incf m) (pop p))
- (if (<= n 0) p
- (if (< n m) (nthcdr (- m n) x) x)))
- (while (consp (cdr x)) (pop x))
- x))
-
-(defun butlast (x &optional n)
- "Return a copy of LIST with the last N elements removed."
- (if (and n (<= n 0)) x
- (nbutlast (copy-sequence x) n)))
-
-(defun nbutlast (x &optional n)
- "Modify LIST to remove the last N elements."
- (let ((m (length x)))
- (or n (setq n 1))
- (and (< n m)
- (progn
- (if (> n 0) (setcdr (nthcdr (- (1- m) n) x) nil))
- x))))
+;;; `last' is implemented as a C primitive, as of 1998-11
+
+;(defun last (x &optional n)
+; "Return the last link in the list LIST.
+;With optional argument N, return Nth-to-last link (default 1)."
+; (if n
+; (let ((m 0) (p x))
+; (while (consp p) (incf m) (pop p))
+; (if (<= n 0) p
+; (if (< n m) (nthcdr (- m n) x) x)))
+; (while (consp (cdr x)) (pop x))
+; x))
+
+;;; `butlast' is implemented as a C primitive, as of 1998-11
+;;; `nbutlast' is implemented as a C primitive, as of 1998-11
+
+;(defun butlast (x &optional n)
+; "Return a copy of LIST with the last N elements removed."
+; (if (and n (<= n 0)) x
+; (nbutlast (copy-sequence x) n)))
+
+;(defun nbutlast (x &optional n)
+; "Modify LIST to remove the last N elements."
+; (let ((m (length x)))
+; (or n (setq n 1))
+; (and (< n m)
+; (progn
+; (if (> n 0) (setcdr (nthcdr (- (1- m) n) x) nil))
+; x))))
(defun list* (arg &rest rest) ; See compiler macro in cl-macs.el
"Return a new list with specified args as elements, cons'd to last arg.
(push (pop list) res))
(nreverse res)))
-(defun copy-list (list)
- "Return a copy of a list, which may be a dotted list.
-The elements of the list are not copied, just the list structure itself."
- (if (consp list)
- (let ((res nil))
- (while (consp list) (push (pop list) res))
- (prog1 (nreverse res) (setcdr res list)))
- (car list)))
+;;; `copy-list' is implemented as a C primitive, as of 1998-11
+
+;(defun copy-list (list)
+; "Return a copy of a list, which may be a dotted list.
+;The elements of the list are not copied, just the list structure itself."
+; (if (consp list)
+; (let ((res nil))
+; (while (consp list) (push (pop list) res))
+; (prog1 (nreverse res) (setcdr res list)))
+; (car list)))
(defun cl-maclisp-member (item list)
(while (and list (not (equal item (car list)))) (setq list (cdr list)))
;(load "cl-defs")
;;; Define data for indentation and edebug.
-(mapcar (function
- (lambda (entry)
- (mapcar (function
- (lambda (func)
- (put func 'lisp-indent-function (nth 1 entry))
- (put func 'lisp-indent-hook (nth 1 entry))
- (or (get func 'edebug-form-spec)
- (put func 'edebug-form-spec (nth 2 entry)))))
- (car entry))))
- '(((defun* defmacro*) defun)
- ((function*) nil
- (&or symbolp ([&optional 'macro] 'lambda (&rest sexp) &rest form)))
- ((eval-when) 1 (sexp &rest form))
- ((when unless) 1 (&rest form))
- ((declare) nil (&rest sexp))
- ((the) 1 (sexp &rest form))
- ((case ecase typecase etypecase) 1 (form &rest (sexp &rest form)))
- ((block return-from) 1 (sexp &rest form))
- ((return) nil (&optional form))
- ((do do*) 2 ((&rest &or symbolp (symbolp &optional form form))
- (form &rest form)
- &rest form))
- ((dolist dotimes) 1 ((symbolp form &rest form) &rest form))
- ((do-symbols) 1 ((symbolp form &optional form form) &rest form))
- ((do-all-symbols) 1 ((symbolp form &optional form) &rest form))
- ((psetq setf psetf) nil edebug-setq-form)
- ((progv) 2 (&rest form))
- ((flet labels macrolet) 1
- ((&rest (sexp sexp &rest form)) &rest form))
- ((symbol-macrolet lexical-let lexical-let*) 1
- ((&rest &or symbolp (symbolp form)) &rest form))
- ((multiple-value-bind) 2 ((&rest symbolp) &rest form))
- ((multiple-value-setq) 1 ((&rest symbolp) &rest form))
- ((incf decf remf pop push pushnew shiftf rotatef) nil (&rest form))
- ((letf letf*) 1 ((&rest (&rest form)) &rest form))
- ((callf destructuring-bind) 2 (sexp form &rest form))
- ((callf2) 3 (sexp form form &rest form))
- ((loop) defun (&rest &or symbolp form))
- ((ignore-errors) 0 (&rest form))))
+(mapc
+ #'(lambda (entry)
+ (mapc
+ #'(lambda (func)
+ (put func 'lisp-indent-function (nth 1 entry))
+ (put func 'lisp-indent-hook (nth 1 entry))
+ (or (get func 'edebug-form-spec)
+ (put func 'edebug-form-spec (nth 2 entry))))
+ (car entry)))
+ '(((defun* defmacro*) defun)
+ ((function*) nil
+ (&or symbolp ([&optional 'macro] 'lambda (&rest sexp) &rest form)))
+ ((eval-when) 1 (sexp &rest form))
+ ((when unless) 1 (&rest form))
+ ((declare) nil (&rest sexp))
+ ((the) 1 (sexp &rest form))
+ ((case ecase typecase etypecase) 1 (form &rest (sexp &rest form)))
+ ((block return-from) 1 (sexp &rest form))
+ ((return) nil (&optional form))
+ ((do do*) 2 ((&rest &or symbolp (symbolp &optional form form))
+ (form &rest form)
+ &rest form))
+ ((dolist dotimes) 1 ((symbolp form &rest form) &rest form))
+ ((do-symbols) 1 ((symbolp form &optional form form) &rest form))
+ ((do-all-symbols) 1 ((symbolp form &optional form) &rest form))
+ ((psetq setf psetf) nil edebug-setq-form)
+ ((progv) 2 (&rest form))
+ ((flet labels macrolet) 1
+ ((&rest (sexp sexp &rest form)) &rest form))
+ ((symbol-macrolet lexical-let lexical-let*) 1
+ ((&rest &or symbolp (symbolp form)) &rest form))
+ ((multiple-value-bind) 2 ((&rest symbolp) &rest form))
+ ((multiple-value-setq) 1 ((&rest symbolp) &rest form))
+ ((incf decf remf pop push pushnew shiftf rotatef) nil (&rest form))
+ ((letf letf*) 1 ((&rest (&rest form)) &rest form))
+ ((callf destructuring-bind) 2 (sexp form &rest form))
+ ((callf2) 3 (sexp form form &rest form))
+ ((loop) defun (&rest &or symbolp form))
+ ((ignore-errors) 0 (&rest form))))
;;; This goes here so that cl-macs can find it if it loads right now.
--- /dev/null
+;;; cleantree.el --- Remove out of date .elcs in lisp directories
+
+;; Copyright (C) 1997 by Free Software Foundation, Inc.
+
+;; Author: Steven L Baur <steve@altair.xemacs.org>
+;; Keywords: internal
+
+;; This file is part of XEmacs.
+
+;; XEmacs is free software; you can redistribute it and/or modify it
+;; under the terms of the GNU General Public License as published by
+;; the Free Software Foundation; either version 2, or (at your option)
+;; any later version.
+
+;; XEmacs is distributed in the hope that it will be useful, but
+;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+;; General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with XEmacs; see the file COPYING. If not, write to the Free
+;; Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+;; 02111-1307, USA.
+
+;;; Synched up with: Not in FSF
+
+;;; Commentary:
+
+;; This code is derived from Gnus based on a suggestion by
+;; David Moore <dmoore@ucsd.edu>
+
+;;; Code:
+
+(defun remove-old-elc-1 (dir &optional seen)
+ (setq dir (file-name-as-directory dir))
+ ;; Only scan this sub-tree if we haven't been here yet.
+ (unless (member (file-truename dir) seen)
+ (push (file-truename dir) seen)
+ ;; We descend recursively
+ (let ((dirs (directory-files dir t nil t))
+ dir)
+ (while (setq dir (pop dirs))
+ (when (and (not (member (file-name-nondirectory dir) '("." "..")))
+ (file-directory-p dir))
+ (remove-old-elc-1 dir seen))))
+ ;; Do this directory.
+ (let ((files (directory-files dir t ".el$"))
+ file file-c)
+ (while (setq file (car files))
+ (setq files (cdr files))
+ (setq file-c (concat file "c"))
+ (when (and (file-exists-p file-c)
+ (file-newer-than-file-p file file-c))
+ (message file-c)
+ (delete-file file-c))))))
+
+;;;###autoload
+(defun batch-remove-old-elc ()
+ (defvar command-line-args-left)
+ (unless noninteractive
+ (error "`batch-remove-old-elc' is to be used only with -batch"))
+ (let ((dir (car command-line-args-left)))
+ (message "Cleaning out of date .elcs in directory `%s'..." dir)
+ (remove-old-elc-1 dir)
+ (message "Cleaning out of date .elcs in directory `%s'...done" dir))
+ (setq command-line-args-left nil))
+
+;;; cleantree.el ends here
(while (stringp ans)
(setq ans (downcase (read-string p nil t))) ;no history
(cond ((string-equal ans (gettext "yes"))
- (setq ans 't))
+ (setq ans t))
((string-equal ans (gettext "no"))
- (setq ans 'nil))
+ (setq ans nil))
(t
(ding nil 'yes-or-no-p)
(discard-input)
'buffer-file-coding-system-for-read)
(defvar file-coding-system-alist
- '(("\\.elc$" . (binary . binary))
-;; This must not be neccessary, slb suggests -kkm
+ `(
+;; This must not be necessary, slb suggests -kkm
;; ("loaddefs.el$" . (binary . binary))
- ("\\.tar$" . (binary . binary))
- ("\\.\\(tif\\|tiff\\)$" . (binary . binary))
- ("\\.png$" . (binary . binary))
- ("\\.gif$" . (binary . binary))
- ("\\.\\(jpeg\\|jpg\\)$" . (binary . binary))
- ("TUTORIAL\\.hr$" . iso-8859-2)
- ("TUTORIAL\\.pl$" . iso-8859-2)
- ("TUTORIAL\\.ro$" . iso-8859-2)
+ ,@(mapcar
+ #'(lambda (regexp) (cons regexp 'binary)) binary-file-regexps)
+ ("TUTORIAL\\.\\(?:hr\\|pl\\|ro\\)\\'" . iso-8859-2)
;; ("\\.\\(el\\|emacs\\|info\\(-[0-9]+\\)?\\|texi\\)$" . iso-2022-8)
;; ("\\(ChangeLog\\|CHANGES-beta\\)$" . iso-2022-8)
- ("\\.\\(gz\\|Z\\)$" . binary)
("/spool/mail/.*$" . convert-mbox-coding-system))
"Alist to decide a coding system to use for a file I/O operation.
The format is ((PATTERN . VAL) ...),
"Set EOL type of buffer-file-coding-system of the current buffer to
something other than what it is at the moment."
(interactive)
- (let ((eol-type
+ (let ((eol-type
(coding-system-eol-type buffer-file-coding-system)))
(setq buffer-file-coding-system
(subsidiary-coding-system
(let ((alist file-coding-system-alist)
(found nil)
(codesys nil))
- (let ((case-fold-search (eq system-type 'vax-vms)))
+ (let ((case-fold-search nil))
(setq filename (file-name-sans-versions filename))
(while (and (not found) alist)
(if (string-match (car (car alist)) filename)
(let ((alist file-coding-system-alist)
(found nil)
(codesys nil))
- (let ((case-fold-search (eq system-type 'vax-vms)))
+ (let ((case-fold-search nil))
(setq filename (file-name-sans-versions filename))
(while (and (not found) alist)
(if (string-match (car (car alist)) filename)
(if (or (<= (length filename) 0)
(null (setq path
(locate-file filename load-path
- (and (not nosuffix) ".elc:.el:")))))
+ (and (not nosuffix) '(".elc" ".el" ""))))))
(and (null noerror)
(signal 'file-error (list "Cannot open load file" filename)))
;; now use the internal load to actually load the file.
See also `insert-file-contents-access-hook',
`insert-file-contents-pre-hook', `insert-file-contents-error-hook',
and `insert-file-contents-post-hook'."
- (let (return-val coding-system used-codesys conversion-func)
+ (let (return-val coding-system used-codesys)
;; OK, first load the file.
(condition-case err
(progn
;;; Code:
+(eval-when-compile
+ (defvar buffer-file-type)
+ (defvar binary-process-output))
+
(defvar process-coding-system-alist nil
"Alist to decide a coding system to use for a process I/O operation.
The format is ((PATTERN . VAL) ...),
(let (ret)
(catch 'found
(let ((alist process-coding-system-alist)
- (case-fold-search (eq system-type 'vax-vms)))
+ (case-fold-search nil))
(while alist
(if (string-match (car (car alist)) program)
(throw 'found (setq ret (cdr (car alist))))
and returns a numeric exit status or a signal description string.
If you quit, the process is first killed with SIGINT, then with SIGKILL if
you quit again before the process exits."
- (let ((temp (cond ((eq system-type 'vax-vms)
- (make-temp-name "tmp:emacs"))
- ((or (eq system-type 'ms-dos)
- (eq system-type 'windows-nt))
- (make-temp-name
- (concat (file-name-as-directory
- (temp-directory))
- "em")))
- (t
- (make-temp-name
- (concat (file-name-as-directory
- (temp-directory))
- "emacs"))))))
+ (let ((temp
+ (make-temp-name
+ (concat (file-name-as-directory (temp-directory))
+ (if (memq system-type '(ms-dos windows-nt)) "em" "emacs")))))
(unwind-protect
(let (cs-r cs-w)
(let (ret)
(catch 'found
(let ((alist process-coding-system-alist)
- (case-fold-search (eq system-type 'vax-vms)))
+ (case-fold-search nil))
(while alist
(if (string-match (car (car alist)) program)
(throw 'found (setq ret (cdr (car alist)))))
(or coding-system-for-read cs-r))
(coding-system-for-write
(or coding-system-for-write cs-w)))
- (if (or (eq system-type 'ms-dos)
- (eq system-type 'windows-nt))
+ (if (memq system-type '(ms-dos windows-nt))
(let ((buffer-file-type binary-process-output))
(write-region start end temp nil 'silent))
(write-region start end temp nil 'silent))
(if deletep (delete-region start end))
(apply #'call-process program temp buffer displayp args)))
- (condition-case ()
- (delete-file temp)
- (file-error nil)))))
+ (ignore-file-errors (delete-file temp)))))
(defun start-process (name buffer program &rest program-args)
"Start a program in a subprocess. Return the process object for it.
(let (ret)
(catch 'found
(let ((alist process-coding-system-alist)
- (case-fold-search (eq system-type 'vax-vms)))
+ (case-fold-search nil))
(while alist
(if (string-match (car (car alist)) program)
(throw 'found (setq ret (cdr (car alist)))))
(let (ret)
(catch 'found
(let ((alist network-coding-system-alist)
- (case-fold-search (eq system-type 'vax-vms))
+ (case-fold-search nil)
pattern)
(while alist
(setq pattern (car (car alist)))
"File containing configuration parameters and their values.")
(defvar config-value-hash-table nil
- "Hashtable to store configuration parameters and their values.")
+ "Hash table to store configuration parameters and their values.")
;;;###autoload
(defun config-value-hash-table ()
- "Return hashtable of configuration parameters and their values."
+ "Return hash table of configuration parameters and their values."
(when (null config-value-hash-table)
- (setq config-value-hash-table (make-hashtable 300))
+ (setq config-value-hash-table (make-hash-table :size 300))
(save-excursion
(let ((buf (get-buffer-create " *Config*")))
(set-buffer buf)
(file-name-nondirectory file))))
;; Search for defcustom/defface/defgroup
;; expressions, and evaluate them.
- (ignore-errors
- (while (re-search-forward
- "^(defcustom\\|^(defface\\|^(defgroup"
- nil t)
- (beginning-of-line)
- (let ((expr (read (current-buffer))))
- (eval expr)
- ;; Hash the file of the affected symbol.
- (setf (gethash (nth 1 expr) hash) name)))))))
+ (while (re-search-forward
+ "^(defcustom\\|^(defface\\|^(defgroup"
+ nil t)
+ (beginning-of-line)
+ (let ((expr (read (current-buffer))))
+ ;; We need to ignore errors here, so that
+ ;; defcustoms with :set don't bug out. Of
+ ;; course, their values will not be assigned in
+ ;; case of errors, but their `custom-group'
+ ;; properties will by that time be in place, and
+ ;; that's all we care about.
+ (ignore-errors
+ (eval expr))
+ ;; Hash the file of the affected symbol.
+ (setf (gethash (nth 1 expr) hash) name))))))
(cond
((zerop (hash-table-count hash))
(princ "(No customization dependencies")
(if found
(insert " ")
(insert "(custom-add-loads '"
- (symbol-name sym) " '("))
+ (prin1-to-string sym) " '("))
(prin1 where (current-buffer))
(push where found)))
(when found
;; very slow in an average XEmacs because of the large number of
;; symbols requiring a large number of funcalls -- XEmacs with Gnus
;; can grow to some 17000 symbols without ever doing anything fancy.
-;; It would probably pay off to make a hashtable of symbols known to
+;; It would probably pay off to make a hash table of symbols known to
;; Custom, similar to custom-group-hash-table.
;; This is not top priority, because none of the functions that do
(defun custom-split-regexp-maybe (regexp)
"If REGEXP is a string, split it to a list at `\\|'.
You can get the original back with from the result with:
- (mapconcat 'identity result \"\\|\")
+ (mapconcat #'identity result \"\\|\")
IF REGEXP is not a string, return it unchanged."
(if (stringp regexp)
(unless (widget-get widget :custom-form)
(widget-put widget :custom-form custom-face-default-form))
(let* ((symbol (widget-value widget))
- (spec (or (get symbol 'saved-face)
+ (spec (or (get symbol 'customized-face)
+ (get symbol 'saved-face)
(get symbol 'face-defface-spec)
;; Attempt to construct it.
(list (list t (face-custom-attributes-get
(not (get symbol 'force-value)))))))
(when value
(princ "\n '(")
- (princ symbol)
+ (prin1 symbol)
(princ " ")
(prin1 (car value))
(cond (requests
;; Don't print default face here.
value)
(princ "\n '(")
- (princ symbol)
+ (prin1 symbol)
(princ " ")
(prin1 value)
(if (or (get symbol 'face-defface-spec)
:help-echo "\
Text size (e.g. 9pt or 2mm).")
custom-set-face-font-size custom-face-font-size)
- (:stipple (editable-field :format "Stipple: %v"
- :help-echo "Name of background bitmap file.")
- set-face-stipple custom-face-stipple)
(:family (editable-field :format "Font Family: %v"
:help-echo "\
Name of font family to use (e.g. times).")
custom-set-face-font-family custom-face-font-family)
+ (:background-pixmap (editable-field :format "Background pixmap: %v"
+ :help-echo "\
+Name of background pixmap file.")
+ set-face-background-pixmap custom-face-background-pixmap)
+ (:dim (toggle :format "%[Dim%]: %v\n"
+ :help-echo "Control whether the text should be dimmed.")
+ set-face-dim-p face-dim-p)
(:bold (toggle :format "%[Bold%]: %v\n"
:help-echo "Control whether a bold font should be used.")
custom-set-face-bold custom-face-bold)
:help-echo "\
Control whether the text should be underlined.")
set-face-underline-p face-underline-p)
- ;; #### Should make it work on X
(:strikethru (toggle :format "%[Strikethru%]: %v\n"
:help-echo "\
Control whether the text should be strikethru.")
(error nil)))
result))
+(defsubst custom-face-get-spec (symbol)
+ (or (get symbol 'customized-face)
+ (get symbol 'saved-face)
+ (get symbol 'face-defface-spec)
+ ;; Attempt to construct it.
+ (list (list t (face-custom-attributes-get
+ symbol (selected-frame))))))
+
(defun custom-set-face-bold (face value &optional frame)
"Set the bold property of FACE to VALUE."
(if value
(fontobj (font-create-object font)))
(font-italic-p fontobj)))
-(defun custom-face-stipple (face &rest args)
- "Return the name of the stipple file used for FACE."
+(defun custom-face-background-pixmap (face &rest args)
+ "Return the name of the background pixmap file used for FACE."
(let ((image (apply 'specifier-instance
(face-background-pixmap face) args)))
(and image
(fontobj (font-create-object font)))
(font-family fontobj)))
+;;;###autoload
+(defun custom-set-face-update-spec (face display plist)
+ "Customize the FACE for display types matching DISPLAY, merging
+ in the new items from PLIST"
+ (let ((spec (face-spec-update-all-matching (custom-face-get-spec face)
+ display plist)))
+ (put face 'customized-face spec)
+ (face-spec-set face spec)))
+
;;; Initializing.
;;;###autoload
(custom-add-loads 'drag-n-drop '("dragdrop"))
(custom-add-loads 'mouse '("mouse" "mwheel"))
(custom-add-loads 'etags '("etags"))
+(custom-add-loads 'package-tools '("package-get" "package-ui"))
(custom-add-loads 'widgets '("wid-browse" "wid-edit"))
(custom-add-loads 'menu '("menubar-items"))
(custom-add-loads 'minibuffer '("simple" "minibuf"))
(custom-add-loads 'log-message '("simple"))
(custom-add-loads 'environment '("frame" "keydefs" "minibuf" "modeline" "window-xemacs" "menubar" "x-init" "toolbar-items" "cus-edit" "gnuserv" "sound"))
(custom-add-loads 'sound '("sound"))
+(custom-add-loads 'pui '("package-ui"))
(custom-add-loads 'terminals '("gnuserv"))
(custom-add-loads 'auto-save '("files" "auto-save"))
(custom-add-loads 'mail '("simple"))
(custom-add-loads 'help '("help" "cus-edit" "hyper-apropos" "info"))
(custom-add-loads 'keyboard '("cmdloop"))
(custom-add-loads 'hyper-apropos-faces '("hyper-apropos"))
+(custom-add-loads 'ldap '("ldap"))
(custom-add-loads 'widget-browse '("wid-browse"))
(custom-add-loads 'data '("auto-save"))
(custom-add-loads 'warnings '("simple"))
(custom-add-loads 'widget-documentation '("wid-edit"))
+(custom-add-loads 'comm '("ldap"))
(custom-add-loads 'backup '("files"))
(custom-add-loads 'frames '("frame" "window-xemacs" "gui" "gnuserv"))
(custom-add-loads 'customize '("cus-edit" "wid-edit"))
(custom-add-loads 'toolbar '("toolbar-items"))
(custom-add-loads 'dired '("files"))
(custom-add-loads 'dnd-debug '("dragdrop"))
+(custom-add-loads 'package-get '("package-get"))
(custom-add-loads 'killing '("simple"))
(custom-add-loads 'widget-button '("wid-edit"))
(custom-add-loads 'paren-blinking '("simple"))
(custom-add-loads 'find-file '("files"))
+(custom-add-loads 'font-menu '("x-font-menu"))
(custom-add-loads 'files '("files"))
(custom-add-loads 'build '("build-report"))
(custom-add-loads 'font-lock '("font-lock"))
information."
`(custom-declare-group (quote ,symbol) ,members ,doc ,@args))
-;; This is preloaded very early, so we avoid using CL features.
-(defvar custom-group-hash-table (make-hashtable 300 'eq)
+(defvar custom-group-hash-table (make-hash-table :size 300 :test 'eq)
"Hash-table of non-empty groups.")
(defun custom-add-to-group (group option widget)
(setq docstring nil)))
(setq docstring (or docstring (derived-mode-make-docstring parent child)))
- (` (progn
- (derived-mode-init-mode-variables (quote (, child)))
- (defun (, child) ()
- (, docstring)
+ `(progn
+ (derived-mode-init-mode-variables (quote ,child))
+ (defun ,child ()
+ ,docstring
(interactive)
; Run the parent.
- ((, parent))
+ (,parent)
; Identify special modes.
- (if (get (quote (, parent)) 'special)
- (put (quote (, child)) 'special t))
+ (if (get (quote ,parent) 'special)
+ (put (quote ,child) 'special t))
;; XEmacs addition
- (let ((mode-class (get (quote (, parent)) 'mode-class)))
+ (let ((mode-class (get (quote ,parent) 'mode-class)))
(if mode-class
- (put (quote (, child)) 'mode-class mode-class)))
+ (put (quote ,child) 'mode-class mode-class)))
; Identify the child mode.
- (setq major-mode (quote (, child)))
- (setq mode-name (, name))
+ (setq major-mode (quote ,child))
+ (setq mode-name ,name)
; Set up maps and tables.
- (derived-mode-set-keymap (quote (, child)))
- (derived-mode-set-syntax-table (quote (, child)))
- (derived-mode-set-abbrev-table (quote (, child)))
+ (derived-mode-set-keymap (quote ,child))
+ (derived-mode-set-syntax-table (quote ,child))
+ (derived-mode-set-abbrev-table (quote ,child))
; Splice in the body (if any).
- (,@ body)
+ ,@body
;;; ; Run the setup function, if
;;; ; any -- this will soon be
;;; ; obsolete.
-;;; (derived-mode-run-setup-function (quote (, child)))
+;;; (derived-mode-run-setup-function (quote ,child))
; Run the hooks, if any.
- (derived-mode-run-hooks (quote (, child)))))))
+ (derived-mode-run-hooks (quote ,child)))))
;; PUBLIC: find the ultimate class of a derived mode.
(if (boundp (derived-mode-map-name mode))
t
- (eval (` (defvar (, (derived-mode-map-name mode))
- ;; XEmacs change
- (make-sparse-keymap (derived-mode-map-name mode))
- (, (format "Keymap for %s." mode)))))
+ (eval `(defvar ,(derived-mode-map-name mode)
+ ;; XEmacs change
+ (make-sparse-keymap (derived-mode-map-name mode))
+ ,(format "Keymap for %s." mode)))
(put (derived-mode-map-name mode) 'derived-mode-unmerged t))
(if (boundp (derived-mode-syntax-table-name mode))
t
- (eval (` (defvar (, (derived-mode-syntax-table-name mode))
- ;; XEmacs change
- ;; Make a syntax table which doesn't specify anything
- ;; for any char. Valid data will be merged in by
- ;; derived-mode-merge-syntax-tables.
- ;; (make-char-table 'syntax-table nil)
- (make-syntax-table)
- (, (format "Syntax table for %s." mode)))))
+ (eval `(defvar ,(derived-mode-syntax-table-name mode)
+ ;; XEmacs change
+ ;; Make a syntax table which doesn't specify anything
+ ;; for any char. Valid data will be merged in by
+ ;; derived-mode-merge-syntax-tables.
+ ;; (make-char-table 'syntax-table nil)
+ (make-syntax-table)
+ ,(format "Syntax table for %s." mode)))
(put (derived-mode-syntax-table-name mode) 'derived-mode-unmerged t))
(if (boundp (derived-mode-abbrev-table-name mode))
t
- (eval (` (defvar (, (derived-mode-abbrev-table-name mode))
- (progn (define-abbrev-table (derived-mode-abbrev-table-name mode) nil)
- (make-abbrev-table))
- (, (format "Abbrev table for %s." mode)))))))
+ (eval `(defvar ,(derived-mode-abbrev-table-name mode)
+ (progn (define-abbrev-table (derived-mode-abbrev-table-name mode) nil)
+ (make-abbrev-table))
+ ,(format "Abbrev table for %s." mode)))))
(defun derived-mode-make-docstring (parent child)
"Construct a docstring for a new mode if none is provided."
(or device (setq device (selected-device)))
(console-on-window-system-p (device-console device)))
+(defun call-device-method (name device &rest args)
+ "Call a DEVICE-specific function with the generic name NAME.
+If DEVICE is not provide the selected device is used."
+ (or device (setq device (selected-device)))
+ (or (symbolp name) (error "function name must be a symbol"))
+ (let ((devmeth (intern (concat (symbol-name
+ (device-type device)) "-" (symbol-name name)))))
+ (if (functionp devmeth)
+ (if args
+ (apply devmeth args)
+ (funcall devmeth))
+ nil)))
+
+(defmacro define-device-method (name &optional docstring)
+ "Define NAME to be a device method."
+ `(defun ,name (&rest arglist) ,docstring
+ (apply 'call-device-method (quote ,name) nil arglist)))
+
+(defmacro define-device-method* (name &optional docstring)
+ "Define NAME to be a device method."
+ `(defun* ,name (&rest arglist) ,docstring
+ (apply 'call-device-method (quote ,name) nil arglist)))
+
(defalias 'valid-device-type-p 'valid-console-type-p)
(defalias 'device-type-list 'console-type-list)
(defalias 'device-pixel-depth 'device-bitplanes)
;;; Code:
-;;; The variable byte-code-vector is defined by the new bytecomp.el.
-;;; The function byte-decompile-lapcode is defined in byte-opt.el.
-;;; Since we don't use byte-decompile-lapcode, let's try not loading byte-opt.
-;;; The variable byte-code-vector is defined by the new bytecomp.el.
-;;; The function byte-decompile-lapcode is defined in byte-optimize.el.
(require 'byte-optimize)
(defvar disassemble-column-1-indent 8 "*")
(defvar disassemble-column-2-indent 10 "*")
(defvar disassemble-recursive-indent 3 "*")
-
;;;###autoload
(defun disassemble (object &optional buffer indent interactive-p)
"Print disassembled code for OBJECT in (optional) BUFFER.
(defun disassemble-internal (obj indent interactive-p)
- (let ((macro 'nil)
- (name 'nil)
+ (let ((macro nil)
+ (name nil)
args)
(while (symbolp obj)
(setq name obj
(defun disassemble-1 (obj indent)
- "Prints the byte-code call OBJ in the current buffer.
-OBJ should be a call to BYTE-CODE generated by the byte compiler."
+ "Print the byte-code call OBJ in the current buffer.
+OBJ should be a compiled-function object generated by the byte compiler."
(let (bytes constvec)
(if (consp obj)
(setq bytes (car (cdr obj)) ; the byte code
((eq (car-safe (car-safe arg)) 'byte-code)
(insert "(<byte code>...)\n")
(mapcar ;recurse on list of byte-code objects
- '(lambda (obj)
- (disassemble-1
- obj
- (+ indent disassemble-recursive-indent)))
+ #'(lambda (obj)
+ (disassemble-1
+ obj
+ (+ indent disassemble-recursive-indent)))
arg))
(t
;; really just a constant
(defcustom dragdrop-autoload-tm-view nil
"*{EXPERIMENTAL} If non-nil, autoload tm-view to decode MIME data.
-Otherwise, the buffer is only decoded if tm-view is already avaiable."
+Otherwise, the buffer is only decoded if tm-view is already available."
:type 'boolean
:group 'drag-n-drop)
(and (or (eq (cadr flist) t)
(= (cadr flist) button))
(or (eq (caddr flist) t)
- (dragdrop-compare-mods (caddr flist) modifiers))
+ (dragdrop-compare-mods (caddr flist) mods))
(apply (car flist) `(,event ,object ,@(cdddr flist)))
;; (funcall (car flist) event object)
(throw 'dragdrop-drop-is-done t))
This function uses special data types if the low-level
protocol requires it. It does so by calling
dragdrop-drag-pure-text."
- (dragdrop-drag-pure-text event
+ (experimental-dragdrop-drag-pure-text event
(buffer-substring-no-properties begin end)))
(defun experimental-dragdrop-drag-pure-text (event text)
late-package-load-path
'()
lisp-directory
- site-directory)))
+ site-directory))
+
+ (setq module-directory (paths-find-module-directory roots))
+ (if debug-paths
+ (princ (format "module-directory:\n%S\n" module-directory)
+ 'external-debugging-output))
+ (setq site-module-directory (and (null inhibit-site-modules)
+ (paths-find-site-module-directory roots)))
+ (if (and debug-paths (null inhibit-site-modules))
+ (princ (format "site-module-directory:\n%S\n" site-module-directory)
+ 'external-debugging-output))
+
+ (setq module-load-path (paths-construct-module-load-path roots
+ module-directory
+ site-module-directory)))
;;; dump-paths.el ends here
(assemble-list
"backquote" ; needed for defsubst etc.
"bytecomp-runtime" ; define defsubst
- "Installation.el"
"find-paths"
"packages" ; Bootstrap run-time lisp environment
"setup-paths"
(when-feature mule "arabic")
(when-feature mule "chinese")
- (when-feature mule "mule-base/cyrillic") ; overloaded in leim/quail
+ (when-feature mule "mule/cyrillic") ; overloaded in leim/quail
(when-feature mule "english")
-;; (when-feature mule "ethiopic")
+ (when-feature mule "ethiopic")
(when-feature mule "european")
- (when-feature mule "mule-base/greek") ; overloaded in leim/quail
+ (when-feature mule "mule/greek") ; overloaded in leim/quail
(when-feature mule "hebrew")
(when-feature mule "japanese")
(when-feature mule "korean")
(when-feature mule "misc-lang")
-;; (when-feature mule "thai")
+ (when-feature mule "thai-xtis")
(when-feature mule "viet-chars")
-;; (when-feature mule "vietnamese")
+ (when-feature mule "vietnamese")
;; Specialized language support
(when-feature (and mule CANNA) "canna-leim")
;; Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
;; 02111-1307, USA.
-;;; Synched up with: Not synched with FSF.
+;;; Synched up with: Not synched with FSF but coordinated with the FSF
+;;; easymenu maintor for compatability with FSF 20.4.
+;;; Please: Coordinate changes with Inge Frick <inge@nada.kth.se>
;; Commentary:
;; - Function: easy-menu-remove MENU
;; Remove MENU from the current menubar.
+;; - Function: easy-menu-add-item
+;; Add item or submenu to existing menu
+
+;; - Function: easy-menu-item-present-p
+;; Locate item
+
+;; - Function: easy-menu-remove-item
+;; Delete item from menu.
+
;; Emacs 19 never uses `easy-menu-add' or `easy-menu-remove', menus
;; automatically appear and disappear when the keymaps specified by
;; the MAPS argument to `easy-menu-define' are activated.
The first element should be the submenu name. That's used as the
menu item in the top-level menu. The cdr of the submenu list
is a list of menu items, as above."
- (` (progn
- (defvar (, symbol) nil (, doc))
- (easy-menu-do-define (quote (, symbol)) (, maps) (, doc) (, menu)))))
+ `(progn
+ (defvar ,symbol nil ,doc)
+ (easy-menu-do-define (quote ,symbol) ,maps ,doc ,menu)))
(defun easy-menu-do-define (symbol maps doc menu)
(if (featurep 'menubar)
(assoc (car menu) current-menubar)
(delete-menu-item (list (car menu)))))))
+(defsubst easy-menu-normalize (menu)
+ (if (symbolp menu)
+ (symbol-value menu)
+ menu))
+
+(defun easy-menu-add-item (menu path item &optional before)
+ "At the end of the submenu of MENU with path PATH add ITEM.
+If ITEM is already present in this submenu, then this item will be changed.
+otherwise ITEM will be added at the end of the submenu, unless the optional
+argument BEFORE is present, in which case ITEM will instead be added
+before the item named BEFORE.
+MENU is either a symbol, which have earlier been used as the first
+argument in a call to `easy-menu-define', or the value of such a symbol
+i.e. a menu, or nil which stands for the current menubar.
+PATH is a list of strings for locating the submenu where ITEM is to be
+added. If PATH is nil, MENU itself is used. Otherwise, the first
+element should be the name of a submenu directly under MENU. This
+submenu is then traversed recursively with the remaining elements of PATH.
+ITEM is either defined as in `easy-menu-define', a menu defined earlier
+by `easy-menu-define' or `easy-menu-create-menu' or an item returned
+from `easy-menu-item-present-p' or `easy-menu-remove-item'."
+ (add-menu-button path item before (easy-menu-normalize menu)))
+
+(defun easy-menu-item-present-p (menu path name)
+ "In submenu of MENU with path PATH, return true iff item NAME is present.
+MENU and PATH are defined as in `easy-menu-add-item'.
+NAME should be a string, the name of the element to be looked for.
+
+The return value can be used as as an argument to `easy-menu-add-item'."
+ (car (find-menu-item (or (easy-menu-normalize menu) current-menubar)
+ (append path (list name)))))
+
+(defun easy-menu-remove-item (menu path name)
+ "From submenu of MENU with path PATH remove item NAME.
+MENU and PATH are defined as in `easy-menu-add-item'.
+NAME should be a string, the name of the element to be removed.
+
+The return value can be used as as an argument to `easy-menu-add-item'."
+ (delete-menu-item (append path (list name))
+ (easy-menu-normalize menu)))
+
+
+
+
;; Think up a good title for the menu. Take the major-mode of the
;; buffer, strip the -mode part, convert hyphens to spaces, and
;; capitalize it.
arguments.")
(defvar find-tag-hook nil
- "Function to call after a tag is found.
+ "*Function to call after a tag is found.
Make it buffer-local in a mode hook. The function is called with no
arguments.")
syn-tab exact-syntax-table)
(setq tag-target tagname
syn-tab normal-syntax-table))
- (with-caps-disable-folding tag-target
+ (with-search-caps-disable-folding tag-target t
(while tag-tables
(set-buffer (get-tag-table-buffer (car tag-tables)))
(bury-buffer (current-buffer))
(push-mark)
(goto-char tag-point)
(if find-tag-hook
- (funcall find-tag-hook)
+ (run-hooks 'find-tag-hook)
(if local-find-tag-hook
- (funcall local-find-tag-hook))))
+ (run-hooks 'local-find-tag-hook))))
(setq tags-loop-scan (list 'find-tag nil nil)
- tags-loop-operate nil)
+ tags-loop-operate nil)
;; Return t in case used as the tags-loop-scan.
t)
See documentation of variable `tag-table-alist'."
(interactive "sTags search (regexp): ")
(if (and (equal regexp "")
- (eq (car tags-loop-scan) 'with-caps-disable-folding)
+ (eq (car tags-loop-scan) 'with-search-caps-disable-folding)
(null tags-loop-operate))
;; Continue last tags-search as if by `M-,'.
(tags-loop-continue nil)
- (setq tags-loop-scan `(with-caps-disable-folding ,regexp
+ (setq tags-loop-scan `(with-search-caps-disable-folding ,regexp t
(re-search-forward ,regexp nil t))
tags-loop-operate nil)
(tags-loop-continue (or file-list-form t))))
See documentation of variable `tag-table-alist'."
(interactive
"sTags query replace (regexp): \nsTags query replace %s by: \nP")
- (setq tags-loop-scan `(with-caps-disable-folding ,from
+ (setq tags-loop-scan `(with-search-caps-disable-folding ,from t
(if (re-search-forward ,from nil t)
;; When we find a match, move back
;; to the beginning of it so perform-replace
\f
;; Sample uses of find-tag-hook and find-tag-default-hook
-;; This is wrong. We should either make this behaviour default and
+;; This is wrong. We should either make this behavior default and
;; back it up, or not use it at all. For now, I've commented it out.
;; --hniksic
;;;###autoload (define-key esc-map "*" 'pop-tag-mark)
+;;;###autoload
(defun pop-tag-mark (arg)
"Go to last tag position.
`find-tag' maintains a mark-stack seperate from the \\[set-mark-command] mark-stack.
\f
(provide 'etags)
(provide 'tags)
+
+;;; etags.el ends here
(while pairs
(puthash (pop pairs) (pop pairs) keyboard-translate-table)))
-(put 'backspace 'ascii-character ?\b)
-(put 'delete 'ascii-character ?\177)
(put 'tab 'ascii-character ?\t)
(put 'linefeed 'ascii-character ?\n)
(put 'clear 'ascii-character 12)
For valid instantiators, see `face-boolean-specifier-p'.
dim Dim all text covered by this face.
- Only used by faces on TTY devices.
For valid instantiators, see `face-boolean-specifier-p'.
blinking Blink all text covered by this face.
(set-face-property face 'highlight highlight-p locale tag-set how-to-add))
(defun face-dim-p (face &optional domain default no-fallback)
- "Return t if FACE is dimmed in DOMAIN (TTY domains only).
+ "Return t if FACE is dimmed in DOMAIN.
See `face-property-instance' for the semantics of the DOMAIN argument."
(face-property-instance face 'dim domain default no-fallback))
(defun set-face-dim-p (face dim-p &optional locale tag-set how-to-add)
- "Change whether FACE is dimmed in LOCALE (TTY locales only).
+ "Change whether FACE is dimmed in LOCALE.
DIM-P is normally a face-boolean instantiator; see
`face-boolean-specifier-p'.
See `set-face-property' for the semantics of the LOCALE, TAG-SET, and
(if (not (valid-specifier-domain-p domain))
(error "Invalid specifier domain"))
(let ((device (dfw-device domain))
- (common-props '(foreground background font display-table underline))
+ (common-props '(foreground background font display-table underline
+ dim))
(win-props '(background-pixmap strikethru))
- (tty-props '(highlight dim blinking reverse)))
+ (tty-props '(highlight blinking reverse)))
;; First check the properties which are used in common between the
;; x and tty devices. Then, check those properties specific to
(init-face-from-resources face frame))
(let ((frames (relevant-custom-frames)))
(reset-face face)
+ (if (and (eq 'default face) (featurep 'x))
+ (x-init-global-faces))
(face-display-set face spec)
(while frames
(face-display-set face spec (car frames))
;; and cache it...
(set-frame-property frame 'custom-properties cache))
cache))
- ;; We avoid this cache, because various frame and device
- ;; properties can change.
- ;;(default-custom-frame-properties)
+ (default-custom-frame-properties)
(t
(setq default-custom-frame-properties
(extract-custom-frame-properties (selected-frame))))))
+(defun face-spec-update-all-matching (spec display plist)
+ "Update all entries in the face spec that could match display to
+have the entries from the new plist and return the new spec"
+ (mapcar
+ (lambda (e)
+ (let ((entries (car e))
+ (options (cadr e))
+ (match t)
+ dplist
+ (new-options plist)
+ )
+ (unless (eq display t)
+ (mapc (lambda (arg)
+ (setq dplist (plist-put dplist (car arg) (cadr arg))))
+ display))
+ (unless (eq entries t)
+ (mapc (lambda (arg)
+ (setq match (and match (eq (cadr arg)
+ (plist-get
+ dplist (car arg)
+ (cadr arg))))))
+ entries))
+ (if (not match)
+ e
+ (while new-options
+ (setq options
+ (plist-put options (car new-options) (cadr new-options)))
+ (setq new-options (cddr new-options)))
+ (list entries options))))
+ (copy-sequence spec)))
+
+
+
(defun face-spec-set-match-display (display &optional frame)
"Return non-nil if DISPLAY matches FRAME.
DISPLAY is part of a spec such as can be used in `defface'.
in that frame; otherwise change each frame."
(while (not (find-face face))
(setq face (signal 'wrong-type-argument (list 'facep face))))
- (locate-file pixmap x-bitmap-file-path ".xbm:" 4)
+ (locate-file pixmap x-bitmap-file-path '(".xbm" ""))
(while (cond ((stringp pixmap)
(unless (file-readable-p pixmap)
(setq pixmap `[xbm :file ,pixmap]))
(regexp :tag "To")))
:group 'find-file)
-;;; Turn off backup files on VMS since it has version numbers.
-(defcustom make-backup-files (not (eq system-type 'vax-vms))
+(defcustom make-backup-files t
"*Non-nil means make a backup of a file the first time it is saved.
This can be done by renaming the file or by copying.
"Change current directory to given absolute file name DIR."
;; Put the name into directory syntax now,
;; because otherwise expand-file-name may give some bad results.
- (if (not (eq system-type 'vax-vms))
- (setq dir (file-name-as-directory dir)))
+ (setq dir (file-name-as-directory dir))
;; XEmacs change: stig@hackvan.com
(if find-file-use-truenames
(setq dir (file-truename dir)))
;; If any elt of directory-abbrev-alist matches this name,
;; abbreviate accordingly.
(while tail
- (if (string-match (car (car tail)) filename)
- (setq filename
- (concat (cdr (car tail)) (substring filename (match-end 0)))))
+ (when (string-match (car (car tail)) filename)
+ (setq filename
+ (concat (cdr (car tail)) (substring filename (match-end 0)))))
(setq tail (cdr tail))))
- (if hack-homedir
- (progn
- ;; Compute and save the abbreviated homedir name.
- ;; We defer computing this until the first time it's needed, to
- ;; give time for directory-abbrev-alist to be set properly.
- ;; We include a slash at the end, to avoid spurious matches
- ;; such as `/usr/foobar' when the home dir is `/usr/foo'.
- (or abbreviated-home-dir
- (setq abbreviated-home-dir
- (let ((abbreviated-home-dir "$foo"))
- (concat "\\`" (regexp-quote (abbreviate-file-name
- (expand-file-name "~")))
- "\\(/\\|\\'\\)"))))
- ;; If FILENAME starts with the abbreviated homedir,
- ;; make it start with `~' instead.
- (if (and (string-match abbreviated-home-dir filename)
- ;; If the home dir is just /, don't change it.
- (not (and (= (match-end 0) 1) ;#### unix-specific
- (= (aref filename 0) ?/)))
- (not (and (or (eq system-type 'ms-dos)
- (eq system-type 'windows-nt))
- (save-match-data
- (string-match "^[a-zA-Z]:/$" filename)))))
- (setq filename
- (concat "~"
- (substring filename
- (match-beginning 1) (match-end 1))
- (substring filename (match-end 0)))))))
+ (when hack-homedir
+ ;; Compute and save the abbreviated homedir name.
+ ;; We defer computing this until the first time it's needed, to
+ ;; give time for directory-abbrev-alist to be set properly.
+ ;; We include a slash at the end, to avoid spurious matches
+ ;; such as `/usr/foobar' when the home dir is `/usr/foo'.
+ (or abbreviated-home-dir
+ (setq abbreviated-home-dir
+ (let ((abbreviated-home-dir "$foo"))
+ (concat "\\`" (regexp-quote (abbreviate-file-name
+ (expand-file-name "~")))
+ "\\(/\\|\\'\\)"))))
+ ;; If FILENAME starts with the abbreviated homedir,
+ ;; make it start with `~' instead.
+ (if (and (string-match abbreviated-home-dir filename)
+ ;; If the home dir is just /, don't change it.
+ (not (and (= (match-end 0) 1) ;#### unix-specific
+ (= (aref filename 0) ?/)))
+ (not (and (memq system-type '(ms-dos windows-nt))
+ (save-match-data
+ (string-match "^[a-zA-Z]:/$" filename)))))
+ (setq filename
+ (concat "~"
+ (substring filename
+ (match-beginning 1) (match-end 1))
+ (substring filename (match-end 0))))))
filename)))
(defcustom find-file-not-true-dirname-list nil
- "*List of logical names for which visiting shouldn't save the true dirname.
-On VMS, when you visit a file using a logical name that searches a path,
-you may or may not want the visited file name to record the specific
-directory where the file was found. If you *do not* want that, add the logical
-name to this list as a string."
+ "*List of logical names for which visiting shouldn't save the true dirname."
:type '(repeat (string :tag "Name"))
:group 'find-file)
;;; (message "Symbolic link to file in buffer %s"
;;; (buffer-name linked-buf))))
(setq buf (create-file-buffer filename))
- (set-buffer-major-mode buf)
- (set-buffer buf)
- (erase-buffer)
- (if rawfile
- (condition-case ()
- (insert-file-contents-literally filename t)
- (file-error
- (when (and (file-exists-p filename)
- (not (file-readable-p filename)))
- (kill-buffer buf)
- (signal 'file-error (list "File is not readable" filename)))
- ;; Unconditionally set error
- (setq error t)))
- (condition-case ()
- (insert-file-contents filename t)
- (file-error
- (when (and (file-exists-p filename)
- (not (file-readable-p filename)))
- (kill-buffer buf)
- (signal 'file-error (list "File is not readable" filename)))
- ;; Run find-file-not-found-hooks until one returns non-nil.
- (or (run-hook-with-args-until-success 'find-file-not-found-hooks)
- ;; If they fail too, set error.
- (setq error t)))))
- ;; Find the file's truename, and maybe use that as visited name.
- ;; automatically computed in XEmacs, unless jka-compr was used!
- (unless buffer-file-truename
- (setq buffer-file-truename truename))
- (setq buffer-file-number number)
- ;; On VMS, we may want to remember which directory in a search list
- ;; the file was found in.
- (and (eq system-type 'vax-vms)
- (let (logical)
- (if (string-match ":" (file-name-directory filename))
- (setq logical (substring (file-name-directory filename)
- 0 (match-beginning 0))))
- (not (member logical find-file-not-true-dirname-list)))
- (setq buffer-file-name buffer-file-truename))
- (and find-file-use-truenames
- ;; This should be in C. Put pathname abbreviations that have
- ;; been explicitly requested back into the pathname. Most
- ;; importantly, strip out automounter /tmp_mnt directories so
- ;; that auto-save will work
- (setq buffer-file-name (abbreviate-file-name buffer-file-name)))
- ;; Set buffer's default directory to that of the file.
- (setq default-directory (file-name-directory buffer-file-name))
- ;; Turn off backup files for certain file names. Since
- ;; this is a permanent local, the major mode won't eliminate it.
- (and (not (funcall backup-enable-predicate buffer-file-name))
- (progn
- (make-local-variable 'backup-inhibited)
- (setq backup-inhibited t)))
- (if rawfile
- ;; #### FSF 20.3 sets buffer-file-coding-system to
- ;; `no-conversion' here. Should we copy? It also makes
- ;; `find-file-literally' a local variable and sets it to t.
- nil
- (after-find-file error (not nowarn))
- (setq buf (current-buffer)))))
+ ;; Catch various signals, such as QUIT, and kill the buffer
+ ;; in that case.
+ (condition-case data
+ (progn
+ (set-buffer-major-mode buf)
+ (set-buffer buf)
+ (erase-buffer)
+ (condition-case ()
+ (if rawfile
+ (insert-file-contents-literally filename t)
+ (insert-file-contents filename t))
+ (file-error
+ (when (and (file-exists-p filename)
+ (not (file-readable-p filename)))
+ (signal 'file-error (list "File is not readable" filename)))
+ (if rawfile
+ ;; Unconditionally set error
+ (setq error t)
+ (or
+ ;; Run find-file-not-found-hooks until one returns non-nil.
+ (run-hook-with-args-until-success 'find-file-not-found-hooks)
+ ;; If they fail too, set error.
+ (setq error t)))))
+ ;; Find the file's truename, and maybe use that as visited name.
+ ;; automatically computed in XEmacs, unless jka-compr was used!
+ (unless buffer-file-truename
+ (setq buffer-file-truename truename))
+ (setq buffer-file-number number)
+ (and find-file-use-truenames
+ ;; This should be in C. Put pathname
+ ;; abbreviations that have been explicitly
+ ;; requested back into the pathname. Most
+ ;; importantly, strip out automounter /tmp_mnt
+ ;; directories so that auto-save will work
+ (setq buffer-file-name (abbreviate-file-name buffer-file-name)))
+ ;; Set buffer's default directory to that of the file.
+ (setq default-directory (file-name-directory buffer-file-name))
+ ;; Turn off backup files for certain file names. Since
+ ;; this is a permanent local, the major mode won't eliminate it.
+ (and (not (funcall backup-enable-predicate buffer-file-name))
+ (progn
+ (make-local-variable 'backup-inhibited)
+ (setq backup-inhibited t)))
+ (if rawfile
+ ;; #### FSF 20.3 sets buffer-file-coding-system to
+ ;; `no-conversion' here. Should we copy? It also
+ ;; makes `find-file-literally' a local variable
+ ;; and sets it to t.
+ nil
+ (after-find-file error (not nowarn))
+ (setq buf (current-buffer))))
+ (t
+ (kill-buffer buf)
+ (signal (car data) (cdr data))))))
buf)))
\f
;; FSF has `insert-file-literally' and `find-file-literally' here.
(defvar auto-mode-alist
'(("\\.te?xt\\'" . text-mode)
- ("\\.[ch]\\'" . c-mode)
+ ("\\.[chi]\\'" . c-mode)
("\\.el\\'" . emacs-lisp-mode)
- ("\\.\\([CH]\\|cc\\|hh\\)\\'" . c++-mode)
+ ("\\.\\(?:[CH]\\|cc\\|hh\\)\\'" . c++-mode)
("\\.[ch]\\(pp\\|xx\\|\\+\\+\\)\\'" . c++-mode)
("\\.java\\'" . java-mode)
("\\.idl\\'" . idl-mode)
- ("\\.f\\(or\\)?\\'" . fortran-mode)
- ("\\.F\\(OR\\)?\\'" . fortran-mode)
+ ("\\.f\\(?:or\\)?\\'" . fortran-mode)
+ ("\\.F\\(?:OR\\)?\\'" . fortran-mode)
("\\.[fF]90\\'" . f90-mode)
;;; Less common extensions come here
;;; so more common ones above are found faster.
- ("\\.p[lm]\\'" . perl-mode)
+ ("\\.\\([pP][Llm]\\|al\\)\\'" . perl-mode)
("\\.py\\'" . python-mode)
- ("\\.texi\\(nfo\\)?\\'" . texinfo-mode)
+ ("\\.texi\\(?:nfo\\)?\\'" . texinfo-mode)
("\\.ad[abs]\\'" . ada-mode)
- ("\\.c?l\\(i?sp\\)?\\'" . lisp-mode)
- ("\\.p\\(as\\)?\\'" . pascal-mode)
+ ("\\.c?l\\(?:i?sp\\)?\\'" . lisp-mode)
+ ("\\.p\\(?:as\\)?\\'" . pascal-mode)
("\\.ltx\\'" . latex-mode)
("\\.[sS]\\'" . asm-mode)
- ("[Cc]hange.?[Ll]og?\\(.[0-9]+\\)?\\'" . change-log-mode)
+ ("[Cc]hange.?[Ll]og?\\(?:.[0-9]+\\)?\\'" . change-log-mode)
("\\$CHANGE_LOG\\$\\.TXT" . change-log-mode)
("\\.scm?\\(?:\\.[0-9]*\\)?\\'" . scheme-mode)
("\\.e\\'" . eiffel-mode)
("\\.mss\\'" . scribe-mode)
- ("\\.m\\([mes]\\|an\\)\\'" . nroff-mode)
+ ("\\.m\\(?:[mes]\\|an\\)\\'" . nroff-mode)
("\\.icn\\'" . icon-mode)
- ("\\.\\([ckz]?sh\\|shar\\)\\'" . sh-mode)
+ ("\\.\\(?:[ckz]?sh\\|shar\\)\\'" . sh-mode)
;; #### Unix-specific!
- ("/\\.\\(bash_\\|z\\)?\\(profile\\|login\||logout\\)\\'" . sh-mode)
- ("/\\.\\([ckz]sh\\|bash\\|tcsh\\|es\\|xinit\\|startx\\)rc\\'" . sh-mode)
- ("/\\.\\([kz]shenv\\|xsession\\)\\'" . sh-mode)
+ ("/\\.\\(?:bash_\\|z\\)?\\(profile\\|login\\|logout\\)\\'" . sh-mode)
+ ("/\\.\\(?:[ckz]sh\\|bash\\|tcsh\\|es\\|xinit\\|startx\\)rc\\'" . sh-mode)
+ ("/\\.\\(?:[kz]shenv\\|xsession\\)\\'" . sh-mode)
;; The following come after the ChangeLog pattern for the sake of
;; ChangeLog.1, etc. and after the .scm.[0-9] pattern too.
("\\.[12345678]\\'" . nroff-mode)
("\\.[tT]e[xX]\\'" . tex-mode)
- ("\\.\\(sty\\|cls\\|bbl\\)\\'" . latex-mode)
+ ("\\.\\(?:sty\\|cls\\|bbl\\)\\'" . latex-mode)
("\\.bib\\'" . bibtex-mode)
("\\.article\\'" . text-mode)
("\\.letter\\'" . text-mode)
- ("\\.\\(tcl\\|exp\\)\\'" . tcl-mode)
+ ("\\.\\(?:tcl\\|exp\\)\\'" . tcl-mode)
("\\.wrl\\'" . vrml-mode)
("\\.awk\\'" . awk-mode)
("\\.prolog\\'" . prolog-mode)
- ("\\.tar\\'" . tar-mode)
- ("\\.\\(arc\\|zip\\|lzh\\|zoo\\)\\'" . archive-mode)
+ ("\\.\\(?:arc\\|zip\\|lzh\\|zoo\\)\\'" . archive-mode)
;; Mailer puts message to be edited in /tmp/Re.... or Message
;; #### Unix-specific!
("\\`/tmp/Re" . text-mode)
("\\.oak\\'" . scheme-mode)
("\\.s?html?\\'" . html-mode)
("\\.htm?l?3\\'" . html3-mode)
- ("\\.\\(sgml?\\|dtd\\)\\'" . sgml-mode)
+ ("\\.\\(?:sgml?\\|dtd\\)\\'" . sgml-mode)
("\\.c?ps\\'" . postscript-mode)
;; .emacs following a directory delimiter in either Unix or
;; Windows syntax.
("\\.X\\(defaults\\|environment\\|resources\\|modmap\\)\\'" . xrdb-mode)
;; #### The following three are Unix-specific (but do we care?)
("/app-defaults/" . xrdb-mode)
- ("\\.[^/]*wm\\'" . winmgr-mode)
- ("\\.[^/]*wm2?rc" . winmgr-mode)
- ("\\.[Jj][Pp][Ee]?[Gg]\\'" . image-mode)
- ("\\.[Pp][Nn][Gg]\\'" . image-mode)
- ("\\.[Gg][Ii][Ff]\\'" . image-mode)
+ ("\\.[^/]*wm2?\\(?:rc\\)?\\'" . winmgr-mode)
+ ("\\.\\(?:jpe?g\\|JPE?G\\|png\\|PNG\\|gif\\|GIF\\|tiff?\\|TIFF?\\)\\'" . image-mode)
)
"Alist of filename patterns vs. corresponding major mode functions.
Each element looks like (REGEXP . FUNCTION) or (REGEXP FUNCTION NON-NIL).
with the name of the interpreter specified in the first line.
If it matches, mode MODE is selected.")
-(defvar inhibit-first-line-modes-regexps (purecopy '("\\.tar\\'" "\\.tgz\\'"
- "\\.tar\\.gz\\'"))
+(defvar binary-file-regexps
+ (purecopy
+ '("\\.\\(?:bz2\\|elc\\|g\\(if\\|z\\)\\|jp\\(eg\\|g\\)\\|png\\|t\\(ar\\|gz\\|iff\\)\\|[Zo]\\)\\'"))
+ "List of regexps of filenames containing binary (non-text) data.")
+
+; (eval-when-compile
+; (require 'regexp-opt)
+; (list
+; (format "\\.\\(?:%s\\)\\'"
+; (regexp-opt
+; '("tar"
+; "tgz"
+; "gz"
+; "bz2"
+; "Z"
+; "o"
+; "elc"
+; "png"
+; "gif"
+; "tiff"
+; "jpg"
+; "jpeg"))))))
+
+(defvar inhibit-first-line-modes-regexps
+ (purecopy binary-file-regexps)
"List of regexps; if one matches a file name, don't look for `-*-'.")
(defvar inhibit-first-line-modes-suffixes nil
(mode nil))
;; Find first matching alist entry.
(let ((case-fold-search
- (memq system-type '(vax-vms windows-nt))))
+ (memq system-type '(windows-nt))))
(while (and (not mode) alist)
(if (string-match (car (car alist)) name)
(if (and (consp (cdr (car alist)))
(setq alist (cdr alist)))))))
(if mode
(if (not (fboundp mode))
- (progn
- (if (or (not (boundp 'package-get-base))
- (not package-get-base))
- (load "package-get-base"))
- (require 'package-get)
- (let ((name (package-get-package-provider mode)))
- (if name
- (message "Mode %s is not installed. Download package %s" mode name)
- (message "Mode %s either doesn't exist or is not a known package" mode))
- (sit-for 2)
- (error "%s" mode)))
+ (let ((name (package-get-package-provider mode)))
+ (if name
+ (message "Mode %s is not installed. Download package %s" mode name)
+ (message "Mode %s either doesn't exist or is not a known package" mode))
+ (sit-for 2)
+ (error "%s" mode))
(unless (and just-from-file-name
(or
;; Don't reinvoke major mode.
(let ((new-name (file-name-nondirectory buffer-file-name)))
(if (string= new-name "")
(error "Empty file name"))
- (if (eq system-type 'vax-vms)
- (setq new-name (downcase new-name)))
(setq default-directory (file-name-directory buffer-file-name))
(or (string= new-name (buffer-name))
(rename-buffer new-name t))))
;; Now delete the old versions, if desired.
(if delete-old-versions
(while targets
- (condition-case ()
- (delete-file (car targets))
- (file-error nil))
+ (ignore-file-errors (delete-file (car targets)))
(setq targets (cdr targets))))
setmodes)
(file-error nil)))))))))
(if handler
(funcall handler 'file-name-sans-versions name keep-backup-version)
(substring name 0
- (if (eq system-type 'vax-vms)
- ;; VMS version number is (a) semicolon, optional
- ;; sign, zero or more digits or (b) period, option
- ;; sign, zero or more digits, provided this is the
- ;; second period encountered outside of the
- ;; device/directory part of the file name.
- (or (string-match ";[-+]?[0-9]*\\'" name)
- (if (string-match "\\.[^]>:]*\\(\\.[-+]?[0-9]*\\)\\'"
- name)
- (match-beginning 1))
- (length name))
- (if keep-backup-version
- (length name)
- (or (string-match "\\.~[0-9.]+~\\'" name)
- ;; XEmacs - VC uses extensions like ".~tagname~" or ".~1.1.5.2~"
- (let ((pos (string-match "\\.~\\([^.~ \t]+\\|[0-9.]+\\)~\\'" name)))
- (and pos
- ;; #### - is this filesystem check too paranoid?
- (file-exists-p (substring name 0 pos))
- pos))
- (string-match "~\\'" name)
- (length name))))))))
+ (if keep-backup-version
+ (length name)
+ (or (string-match "\\.~[0-9.]+~\\'" name)
+ ;; XEmacs - VC uses extensions like ".~tagname~" or ".~1.1.5.2~"
+ (let ((pos (string-match "\\.~\\([^.~ \t]+\\|[0-9.]+\\)~\\'" name)))
+ (and pos
+ ;; #### - is this filesystem check too paranoid?
+ (file-exists-p (substring name 0 pos))
+ pos))
+ (string-match "~\\'" name)
+ (length name)))))))
(defun file-ownership-preserved-p (file)
"Return t if deleting FILE and rewriting it would preserve the owner."
(string-to-int (substring fn bv-length -1))
0))
-;; I believe there is no need to alter this behavior for VMS;
-;; since backup files are not made on VMS, it should not get called.
(defun find-backup-file-name (fn)
"Find a file name for a backup file, and suggestions for deletions.
Value is a list whose car is the name for the backup file
(expand-file-name (or directory default-directory))))
;; On Microsoft OSes, if FILENAME and DIRECTORY have different
;; drive names, they can't be relative, so return the absolute name.
- (if (and (or (eq system-type 'ms-dos)
- (eq system-type 'windows-nt))
+ (if (and (memq system-type '(ms-dos windows-nt))
(not (string-equal (substring fname 0 2)
(substring directory 0 2))))
filename
(not (string= buffer-file-name buffer-auto-save-file-name))
(or force (recent-auto-save-p))
(progn
- (condition-case ()
- (delete-file buffer-auto-save-file-name)
- (file-error nil))
+ (ignore-file-errors (delete-file buffer-auto-save-file-name))
(set-buffer-auto-saved))))
;; XEmacs change (from Sun)
(set-buffer (buffer-base-buffer)))
(if (buffer-modified-p)
(let ((recent-save (recent-auto-save-p)))
- ;; On VMS, rename file and buffer to get rid of version number.
- (if (and (eq system-type 'vax-vms)
- (not (string= buffer-file-name
- (file-name-sans-versions buffer-file-name))))
- (let (buffer-new-name)
- ;; Strip VMS version number before save.
- (setq buffer-file-name
- (file-name-sans-versions buffer-file-name))
- ;; Construct a (unique) buffer name to correspond.
- (let ((buf (create-file-buffer (downcase buffer-file-name))))
- (setq buffer-new-name (buffer-name buf))
- (kill-buffer buf))
- (rename-buffer buffer-new-name)))
;; If buffer has no file name, ask user for one.
(or buffer-file-name
(let ((filename
(not (file-exists-p file-name)))
(error "Auto-save file %s not current" file-name))
((save-window-excursion
- (if (not (eq system-type 'vax-vms))
- (with-output-to-temp-buffer "*Directory*"
- (buffer-disable-undo standard-output)
- (call-process "ls" nil standard-output nil
- (if (file-symlink-p file) "-lL" "-l")
- file file-name)))
+ (with-output-to-temp-buffer "*Directory*"
+ (buffer-disable-undo standard-output)
+ (call-process "ls" nil standard-output nil
+ (if (file-symlink-p file) "-lL" "-l")
+ file file-name))
(yes-or-no-p (format "Recover auto save file %s? " file-name)))
(switch-to-buffer (find-file-noselect file t))
(let ((buffer-read-only nil))
;; not its part. Make the regexp say so.
(concat "\\`" result "\\'")))
\f
-(defcustom list-directory-brief-switches
- (if (eq system-type 'vax-vms) "" "-CF")
+(defcustom list-directory-brief-switches "-CF"
"*Switches for list-directory to pass to `ls' for brief listing."
:type 'string
:group 'dired)
-(defcustom list-directory-verbose-switches
- (if (eq system-type 'vax-vms)
- "/PROTECTION/SIZE/DATE/OWNER/WIDTH=(OWNER:10)"
- "-l")
+(defcustom list-directory-verbose-switches "-l"
"*Switches for list-directory to pass to `ls' for verbose listing,"
:type 'string
:group 'dired)
(funcall handler 'insert-directory file switches
wildcard full-directory-p)
(cond
- ((eq system-type 'vax-vms)
- (vms-read-directory file switches (current-buffer)))
((and (fboundp 'mswindows-insert-directory)
(eq system-type 'windows-nt))
(mswindows-insert-directory file switches wildcard full-directory-p))
;;; 97/3/14 jhod: Kinsoku change
;; Spacing is not necessary for charcters of no word-separater.
;; The regexp word-across-newline is used for this check.
+ (defvar word-across-newline)
(if (not (and (featurep 'mule)
(stringp word-across-newline)))
(subst-char-in-region from (point-max) ?\n ?\ )
;; 97/3/14 jhod: This functions are added for Kinsoku support
(defun find-space-insertable-point ()
- "Search backward for a permissable point for inserting justification spaces"
+ "Search backward for a permissible point for inserting justification spaces"
(if (boundp 'space-insertable)
(if (re-search-backward space-insertable nil t)
(progn (forward-char 1)
(let ((directory (file-name-as-directory
(expand-file-name
(car directories)))))
- (if (file-directory-p directory)
+ (if (paths-file-readable-directory-p directory)
(let ((raw-entries
(if (equal 0 max-depth)
'()
- (directory-files directory nil "^[^.-]")))
+ (directory-files directory nil "^[^.-]")))
(reverse-dirs '()))
-
(while raw-entries
(if (null (string-match exclude-regexp (car raw-entries)))
(setq reverse-dirs
(setq directories (cdr directories)))
path))
+(defun paths-file-readable-directory-p (filename)
+ "Check if filename is a readable directory."
+ (and (file-directory-p filename)
+ (file-readable-p filename)))
+
(defun paths-find-recursive-load-path (directories &optional max-depth)
"Construct a recursive load path underneath DIRECTORIES."
(paths-find-recursive-path directories
"Check if DIRECTORY is a plausible installation root for XEmacs."
(or
;; installed
- (file-directory-p (paths-construct-path (list directory
- "lib"
- emacs-program-name)))
+ (paths-file-readable-directory-p (paths-construct-path (list directory
+ "lib"
+ emacs-program-name)))
;; in-place or windows-nt
- (and
- (file-directory-p (paths-construct-path (list directory "lisp")))
- (file-directory-p (paths-construct-path (list directory "etc"))))))
+ (and
+ (paths-file-readable-directory-p (paths-construct-path (list directory "lisp")))
+ (paths-file-readable-directory-p (paths-construct-path (list directory "etc"))))))
(defun paths-chase-symlink (file-name)
"Chase a symlink until the bitter end."
(defun paths-construct-emacs-directory (root suffix base)
"Construct a directory name within the XEmacs hierarchy."
(file-name-as-directory
- (expand-file-name
+ (expand-file-name
(concat
(file-name-as-directory root)
suffix
(let ((preferred-value (or (and envvar (getenv envvar))
default)))
(if (and preferred-value
- (file-directory-p preferred-value))
+ (paths-file-readable-directory-p preferred-value))
(file-name-as-directory preferred-value)
(catch 'gotcha
(while roots
(let* ((root (car roots))
;; installed
(path (paths-construct-emacs-directory root suffix base)))
- (if (file-directory-p path)
+ (if (paths-file-readable-directory-p path)
(throw 'gotcha path)
;; in-place
(if (null keep-suffix)
(let ((path (paths-construct-emacs-directory root "" base)))
- (if (file-directory-p path)
+ (if (paths-file-readable-directory-p path)
(throw 'gotcha path))))))
(setq roots (cdr roots)))
nil))))
"Return the directories among DIRECTORIES."
(let ((reverse-directories '()))
(while directories
- (if (file-directory-p (car directories))
- (setq reverse-directories
+ (if (paths-file-readable-directory-p (car directories))
+ (setq reverse-directories
(cons (car directories)
reverse-directories)))
(setq directories (cdr directories)))
(insert ";;; Commentary:\n")
(insert ";; Don't edit this file. It's generated by finder.el\n\n")
(insert ";;; Code:\n")
- (insert "\n(setq finder-package-info '(\n")
+ (insert "\n(defconst finder-package-info '(\n")
(mapcar
- (function
- (lambda (d)
- (mapcar
- (function
- (lambda (f)
- (if (not (member f processed))
- (let (summary keystart keywords)
- (setq processed (cons f processed))
- (if (not finder-compile-keywords-quiet)
- (message "Processing %s ..." f))
- (save-excursion
- (set-buffer (get-buffer-create "*finder-scratch*"))
- (buffer-disable-undo (current-buffer))
- (erase-buffer)
- (insert-file-contents (expand-file-name f d))
- (condition-case err
- (setq summary (lm-synopsis)
- keywords (lm-keywords))
- (t (message "finder: error processing %s %S" f err))))
- (if (not summary)
- nil
- (insert (format " (\"%s\"\n " f))
- (prin1 summary (current-buffer))
- (insert "\n ")
- (setq keystart (point))
- (insert (if keywords (format "(%s)" keywords) "nil"))
- (subst-char-in-region keystart (point) ?, ? )
- (insert "\n ")
- (prin1 (abbreviate-file-name d) (current-buffer))
- (insert ")\n"))))))
- ;;
- ;; Skip null, non-existent or relative pathnames, e.g. "./", if
- ;; using load-path, so that they do not interfere with a scan of
- ;; library directories only.
- (if (and using-load-path
- (not (and d (file-name-absolute-p d) (file-exists-p d))))
- nil
- (setq d (file-name-as-directory (or d ".")))
- (directory-files d nil "^[^=].*\\.el$")))))
+ (lambda (d)
+ (mapcar
+ (lambda (f)
+ (when (not (member f processed))
+ (let (summary keystart keywords)
+ (setq processed (cons f processed))
+ (if (not finder-compile-keywords-quiet)
+ (message "Processing %s ..." f))
+ (save-excursion
+ (set-buffer (get-buffer-create "*finder-scratch*"))
+ (buffer-disable-undo (current-buffer))
+ (erase-buffer)
+ (insert-file-contents (expand-file-name f d))
+ (condition-case err
+ (setq summary (lm-synopsis)
+ keywords (lm-keywords))
+ (t (message "finder: error processing %s %S" f err))))
+ (when summary
+ (insert (format " (\"%s\"\n " f))
+ (prin1 summary (current-buffer))
+ (insert "\n ")
+ (setq keystart (point))
+ (insert (if keywords (format "(%s)" keywords) "nil"))
+ (subst-char-in-region keystart (point) ?, ? )
+ (insert "\n ")
+ (prin1 (abbreviate-file-name d) (current-buffer))
+ (insert ")\n")))))
+ ;;
+ ;; Skip null, non-existent or relative pathnames, e.g. "./", if
+ ;; using load-path, so that they do not interfere with a scan of
+ ;; library directories only.
+ (if (and using-load-path
+ (not (and d (file-name-absolute-p d) (file-exists-p d))))
+ nil
+ (setq d (file-name-as-directory (or d ".")))
+ (directory-files d nil "^[^=].*\\.el$"))))
dirs)
(insert "))\n\n(provide 'finder-inf)\n\n;;; finder-inf.el ends here\n")
(kill-buffer "*finder-scratch*")
;; - Keep the faces distinct from each other as far as possible.
;; i.e., (a) above.
;; - Make the face attributes fit the concept as far as possible.
-;; i.e., function names might be a bold colour such as blue, comments might
-;; be a bright colour such as red, character strings might be brown, because,
+;; i.e., function names might be a bold color such as blue, comments might
+;; be a bright color such as red, character strings might be brown, because,
;; err, strings are brown (that was not the reason, please believe me).
;; - Don't use a non-nil OVERRIDE unless you have a good reason.
;; Only use OVERRIDE for special things that are easy to define, such as the
Where MATCHER is as for MATCH-HIGHLIGHT with one exception; see below.
PRE-MATCH-FORM and POST-MATCH-FORM are evaluated before the first, and after
the last, instance MATCH-ANCHORED's MATCHER is used. Therefore they can be
-used to initialise before, and cleanup after, MATCHER is used. Typically,
+used to initialize before, and cleanup after, MATCHER is used. Typically,
PRE-MATCH-FORM is used to move to some position relative to the original
MATCHER, before starting with MATCH-ANCHORED's MATCHER. POST-MATCH-FORM might
be used to move, before resuming with MATCH-ANCHORED's parent's MATCHER.
:type 'boolean
:initialize 'custom-initialize-default
:require 'font-lock
- :set '(lambda (var val)
- (font-lock-mode (or val 0)))
+ :set #'(lambda (var val) (font-lock-mode (or val 0)))
)
(defvar font-lock-fontified nil) ; whether we have hacked this buffer
;; region as fontified; otherwise, the same error might get signaled
;; after every command.
(unwind-protect
- ;; buffer may be deleted.
- (if (buffer-live-p (extent-object font-lock-old-extent))
+ ;; buffer/extent may be deleted.
+ (if (and (extent-live-p font-lock-old-extent)
+ (buffer-live-p (extent-object font-lock-old-extent)))
(save-excursion
(set-buffer (extent-object font-lock-old-extent))
(font-lock-after-change-function-1
;; If the buffer has just been reverted, normally that turns off
;; Font Lock mode. So turn the mode back on if necessary.
-(defalias 'font-lock-revert-cleanup 'turn-on-font-lock)
+;; sb 1999-03-03 -- The above comment no longer appears to be operative as
+;; the first call to normal-mode *will* restore the font-lock state and
+;; this call forces a second font-locking to occur when reverting a buffer,
+;; which is wasteful at best.
+;(defalias 'font-lock-revert-cleanup 'turn-on-font-lock)
+(defun font-lock-revert-cleanup ())
\f
;; Various functions.
(require 'cl)
(eval-and-compile
+ (defvar device-fonts-cache)
(condition-case ()
(require 'custom)
(error nil))
;; We have the old custom-library, hack around it!
(defmacro defgroup (&rest args)
nil)
- (defmacro defcustom (var value doc &rest args)
- (` (defvar (, var) (, value) (, doc))))))
+ (defmacro defcustom (var value doc &rest args)
+ `(defvar ,var ,value ,doc))))
(if (not (fboundp 'try-font-name))
(defun try-font-name (fontname &rest args)
"Whether we are running in XEmacs or not.")
(defmacro define-font-keywords (&rest keys)
- (`
- (eval-and-compile
- (let ((keywords (quote (, keys))))
+ `(eval-and-compile
+ (let ((keywords (quote ,keys)))
(while keywords
(or (boundp (car keywords))
(set (car keywords) (car keywords)))
- (setq keywords (cdr keywords)))))))
+ (setq keywords (cdr keywords))))))
(defconst font-window-system-mappings
'((x . (x-font-create-name x-font-create-object))
(eval-when-compile
(defmacro define-new-mask (attr mask)
- (`
- (progn
+ `(progn
(setq font-style-keywords
- (cons (cons (quote (, attr))
+ (cons (cons (quote ,attr)
(cons
- (quote (, (intern (format "set-font-%s-p" attr))))
- (quote (, (intern (format "font-%s-p" attr))))))
+ (quote ,(intern (format "set-font-%s-p" attr)))
+ (quote ,(intern (format "font-%s-p" attr)))))
font-style-keywords))
- (defconst (, (intern (format "font-%s-mask" attr))) (<< 1 (, mask))
- (, (format
- "Bitmask for whether a font is to be rendered in %s or not."
- attr)))
- (defun (, (intern (format "font-%s-p" attr))) (fontobj)
- (, (format "Whether FONTOBJ will be renderd in `%s' or not." attr))
+ (defconst ,(intern (format "font-%s-mask" attr)) (<< 1 ,mask)
+ ,(format
+ "Bitmask for whether a font is to be rendered in %s or not."
+ attr))
+ (defun ,(intern (format "font-%s-p" attr)) (fontobj)
+ ,(format "Whether FONTOBJ will be renderd in `%s' or not." attr)
(if (/= 0 (& (font-style fontobj)
- (, (intern (format "font-%s-mask" attr)))))
+ ,(intern (format "font-%s-mask" attr))))
t
nil))
- (defun (, (intern (format "set-font-%s-p" attr))) (fontobj val)
- (, (format "Set whether FONTOBJ will be renderd in `%s' or not."
- attr))
+ (defun ,(intern (format "set-font-%s-p" attr)) (fontobj val)
+ ,(format "Set whether FONTOBJ will be renderd in `%s' or not."
+ attr)
(cond
(val
(set-font-style fontobj (| (font-style fontobj)
- (, (intern
- (format "font-%s-mask" attr))))))
- (((, (intern (format "font-%s-p" attr))) fontobj)
+ ,(intern
+ (format "font-%s-mask" attr)))))
+ ((,(intern (format "font-%s-p" attr)) fontobj)
(set-font-style fontobj (- (font-style fontobj)
- (, (intern
- (format "font-%s-mask" attr))))))))
- ))))
+ ,(intern
+ (format "font-%s-mask" attr)))))))
+ )))
(let ((mask 0))
(define-new-mask bold (setq mask (1+ mask)))
(while (< i 255) ;; Oslash - Thorn
(aset table i (- i 32))
(setq i (1+ i)))
- table))
+ table))
\f
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; Utility functions
(make-font :size "12pt"))
(defun tty-font-create-plist (fontobj &optional device)
- (let ((styles (font-style fontobj))
- (weight (font-weight fontobj)))
- (list
- (cons 'underline (font-underline-p fontobj))
- (cons 'highlight (if (or (font-bold-p fontobj)
- (memq weight '(:bold :demi-bold))) t))
- (cons 'dim (font-dim-p fontobj))
- (cons 'blinking (font-blink-p fontobj))
- (cons 'reverse (font-reverse-p fontobj)))))
+ (list
+ (cons 'underline (font-underline-p fontobj))
+ (cons 'highlight (if (or (font-bold-p fontobj)
+ (memq (font-weight fontobj) '(:bold :demi-bold)))
+ t))
+ (cons 'dim (font-dim-p fontobj))
+ (cons 'blinking (font-blink-p fontobj))
+ (cons 'reverse (font-reverse-p fontobj))))
\f
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(set-font-italic-p retval t))
((member slant '("o" "O"))
(set-font-oblique-p retval t)))
- (if (string-match font-x-registry-and-encoding-regexp fontname)
- (progn
- (set-font-registry retval (match-string 1 fontname))
- (set-font-encoding retval (match-string 2 fontname))))
+ (when (string-match font-x-registry-and-encoding-regexp fontname)
+ (set-font-registry retval (match-string 1 fontname))
+ (set-font-encoding retval (match-string 2 fontname)))
retval))))
(defun x-font-families-for-device (&optional device no-resetp)
- (condition-case ()
- (require 'x-font-menu)
- (error nil))
+ (ignore-errors (require 'x-font-menu))
(or device (setq device (selected-device)))
(if (boundp 'device-fonts-cache)
(let ((menu (or (cdr-safe (assq device device-fonts-cache)))))
(progn
(reset-device-font-menus device)
(x-font-families-for-device device t))
- (let ((scaled (mapcar (function (lambda (x) (if x (aref x 0))))
+ (let ((scaled (mapcar #'(lambda (x) (if x (aref x 0)))
(aref menu 0)))
- (normal (mapcar (function (lambda (x) (if x (aref x 0))))
+ (normal (mapcar #'(lambda (x) (if x (aref x 0)))
(aref menu 1))))
(sort (font-unique (nconc scaled normal)) 'string-lessp))))
(cons "monospace" (mapcar 'car font-x-family-mappings))))
(if (and (fboundp 'fontsetp) (fontsetp font))
(aref (get-font-info (aref (cdr (get-fontset-info font)) 0)) 2)
font))))
-
+
;;;###autoload
(defun font-default-object-for-device (&optional device)
(let ((font (font-default-font-for-device device)))
- (or (cdr-safe
- (assoc font font-default-cache))
- (progn
- (setq font-default-cache (cons (cons font
- (font-create-object font))
- font-default-cache))
- (cdr-safe (assoc font font-default-cache))))))
+ (or (cdr-safe (assoc font font-default-cache))
+ (let ((object (font-create-object font)))
+ (push (cons font object) font-default-cache)
+ object))))
;;;###autoload
(defun font-default-family-for-device (&optional device)
- (or device (setq device (selected-device)))
- (font-family (font-default-object-for-device device)))
+ (font-family (font-default-object-for-device (or device (selected-device)))))
;;;###autoload
(defun font-default-registry-for-device (&optional device)
- (or device (setq device (selected-device)))
- (font-registry (font-default-object-for-device device)))
+ (font-registry (font-default-object-for-device (or device (selected-device)))))
;;;###autoload
(defun font-default-encoding-for-device (&optional device)
- (or device (setq device (selected-device)))
- (font-encoding (font-default-object-for-device device)))
+ (font-encoding (font-default-object-for-device (or device (selected-device)))))
;;;###autoload
(defun font-default-size-for-device (&optional device)
- (or device (setq device (selected-device)))
;; face-height isn't the right thing (always 1 pixel too high?)
;; (if font-running-xemacs
;; (format "%dpx" (face-height 'default device))
- (font-size (font-default-object-for-device device)))
+ (font-size (font-default-object-for-device (or device (selected-device)))))
(defun x-font-create-name (fontobj &optional device)
(if (and (not (or (font-family fontobj)
(progn
(reset-device-font-menus device)
(ns-font-families-for-device device t))
- (let ((scaled (mapcar (function (lambda (x) (if x (aref x 0))))
+ (let ((scaled (mapcar #'(lambda (x) (if x (aref x 0)))
(aref menu 0)))
- (normal (mapcar (function (lambda (x) (if x (aref x 0))))
+ (normal (mapcar #'(lambda (x) (if x (aref x 0)))
(aref menu 1))))
(sort (font-unique (nconc scaled normal)) 'string-lessp))))))
;;; A maximal mswindows font spec looks like:
;;; Courier New:Bold Italic:10:underline strikeout:western
;;; Missing parts of the font spec should be filled in with these values:
-;;; Courier New:Normal:10::western
+;;; Courier New:Regular:10::western
;; "^[a-zA-Z ]+:[a-zA-Z ]*:[0-9]+:[a-zA-Z ]*:[a-zA-Z 0-9]*$"
-(defvar font-mswindows-font-regexp
+(defvar font-mswindows-font-regexp
(let
((- ":")
(fontname "\\([a-zA-Z ]+\\)")
(weight "\\([a-zA-Z]*\\)")
(style "\\( [a-zA-Z]*\\)?")
(pointsize "\\([0-9]+\\)")
- (effects "\\([a-zA-Z ]*\\)")q
+ (effects "\\([a-zA-Z ]*\\)")
(charset "\\([a-zA-Z 0-9]*\\)")
)
(concat "^"
(and (font-bold-p fontobj) :bold)))
(if (stringp size)
(setq size (truncate (font-spatial-to-canonical size device))))
- (setq weight (or (cdr-safe
+ (setq weight (or (cdr-safe
(assq weight mswindows-font-weight-mappings)) ""))
(let ((done nil) ; Did we find a good font yet?
(font-name nil) ; font name we are currently checking
;;; Cache building code
;;;###autoload
(defun x-font-build-cache (&optional device)
- (let ((hashtable (make-hash-table :test 'equal :size 15))
+ (let ((hash-table (make-hash-table :test 'equal :size 15))
(fonts (mapcar 'x-font-create-object
(x-list-fonts "-*-*-*-*-*-*-*-*-*-*-*-*-*-*")))
(plist nil)
(while fonts
(setq cur (car fonts)
fonts (cdr fonts)
- plist (cl-gethash (car (font-family cur)) hashtable))
+ plist (cl-gethash (car (font-family cur)) hash-table))
(if (not (memq (font-weight cur) (plist-get plist 'weights)))
(setq plist (plist-put plist 'weights (cons (font-weight cur)
(plist-get plist 'weights)))))
(if (and (font-italic-p cur)
(not (memq 'italic (plist-get plist 'styles))))
(setq plist (plist-put plist 'styles (cons 'italic (plist-get plist 'styles)))))
- (cl-puthash (car (font-family cur)) plist hashtable))
- hashtable))
+ (cl-puthash (car (font-family cur)) plist hash-table))
+ hash-table))
\f
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(?3 . 3) (?d . 13) (?D . 13)
(?4 . 4) (?e . 14) (?E . 14)
(?5 . 5) (?f . 15) (?F . 15)
- (?6 . 6)
+ (?6 . 6)
(?7 . 7)
(?8 . 8)
(?9 . 9)))
((and (vectorp color) (= 3 (length color)))
(list (aref color 0) (aref color 1) (aref color 2)))
((and (listp color) (= 3 (length color)) (floatp (car color)))
- (mapcar (function (lambda (x) (* x 65535))) color))
+ (mapcar #'(lambda (x) (* x 65535)) color))
((and (listp color) (= 3 (length color)))
color)
((or (string-match "^#" color)
(font-lookup-rgb-components color)))))
(defsubst font-tty-compute-color-delta (col1 col2)
- (+
+ (+
(* (- (aref col1 0) (aref col2 0))
(- (aref col1 0) (aref col2 0)))
(* (- (aref col1 1) (aref col2 1))
(tty
(apply 'font-tty-find-closest-color (font-color-rgb-components color)))
(ns
- (let ((vals (mapcar (function (lambda (x) (>> x 8)))
+ (let ((vals (mapcar #'(lambda (x) (>> x 8))
(font-color-rgb-components color))))
(apply 'format "RGB%02x%02x%02xff" vals)))
(otherwise
(if (or (eq face face-at) (and (listp face-at) (memq face face-at)))
(setq found t)))
found))
-
+
(defun font-blink-callback ()
;; Optimized to never invert the face unless one of the visible windows
;; is showing it.
"How often to blink faces"
:type 'number
:group 'faces)
-
+
(defun font-blink-initialize ()
(cond
((featurep 'itimer)
font-blink-interval
font-blink-interval))
((fboundp 'run-at-time)
- (cancel-function-timers 'font-blink-callback)
+ (cancel-function-timers 'font-blink-callback)
(run-at-time font-blink-interval
font-blink-interval
'font-blink-callback))
(t nil)))
-
+
(provide 'font)
(put 'buffer-file-format 'permanent-local t)
(defvar format-alist
- '((image/jpeg "JPEG image" "\377\330\377\340\000\020JFIF"
- image-decode-jpeg nil t image-mode)
- (image/gif "GIF image" "GIF8[79]"
- image-decode-gif nil t image-mode)
- (image/png "Portable Network Graphics" "\211PNG"
- image-decode-png nil t image-mode)
- (image/x-xpm "XPM image" "/\\* XPM \\*/"
- image-decode-xpm nil t image-mode)
-
- ;; TIFF files have lousy magic
- (image/tiff "TIFF image" "II\\*\000"
- image-decode-tiff nil t image-mode) ;; TIFF 6.0 big-endian
- (image/tiff "TIFF image" "MM\000\\*"
- image-decode-tiff nil t image-mode) ;; TIFF 6.0 little-endian
+ '(
+; (image/jpeg "JPEG image" "\377\330\377\340\000\020JFIF"
+; image-decode-jpeg nil t image-mode)
+; (image/gif "GIF image" "GIF8[79]"
+; image-decode-gif nil t image-mode)
+; (image/png "Portable Network Graphics" "\211PNG"
+; image-decode-png nil t image-mode)
+; (image/x-xpm "XPM image" "/\\* XPM \\*/"
+; image-decode-xpm nil t image-mode)
+
+; ;; TIFF files have lousy magic
+; (image/tiff "TIFF image" "II\\*\000"
+; image-decode-tiff nil t image-mode) ;; TIFF 6.0 big-endian
+; (image/tiff "TIFF image" "MM\000\\*"
+; image-decode-tiff nil t image-mode) ;; TIFF 6.0 little-endian
(text/enriched "Extended MIME text/enriched format."
"Content-[Tt]ype:[ \t]*text/enriched"
;;; (defvar x-toolbar-pointer-shape nil)
(define-obsolete-pointer-glyph 'x-toolbar-pointer-shape 'toolbar-pointer-glyph)
+;; for subwindows
+(defalias 'subwindow-xid 'image-instance-subwindow-id)
+(defalias 'subwindow-width 'image-instance-width)
+(defalias 'subwindow-height 'image-instance-height)
;;;;;;;;;; initialization
(defun init-glyphs ()
;; ported the server-temp-file-regexp feature from server.el
;; ported server hooks from server.el
;; ported kill-*-query functions from server.el (and made it optional)
-;; synced other behaviour with server.el
+;; synced other behavior with server.el
;;
;; Jan Vroonhof
;; Customized.
:type 'boolean
:group 'help-appearance)
-(defun describe-symbol-find-file (function)
- (let ((files load-history)
- file)
- (while files
- (if (memq function (cdr (car files)))
- (setq file (car (car files))
- files nil))
- (setq files (cdr files)))
- file))
+(defun describe-symbol-find-file (symbol)
+ (loop for (file . load-data) in load-history
+ do (when (memq symbol load-data)
+ (return file))))
+
(define-obsolete-function-alias
'describe-function-find-file
'describe-symbol-find-file)
(s (process-status p)))
(setq tail (cdr tail))
(princ (format "%-13s" (process-name p)))
- ;;(if (and (eq system-type 'vax-vms)
- ;; (eq s 'signal)
- ;; (< (process-exit-status p) NSIG))
- ;; (princ (aref sys_errlist (process-exit-status p))))
(princ s)
(if (and (eq s 'exit) (/= (process-exit-status p) 0))
(princ (format " %d" (process-exit-status p))))
(if cmd (princ " ")))))
(terpri))))))
+;; Stop gap for 21.0 untill we do help-char etc properly.
+(defun help-keymap-with-help-key (keymap form)
+ "Return a copy of KEYMAP with an help-key binding according to help-char
+ invoking FORM like help-form. An existing binding is not overridden.
+ If FORM is nil then no binding is made."
+ (let ((map (copy-keymap keymap))
+ (key (if (characterp help-char)
+ (vector (character-to-event help-char))
+ help-char)))
+ (when (and form key (not (lookup-key map key)))
+ (define-key map key
+ `(lambda () (interactive) (help-print-help-form ,form))))
+ map))
+
+(defun help-print-help-form (form)
+ (let ((string (eval form)))
+ (if (stringp string)
+ (with-displaying-help-buffer
+ (insert string)))))
+
+
;;; help.el ends here
(defvar hyper-apropos-mode-hook nil
"*User function run after hyper-apropos mode initialization. Usage:
-\(setq hyper-apropos-mode-hook '(lambda () ... your init forms ...)).")
+\(add-hook 'hyper-apropos-mode-hook #'(lambda () ... your init forms ...)).")
;; ---------------------------------------------------------------------- ;;
;; ---------------------------------------------------------------------- ;;
-;; similar to `describe-key-briefly', copied from prim/help.el by CW
+;; similar to `describe-key-briefly', copied from help.el by CW
;;;###autoload
(defun hyper-describe-key (key)
(if v
(format " (default %s): " v)
": "))
- (mapcar (function (lambda (x) (list (symbol-name x))))
+ (mapcar #'(lambda (x) (list (symbol-name x)))
(face-list))
nil t nil 'hyper-apropos-face-history)))
(list (if (string= val "")
(setq hyper-apropos-prev-wconfig (current-window-configuration)))
(hyper-apropos-get-doc symbol t nil this-ref-buffer)))
+;;;###autoload
(defun hyper-where-is (symbol)
"Print message listing key sequences that invoke specified command."
(interactive (list (hyper-apropos-read-function-symbol "Where is function")))
(progn
(setq ok t)
(copy-face symbol 'hyper-apropos-temp-face 'global)
- (mapcar (function
- (lambda (property)
- (setq symtype (face-property-instance symbol
- property))
- (if symtype
- (set-face-property 'hyper-apropos-temp-face
- property
- symtype))))
+ (mapcar #'(lambda (property)
+ (setq symtype (face-property-instance symbol
+ property))
+ (if symtype
+ (set-face-property 'hyper-apropos-temp-face
+ property
+ symtype)))
built-in-face-specifiers)
(setq font (cons (face-property-instance symbol 'font nil 0 t)
(face-property-instance symbol 'font))
;; contain none or when it has become older than info files in the same
;; directory.
+;; Modified 1998-09-23 by Didier Verna <verna@inf.enst.fr>
+;;
+;; Use the new macro `with-search-caps-disable-folding'
+
;; Code:
+(eval-when-compile
+ (condition-case nil (require 'browse-url) (error nil)))
(defgroup info nil
"The info package for Emacs."
(".info.gz" . "gzip -dc %s")
(".info-z" . "gzip -dc %s")
(".info.Z" . "uncompress -c %s")
+ (".bz2" . "bzip2 -dc %s")
(".gz" . "gzip -dc %s")
(".Z" . "uncompress -c %s")
(".zip" . "unzip -c %s") )
;; Verify that none of the files we used has changed
;; since we used it.
(eval (cons 'and
- (mapcar '(lambda (elt)
- (let ((curr (file-attributes (car elt))))
- ;; Don't compare the access time.
- (if curr (setcar (nthcdr 4 curr) 0))
- (setcar (nthcdr 4 (cdr elt)) 0)
- (equal (cdr elt) curr)))
+ (mapcar #'(lambda (elt)
+ (let ((curr (file-attributes (car elt))))
+ ;; Don't compare the access time.
+ (if curr (setcar (nthcdr 4 curr) 0))
+ (setcar (nthcdr 4 (cdr elt)) 0)
+ (equal (cdr elt) curr)))
Info-dir-file-attributes))))
(insert Info-dir-contents)
(let ((dirs (reverse Info-directory-list))
newer)
(setq Info-dir-newer-info-files nil)
(mapcar
- '(lambda (f)
- (prog2
- (setq f-mod-time (nth 5 (file-attributes f)))
- (setq newer (or (> (car f-mod-time) (car dir-mod-time))
- (and (= (car f-mod-time) (car dir-mod-time))
- (> (car (cdr f-mod-time)) (car (cdr dir-mod-time))))))
- (if (and (file-readable-p f)
- newer)
- (setq Info-dir-newer-info-files
- (cons f Info-dir-newer-info-files)))))
+ #'(lambda (f)
+ (prog2
+ (setq f-mod-time (nth 5 (file-attributes f)))
+ (setq newer (or (> (car f-mod-time) (car dir-mod-time))
+ (and (= (car f-mod-time) (car dir-mod-time))
+ (> (car (cdr f-mod-time)) (car (cdr dir-mod-time))))))
+ (if (and (file-readable-p f)
+ newer)
+ (setq Info-dir-newer-info-files
+ (cons f Info-dir-newer-info-files)))))
(directory-files (file-name-directory file)
'fullname
- ".*\\.info\\(.gz\\|.Z\\|-z\\|.zip\\)?$"
+ ".*\\.info\\(\\.gz\\|\\.bz2\\|\\.Z\\|-z\\|\\.zip\\)?$"
'nosort
t))
Info-dir-newer-info-files))
(let ((tab-width 8)
(description-col 0)
len)
- (mapcar '(lambda (e)
- (setq e (cdr e)) ; Drop filename
- (setq len (length (concat (car e)
- (car (cdr e)))))
- (if (> len description-col)
- (setq description-col len)))
+ (mapcar #'(lambda (e)
+ (setq e (cdr e)) ; Drop filename
+ (setq len (length (concat (car e)
+ (car (cdr e)))))
+ (if (> len description-col)
+ (setq description-col len)))
entries)
(setq description-col (+ 5 description-col))
- (mapcar '(lambda (e)
- (setq e (cdr e)) ; Drop filename
- (insert "* " (car e) ":" (car (cdr e)))
- (setq e (car (cdr (cdr e))))
- (while e
- (indent-to-column description-col)
- (insert (car e) "\n")
- (setq e (cdr e))))
+ (mapcar #'(lambda (e)
+ (setq e (cdr e)) ; Drop filename
+ (insert "* " (car e) ":" (car (cdr e)))
+ (setq e (car (cdr (cdr e))))
+ (while e
+ (indent-to-column description-col)
+ (insert (car e) "\n")
+ (setq e (cdr e))))
entries)
(insert "\n")))
"Info files in " directory ":\n\n")
(Info-dump-dir-entries
(mapcar
- '(lambda (f)
- (or (Info-extract-dir-entry-from f)
- (list 'dummy
- (progn
- (string-match "\\(.*\\)\\.info\\(.gz\\|.Z\\|-z\\|.zip\\)?$"
- (file-name-nondirectory f))
- (capitalize (match-string 1 (file-name-nondirectory f))))
- ":"
- (list Info-no-description-string))))
+ #'(lambda (f)
+ (or (Info-extract-dir-entry-from f)
+ (list 'dummy
+ (progn
+ (string-match "\\(.*\\)\\.info\\(.gz\\|.Z\\|-z\\|.zip\\)?$"
+ (file-name-nondirectory f))
+ (capitalize (match-string 1 (file-name-nondirectory f))))
+ ":"
+ (list Info-no-description-string))))
info-files))
(if to-temp
(set-buffer-modified-p nil)
(narrow-to-region mark next-section)
(setq dir-section-contents (nreverse (Info-parse-dir-entries (point-min)
(point-max))))
- (mapcar '(lambda (file)
- (setq dir-entry (assoc (downcase
- (file-name-sans-extension
- (file-name-nondirectory file)))
- dir-section-contents)
- file-dir-entry (Info-extract-dir-entry-from file))
- (if dir-entry
- (if file-dir-entry
- ;; A dir entry in the info file takes precedence over an
- ;; existing entry in the dir file
- (setcdr dir-entry (cdr file-dir-entry)))
- (unless (or not-first-section
- (assoc (downcase
+ (mapcar
+ #'(lambda (file)
+ (setq dir-entry (assoc (downcase
(file-name-sans-extension
(file-name-nondirectory file)))
- dir-full-contents))
- (if file-dir-entry
- (setq dir-section-contents (cons file-dir-entry
- dir-section-contents))
- (setq dir-section-contents
- (cons (list 'dummy
- (capitalize (file-name-sans-extension
- (file-name-nondirectory file)))
- ":"
- (list Info-no-description-string))
- dir-section-contents))))))
- Info-dir-newer-info-files)
+ dir-section-contents)
+ file-dir-entry (Info-extract-dir-entry-from file))
+ (if dir-entry
+ (if file-dir-entry
+ ;; A dir entry in the info file takes precedence over an
+ ;; existing entry in the dir file
+ (setcdr dir-entry (cdr file-dir-entry)))
+ (unless (or not-first-section
+ (assoc (downcase
+ (file-name-sans-extension
+ (file-name-nondirectory file)))
+ dir-full-contents))
+ (if file-dir-entry
+ (setq dir-section-contents (cons file-dir-entry
+ dir-section-contents))
+ (setq dir-section-contents
+ (cons (list 'dummy
+ (capitalize (file-name-sans-extension
+ (file-name-nondirectory file)))
+ ":"
+ (list Info-no-description-string))
+ dir-section-contents))))))
+ Info-dir-newer-info-files)
(delete-region (point-min) (point-max))
(Info-dump-dir-entries (nreverse dir-section-contents))
(widen)
(format (cdr (car suff)) file)
(concat (cdr (car suff)) " < " file))))
(message "%s..." command)
- (if (eq system-type 'vax-vms)
- (call-process command nil t nil)
- (call-process shell-file-name nil t nil "-c" command))
+ (call-process shell-file-name nil t nil "-c" command)
(message "")
- (if visit
- (progn
- (setq buffer-file-name file)
- (set-buffer-modified-p nil)
- (clear-visited-file-modtime))))
+ (when visit
+ (setq buffer-file-name file)
+ (set-buffer-modified-p nil)
+ (clear-visited-file-modtime)))
(insert-file-contents file visit))))
(defun Info-select-node ()
(let ((compl (Info-build-annotation-completions)))
(save-excursion
(save-restriction
+ (widen)
(if (marker-buffer Info-tag-table-marker)
(progn
(set-buffer (marker-buffer Info-tag-table-marker))
(cons (list (buffer-substring (match-beginning 1)
(match-end 1)))
compl))))
- (widen)
(goto-char (point-min))
(while (search-forward "\n\^_" nil t)
(forward-line 1)
(if (equal regexp "")
(setq regexp Info-last-search)
(setq Info-last-search regexp))
- (with-caps-disable-folding regexp
+ (with-search-caps-disable-folding regexp t
(let ((found ())
(onode Info-current-node)
(ofile Info-current-file)
(if (/= click-count 2)
;; Return nil so any other hooks are performed.
nil
- (let* ((x (event-x-pixel event))
- (y (event-y-pixel event))
- (w (window-pixel-width (event-window event)))
- (h (window-pixel-height (event-window event)))
- (w/3 (/ w 3))
- (w/2 (/ w 2))
- (h/4 (/ h 4)))
+ (let* ((fw (face-width 'default))
+ (fh (face-height 'default))
+ (x (/ (event-x-pixel event) fw))
+ (y (/ (event-y-pixel event) fw))
+ (w (/ (window-pixel-width (event-window event)) fw))
+ (h (/ (window-pixel-height (event-window event)) fh))
+ (bx 3)
+ (by 2))
(cond
- ;; In the top 1/4 and inside the middle 1/3
- ((and (<= y h/4)
- (and (>= x w/3) (<= x (+ w/3 w/3))))
- (Info-up)
- t)
- ;; In the bottom 1/4 and inside the middle 1/3
- ((and (>= y (+ h/4 h/4 h/4))
- (and (>= x w/3) (<= x (+ w/3 w/3))))
- (Info-nth-menu-item 1)
- t)
- ;; In the lower 3/4 and the right 1/2
- ;; OR in the upper 1/4 and the right 1/3
- ((or (and (>= y h/4) (>= x w/2))
- (and (< y h/4) (>= x (+ w/3 w/3))))
- (Info-next)
- t)
- ;; In the lower 3/4 and the left 1/2
- ;; OR in the upper 1/4 and the left 1/3
- ((or (and (>= y h/4) (< x w/2))
- (and (< y h/4) (<= x w/3)))
- (Info-prev)
- t)
- ;; This shouldn't happen.
- (t
- (error "event out of bounds: %s %s" x y))))))
+ ((<= y by) (Info-up) t)
+ ((>= y (- h by)) (Info-nth-menu-item 1) t)
+ ((<= x bx) (Info-prev) t)
+ ((>= x (- w bx)) (Info-next) t)
+ (t nil)))))
\f
(defvar Info-mode-map nil
"Keymap containing Info commands.")
TAB Go to next cross-reference. Meta-TAB Go to previous ref.
Mouse commands:
-Left Button Set point.
+Left Button Set point (usual text-mode functionality)
Middle Button Click on a highlighted node reference to go to it.
Right Button Pop up a menu of applicable Info commands.
+Left Button Double Click in window edges:
+ Top edge: Go up to the parent node, like `u'.
+ Left edge: Go to the previous node, like `p'.
+ Right edge: Go to the next node, like `n'.
+ Bottom edge: Follow first menu item, like `1'.
+
Advanced commands:
g Move to node, file, or annotation tag specified by name.
Examples: `g Rectangles' `g (Emacs)Rectangles' `g Emacs'.
;; #### The console-on-window-system-p check is to allow this to
;; work on tty's. The real problem here is that featurep really
;; needs to have some device/console domain knowledge added to it.
+ (defvar info::toolbar)
(if (and (featurep 'toolbar)
(console-on-window-system-p)
(not Info-inhibit-toolbar))
:type 'integer
:group 'isearch)
-(defcustom search-caps-disable-folding t
- "*If non-nil, upper case chars disable case fold searching.
-This does not apply to \"yanked\" strings."
- :type 'boolean
- :group 'isearch)
-
(defcustom search-nonincremental-instead t
"*If non-nil, do a nonincremental search instead if exiting immediately."
:type 'boolean
isearch-opoint (point)
isearch-window-configuration (current-window-configuration)
- ;; #### - don't do this statically: isearch-mode must be FIRST in
- ;; the minor-mode-map-alist -- Stig
- minor-mode-map-alist (cons (cons 'isearch-mode isearch-mode-map)
- minor-mode-map-alist)
+ ;; #### Should we remember the old value of
+ ;; overriding-local-map?
+ overriding-local-map (progn
+ (set-keymap-parents isearch-mode-map
+ (nconc (current-minor-mode-maps)
+ (and (current-local-map)
+ (list (current-local-map)))))
+ isearch-mode-map)
isearch-selected-frame (selected-frame)
isearch-mode (gettext " Isearch")
;; in the buffer we frobbed them in. But only if the buffer
;; is still alive.
(set-buffer isearch-buffer)
- (setq minor-mode-map-alist (delq (assoc 'isearch-mode minor-mode-map-alist)
- minor-mode-map-alist))
+ ;; #### Should we restore the old value of
+ ;; overriding-local-map?
+ (setq overriding-local-map nil)
;; Use remove-hook instead of just setting it to our saved value
;; in case some process filter has created a buffer and modified
;; the pre-command-hook in that buffer... yeah, this is obscure,
(cons isearch-string regexp-search-ring)
regexp-search-ring-yank-pointer regexp-search-ring)
(if (> (length regexp-search-ring) regexp-search-ring-max)
- (setcdr (nthcdr (1- search-ring-max) regexp-search-ring)
+ (setcdr (nthcdr (1- regexp-search-ring-max) regexp-search-ring)
nil))))
(if (not (setq search-ring-yank-pointer
;; really need equal test instead of eq.
(interactive)
(isearch-yank (x-get-clipboard)))
+(defun isearch-fix-case ()
+ (if (and isearch-case-fold-search search-caps-disable-folding)
+ (setq isearch-case-fold-search
+ (no-upper-case-p isearch-string isearch-regexp)))
+ (setq isearch-mode (if case-fold-search
+ (if isearch-case-fold-search
+ " Isearch" ;As God Intended Mode
+ " ISeARch") ;Warn about evil case via StuDLYcAps.
+ "Isearch"
+; (if isearch-case-fold-search
+; " isearch" ;Presumably case-sensitive losers
+; ;will notice this 1-char difference.
+; " Isearch") ;Weenie mode.
+ )))
+
(defun isearch-search-and-update ()
;; Do the search and update the display.
(if (and (not isearch-success)
;; long as the match does not extend past search origin.
(if (and (not isearch-forward) (not isearch-adjusted)
(condition-case ()
- (looking-at (if isearch-regexp isearch-string
- (regexp-quote isearch-string)))
+ (progn
+ (isearch-fix-case)
+ (let ((case-fold-search isearch-case-fold-search))
+ (looking-at (if isearch-regexp isearch-string
+ (regexp-quote isearch-string)))))
(error nil))
- (or isearch-yank-flag
- (<= (match-end 0)
- (min isearch-opoint isearch-barrier))))
+ (or isearch-yank-flag
+ (<= (match-end 0)
+ (min isearch-opoint isearch-barrier))))
(setq isearch-success t
isearch-invalid-regexp nil
isearch-other-end (match-end 0))
(if (null isearch-highlight)
nil
;; make sure isearch-extent is in the current buffer
- (cond ((not (extentp isearch-extent))
- (isearch-make-extent begin end))
- ((not (eq (extent-object isearch-extent) (current-buffer)))
- (delete-extent isearch-extent)
- (isearch-make-extent begin end)))
- (set-extent-endpoints isearch-extent begin end)))
+ (or (extentp isearch-extent)
+ (isearch-make-extent begin end))
+ (set-extent-endpoints isearch-extent begin end (current-buffer))))
(defun isearch-dehighlight (totally)
(if (and isearch-highlight isearch-extent)
(defun isearch-search ()
;; Do the search with the current search string.
(isearch-message nil t)
- (if (and isearch-case-fold-search search-caps-disable-folding)
- (setq isearch-case-fold-search (isearch-no-upper-case-p isearch-string)))
-
- (setq isearch-mode (if case-fold-search
- (if isearch-case-fold-search
- " Isearch" ;As God Intended Mode
- " ISeARch") ;Warn about evil case via StuDLYcAps.
- "Isearch"
-; (if isearch-case-fold-search
-; " isearch" ;Presumably case-sensitive losers
-; ;will notice this 1-char difference.
-; " Isearch") ;Weenie mode.
- ))
+ (isearch-fix-case)
(condition-case lossage
(let ((inhibit-quit nil)
(case-fold-search isearch-case-fold-search))
; ;; Go ahead and search.
; (if search-caps-disable-folding
; (setq isearch-case-fold-search
-; (isearch-no-upper-case-p isearch-string)))
+; (no-upper-case-p isearch-string isearch-regexp)))
; (let ((case-fold-search isearch-case-fold-search))
; (funcall function isearch-string))))
-
(defun isearch-no-upper-case-p (string)
"Return t if there are no upper case chars in string.
But upper case chars preceded by \\ do not count since they
;; this incorrectly returns t for "\\\\A"
(let ((case-fold-search nil))
(not (string-match "\\(^\\|[^\\]\\)[A-Z]" string))))
+(make-obsolete 'isearch-no-upper-case-p 'no-upper-case-p)
;; Used by etags.el and info.el
(defmacro with-caps-disable-folding (string &rest body) "\
(isearch-no-upper-case-p ,string)
case-fold-search)))
,@body))
+(make-obsolete 'with-caps-disable-folding 'with-search-caps-disable-folding)
(put 'with-caps-disable-folding 'lisp-indent-function 1)
(put 'with-caps-disable-folding 'edebug-form-spec '(form body))
(inhibit-quit nil)
;; for FSF Emacs timer.el emulation under XEmacs.
;; eldoc expect this to be done, apparently.
- (this-command nil)
- itimer itimers time-elapsed)
+ (this-command nil))
(if (itimer-uses-arguments current-itimer)
(apply (itimer-function current-itimer)
(itimer-function-arguments current-itimer))
-
-
-
(define-key global-map "\M-%" 'query-replace)
+;; FSF v20 binding
+(define-key global-map [(control meta %)] 'query-replace-regexp)
+
; autoloaded
;(define-key global-map "\C-x4a" 'add-change-log-entry-other-window)
;; Author: Oscar Figueiredo <Oscar.Figueiredo@di.epfl.ch>
;; Maintainer: Oscar Figueiredo <Oscar.Figueiredo@di.epfl.ch>
;; Created: Jan 1998
-;; Version: $Revision: 1.7.2.1 $
+;; Version: $Revision: 1.7.2.3 $
;; Keywords: help comm
;; This file is part of XEmacs
;;; Code:
-(eval-when '(load eval)
- (require 'ldap))
-
-(defvar ldap-default-host nil
- "*Default LDAP server.")
-
-(defvar ldap-host-parameters-alist nil
- "*An alist of per host options for LDAP transactions
-The list elements look like (HOST PROP1 VAL1 PROP2 VAL2 ...)
-HOST is the name of an LDAP server. PROPn and VALn are property/value pairs
-describing parameters for the server. Valid properties:
+(defgroup ldap nil
+ "Lightweight Directory Access Protocol"
+ :group 'comm)
+
+(defcustom ldap-default-host nil
+ "*Default LDAP server hostname.
+A TCP port number can be appended to that name using a colon as
+a separator."
+ :type '(choice (string :tag "Host name")
+ (const :tag "Use library default" nil))
+ :group 'ldap)
+
+(defcustom ldap-default-port nil
+ "*Default TCP port for LDAP connections.
+Initialized from the LDAP library at build time. Default value is 389."
+ :type '(choice (const :tag "Use library default" nil)
+ (integer :tag "Port number"))
+ :group 'ldap)
+
+(defcustom ldap-default-base nil
+ "*Default base for LDAP searches.
+This is a string using the syntax of RFC 1779.
+For instance, \"o=ACME, c=US\" limits the search to the
+Acme organization in the United States."
+ :type '(choice (const :tag "Use library default" nil)
+ (string :tag "Search base"))
+ :group 'ldap)
+
+
+(defcustom ldap-host-parameters-alist nil
+ "*Alist of host-specific options for LDAP transactions.
+The format of each list element is:
+\(HOST PROP1 VAL1 PROP2 VAL2 ...)
+HOST is the hostname of an LDAP server (with an optional TCP port number
+appended to it using a colon as a separator).
+PROPn and VALn are property/value pairs describing parameters for the server.
+Valid properties include:
`binddn' is the distinguished name of the user to bind as
(in RFC 1779 syntax).
`passwd' is the password to use for simple authentication.
`scope' is one of the three symbols `subtree', `base' or `onelevel'.
`deref' is one of the symbols `never', `always', `search' or `find'.
`timelimit' is the timeout limit for the connection in seconds.
- `sizelimit' is the maximum number of matches to return." )
-
-
-(defun ldap-search (filter &optional host attributes attrsonly)
+ `sizelimit' is the maximum number of matches to return."
+ :type '(repeat :menu-tag "Host parameters"
+ :tag "Host parameters"
+ (list :menu-tag "Host parameters"
+ :tag "Host parameters"
+ :value nil
+ (string :tag "Host name")
+ (checklist :inline t
+ :greedy t
+ (list
+ :tag "Search Base"
+ :inline t
+ (const :tag "Search Base" base)
+ string)
+ (list
+ :tag "Binding DN"
+ :inline t
+ (const :tag "Binding DN" binddn)
+ string)
+ (list
+ :tag "Password"
+ :inline t
+ (const :tag "Password" passwd)
+ string)
+ (list
+ :tag "Authentication Method"
+ :inline t
+ (const :tag "Authentication Method" auth)
+ (choice
+ (const :menu-tag "None" :tag "None" nil)
+ (const :menu-tag "Simple" :tag "Simple" simple)
+ (const :menu-tag "Kerberos 4.1" :tag "Kerberos 4.1" krbv41)
+ (const :menu-tag "Kerberos 4.2" :tag "Kerberos 4.2" krbv42)))
+ (list
+ :tag "Search Scope"
+ :inline t
+ (const :tag "Search Scope" scope)
+ (choice
+ (const :menu-tag "Default" :tag "Default" nil)
+ (const :menu-tag "Subtree" :tag "Subtree" subtree)
+ (const :menu-tag "Base" :tag "Base" base)
+ (const :menu-tag "One Level" :tag "One Level" onelevel)))
+ (list
+ :tag "Dereferencing"
+ :inline t
+ (const :tag "Dereferencing" deref)
+ (choice
+ (const :menu-tag "Default" :tag "Default" nil)
+ (const :menu-tag "Never" :tag "Never" never)
+ (const :menu-tag "Always" :tag "Always" always)
+ (const :menu-tag "When searching" :tag "When searching" search)
+ (const :menu-tag "When locating base" :tag "When locating base" find)))
+ (list
+ :tag "Time Limit"
+ :inline t
+ (const :tag "Time Limit" timelimit)
+ (integer :tag "(in seconds)"))
+ (list
+ :tag "Size Limit"
+ :inline t
+ (const :tag "Size Limit" sizelimit)
+ (integer :tag "(number of records)")))))
+:group 'ldap)
+
+(defun ldap-get-host-parameter (host parameter)
+ "Get the value of PARAMETER for HOST in `ldap-host-parameters-alist'."
+ (plist-get (cdr (assoc host ldap-host-parameters-alist))
+ parameter))
+
+(defun ldap-search (filter &optional host attributes attrsonly withdn)
"Perform an LDAP search.
-FILTER is the search filter in RFC1558 syntax
-HOST is the LDAP host on which to perform the search
-ATTRIBUTES is a list of the specific attributes to retrieve,
-nil means retrieve all
-ATTRSONLY if non nil retrieves the attributes only without
+FILTER is the search filter in RFC1558 syntax, i.e. something that
+looks like \"(cn=John Smith)\".
+HOST is the LDAP host on which to perform the search.
+ATTRIBUTES is a list of attributes to retrieve; nil means retrieve all.
+If ATTRSONLY is non nil, the attributes will be retrieved without
the associated values.
+If WITHDN is non-nil each entry in the result will be prepennded with
+its distinguished name DN.
Additional search parameters can be specified through
-`ldap-host-parameters-alist' which see."
+`ldap-host-parameters-alist' which see.
+The function returns a list of matching entries. Each entry is itself
+an alist of attribute/value pairs optionally preceded by the DN of the
+entry according to the value of WITHDN."
(interactive "sFilter:")
- (let (host-plist res ldap)
- (if (null host)
- (setq host ldap-default-host))
- (if (null host)
- (error "No LDAP host specified"))
- (setq host-plist
- (cdr (assoc host ldap-host-parameters-alist)))
+ (or host
+ (setq host ldap-default-host))
+ (or host
+ (error "No LDAP host specified"))
+ (let ((host-plist (cdr (assoc host ldap-host-parameters-alist)))
+ ldap)
(message "Opening LDAP connection to %s..." host)
(setq ldap (ldap-open host host-plist))
(message "Searching with LDAP on %s..." host)
- (setq res (ldap-search-internal ldap filter
- (plist-get host-plist 'base)
- (plist-get host-plist 'scope)
- attributes attrsonly))
- (ldap-close ldap)
- res))
-
-
+ (prog1 (ldap-search-internal ldap filter
+ (plist-get host-plist 'base)
+ (plist-get host-plist 'scope)
+ attributes attrsonly withdn)
+ (ldap-close ldap))))
(provide 'ldap)
-
+
;;; ldap.el ends here
;; Last Modified By: Heiko M|nkel <muenkel@tnt.uni-hannover.de>
;; Additional XEmacs integration By: Chuck Thompson <cthomp@cs.uiuc.edu>
;; Last Modified On: Thu Jul 1 14:23:00 1994
-;; RCS Info : $Revision: 1.3 $ $Locker: $
+;; RCS Info : $Revision: 1.3.2.1 $ $Locker: $
;; ========================================================================
;; NOTE: XEmacs must be redumped if this file is changed.
;;
;;=== Utilities ===========================================================
-(defmacro progn-with-message (MESSAGE &rest FORMS)
+(defmacro progn-with-message (message &rest forms)
"(progn-with-message MESSAGE FORMS ...)
Display MESSAGE and evaluate FORMS, returning value of the last one."
;; based on Hallvard Furuseth's funcall-with-message
- (`
- (if (eq (selected-window) (minibuffer-window))
+ `(if (eq (selected-window) (minibuffer-window))
(save-excursion
(goto-char (point-max))
(let ((orig-pmax (point-max)))
(unwind-protect
(progn
- (insert " " (, MESSAGE)) (goto-char orig-pmax)
+ (insert " " ,message) (goto-char orig-pmax)
(sit-for 0) ; Redisplay
- (,@ FORMS))
+ ,@forms)
(delete-region orig-pmax (point-max)))))
(prog2
- (message "%s" (, MESSAGE))
- (progn (,@ FORMS))
- (message "")))))
+ (message "%s" ,message)
+ (progn ,@forms)
+ (message ""))))
(put 'progn-with-message 'lisp-indent-hook 1)
(if tail (setcdr tail nil)))))
;;=== Read a filename, with completion in a search path ===================
+(defvar read-library-internal-search-path)
(defun read-library-internal (FILE FILTER FLAG)
"Don't call this."
(cond
((equal library "") DEFAULT)
(FULL (locate-file library read-library-internal-search-path
- ;; decompression doesn't work with Mule -slb
- (if (featurep 'mule)
- ".el:.elc"
- ".el:.el.gz:.elc")))
+ '(".el" ".el.gz" ".elc")))
(t library))))
;; NOTE: as a special case, read-library may be used to read a filename
(let ((commentary (lm-commentary-mark))
(change-log (lm-history-mark))
(code (lm-code-mark))
- )
+ end)
(cond
((and commentary change-log)
(buffer-substring commentary change-log))
(buffer-substring commentary code))
(t
;; XEmacs change (Infodock headers? -sb)
- (setq commentary (lm-section-mark "DESCRIPTION" t)
- code (lm-section-mark "DESCRIP-END"))
- (and commentary end (buffer-substring commentary code)))))
+ (setq commentary (lm-section-mark "DESCRIPTION" t))
+ (setq end (lm-section-mark "DESCRIP-END"))
+ (and commentary end (buffer-substring commentary end)))))
(if file
(kill-buffer (current-buffer)))
)))
(switch-to-buffer (get-buffer-create "*lm-verify*"))
(erase-buffer)
(mapcar
- '(lambda (f)
- (if (string-match ".*\\.el$" f)
- (let ((status (lm-verify f)))
- (if status
- (progn
- (insert f ":")
- (lm-insert-at-column lm-comment-column status "\n"))
- (and showok
- (progn
- (insert f ":")
- (lm-insert-at-column lm-comment-column "OK\n")))))))
+ #'(lambda (f)
+ (if (string-match ".*\\.el$" f)
+ (let ((status (lm-verify f)))
+ (if status
+ (progn
+ (insert f ":")
+ (lm-insert-at-column lm-comment-column status "\n"))
+ (and showok
+ (progn
+ (insert f ":")
+ (lm-insert-at-column lm-comment-column "OK\n")))))))
(directory-files file))
))
(save-excursion
(mail nil
(if addr
(concat (car addr) " <" (cdr addr) ">")
- bug-gnu-emacs)
+ (or (and (boundp 'report-emacs-bug-beta-address)
+ report-emacs-bug-beta-address)
+ "<xemacs-beta@xemacs.org>"))
topic)
(goto-char (point-max))
(insert "\nIn "
(put 'unwind-protect 'lisp-indent-function 1)
(put 'save-current-buffer 'lisp-indent-function 0)
(put 'with-current-buffer 'lisp-indent-function 1)
+(put 'with-string-as-buffer-contents 'lisp-indent-function 1)
(put 'with-temp-file 'lisp-indent-function 1)
(put 'with-temp-buffer 'lisp-indent-function 0)
(put 'with-output-to-string 'lisp-indent-function 0)
:user-data
:reference-buffer
(:help-string completion-default-help-string)
+ (:completion-string "Possible completions are:")
:window-width)
()
(let ((old-buffer (current-buffer))
(if (/= (% count cols) 0) ; want ceiling...
(1+ (/ count cols))
(/ count cols)))))))
- (princ (gettext "Possible completions are:"))
+ (if (stringp cl-completion-string)
+ (princ (gettext cl-completion-string)))
(let ((tail completions)
(r 0)
(regexp-string
;; making it more likely you will get a unique match.
(setq completion-ignored-extensions
(mapcar 'purecopy
- (if (eq system-type 'vax-vms)
- '(".obj" ".elc" ".exe" ".bin" ".lbin" ".sbin"
- ".dvi" ".toc" ".log" ".aux"
- ".lof" ".brn" ".rnt" ".mem" ".lni" ".lis"
- ".olb" ".tlb" ".mlb" ".hlb" ".glo" ".idx" ".lot" ".fmt")
- '(".o" ".elc" "~" ".bin" ".lbin" ".fasl"
- ".dvi" ".toc" ".log" ".aux" ".a" ".ln"
- ".lof" ".blg" ".bbl" ".glo" ".idx" ".lot" ".fmt"
- ".diff" ".oi" ".class"))))
+ '(".o" ".elc" "~" ".bin" ".lbin" ".fasl"
+ ".dvi" ".toc" ".log" ".aux" ".a" ".ln"
+ ".lof" ".blg" ".bbl" ".glo" ".idx" ".lot" ".fmt"
+ ".diff" ".oi" ".class")))
\f
;; This needs to be redone better. -slb
;;; Code:
+;; load-history is a list of entries that look like this:
+;; ("outline" outline-regexp ... (require . wid-edit) ... (provide . outline) ...)
+
(defun symbol-file (sym)
"Return the input source from which SYM was loaded.
This is a file name, or nil if the source was a buffer with no associated file."
(interactive "SFind source file for symbol: ") ; XEmacs
- (catch 'foundit
- (mapcar
- (function (lambda (x) (if (memq sym (cdr x)) (throw 'foundit (car x)))))
- load-history)
- nil))
+ (dolist (entry load-history)
+ (when (memq sym (cdr entry))
+ (return (car entry)))))
(defun feature-symbols (feature)
"Return the file and list of symbols associated with a given FEATURE."
- (catch 'foundit
- (mapcar
- (function (lambda (x)
- (if (member (cons 'provide feature) (cdr x))
- (throw 'foundit x))))
- load-history)
- nil))
+ (let ((pair `(provide . ,feature)))
+ (dolist (entry load-history)
+ (when (member pair (cdr entry))
+ (return entry)))))
(defun feature-file (feature)
"Return the file name from which a given FEATURE was loaded.
Actually, return the load argument, if any; this is sometimes the name of a
Lisp file without an extension. If the feature came from an eval-buffer on
a buffer with no associated file, or an eval-region, return nil."
- (if (not (featurep feature))
- (error "%s is not a currently loaded feature" (symbol-name feature))
- (car (feature-symbols feature))))
+ (unless (featurep feature)
+ (error "%s is not a currently loaded feature" (symbol-name feature)))
+ (car (feature-symbols feature)))
+
+(defun file-symbols (file)
+ "Return the file and list of symbols associated with FILE.
+The file name in the returned list is the string used to load the file,
+and may not be the same string as FILE, but it will be equivalent."
+ (or (assoc file load-history)
+ (assoc (file-name-sans-extension file) load-history)
+ (assoc (concat file ".el") load-history)
+ (assoc (concat file ".elc") load-history)))
(defun file-provides (file)
"Return the list of features provided by FILE."
- (let ((symbols (or (cdr (assoc file load-history))
- (cdr (assoc (file-name-sans-extension file) load-history))
- (cdr (assoc (concat file ".el") load-history))
- (cdr (assoc (concat file ".elc") load-history))))
- (provides nil))
- (mapcar
- (function (lambda (x)
- (if (and (consp x) (eq (car x) 'provide))
- (setq provides (cons (cdr x) provides)))))
- symbols)
- provides
- ))
+ (let ((provides nil))
+ (dolist (x (cdr (file-symbols file)))
+ (when (eq (car-safe x) 'provide)
+ (push (cdr x) provides)))
+ provides))
(defun file-requires (file)
"Return the list of features required by FILE."
- (let ((symbols (cdr (assoc file load-history))) (requires nil))
- (mapcar
- (function (lambda (x)
- (if (and (consp x) (eq (car x) 'require))
- (setq requires (cons (cdr x) requires)))))
- symbols)
- requires
- ))
-
-(defun file-set-intersect (p q)
- ;; Return the set intersection of two lists
- (let ((ret nil))
- (mapcar
- (function (lambda (x) (if (memq x q) (setq ret (cons x ret)))))
- p)
- ret
- ))
+ (let ((requires nil))
+ (dolist (x (cdr (file-symbols file)))
+ (when (eq (car-safe x) 'require)
+ (push (cdr x) requires)))
+ requires))
(defun file-dependents (file)
"Return the list of loaded libraries that depend on FILE.
This can include FILE itself."
- (let ((provides (file-provides file)) (dependents nil))
- (mapcar
- (function (lambda (x)
- (if (file-set-intersect provides (file-requires (car x)))
- (setq dependents (cons (car x) dependents)))))
- load-history)
- dependents
- ))
+ (let ((provides (file-provides file))
+ (dependents nil))
+ (dolist (entry load-history)
+ (dolist (x (cdr entry))
+ (when (and (eq (car-safe x) 'require)
+ (memq (cdr-safe x) provides))
+ (push (car entry) dependents))))
+ dependents))
;; FSFmacs
;(defun read-feature (prompt)
;prompting with PROMPT and completing from `features', and
;return the feature \(symbol\)."
; (intern (completing-read prompt
-; (mapcar (function (lambda (feature)
-; (list (symbol-name feature))))
+; (mapcar #'(lambda (feature)
+; (list (symbol-name feature)))
; features)
; nil t)))
If the feature is required by any other loaded code, and optional FORCE
is nil, raise an error."
(interactive "SFeature: ")
- (if (not (featurep feature))
- (error "%s is not a currently loaded feature" (symbol-name feature)))
- (if (not force)
- (let* ((file (feature-file feature))
- (dependents (delete file (copy-sequence (file-dependents file)))))
- (if dependents
- (error "Loaded libraries %s depend on %s"
- (prin1-to-string dependents) file)
- )))
+ (unless (featurep feature)
+ (error "%s is not a currently loaded feature" (symbol-name feature)))
+ (when (not force)
+ (let* ((file (feature-file feature))
+ (dependents (delete file (copy-sequence (file-dependents file)))))
+ (when dependents
+ (error "Loaded libraries %s depend on %s"
+ (prin1-to-string dependents) file))))
(let* ((flist (feature-symbols feature)) (file (car flist)))
(mapcar
- (function (lambda (x)
- (cond ((stringp x) nil)
- ((consp x)
- ;; Remove any feature names that this file provided.
- (if (eq (car x) 'provide)
- (setq features (delq (cdr x) features))))
- ((boundp x) (makunbound x))
- ((fboundp x)
- (fmakunbound x)
- (let ((aload (get x 'autoload)))
- (if aload (fset x (cons 'autoload aload))))))))
+ #'(lambda (x)
+ (cond ((stringp x) nil)
+ ((consp x)
+ ;; Remove any feature names that this file provided.
+ (if (eq (car x) 'provide)
+ (setq features (delq (cdr x) features))))
+ ((boundp x) (makunbound x))
+ ((fboundp x)
+ (fmakunbound x)
+ (let ((aload (get x 'autoload)))
+ (if aload (fset x (cons 'autoload aload)))))))
(cdr flist))
;; Delete the load-history element for this file.
(let ((elt (assoc file load-history)))
;;; Code:
-(if (fboundp 'error)
- (error "loadup.el already loaded!"))
+(when (fboundp 'error)
+ (error "loadup.el already loaded!"))
(defvar running-xemacs t
"Non-nil when the current emacs is XEmacs.")
(defvar preloaded-file-list nil
"List of files preloaded into the XEmacs binary image.")
+(defvar Installation-string nil
+ "Description of XEmacs installation.")
+
+(let ((gc-cons-threshold 30000))
+
;; This is awfully damn early to be getting an error, right?
(call-with-condition-handler 'really-early-error-handler
#'(lambda ()
- ;; message not defined yet ...
+
+ ;; Initializa Installation-string. We do it before loading
+ ;; anything so that dumped code can make use of its value.
+ (setq Installation-string
+ (save-current-buffer
+ (set-buffer (get-buffer-create (generate-new-buffer-name
+ " *temp*")))
+ ;; insert-file-contents-internal bogusly calls
+ ;; format-decode without checking if it's defined.
+ (fset 'format-decode #'(lambda (f l &optional v) l))
+ (insert-file-contents-internal "../Installation")
+ (fmakunbound 'format-decode)
+ (prog1 (buffer-substring)
+ (kill-buffer (current-buffer)))))
+
(setq load-path (split-path (getenv "EMACSBOOTSTRAPLOADPATH")))
+ (setq module-load-path (split-path (getenv "EMACSBOOTSTRAPMODULEPATH")))
+ ;; message not defined yet ...
(external-debugging-output (format "\nUsing load-path %s" load-path))
+ (external-debugging-output (format "\nUsing module-load-path %s"
+ module-load-path))
;; We don't want to have any undo records in the dumped XEmacs.
(buffer-disable-undo (get-buffer "*scratch*"))
;; the package path.
;; #### This code is duplicated in two other places.
(let ((temp-path (expand-file-name "." (car load-path))))
- (setq source-directory temp-path)
(setq load-path (nconc (mapcar
#'(lambda (i) (concat i "/"))
(directory-files temp-path t "^[^-.]"
;; there will be lots of extra space in the data segment filled
;; with garbage-collected junk)
(defun pureload (file)
- (let ((full-path (locate-file file
- load-path
- (if load-ignore-elc-files
- ".el:"
- ".elc:.el:"))))
+ (let ((full-path
+ (locate-file file load-path
+ (if load-ignore-elc-files
+ '(".el" "") '(".elc" ".el" "")))))
(if full-path
(prog1
(load full-path)
(let ((files preloaded-file-list)
file)
(while (setq file (car files))
- (or (pureload file)
- (progn
- (external-debugging-output "Fatal error during load, aborting")
- (kill-emacs 1)))
+ (unless (pureload file)
+ (external-debugging-output "Fatal error during load, aborting")
+ (kill-emacs 1))
(setq files (cdr files)))
- (if (not (featurep 'toolbar))
- (progn
- ;; else still define a few functions.
- (defun toolbar-button-p (obj) "No toolbar support." nil)
- (defun toolbar-specifier-p (obj) "No toolbar support." nil)))
+ (when (not (featurep 'toolbar))
+ ;; else still define a few functions.
+ (defun toolbar-button-p (obj) "No toolbar support." nil)
+ (defun toolbar-specifier-p (obj) "No toolbar support." nil))
(fmakunbound 'pureload))
(packages-load-package-dumped-lisps late-package-load-path)
;; But you must also cause them to be scanned when the DOC file
;; is generated. For VMS, you must edit ../../vms/makedoc.com.
;; For other systems, you must edit ../../src/Makefile.in.in.
-(if (load "site-load" t)
- (garbage-collect))
+(when (load "site-load" t)
+ (garbage-collect))
;;FSFmacs randomness
;;(if (fboundp 'x-popup-menu)
;;; for the sake of the next call to precompute-menubar-bindings.
;(setq define-key-rebound-commands nil)
-
;; Note: all compiled Lisp files loaded above this point
;; must be among the ones parsed by make-docfile
;; to construct DOC. Any that are not processed
(message "Finding pointers to doc strings...")
(Snarf-documentation "DOC")
(message "Finding pointers to doc strings...done")
- (Verify-documentation)
- )
+ (Verify-documentation))
;; Note: You can cause additional libraries to be preloaded
;; by writing a site-init.el that loads them.
;; See also "site-load" above.
-(if (stringp site-start-file)
- (load "site-init" t))
+(when (stringp site-start-file)
+ (load "site-init" t))
(setq current-load-list nil)
(garbage-collect)
;;; At this point, we're ready to resume undo recording for scratch.
(buffer-enable-undo "*scratch*")
+) ;; frequent garbage collection
+
;; Dump into the name `xemacs' (only)
(when (member "dump" command-line-args)
- (message "Dumping under the name xemacs")
- ;; This is handled earlier in the build process.
- ;; (condition-case () (delete-file "xemacs") (file-error nil))
- (when (fboundp 'really-free)
- (really-free))
- (dump-emacs (if (featurep 'infodock) "infodock" "xemacs") "temacs")
- (kill-emacs))
+ (message "Dumping under the name xemacs")
+ ;; This is handled earlier in the build process.
+ ;; (condition-case () (delete-file "xemacs") (file-error nil))
+ (when (fboundp 'really-free)
+ (really-free))
+ (dump-emacs (if (featurep 'infodock) "infodock" "xemacs") "temacs")
+ (kill-emacs))
+
+;; Avoid error if user loads some more libraries now.
+(setq purify-flag nil)
(when (member "run-temacs" command-line-args)
(message "\nBootstrapping from temacs...")
- (setq purify-flag nil)
- (setq inhibit-early-packages t)
- (setq inhibit-autoloads t)
;; Remove all args up to and including "run-temacs"
(apply #'run-emacs-from-temacs (cdr (member "run-temacs" command-line-args)))
;; run-emacs-from-temacs doesn't actually return anyway.
(kill-emacs))
-;; Avoid error if user loads some more libraries now.
-(setq purify-flag nil)
-
;; XEmacs change
;; If you are using 'recompile', then you should have used -l loadup-el.el
;; so that the .el files always get loaded (the .elc files may be out-of-
;; date or bad).
(when (member "recompile" command-line-args)
- (let ((command-line-args-left (cdr (member "recompile" command-line-args))))
- (batch-byte-recompile-directory)
- (kill-emacs)))
+ (setq command-line-args-left (cdr (member "recompile" command-line-args)))
+ (batch-byte-recompile-directory)
+ (kill-emacs))
;; For machines with CANNOT_DUMP defined in config.h,
;; this file must be loaded each time Emacs is run.
(string-equal arg "-a") ; Append to DOC file
(string-equal arg "-d")) ; Set working directory
(if (string-equal arg "-o")
- (setq docfile (car (cdr command-line-args))))
+ (setq docfile (expand-file-name (car (cdr command-line-args)))))
(setq options (cons arg options))
- (setq options (cons (car (cdr command-line-args)) options)))
+ (setq options (cons (expand-file-name (car (cdr command-line-args))) options)))
((string-equal arg "-i") ; Set site files to scan
(setq site-file-list (car (cdr command-line-args))))
(t (setq done t)))
;; Then process the autoloads
(setq autoload-file-name "auto-autoloads.elc")
-(setq source-directory (concat default-directory "../lisp"))
-;; (print (concat "Source directory: " source-directory))
(load "find-paths.el")
(load "packages.el")
(load "setup-paths.el")
nil
"-fc"
(mapconcat
- 'identity
+ #'identity
(append
(list (concat default-directory "../lib-src/make-docfile"))
options processed)
(compiled-function-p list)
(and (consp list)
(eq (car list) 'lambda)))
- (function (lambda ()
- (setq elt (funcall list))))
- (function (lambda ()
- (if list
- (progn
- (setq elt (car list)
- list (cdr list))
- t)
- nil))))))
+ #'(lambda () (setq elt (funcall list)))
+ #'(lambda ()
+ (if list
+ (progn
+ (setq elt (car list)
+ list (cdr list))
+ t)
+ nil)))))
(if (should-use-dialog-box-p)
;; Make a list describing a dialog box.
(let (;; (object (capitalize (or (nth 0 help) "object")))
("Yes All" . automatic)
("No All" . exit)
("Cancel" . quit)
- ,@(mapcar (lambda (elt)
- (cons (capitalize (nth 2 elt))
- (vector (nth 1 elt))))
+ ,@(mapcar #'(lambda (elt)
+ (cons (capitalize (nth 2 elt))
+ (vector (nth 1 elt))))
action-alist))
mouse-event last-command-event))
(setq user-keys (if action-alist
- (concat (mapconcat (function
- (lambda (elt)
- (key-description
- (if (characterp (car elt))
- ;; XEmacs
- (char-to-string (car elt))
- (car elt)))))
+ (concat (mapconcat #'(lambda (elt)
+ (key-description
+ (if (characterp (car elt))
+ ;; XEmacs
+ (char-to-string (car elt))
+ (car elt))))
action-alist ", ")
" ")
"")
(unwind-protect
(progn
(if (stringp prompter)
- (setq prompter (` (lambda (object)
- (format (, prompter) object)))))
+ (setq prompter `(lambda (object)
+ (format ,prompter object))))
(while (funcall next)
(setq prompt (funcall prompter elt))
(cond ((stringp prompt)
(single-key-description char))))
(setq def (lookup-key map (vector char))))
(cond ((eq def 'exit)
- (setq next (function (lambda () nil))))
+ (setq next #'(lambda () nil)))
((eq def 'act)
;; Act on the object.
(funcall actor elt)
next (function (lambda () nil))))
((or (eq def 'quit) (eq def 'exit-prefix))
(setq quit-flag t)
- (setq next (` (lambda ()
- (setq next '(, next))
- '(, elt)))))
+ (setq next `(lambda ()
+ (setq next ',next)
+ ',elt)))
((eq def 'automatic)
;; Act on this and all following objects.
;; (if (funcall prompter elt) ; Emacs
(set-buffer standard-output)
(help-mode)))
- (setq next (` (lambda ()
- (setq next '(, next))
- '(, elt)))))
+ (setq next `(lambda ()
+ (setq next ',next)
+ ',elt)))
((vectorp def)
;; A user-defined key.
(if (funcall (aref def 0) elt) ;Call its function.
;; The function has eaten this object.
(setq actions (1+ actions))
;; Regurgitated; try again.
- (setq next (` (lambda ()
- (setq next '(, next))
- '(, elt))))))
+ (setq next `(lambda ()
+ (setq next ',next)
+ ',elt))))
;((and (consp char) ; Emacs
; (eq (car char) 'switch-frame))
; ;; switch-frame event. Put it off until we're done.
; (setq delayed-switch-frame char)
- ; (setq next (` (lambda ()
- ; (setq next '(, next))
- ; '(, elt)))))
+ ; (setq next `(lambda ()
+ ; (setq next ',next)
+ ; ',elt)))
(t
;; Random char.
(message "Type %s for help."
(key-description (vector help-char)))
(beep)
(sit-for 1)
- (setq next (` (lambda ()
- (setq next '(, next))
- '(, elt)))))))
+ (setq next `(lambda ()
+ (setq next ',next)
+ ',elt)))))
((eval prompt)
(progn
(funcall actor elt)
menuitem)))
)))
)
- ;; (t (signal 'error (list "unrecognised menu descriptor" menuitem))))
- (t (message "unrecognised menu descriptor %s" (prin1-to-string menuitem))))
+ ;; (t (signal 'error (list "unrecognized menu descriptor" menuitem))))
+ (t (message "unrecognized menu descriptor %s" (prin1-to-string menuitem))))
(setq menu (cdr menu)))))
\f
(car item-path-list)))))
(cons result parent)))))
-(defun add-menu-item-1 (leaf-p menu-path new-item before)
+(defun add-menu-item-1 (leaf-p menu-path new-item before in-menu)
;; This code looks like it could be cleaned up some more
;; Do we really need 6 calls to find-menu-item?
(when before (setq before (normalize-menu-item-name before)))
(cond ((vectorp new-item) (aref new-item 0))
((consp new-item) (car new-item))
(t nil)))
- (menubar current-menubar)
+ (menubar (or in-menu current-menubar))
(menu (condition-case ()
(car (find-menu-item menubar menu-path))
(error nil)))
(set-menubar-dirty-flag)
new-item))
-(defun add-menu-button (menu-path menu-leaf &optional before)
+(defun add-menu-button (menu-path menu-leaf &optional before in-menu)
"Add a menu item to some menu, creating the menu first if necessary.
If the named item exists already, it is changed.
MENU-PATH identifies the menu under which the new menu item should be inserted.
MENU-LEAF is a menubar leaf node. See the documentation of `current-menubar'.
BEFORE, if provided, is the name of a menu item before which this item should
be added, if this item is not on the menu already. If the item is already
- present, it will not be moved."
- (add-menu-item-1 t menu-path menu-leaf before))
+ present, it will not be moved.
+If IN-MENU is present use that instead of `current-menubar' as the menu to
+change.
+"
+ ;; Note easymenu.el uses the fact that menu-leaf can be a submenu.
+ (add-menu-item-1 t menu-path menu-leaf before in-menu))
;; I actually liked the old name better, but the interface has changed too
;; drastically to keep it. --Stig
-(defun add-submenu (menu-path submenu &optional before)
+(defun add-submenu (menu-path submenu &optional before in-menu)
"Add a menu to the menubar or one of its submenus.
If the named menu exists already, it is changed.
MENU-PATH identifies the menu under which the new menu should be inserted.
be added, if this menu is not on its parent already. If the menu is already
present, it will not be moved."
(check-menu-syntax submenu nil)
- (add-menu-item-1 nil menu-path submenu before))
+ (add-menu-item-1 nil menu-path submenu before in-menu))
(defun purecopy-menubar (x)
;; this calls purecopy on the strings, and the contents of the vectors,
(t
(purecopy x))))
-(defun delete-menu-item (path)
+(defun delete-menu-item (path &optional from-menu)
"Remove the named menu item from the menu hierarchy.
PATH is a list of strings which identify the position of the menu item in
the menu hierarchy. The documentation of `add-submenu' describes menu-paths."
- (let* ((pair (condition-case nil (find-menu-item current-menubar path)
+ (let* ((pair (condition-case nil (find-menu-item (or from-menu
+ current-menubar) path)
(error nil)))
(item (car pair))
(parent (or (cdr pair) current-menubar)))
#!/bin/sh
emacs_major_version=21
emacs_minor_version=2
-emacs_beta_version=1
-xemacs_codename="Aeolus"
+emacs_beta_version=14
+xemacs_codename="Dionysos"
infodock_major_version=4
infodock_minor_version=0
-infodock_build_version=1
+infodock_build_version=7