aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog94
-rw-r--r--src/Makefile.in74
-rw-r--r--src/alloc.c9
-rw-r--r--src/config.in80
-rw-r--r--src/editfns.c4
-rw-r--r--src/emacs.c86
-rw-r--r--src/frame.c6
-rw-r--r--src/m/alpha.h5
-rw-r--r--src/m/ibmrs6000.h15
-rw-r--r--src/s/aix4-2.h2
-rw-r--r--src/s/bsd-common.h30
-rw-r--r--src/s/freebsd.h58
-rw-r--r--src/s/gnu.h24
-rw-r--r--src/s/irix6-5.h8
-rw-r--r--src/s/lynxos.h57
-rw-r--r--src/s/netbsd.h29
-rw-r--r--src/s/openbsd.h8
-rw-r--r--src/s/sol2-3.h98
-rw-r--r--src/s/sol2-4.h32
-rw-r--r--src/s/sol2-5.h32
-rw-r--r--src/s/sol2-6.h125
-rw-r--r--src/s/unixware.h69
-rw-r--r--src/s/usg5-4-2.h73
-rw-r--r--src/s/usg5-4.h29
-rw-r--r--src/unexec.c5
-rw-r--r--src/xfns.c7
26 files changed, 378 insertions, 681 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 37a4cdb1b10..2eaefe41fac 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,97 @@
12010-03-20 Dan Nicolaescu <dann@ics.uci.edu>
2
3 Remove support for old GNU/Linux using libc version 5.
4 * m/alpha.h (LINUX_SBRK_BUG): Remove definition.
5 * emacs.c (main): Remove code depending on LINUX_SBRK_BUG.
6
7 Consolidate redundant definitions in s/bsd-common.h.
8 * s/bsd-common.h (BSD4_2, TABDLY, TAB3, HAVE_TERMIOS, NO_TERMIO)
9 (LIBS_DEBUG, SYSV_SYSTEM_DIR, UNEXEC, NARROWPROTO, BSD_PGRPS)
10 (LDAV_SYMBOL, KERNEL_FILE): Define (or undefine) here instead of
11 doing it in all files that include this one.
12 * s/gnu.h (BSD4_2, TABDLY, TAB3, HAVE_TERMIOS, NO_TERMIO)
13 (LIBS_DEBUG, SYSV_SYSTEM_DIR, UNEXEC, NARROWPROTO, BSD_PGRPS)
14 (LDAV_SYMBOL, KERNEL_FILE): Remove.
15 * s/freebsd.h (BSD4_2, TABDLY, TAB3, HAVE_TERMIOS, NO_TERMIO)
16 (LIBS_DEBUG, SYSV_SYSTEM_DIR, UNEXEC, NARROWPROTO, BSD_PGRPS)
17 (LDAV_SYMBOL, KERNEL_FILE): Remove.
18 * s/netbsd.h (BSD4_2, TABDLY, TAB3, HAVE_TERMIOS, NO_TERMIO)
19 (LIBS_DEBUG, SYSV_SYSTEM_DIR, UNEXEC, NARROWPROTO, BSD_PGRPS)
20 (LDAV_SYMBOL, KERNEL_FILE): Remove.
21
22 Consolidate redundant definitions.
23 * s/usg5-4.h (sigsetmask, PTY_TTY_NAME_SPRINTF): Do not define,
24 it's undefined in all files that include this one.
25 (POSIX_SIGNALS): Define here instead of doing it in all files that
26 include this one.
27 * s/irix6-5.h (sigsetmask, PTY_TTY_NAME_SPRINTF): Do not undef.
28 (POSIX_SIGNALS): Do not define.
29 * s/sol2-6.h (sigsetmask, PTY_TTY_NAME_SPRINTF): Do not undef.
30 (POSIX_SIGNALS): Do not define.
31 * s/unixware.h (sigsetmask, PTY_TTY_NAME_SPRINTF): Do not undef.
32 (POSIX_SIGNALS): Do not define.
33
34 Remove support for old UNIX System V systems.
35 * s/unixware.h: Add the contents of s/usg-5-4-2.h.
36 * s/usg-5-4-2.h: Remove.
37
38 Remove support for Solaris on PPC and for old versions.
39 * s/sol2-6.h: Add the contents of s/sol-2.3.h, s/sol-2.4.h, s/sol-2.5.h.
40 (LD_SWITCH_SYSTEM, USE_MMAP_FOR_BUFFERS): Remove #defines/#undef
41 that cancel each other.
42 * s/sol2-3.h:
43 * s/sol2-4.h:
44 * s/sol2-5.h: Remove.
45 * m/ibmrs6000.h: Remove code for USG5_4, this file is only used on AIX.
46 (NO_REMAP): Remove, unused.
47 (UNEXEC): Move definition ...
48 * s/aix4-2.h (UNEXEC): ... here.
49
50 * s/openbsd.h: Remove support for non-ELF and for systems that do
51 not support shared libraries.
52 * s/netbsd.h:
53 * s/freebsd.h: Likewise.
54
552010-03-20 Dan Nicolaescu <dann@ics.uci.edu>
56
57 Remove non-working support for lynxos 3.0.
58 * s/lynxos.h: Remove file.
59
60 * unexec.c (unexec, adjust_lnnoptrs): Do not depend on
61 COFF_BSD_SYMBOLS, nothing defines it anymore.
62
632010-03-20 Dan Nicolaescu <dann@ics.uci.edu>
64
65 Remove obsolete uses of HAVE_SHM.
66 * emacs.c (standard_args):
67 (Fdump_emacs):
68 (syms_of_emacs): Remove code depending on HAVE_SHM.
69
70 * alloc.c: Remove HAVE_SHM dependent definition.
71
72 * Makefile.in (RUN_TEMACS): Do not depend on HAVE_SHM.
73
742010-03-18 Glenn Morris <rgm@gnu.org>
75
76 * emacs.c (USAGE4): Hard-code bug address.
77 (REPORT_EMACS_BUG_ADDRESS, REPORT_EMACS_BUG_PRETEST_ADDRESS): Remove.
78 (bug_reporting_address): Remove.
79 (main): Don't call bug_reporting_address.
80
81 * Makefile.in (XFT_LIBS, LIBXPM, LIBJPEG, LIBPNG, LIBTIFF, LIBGIF)
82 (LIBGPM, LIBRESOLV): Set using autoconf rather than cpp.
83
842010-03-15 Chong Yidong <cyd@stupidchicken.com>
85
86 * xfns.c (Fx_create_frame):
87 * frame.c (Vdefault_frame_scroll_bars): Put non-GTK X scroll-bars
88 on left.
89
902010-03-13 Andreas Politz <politza@fh-trier.de> (tiny change)
91
92 * editfns.c (Fformat): Account for string precision when computing
93 field width (Bug#5710).
94
12010-03-12 Chong Yidong <cyd@stupidchicken.com> 952010-03-12 Chong Yidong <cyd@stupidchicken.com>
2 96
3 * xfns.c (Fx_create_frame): Set default to Qright. 97 * xfns.c (Fx_create_frame): Set default to Qright.
diff --git a/src/Makefile.in b/src/Makefile.in
index d64c0459607..51c06835396 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -369,76 +369,16 @@ LIBXT=$(LIBW)
369#endif 369#endif
370#endif /* not USE_X_TOOLKIT */ 370#endif /* not USE_X_TOOLKIT */
371 371
372#if HAVE_XFT
373XFT_LIBS=@XFT_LIBS@
374#endif /* HAVE_XFT */
375
376#if HAVE_XPM
377#ifndef LIBXPM
378#define LIBXPM -lXpm
379#endif /* not defined LIBXPM */
380#else /* not HAVE_XPM */
381#define LIBXPM
382#endif /* not HAVE_XPM */
383
384#if HAVE_JPEG
385#ifndef LIBJPEG
386#define LIBJPEG -ljpeg
387#endif /* not defined LIBJPEG */
388#else /* not HAVE_JPEG */
389#define LIBJPEG
390#endif /* not HAVE_JPEG */
391
392#if HAVE_PNG
393#ifndef LIBPNG
394#define LIBPNG -lpng -lz -lm
395#endif /* not defined LIBPNG */
396#else /* not HAVE_PNG */
397#define LIBPNG
398#endif /* not HAVE_PNG */
399
400#if HAVE_TIFF
401#ifndef LIBTIFF
402#define LIBTIFF -ltiff
403#endif /* not defined LIBTIFF */
404#else /* not HAVE_TIFF */
405#define LIBTIFF
406#endif /* not HAVE_TIFF */
407
408#if HAVE_GIF
409#ifndef LIBGIF
410#define LIBGIF -lgif
411#endif /* not defined LIBGIF */
412#else /* not HAVE_GIF */
413#define LIBGIF
414#endif /* not HAVE_GIF */
415
416#ifdef HAVE_X11 372#ifdef HAVE_X11
417/* LD_SWITCH_X_DEFAULT comes after everything else that specifies 373/* LD_SWITCH_X_DEFAULT comes after everything else that specifies
418 options for where to find X libraries, but before those libraries. */ 374 options for where to find X libraries, but before those libraries. */
419X11_LDFLAGS = LD_SWITCH_X_SITE LD_SWITCH_X_DEFAULT 375X11_LDFLAGS = LD_SWITCH_X_SITE LD_SWITCH_X_DEFAULT
420LIBX= $(LIBXMENU) $(X11_LDFLAGS) $(LIBXT) LIBTIFF LIBJPEG LIBPNG LIBGIF LIBXPM LIB_X11_LIB LIBX11_SYSTEM $(XFT_LIBS) 376LIBX= $(LIBXMENU) $(X11_LDFLAGS) $(LIBXT) @LIBTIFF@ @LIBJPEG@ @LIBPNG@ @LIBGIF@ @LIBXPM@ LIB_X11_LIB LIBX11_SYSTEM @XFT_LIBS@
421#else /* not HAVE_X11 */ 377#else /* not HAVE_X11 */
422LIBX= $(LIBXMENU) LD_SWITCH_X_SITE 378LIBX= $(LIBXMENU) LD_SWITCH_X_SITE
423#endif /* not HAVE_X11 */ 379#endif /* not HAVE_X11 */
424#endif /* not HAVE_X_WINDOWS */ 380#endif /* not HAVE_X_WINDOWS */
425 381
426#if HAVE_GPM
427#ifndef LIBGPM
428#define LIBGPM -lgpm
429#endif /* not defined LIBGPM */
430#else /* not HAVE_GPM */
431#define LIBGPM
432#endif /* not HAVE_GPM */
433
434#if HAVE_LIBRESOLV
435#ifndef LIBRESOLV
436#define LIBRESOLV -lresolv
437#endif /* not defined LIBRESOLV */
438#else /* not HAVE_LIBRESOLV */
439#define LIBRESOLV
440#endif /* not HAVE_LIBRESOLV */
441
442LIBSOUND= @LIBSOUND@ 382LIBSOUND= @LIBSOUND@
443CFLAGS_SOUND= @CFLAGS_SOUND@ 383CFLAGS_SOUND= @CFLAGS_SOUND@
444 384
@@ -527,7 +467,7 @@ GETLOADAVG_LIBS = @GETLOADAVG_LIBS@
527#ifdef HAVE_X_WINDOWS 467#ifdef HAVE_X_WINDOWS
528MSDOS_OBJ = dosfns.o msdos.o xmenu.o 468MSDOS_OBJ = dosfns.o msdos.o xmenu.o
529#else 469#else
530MSDOS_OBJ = dosfns.o msdos.o w16select.o xmenu.o 470MSDOS_OBJ = dosfns.o msdos.o w16select.o xmenu.o termcap.o
531#endif 471#endif
532#endif 472#endif
533 473
@@ -595,10 +535,8 @@ termcapobj = terminfo.o
595#else /* ! defined (TERMINFO) */ 535#else /* ! defined (TERMINFO) */
596#ifndef LIBS_TERMCAP 536#ifndef LIBS_TERMCAP
597#define LIBS_TERMCAP 537#define LIBS_TERMCAP
598termcapobj = termcap.o tparam.o
599#else /* LIBS_TERMCAP */
600termcapobj = tparam.o
601#endif /* LIBS_TERMCAP */ 538#endif /* LIBS_TERMCAP */
539termcapobj = tparam.o
602#endif /* ! defined (TERMINFO) */ 540#endif /* ! defined (TERMINFO) */
603 541
604 542
@@ -910,16 +848,12 @@ SOME_MACHINE_LISP = ../lisp/mouse.elc \
910 with GCC, we might need gnulib again after them. */ 848 with GCC, we might need gnulib again after them. */
911 849
912LIBES = $(LOADLIBES) $(LIBS) $(LIBX) $(LIBSOUND) $(RSVG_LIBS) $(DBUS_LIBS) \ 850LIBES = $(LOADLIBES) $(LIBS) $(LIBX) $(LIBSOUND) $(RSVG_LIBS) $(DBUS_LIBS) \
913 LIBGPM LIBRESOLV LIBS_SYSTEM LIBS_MACHINE LIBS_TERMCAP \ 851 @LIBGPM@ @LIBRESOLV@ LIBS_SYSTEM LIBS_MACHINE LIBS_TERMCAP \
914 LIBS_DEBUG $(GETLOADAVG_LIBS) ${GCONF_LIBS} \ 852 LIBS_DEBUG $(GETLOADAVG_LIBS) ${GCONF_LIBS} \
915 @FREETYPE_LIBS@ @FONTCONFIG_LIBS@ @LIBOTF_LIBS@ @M17N_FLT_LIBS@ \ 853 @FREETYPE_LIBS@ @FONTCONFIG_LIBS@ @LIBOTF_LIBS@ @M17N_FLT_LIBS@ \
916 $(GNULIB_VAR) LIB_MATH LIB_STANDARD $(GNULIB_VAR) 854 $(GNULIB_VAR) LIB_MATH LIB_STANDARD $(GNULIB_VAR)
917 855
918#ifdef HAVE_SHM
919RUN_TEMACS = `/bin/pwd`/temacs -nl
920#else
921RUN_TEMACS = `/bin/pwd`/temacs 856RUN_TEMACS = `/bin/pwd`/temacs
922#endif
923 857
924all: emacs${EXEEXT} $(OTHER_FILES) 858all: emacs${EXEEXT} $(OTHER_FILES)
925 859
diff --git a/src/alloc.c b/src/alloc.c
index 9a935cc8952..98d60067f9e 100644
--- a/src/alloc.c
+++ b/src/alloc.c
@@ -257,8 +257,6 @@ Lisp_Object Vpurify_flag;
257 257
258Lisp_Object Vmemory_full; 258Lisp_Object Vmemory_full;
259 259
260#ifndef HAVE_SHM
261
262/* Initialize it to a nonzero value to force it into data space 260/* Initialize it to a nonzero value to force it into data space
263 (rather than bss space). That way unexec will remap it into text 261 (rather than bss space). That way unexec will remap it into text
264 space (pure), on some systems. We have not implemented the 262 space (pure), on some systems. We have not implemented the
@@ -268,13 +266,6 @@ Lisp_Object Vmemory_full;
268EMACS_INT pure[(PURESIZE + sizeof (EMACS_INT) - 1) / sizeof (EMACS_INT)] = {1,}; 266EMACS_INT pure[(PURESIZE + sizeof (EMACS_INT) - 1) / sizeof (EMACS_INT)] = {1,};
269#define PUREBEG (char *) pure 267#define PUREBEG (char *) pure
270 268
271#else /* HAVE_SHM */
272
273#define pure PURE_SEG_BITS /* Use shared memory segment */
274#define PUREBEG (char *)PURE_SEG_BITS
275
276#endif /* HAVE_SHM */
277
278/* Pointer to the pure area, and its size. */ 269/* Pointer to the pure area, and its size. */
279 270
280static char *purebeg; 271static char *purebeg;
diff --git a/src/config.in b/src/config.in
index 3a3ae09a084..ef2c25c85d0 100644
--- a/src/config.in
+++ b/src/config.in
@@ -264,8 +264,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
264/* Define to 1 if you have the `get_current_dir_name' function. */ 264/* Define to 1 if you have the `get_current_dir_name' function. */
265#undef HAVE_GET_CURRENT_DIR_NAME 265#undef HAVE_GET_CURRENT_DIR_NAME
266 266
267/* Define to 1 if you have a gif library (default -lgif; otherwise specify 267/* Define to 1 if you have a gif (or ungif) library. */
268 with LIBGIF). */
269#undef HAVE_GIF 268#undef HAVE_GIF
270 269
271/* Define to 1 if you have the gpm library (-lgpm). */ 270/* Define to 1 if you have the gpm library (-lgpm). */
@@ -319,10 +318,10 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
319/* Define to 1 if you have the <kerberos/krb.h> header file. */ 318/* Define to 1 if you have the <kerberos/krb.h> header file. */
320#undef HAVE_KERBEROS_KRB_H 319#undef HAVE_KERBEROS_KRB_H
321 320
322/* Define to 1 if `krb5_error' is a member of `e_text'. */ 321/* Define to 1 if `e_text' is member of `krb5_error'. */
323#undef HAVE_KRB5_ERROR_E_TEXT 322#undef HAVE_KRB5_ERROR_E_TEXT
324 323
325/* Define to 1 if `krb5_error' is a member of `text'. */ 324/* Define to 1 if `text' is member of `krb5_error'. */
326#undef HAVE_KRB5_ERROR_TEXT 325#undef HAVE_KRB5_ERROR_TEXT
327 326
328/* Define to 1 if you have the <krb5.h> header file. */ 327/* Define to 1 if you have the <krb5.h> header file. */
@@ -616,25 +615,25 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
616/* Define to 1 if you have the `strsignal' function. */ 615/* Define to 1 if you have the `strsignal' function. */
617#undef HAVE_STRSIGNAL 616#undef HAVE_STRSIGNAL
618 617
619/* Define to 1 if `struct ifreq' is a member of `ifr_addr'. */ 618/* Define to 1 if `ifr_addr' is member of `struct ifreq'. */
620#undef HAVE_STRUCT_IFREQ_IFR_ADDR 619#undef HAVE_STRUCT_IFREQ_IFR_ADDR
621 620
622/* Define to 1 if `struct ifreq' is a member of `ifr_broadaddr'. */ 621/* Define to 1 if `ifr_broadaddr' is member of `struct ifreq'. */
623#undef HAVE_STRUCT_IFREQ_IFR_BROADADDR 622#undef HAVE_STRUCT_IFREQ_IFR_BROADADDR
624 623
625/* Define to 1 if `struct ifreq' is a member of `ifr_flags'. */ 624/* Define to 1 if `ifr_flags' is member of `struct ifreq'. */
626#undef HAVE_STRUCT_IFREQ_IFR_FLAGS 625#undef HAVE_STRUCT_IFREQ_IFR_FLAGS
627 626
628/* Define to 1 if `struct ifreq' is a member of `ifr_hwaddr'. */ 627/* Define to 1 if `ifr_hwaddr' is member of `struct ifreq'. */
629#undef HAVE_STRUCT_IFREQ_IFR_HWADDR 628#undef HAVE_STRUCT_IFREQ_IFR_HWADDR
630 629
631/* Define to 1 if `struct ifreq' is a member of `ifr_netmask'. */ 630/* Define to 1 if `ifr_netmask' is member of `struct ifreq'. */
632#undef HAVE_STRUCT_IFREQ_IFR_NETMASK 631#undef HAVE_STRUCT_IFREQ_IFR_NETMASK
633 632
634/* Define to 1 if `struct nlist' is a member of `n_un.n_name'. */ 633/* Define to 1 if `n_un.n_name' is member of `struct nlist'. */
635#undef HAVE_STRUCT_NLIST_N_UN_N_NAME 634#undef HAVE_STRUCT_NLIST_N_UN_N_NAME
636 635
637/* Define to 1 if `struct tm' is a member of `tm_zone'. */ 636/* Define to 1 if `tm_zone' is member of `struct tm'. */
638#undef HAVE_STRUCT_TM_TM_ZONE 637#undef HAVE_STRUCT_TM_TM_ZONE
639 638
640/* Define to 1 if `struct utimbuf' is declared by <utime.h>. */ 639/* Define to 1 if `struct utimbuf' is declared by <utime.h>. */
@@ -818,12 +817,18 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
818 Solaris, for example). */ 817 Solaris, for example). */
819#undef LD_SWITCH_X_SITE_AUX 818#undef LD_SWITCH_X_SITE_AUX
820 819
821/* Compiler option to link with the gif library (if not -lgif). */
822#undef LIBGIF
823
824/* Define to 1 if localtime caches TZ. */ 820/* Define to 1 if localtime caches TZ. */
825#undef LOCALTIME_CACHE 821#undef LOCALTIME_CACHE
826 822
823/* String giving fallback POP mail host. */
824#undef MAILHOST
825
826/* Define to unlink, rather than empty, mail spool after reading. */
827#undef MAIL_UNLINK_SPOOL
828
829/* Define to support MMDF mailboxes in movemail. */
830#undef MAIL_USE_MMDF
831
827/* Define to support POP mail retrieval. */ 832/* Define to support POP mail retrieval. */
828#undef MAIL_USE_POP 833#undef MAIL_USE_POP
829 834
@@ -855,9 +860,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
855/* Define to the one symbol short name of this package. */ 860/* Define to the one symbol short name of this package. */
856#undef PACKAGE_TARNAME 861#undef PACKAGE_TARNAME
857 862
858/* Define to the home page for this package. */
859#undef PACKAGE_URL
860
861/* Define to the version of this package. */ 863/* Define to the version of this package. */
862#undef PACKAGE_VERSION 864#undef PACKAGE_VERSION
863 865
@@ -917,28 +919,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
917/* Define to 1 if using the Motif X toolkit. */ 919/* Define to 1 if using the Motif X toolkit. */
918#undef USE_MOTIF 920#undef USE_MOTIF
919 921
920/* Enable extensions on AIX 3, Interix. */
921#ifndef _ALL_SOURCE
922# undef _ALL_SOURCE
923#endif
924/* Enable GNU extensions on systems that have them. */
925#ifndef _GNU_SOURCE
926# undef _GNU_SOURCE
927#endif
928/* Enable threading extensions on Solaris. */
929#ifndef _POSIX_PTHREAD_SEMANTICS
930# undef _POSIX_PTHREAD_SEMANTICS
931#endif
932/* Enable extensions on HP NonStop. */
933#ifndef _TANDEM_SOURCE
934# undef _TANDEM_SOURCE
935#endif
936/* Enable general extensions on Solaris. */
937#ifndef __EXTENSIONS__
938# undef __EXTENSIONS__
939#endif
940
941
942/* Define to 1 if we should use toolkit scroll bars. */ 922/* Define to 1 if we should use toolkit scroll bars. */
943#undef USE_TOOLKIT_SCROLL_BARS 923#undef USE_TOOLKIT_SCROLL_BARS
944 924
@@ -974,6 +954,28 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
974/* Define to 1 if you need to in order for `stat' and other things to work. */ 954/* Define to 1 if you need to in order for `stat' and other things to work. */
975#undef _POSIX_SOURCE 955#undef _POSIX_SOURCE
976 956
957/* Enable extensions on AIX 3, Interix. */
958#ifndef _ALL_SOURCE
959# undef _ALL_SOURCE
960#endif
961/* Enable GNU extensions on systems that have them. */
962#ifndef _GNU_SOURCE
963# undef _GNU_SOURCE
964#endif
965/* Enable threading extensions on Solaris. */
966#ifndef _POSIX_PTHREAD_SEMANTICS
967# undef _POSIX_PTHREAD_SEMANTICS
968#endif
969/* Enable extensions on HP NonStop. */
970#ifndef _TANDEM_SOURCE
971# undef _TANDEM_SOURCE
972#endif
973/* Enable general extensions on Solaris. */
974#ifndef __EXTENSIONS__
975# undef __EXTENSIONS__
976#endif
977
978
977/* Define to rpl_ if the getopt replacement functions and variables should be 979/* Define to rpl_ if the getopt replacement functions and variables should be
978 used. */ 980 used. */
979#undef __GETOPT_PREFIX 981#undef __GETOPT_PREFIX
diff --git a/src/editfns.c b/src/editfns.c
index 093f141bff2..9f30ea06411 100644
--- a/src/editfns.c
+++ b/src/editfns.c
@@ -3782,7 +3782,11 @@ usage: (format STRING &rest OBJECTS) */)
3782 to be as large as is calculated here. Easy check for 3782 to be as large as is calculated here. Easy check for
3783 the case PRECISION = 0. */ 3783 the case PRECISION = 0. */
3784 thissize = precision[n] ? CONVERTED_BYTE_SIZE (multibyte, args[n]) : 0; 3784 thissize = precision[n] ? CONVERTED_BYTE_SIZE (multibyte, args[n]) : 0;
3785 /* The precision also constrains how much of the argument
3786 string will finally appear (Bug#5710). */
3785 actual_width = lisp_string_width (args[n], -1, NULL, NULL); 3787 actual_width = lisp_string_width (args[n], -1, NULL, NULL);
3788 if (precision[n] != -1)
3789 actual_width = min(actual_width,precision[n]);
3786 } 3790 }
3787 /* Would get MPV otherwise, since Lisp_Int's `point' to low memory. */ 3791 /* Would get MPV otherwise, since Lisp_Int's `point' to low memory. */
3788 else if (INTEGERP (args[n]) && *format != 's') 3792 else if (INTEGERP (args[n]) && *format != 's')
diff --git a/src/emacs.c b/src/emacs.c
index 71ffa998bfe..60aa14e2b78 100644
--- a/src/emacs.c
+++ b/src/emacs.c
@@ -345,7 +345,7 @@ abbreviation for a --option.\n\
345Various environment variables and window system resources also affect\n\ 345Various environment variables and window system resources also affect\n\
346Emacs' operation. See the main documentation.\n\ 346Emacs' operation. See the main documentation.\n\
347\n\ 347\n\
348Report bugs to %s. First, please see the Bugs\n\ 348Report bugs to bug-gnu-emacs@gnu.org. First, please see the Bugs\n\
349section of the Emacs manual or the file BUGS.\n" 349section of the Emacs manual or the file BUGS.\n"
350 350
351 351
@@ -746,41 +746,6 @@ void (*__malloc_initialize_hook) () = malloc_initialize_hook;
746#endif /* DOUG_LEA_MALLOC */ 746#endif /* DOUG_LEA_MALLOC */
747 747
748 748
749#define REPORT_EMACS_BUG_ADDRESS "bug-gnu-emacs@gnu.org"
750#define REPORT_EMACS_BUG_PRETEST_ADDRESS "bug-gnu-emacs@gnu.org"
751
752/* This function is used to determine an address to which bug report should
753 be sent. */
754
755char *
756bug_reporting_address ()
757{
758 int count = 0;
759 Lisp_Object temp;
760 char *string;
761
762 temp = Fsymbol_value (intern ("emacs-version"));
763
764 /* When `emacs-version' is invalid, use normal address. */
765 if (!STRINGP(temp))
766 return REPORT_EMACS_BUG_ADDRESS;
767
768 string = SDATA (temp);
769
770 /* Count dots in `emacs-version'. */
771 while (*string)
772 {
773 if (*string == '.')
774 count++;
775 string++;
776 }
777
778 /* When `emacs-version' has at least three dots, it is development or
779 pretest version of Emacs. */
780 return count >= 3 ? REPORT_EMACS_BUG_PRETEST_ADDRESS : REPORT_EMACS_BUG_ADDRESS;
781}
782
783
784/* ARGSUSED */ 749/* ARGSUSED */
785int 750int
786main (int argc, char **argv) 751main (int argc, char **argv)
@@ -825,11 +790,6 @@ main (int argc, char **argv)
825 heap_bss_diff = (char *)my_heap_start - max (my_endbss, my_endbss_static); 790 heap_bss_diff = (char *)my_heap_start - max (my_endbss, my_endbss_static);
826 } 791 }
827 792
828#ifdef LINUX_SBRK_BUG
829 /* This is only used GNU/LINUX running on alpha when using libc5 */
830 __sbrk (1);
831#endif
832
833#ifdef RUN_TIME_REMAP 793#ifdef RUN_TIME_REMAP
834 if (initialized) 794 if (initialized)
835 run_time_remap (argv[0]); 795 run_time_remap (argv[0]);
@@ -1082,7 +1042,7 @@ main (int argc, char **argv)
1082 { 1042 {
1083 printf (USAGE1, argv[0], USAGE2); 1043 printf (USAGE1, argv[0], USAGE2);
1084 printf (USAGE3); 1044 printf (USAGE3);
1085 printf (USAGE4, bug_reporting_address ()); 1045 printf (USAGE4);
1086 exit (0); 1046 exit (0);
1087 } 1047 }
1088 1048
@@ -1851,9 +1811,6 @@ struct standard_args
1851const struct standard_args standard_args[] = 1811const struct standard_args standard_args[] =
1852{ 1812{
1853 { "-version", "--version", 150, 0 }, 1813 { "-version", "--version", 150, 0 },
1854#ifdef HAVE_SHM
1855 { "-nl", "--no-shared-memory", 140, 0 },
1856#endif
1857 { "-t", "--terminal", 120, 1 }, 1814 { "-t", "--terminal", 120, 1 },
1858 { "-nw", "--no-window-system", 110, 0 }, 1815 { "-nw", "--no-window-system", 110, 0 },
1859 { "-nw", "--no-windows", 110, 0 }, 1816 { "-nw", "--no-windows", 110, 0 },
@@ -2245,39 +2202,6 @@ shut_down_emacs (sig, no_x, stuff)
2245 2202
2246#ifndef CANNOT_DUMP 2203#ifndef CANNOT_DUMP
2247 2204
2248#ifdef HAVE_SHM
2249
2250DEFUN ("dump-emacs-data", Fdump_emacs_data, Sdump_emacs_data, 1, 1, 0,
2251 doc: /* Dump current state of Emacs into data file FILENAME.
2252This function exists on systems that use HAVE_SHM. */)
2253 (filename)
2254 Lisp_Object filename;
2255{
2256 extern char my_edata[];
2257 Lisp_Object tem;
2258
2259 check_pure_size ();
2260 CHECK_STRING (filename);
2261 filename = Fexpand_file_name (filename, Qnil);
2262
2263 tem = Vpurify_flag;
2264 Vpurify_flag = Qnil;
2265
2266 fflush (stdout);
2267 /* Tell malloc where start of impure now is. */
2268 /* Also arrange for warnings when nearly out of space. */
2269#ifndef SYSTEM_MALLOC
2270 memory_warnings (my_edata, malloc_warning);
2271#endif
2272 map_out_data (SDATA (filename));
2273
2274 Vpurify_flag = tem;
2275
2276 return Qnil;
2277}
2278
2279#else /* not HAVE_SHM */
2280
2281DEFUN ("dump-emacs", Fdump_emacs, Sdump_emacs, 2, 2, 0, 2205DEFUN ("dump-emacs", Fdump_emacs, Sdump_emacs, 2, 2, 0,
2282 doc: /* Dump current state of Emacs into executable file FILENAME. 2206 doc: /* Dump current state of Emacs into executable file FILENAME.
2283Take symbols from SYMFILE (presumably the file you executed to run Emacs). 2207Take symbols from SYMFILE (presumably the file you executed to run Emacs).
@@ -2374,8 +2298,6 @@ You must run Emacs in batch mode in order to dump it. */)
2374 return unbind_to (count, Qnil); 2298 return unbind_to (count, Qnil);
2375} 2299}
2376 2300
2377#endif /* not HAVE_SHM */
2378
2379#endif /* not CANNOT_DUMP */ 2301#endif /* not CANNOT_DUMP */
2380 2302
2381#if HAVE_SETLOCALE 2303#if HAVE_SETLOCALE
@@ -2552,12 +2474,8 @@ syms_of_emacs ()
2552 staticpro (&Qfile_name_handler_alist); 2474 staticpro (&Qfile_name_handler_alist);
2553 2475
2554#ifndef CANNOT_DUMP 2476#ifndef CANNOT_DUMP
2555#ifdef HAVE_SHM
2556 defsubr (&Sdump_emacs_data);
2557#else
2558 defsubr (&Sdump_emacs); 2477 defsubr (&Sdump_emacs);
2559#endif 2478#endif
2560#endif
2561 2479
2562 defsubr (&Skill_emacs); 2480 defsubr (&Skill_emacs);
2563 2481
diff --git a/src/frame.c b/src/frame.c
index c779f1c5b65..40930af594c 100644
--- a/src/frame.c
+++ b/src/frame.c
@@ -4584,8 +4584,14 @@ Setting this variable does not affect existing frames, only new ones. */);
4584 DEFVAR_LISP ("default-frame-scroll-bars", &Vdefault_frame_scroll_bars, 4584 DEFVAR_LISP ("default-frame-scroll-bars", &Vdefault_frame_scroll_bars,
4585 doc: /* Default position of scroll bars on this window-system. */); 4585 doc: /* Default position of scroll bars on this window-system. */);
4586#ifdef HAVE_WINDOW_SYSTEM 4586#ifdef HAVE_WINDOW_SYSTEM
4587#if defined(HAVE_NTGUI) || defined(NS_IMPL_COCOA) || (defined(USE_GTK) && defined(USE_TOOLKIT_SCROLL_BARS))
4588 /* MS-Windows, Mac OS X, and GTK have scroll bars on the right by
4589 default. */
4587 Vdefault_frame_scroll_bars = Qright; 4590 Vdefault_frame_scroll_bars = Qright;
4588#else 4591#else
4592 Vdefault_frame_scroll_bars = Qleft;
4593#endif
4594#else
4589 Vdefault_frame_scroll_bars = Qnil; 4595 Vdefault_frame_scroll_bars = Qnil;
4590#endif 4596#endif
4591 4597
diff --git a/src/m/alpha.h b/src/m/alpha.h
index 5abf8bba726..065a0dd7d71 100644
--- a/src/m/alpha.h
+++ b/src/m/alpha.h
@@ -116,11 +116,6 @@ NOTE-END
116 116
117#endif /* __ELF__ */ 117#endif /* __ELF__ */
118 118
119#if defined (GNU_LINUX) && __GNU_LIBRARY__ - 0 < 6
120/* This controls a conditional in main. */
121#define LINUX_SBRK_BUG
122#endif
123
124/* On the Alpha it's best to avoid including TERMIO since struct 119/* On the Alpha it's best to avoid including TERMIO since struct
125 termio and struct termios are mutually incompatible. */ 120 termio and struct termios are mutually incompatible. */
126#define NO_TERMIO 121#define NO_TERMIO
diff --git a/src/m/ibmrs6000.h b/src/m/ibmrs6000.h
index 757db149ed2..4304ea90cd0 100644
--- a/src/m/ibmrs6000.h
+++ b/src/m/ibmrs6000.h
@@ -32,19 +32,10 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
32 32
33#define IBMR2AIX 33#define IBMR2AIX
34 34
35#ifndef UNEXEC
36#define UNEXEC unexaix.o
37#endif
38
39/* Define addresses, macros, change some setup for dump */
40
41#define NO_REMAP
42
43/* The data segment in this machine always starts at address 0x20000000. 35/* The data segment in this machine always starts at address 0x20000000.
44 An address of data cannot be stored correctly in a Lisp object; 36 An address of data cannot be stored correctly in a Lisp object;
45 we always lose the high bits. We must tell XPNTR to add them back. */ 37 we always lose the high bits. We must tell XPNTR to add them back. */
46 38
47#ifndef USG5_4
48#define TEXT_START 0x10000000 39#define TEXT_START 0x10000000
49#define DATA_START 0x20000000 40#define DATA_START 0x20000000
50#define WORDS_BIG_ENDIAN 41#define WORDS_BIG_ENDIAN
@@ -75,12 +66,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
75#define LIBS_MACHINE -lrts -lIM -liconv 66#define LIBS_MACHINE -lrts -lIM -liconv
76#endif 67#endif
77 68
78#else /* USG5_4 */
79#undef WORDS_BIG_ENDIAN
80#define DATA_SEG_BITS 0
81#define LIBS_MACHINE
82#endif /* USG5_4 */
83
84#undef ADDR_CORRECT 69#undef ADDR_CORRECT
85#define ADDR_CORRECT(x) ((int)(x)) 70#define ADDR_CORRECT(x) ((int)(x))
86 71
diff --git a/src/s/aix4-2.h b/src/s/aix4-2.h
index 29a68dbf6e3..a1abf13466d 100644
--- a/src/s/aix4-2.h
+++ b/src/s/aix4-2.h
@@ -168,5 +168,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
168*/ 168*/
169#define BROKEN_GET_CURRENT_DIR_NAME 1 169#define BROKEN_GET_CURRENT_DIR_NAME 1
170 170
171#define UNEXEC unexaix.o
172
171/* arch-tag: 38fe75ea-6aef-42bd-8449-bc34d921a562 173/* arch-tag: 38fe75ea-6aef-42bd-8449-bc34d921a562
172 (do not change this comment) */ 174 (do not change this comment) */
diff --git a/src/s/bsd-common.h b/src/s/bsd-common.h
index 8094f50d317..2ef0883b2a7 100644
--- a/src/s/bsd-common.h
+++ b/src/s/bsd-common.h
@@ -33,6 +33,36 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
33#define BSD_SYSTEM 43 33#define BSD_SYSTEM 43
34#endif /* BSD_SYSTEM */ 34#endif /* BSD_SYSTEM */
35 35
36/* For mem-limits.h. */
37#define BSD4_2
38
39#define TABDLY OXTABS
40#define TAB3 OXTABS
41
42/* These aren't needed, since we have getloadavg. */
43#undef KERNEL_FILE
44#undef LDAV_SYMBOL
45
46#define HAVE_TERMIOS
47#define NO_TERMIO
48
49#define LIBS_DEBUG
50
51#define SYSV_SYSTEM_DIR
52
53/* POSIX-style pgrp behavior. */
54#undef BSD_PGRPS
55
56#define UNEXEC unexelf.o
57
58/* If the system's imake configuration file defines `NeedWidePrototypes'
59 as `NO', we must define NARROWPROTO manually. Such a define is
60 generated in the Makefile generated by `xmkmf'. If we don't
61 define NARROWPROTO, we will see the wrong function prototypes
62 for X functions taking float or double parameters. */
63
64#define NARROWPROTO 1
65
36/* SYSTEM_TYPE should indicate the kind of system you are using. 66/* SYSTEM_TYPE should indicate the kind of system you are using.
37 It sets the Lisp variable system-type. */ 67 It sets the Lisp variable system-type. */
38 68
diff --git a/src/s/freebsd.h b/src/s/freebsd.h
index e13941d2dcc..a84627d3268 100644
--- a/src/s/freebsd.h
+++ b/src/s/freebsd.h
@@ -23,39 +23,14 @@ GNU General Public License for more details.
23You should have received a copy of the GNU General Public License 23You should have received a copy of the GNU General Public License
24along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ 24along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
25 25
26/* Get the correct __FreeBSD_version, even if this is before that was
27 defined. */
28#ifndef __FreeBSD_version
29#ifndef __FreeBSD__
30#define __FreeBSD_version 199401
31#elif __FreeBSD__ == 1
32#define __FreeBSD_version 199405
33#else
34#include <osreldate.h>
35#endif
36#endif /* !defined __FreeBSD_version */
37
38/* '__FreeBSD__' is defined by the preprocessor on FreeBSD-1.1 and up.
39 Earlier versions do not have shared libraries, so inhibit them.
40 You can inhibit them on newer systems if you wish
41 by defining NO_SHARED_LIBS. */
42#ifndef __FreeBSD__
43#define NO_SHARED_LIBS
44#endif
45
46/* Get most of the stuff from bsd-common */ 26/* Get most of the stuff from bsd-common */
47#include "bsd-common.h" 27#include "bsd-common.h"
48 28
49/* For mem-limits.h. */ 29/* For mem-limits.h. */
50#define BSD4_2 30#define BSD4_2
51 31
52/* These aren't needed, since we have getloadavg. */
53#undef KERNEL_FILE
54#undef LDAV_SYMBOL
55
56#define PENDING_OUTPUT_COUNT(FILE) ((FILE)->_p - (FILE)->_bf._base) 32#define PENDING_OUTPUT_COUNT(FILE) ((FILE)->_p - (FILE)->_bf._base)
57 33
58#define LIBS_DEBUG
59#define LIBS_SYSTEM -lutil 34#define LIBS_SYSTEM -lutil
60#if __FreeBSD_version < 400000 35#if __FreeBSD_version < 400000
61#define LIBS_TERMCAP -ltermcap 36#define LIBS_TERMCAP -ltermcap
@@ -64,44 +39,19 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
64#define LIBS_TERMCAP -lncurses 39#define LIBS_TERMCAP -lncurses
65#endif 40#endif
66 41
67#define SYSV_SYSTEM_DIR
68
69/* freebsd has POSIX-style pgrp behavior. */
70#undef BSD_PGRPS
71
72#ifdef __ELF__
73
74/* Let `ld' find image libs and similar things in /usr/local/lib. The 42/* Let `ld' find image libs and similar things in /usr/local/lib. The
75 system compiler, GCC, has apparently been modified to not look 43 system compiler, GCC, has apparently been modified to not look
76 there, contrary to what a stock GCC would do. */ 44 there, contrary to what a stock GCC would do. */
77 45
78#define LD_SWITCH_SYSTEM -L/usr/local/lib 46#define LD_SWITCH_SYSTEM -L/usr/local/lib
79#define START_FILES pre-crt0.o /usr/lib/crt1.o /usr/lib/crti.o /usr/lib/crtbegin.o 47#define START_FILES pre-crt0.o /usr/lib/crt1.o /usr/lib/crti.o /usr/lib/crtbegin.o
80#define UNEXEC unexelf.o
81#define LIB_STANDARD -lgcc -lc -lgcc /usr/lib/crtend.o /usr/lib/crtn.o 48#define LIB_STANDARD -lgcc -lc -lgcc /usr/lib/crtend.o /usr/lib/crtn.o
82#undef LIB_GCC 49#undef LIB_GCC
83#define LIB_GCC 50#define LIB_GCC
84 51
85#else /* not __ELF__ */
86
87#ifdef NO_SHARED_LIBS
88#ifdef __FreeBSD__ /* shared libs are available, but the user prefers
89 not to use them. */
90#define LD_SWITCH_SYSTEM -Bstatic -L/usr/local/lib
91#endif /* __FreeBSD__ */
92#endif /* NO_SHARED_LIBS */
93
94#endif /* not __ELF__ */
95
96#define HAVE_GETLOADAVG 1 52#define HAVE_GETLOADAVG 1
97#define HAVE_TERMIOS
98#define NO_TERMIO
99#define DECLARE_GETPWUID_WITH_UID_T 53#define DECLARE_GETPWUID_WITH_UID_T
100 54
101/* freebsd uses OXTABS instead of the expected TAB3. */
102#define TABDLY OXTABS
103#define TAB3 OXTABS
104
105/* this silences a few compilation warnings */ 55/* this silences a few compilation warnings */
106#undef BSD_SYSTEM 56#undef BSD_SYSTEM
107#if __FreeBSD__ == 1 57#if __FreeBSD__ == 1
@@ -117,14 +67,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
117 ioctl TIOCSCTTY. */ 67 ioctl TIOCSCTTY. */
118#define DONT_REOPEN_PTY 68#define DONT_REOPEN_PTY
119 69
120/* If the system's imake configuration file defines `NeedWidePrototypes'
121 as `NO', we must define NARROWPROTO manually. Such a define is
122 generated in the Makefile generated by `xmkmf'. If we don't
123 define NARROWPROTO, we will see the wrong function prototypes
124 for X functions taking float or double parameters. */
125
126#define NARROWPROTO 1
127
128/* The following is needed to make `configure' find Xpm, Xaw3d and 70/* The following is needed to make `configure' find Xpm, Xaw3d and
129 image include and library files if using /usr/bin/gcc. That 71 image include and library files if using /usr/bin/gcc. That
130 compiler seems to be modified to not find headers in 72 compiler seems to be modified to not find headers in
diff --git a/src/s/gnu.h b/src/s/gnu.h
index b43cd65c40a..bf68cabe051 100644
--- a/src/s/gnu.h
+++ b/src/s/gnu.h
@@ -21,27 +21,13 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
21/* Get most of the stuff from bsd-common */ 21/* Get most of the stuff from bsd-common */
22#include "bsd-common.h" 22#include "bsd-common.h"
23 23
24/* For mem-limits.h. */
25#define BSD4_2
26
27#undef SYSTEM_TYPE 24#undef SYSTEM_TYPE
28#define SYSTEM_TYPE "gnu" 25#define SYSTEM_TYPE "gnu"
29 26
30#undef NLIST_STRUCT 27#undef NLIST_STRUCT
31#undef KERNEL_FILE
32#undef LDAV_SYMBOL
33 28
34#define SIGNALS_VIA_CHARACTERS 29#define SIGNALS_VIA_CHARACTERS
35 30
36#define HAVE_TERMIOS
37#define NO_TERMIO
38
39#define LIBS_DEBUG
40
41/* XXX emacs should not expect TAB3 to be defined. */
42#define TABDLY OXTABS
43#define TAB3 OXTABS
44
45/* Tell Emacs that we are a terminfo based system; disable the use 31/* Tell Emacs that we are a terminfo based system; disable the use
46 of local termcap. (GNU uses ncurses.) */ 32 of local termcap. (GNU uses ncurses.) */
47#ifdef HAVE_LIBNCURSES 33#ifdef HAVE_LIBNCURSES
@@ -49,11 +35,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
49#define LIBS_TERMCAP -lncurses 35#define LIBS_TERMCAP -lncurses
50#endif 36#endif
51 37
52#define SYSV_SYSTEM_DIR
53
54/* GNU has POSIX-style pgrp behavior. */
55#undef BSD_PGRPS
56
57/* Use mmap directly for allocating larger buffers. */ 38/* Use mmap directly for allocating larger buffers. */
58#ifdef DOUG_LEA_MALLOC 39#ifdef DOUG_LEA_MALLOC
59#undef REL_ALLOC 40#undef REL_ALLOC
@@ -63,17 +44,12 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
63#define ORDINARY_LINK 44#define ORDINARY_LINK
64#define DATA_START ({ extern int data_start; (char *) &data_start; }) 45#define DATA_START ({ extern int data_start; (char *) &data_start; })
65 46
66/* GNU now always uses the ELF format. */
67#define UNEXEC unexelf.o
68
69/* Some losing code fails to include this and then assumes 47/* Some losing code fails to include this and then assumes
70 that because it is braindead that O_RDONLY==0. */ 48 that because it is braindead that O_RDONLY==0. */
71#ifndef NOT_C_CODE 49#ifndef NOT_C_CODE
72#include <fcntl.h> 50#include <fcntl.h>
73#endif 51#endif
74 52
75#define NARROWPROTO 1
76
77#ifdef emacs 53#ifdef emacs
78#include <stdio.h> /* Get the definition of _IO_STDIO_H. */ 54#include <stdio.h> /* Get the definition of _IO_STDIO_H. */
79#if defined(_IO_STDIO_H) || defined(_STDIO_USES_IOSTREAM) 55#if defined(_IO_STDIO_H) || defined(_STDIO_USES_IOSTREAM)
diff --git a/src/s/irix6-5.h b/src/s/irix6-5.h
index 57429e41663..abd87b4aa2a 100644
--- a/src/s/irix6-5.h
+++ b/src/s/irix6-5.h
@@ -22,7 +22,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
22#define IRIX6_5 /* used in m/iris4d */ 22#define IRIX6_5 /* used in m/iris4d */
23#include "usg5-4.h" 23#include "usg5-4.h"
24 24
25#undef sigsetmask /* use sys_sigsetmask */
26#undef _longjmp /* use system versions, not conservative aliases */ 25#undef _longjmp /* use system versions, not conservative aliases */
27#undef _setjmp 26#undef _setjmp
28 27
@@ -46,9 +45,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
46#define SIGNALS_VIA_CHARACTERS 45#define SIGNALS_VIA_CHARACTERS
47 46
48/* No need to use sprintf to get the tty name--we get that from _getpty. */ 47/* No need to use sprintf to get the tty name--we get that from _getpty. */
49#ifdef PTY_TTY_NAME_SPRINTF
50#undef PTY_TTY_NAME_SPRINTF
51#endif
52#define PTY_TTY_NAME_SPRINTF 48#define PTY_TTY_NAME_SPRINTF
53/* No need to get the pty name at all. */ 49/* No need to get the pty name at all. */
54#ifdef PTY_NAME_SPRINTF 50#ifdef PTY_NAME_SPRINTF
@@ -80,10 +76,6 @@ char *_getpty();
80 strcpy (pty_name, name); \ 76 strcpy (pty_name, name); \
81} 77}
82 78
83/* Since we use POSIX constructs in PTY_OPEN, we must force POSIX
84 throughout. */
85#define POSIX_SIGNALS
86
87/* Ulimit(UL_GMEMLIM) is busted... */ 79/* Ulimit(UL_GMEMLIM) is busted... */
88#define ULIMIT_BREAK_VALUE 0x14000000 80#define ULIMIT_BREAK_VALUE 0x14000000
89 81
diff --git a/src/s/lynxos.h b/src/s/lynxos.h
deleted file mode 100644
index 180b6005692..00000000000
--- a/src/s/lynxos.h
+++ /dev/null
@@ -1,57 +0,0 @@
1/* Definitions file for GNU Emacs running on LynxOS-3.0.1
2 Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
3 2008, 2009, 2010 Free Software Foundation, Inc.
4
5This file is part of GNU Emacs.
6
7GNU Emacs is free software: you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation, either version 3 of the License, or
10(at your option) any later version.
11
12GNU Emacs is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
19
20/* LynxOS is almost a bsd 4.2 system */
21#include "s/bsd4-2.h"
22
23/* SYSTEM_TYPE should indicate the kind of system you are using.
24 It sets the Lisp variable system-type. */
25
26/* override the bsd definition */
27#undef SYSTEM_TYPE
28#define SYSTEM_TYPE "lynxos 3.0.1"
29
30/* System stuff redefined from bsd4-2.h */
31#undef KERNEL_FILE
32#define KERNEL_FILE "/lynx.os"
33#undef LDAV_SYMBOL
34#define LDAV_SYMBOL "load_average"
35
36/* misc defines */
37#define LNOFLSH 0
38
39/* COFF related */
40#define COFF
41#define NO_REMAP
42#define SECTION_ALIGNMENT 0x1
43#define COFF_BSD_SYMBOLS
44#define etext __etext
45#define edata __edata
46#define _start __text
47
48/* Compilation options */
49#define LIBS_DEBUG
50#define ORDINARY_LINK
51/* we define following to prevent all the lynxos's stupid compilation */
52/* warning messages */
53#define C_SWITCH_SYSTEM -D__NO_INCLUDE_WARN__
54#define LIBS_SYSTEM -lbsd
55
56/* arch-tag: fbc81ec9-1c45-416b-a368-799ae7c094a1
57 (do not change this comment) */
diff --git a/src/s/netbsd.h b/src/s/netbsd.h
index 17d3b33451e..1af4c94d105 100644
--- a/src/s/netbsd.h
+++ b/src/s/netbsd.h
@@ -22,44 +22,20 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
22/* Get most of the stuff from bsd-common */ 22/* Get most of the stuff from bsd-common */
23#include "bsd-common.h" 23#include "bsd-common.h"
24 24
25#if defined (__alpha__) && !defined (__ELF__)
26#define NO_SHARED_LIBS
27#endif
28
29/* For mem-limits.h. */
30#define BSD4_2
31
32#undef KERNEL_FILE
33#undef LDAV_SYMBOL
34#define HAVE_GETLOADAVG 1 25#define HAVE_GETLOADAVG 1
35 26
36#define PENDING_OUTPUT_COUNT(FILE) ((FILE)->_p - (FILE)->_bf._base) 27#define PENDING_OUTPUT_COUNT(FILE) ((FILE)->_p - (FILE)->_bf._base)
37 28
38/* netbsd uses OXTABS instead of the expected TAB3. */
39#define TABDLY OXTABS
40#define TAB3 OXTABS
41
42#define HAVE_TERMIOS
43#define NO_TERMIO
44
45#define LIBS_DEBUG
46/* -lutil is not needed for NetBSD >0.9. */ 29/* -lutil is not needed for NetBSD >0.9. */
47/* #define LIBS_SYSTEM -lutil */ 30/* #define LIBS_SYSTEM -lutil */
48#define LIBS_TERMCAP -ltermcap 31#define LIBS_TERMCAP -ltermcap
49 32
50#define NEED_ERRNO 33#define NEED_ERRNO
51#define SYSV_SYSTEM_DIR
52 34
53/* Netbsd has POSIX-style pgrp behavior. */
54#undef BSD_PGRPS
55
56#if !defined (NO_SHARED_LIBS) && defined (__ELF__)
57#define START_FILES pre-crt0.o /usr/lib/crt0.o START_FILES_1 /usr/lib/crtbegin.o 35#define START_FILES pre-crt0.o /usr/lib/crt0.o START_FILES_1 /usr/lib/crtbegin.o
58#define UNEXEC unexelf.o
59#define LIB_STANDARD -lgcc -lc -lgcc /usr/lib/crtend.o END_FILES_1 36#define LIB_STANDARD -lgcc -lc -lgcc /usr/lib/crtend.o END_FILES_1
60#undef LIB_GCC 37#undef LIB_GCC
61#define LIB_GCC 38#define LIB_GCC
62#endif
63 39
64#ifdef HAVE_CRTIN 40#ifdef HAVE_CRTIN
65#define START_FILES_1 /usr/lib/crti.o 41#define START_FILES_1 /usr/lib/crti.o
@@ -71,7 +47,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
71 47
72#define AMPERSAND_FULL_NAME 48#define AMPERSAND_FULL_NAME
73 49
74#ifdef __ELF__
75/* Here is how to find X Windows. LD_SWITCH_X_SITE_AUX gives an -R option 50/* Here is how to find X Windows. LD_SWITCH_X_SITE_AUX gives an -R option
76 says where to find X windows at run time. We convert it to a -rpath option 51 says where to find X windows at run time. We convert it to a -rpath option
77 which is what OSF1 uses. */ 52 which is what OSF1 uses. */
@@ -92,8 +67,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
92 67
93#define LD_SWITCH_SYSTEM_TEMACS -Wl,-z,nocombreloc 68#define LD_SWITCH_SYSTEM_TEMACS -Wl,-z,nocombreloc
94 69
95#endif /* __ELF__ */
96
97/* On post 1.3 releases of NetBSD, gcc -nostdlib also clears 70/* On post 1.3 releases of NetBSD, gcc -nostdlib also clears
98 the library search parth, i.e. it won't search /usr/lib 71 the library search parth, i.e. it won't search /usr/lib
99 for libc and friends. Using -nostartfiles instead avoids 72 for libc and friends. Using -nostartfiles instead avoids
@@ -101,8 +74,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
101 74
102#define LINKER $(CC) -nostartfiles 75#define LINKER $(CC) -nostartfiles
103 76
104#define NARROWPROTO 1
105
106#define DEFAULT_SOUND_DEVICE "/dev/audio" 77#define DEFAULT_SOUND_DEVICE "/dev/audio"
107 78
108/* Greg A. Woods <woods@weird.com> says we must include signal.h 79/* Greg A. Woods <woods@weird.com> says we must include signal.h
diff --git a/src/s/openbsd.h b/src/s/openbsd.h
index 3b996de7059..a74601d3ad8 100644
--- a/src/s/openbsd.h
+++ b/src/s/openbsd.h
@@ -19,7 +19,6 @@
19 19
20#undef LD_SWITCH_SYSTEM_TEMACS 20#undef LD_SWITCH_SYSTEM_TEMACS
21#undef LD_SWITCH_SYSTEM 21#undef LD_SWITCH_SYSTEM
22#ifdef __ELF__
23 22
24 /* Han Boetes <han@mijncomputer.nl> says this 23 /* Han Boetes <han@mijncomputer.nl> says this
25 is necessary, otherwise Emacs dumps core on elf systems. */ 24 is necessary, otherwise Emacs dumps core on elf systems. */
@@ -29,12 +28,5 @@
29 default. */ 28 default. */
30#define LD_SWITCH_X_DEFAULT -L/usr/local/lib 29#define LD_SWITCH_X_DEFAULT -L/usr/local/lib
31 30
32#else
33
34#define LD_SWITCH_SYSTEM LD_SWITCH_SYSTEM_tmp
35#define LD_SWITCH_X_DEFAULT -L/usr/local/lib
36
37#endif
38
39/* arch-tag: 7e3f65ca-3f48-4237-933f-2b208b21e8e2 31/* arch-tag: 7e3f65ca-3f48-4237-933f-2b208b21e8e2
40 (do not change this comment) */ 32 (do not change this comment) */
diff --git a/src/s/sol2-3.h b/src/s/sol2-3.h
deleted file mode 100644
index fa05aa45b67..00000000000
--- a/src/s/sol2-3.h
+++ /dev/null
@@ -1,98 +0,0 @@
1/* Definitions file for GNU Emacs running on Solaris 2.3.
2
3 Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
4 2008, 2009, 2010 Free Software Foundation, Inc.
5
6This file is part of GNU Emacs.
7
8GNU Emacs is free software: you can redistribute it and/or modify
9it under the terms of the GNU General Public License as published by
10the Free Software Foundation, either version 3 of the License, or
11(at your option) any later version.
12
13GNU Emacs is distributed in the hope that it will be useful,
14but WITHOUT ANY WARRANTY; without even the implied warranty of
15MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16GNU General Public License for more details.
17
18You should have received a copy of the GNU General Public License
19along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
20
21#include "usg5-4.h"
22
23#define SOLARIS2
24
25/* This triggers a conditional in xfaces.c. */
26#define XOS_NEEDS_TIME_H
27
28#define POSIX
29
30#define LIBS_SYSTEM -lsocket -lnsl -lkstat
31
32/* Prefer kstat over kvm in getloadavg.c, kstat doesn't require root.
33 ghazi@caip.rutgers.edu, 7/21/97. Don't redefine if already defined
34 (e.g., by config.h). */
35#ifndef HAVE_LIBKSTAT
36#define HAVE_LIBKSTAT
37#endif
38
39/* inoue@ainet.or.jp says Solaris has a bug related to X11R6-style
40 XIM support. */
41
42#define INHIBIT_X11R6_XIM
43
44/* Must use the system's termcap, if we use any termcap.
45 It does special things. */
46
47#ifndef TERMINFO
48#define LIBS_TERMCAP -ltermcap
49#endif
50
51#define USE_MMAP_FOR_BUFFERS 1
52
53#ifndef __GNUC__
54#define LD_SWITCH_SYSTEM -L /usr/ccs/lib LD_SWITCH_X_SITE_AUX
55/* eggert thinks all versions of SunPro C allowed this. */
56#define C_DEBUG_SWITCH -g -O
57#else /* GCC */
58/* We use ./prefix-args because we don't know whether LD_SWITCH_X_SITE_AUX
59 has anything in it. It can be empty.
60 This works ok in src. Luckily lib-src does not use LD_SWITCH_SYSTEM. */
61#define LD_SWITCH_SYSTEM -L /usr/ccs/lib \
62 `./prefix-args -Xlinker LD_SWITCH_X_SITE_AUX`
63#endif /* GCC */
64
65/* Info from fnf@cygnus.com suggests this is appropriate. */
66#define POSIX_SIGNALS
67
68/* We don't need the definition from usg5-4.h with POSIX_SIGNALS. */
69#undef sigsetmask
70
71/* This is the same definition as in usg5-4.h, but with sigblock/sigunblock
72 rather than sighold/sigrelse, which appear to be BSD4.1 specific and won't
73 work if POSIX_SIGNALS is defined. It may also be appropriate for SVR4.x
74 (x<2) but I'm not sure. fnf@cygnus.com */
75/* This sets the name of the slave side of the PTY. On SysVr4,
76 grantpt(3) forks a subprocess, so keep sigchld_handler() from
77 intercepting that death. If any child but grantpt's should die
78 within, it should be caught after sigrelse(2). */
79
80#undef PTY_TTY_NAME_SPRINTF
81#define PTY_TTY_NAME_SPRINTF \
82 { \
83 char *ptsname (), *ptyname; \
84 \
85 sigblock (sigmask (SIGCLD)); \
86 if (grantpt (fd) == -1) \
87 { emacs_close (fd); return -1; } \
88 sigunblock (sigmask (SIGCLD)); \
89 if (unlockpt (fd) == -1) \
90 { emacs_close (fd); return -1; } \
91 if (!(ptyname = ptsname (fd))) \
92 { emacs_close (fd); return -1; } \
93 strncpy (pty_name, ptyname, sizeof (pty_name)); \
94 pty_name[sizeof (pty_name) - 1] = 0; \
95 }
96
97/* arch-tag: a8fe2e15-e517-49cb-a863-f346b80885fe
98 (do not change this comment) */
diff --git a/src/s/sol2-4.h b/src/s/sol2-4.h
deleted file mode 100644
index df8552e9562..00000000000
--- a/src/s/sol2-4.h
+++ /dev/null
@@ -1,32 +0,0 @@
1/* Handle Solaris 2.4. */
2
3#include "sol2-3.h"
4
5#undef LD_SWITCH_SYSTEM
6
7/* `#ifdef USE_MOTIF' won't work here, since USE_MOTIF isn't defined yet.
8 Instead, dynamically check whether USE_MOTIF expands to something. */
9#define NOT_USING_MOTIF { set x USE_MOTIF; test "$$2" = "USE_MOTIF"; }
10
11#ifndef __GNUC__
12#define LD_SWITCH_SYSTEM_TEMACS -L/usr/ccs/lib LD_SWITCH_X_SITE_AUX \
13 `NOT_USING_MOTIF || echo ' -R/usr/dt/lib'`
14#else /* GCC */
15/* We use ./prefix-args because we don't know whether LD_SWITCH_X_SITE_AUX
16 has anything in it. It can be empty.
17 This works ok in temacs. */
18#define LD_SWITCH_SYSTEM_TEMACS -L/usr/ccs/lib \
19 `./prefix-args -Xlinker LD_SWITCH_X_SITE_AUX` \
20 `NOT_USING_MOTIF || echo ' -R/usr/dt/lib -L/usr/dt/lib'`
21
22/* Get rid of -traditional and let const really do its thing. */
23#undef C_SWITCH_SYSTEM
24#undef const
25#endif /* GCC */
26
27/* Gregory Neil Shapiro <gshapiro@hhmi.org> reports the Motif header files
28 are in this directory on Solaris 2.4. */
29#define C_SWITCH_X_SYSTEM -I/usr/dt/include
30
31/* arch-tag: 6f0de37b-cfda-427a-a5ae-b83ed54aaae7
32 (do not change this comment) */
diff --git a/src/s/sol2-5.h b/src/s/sol2-5.h
deleted file mode 100644
index 90163987e69..00000000000
--- a/src/s/sol2-5.h
+++ /dev/null
@@ -1,32 +0,0 @@
1/* Handle Solaris 2.5. */
2
3#include "sol2-4.h"
4
5/* -lgen is needed for the regex and regcmp functions
6 which are used by Motif. In the future we can try changing
7 regex.c to provide them in Emacs, but this is safer for now. */
8#define LIB_MOTIF -lXm -lgen
9
10/* This is the only known way to avoid some crashes
11 that seem to relate to screwed up malloc data
12 after deleting a frame. */
13/* rms: I think the problems using ralloc had to do with system
14 libraries that called the system malloc even if we linked in the
15 GNU malloc. I could not see any way to fix the problem except to
16 have just one malloc and that had to be the system one. */
17/* This is not always necessary. Turned off at present for testers to
18 identify any problems with gmalloc more accurately. */
19/* #define SYSTEM_MALLOC */
20
21/* There have problems reported with mmap at least on Solaris 2.6
22 and 2.7. For simplicity, let's not use mmap for anything >= 2.5.
23 We can optimize this later. */
24
25#undef USE_MMAP_FOR_BUFFERS
26
27/* Probably OK also on earlier versions. */
28#define GC_SETJMP_WORKS 1
29#define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS
30
31/* arch-tag: 96d65526-21c9-4547-a797-2bd575c05be7
32 (do not change this comment) */
diff --git a/src/s/sol2-6.h b/src/s/sol2-6.h
index a43443e48c2..8cd01511879 100644
--- a/src/s/sol2-6.h
+++ b/src/s/sol2-6.h
@@ -1,11 +1,126 @@
1/* Handle Solaris 2.6. */ 1/* Definitions file for GNU Emacs running on Solaris 2.6.
2 2
3#include "sol2-5.h" 3 Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
4 2008, 2009, 2010 Free Software Foundation, Inc.
4 5
5#if 0 /* dldump does not handle all the extensions used by GNU ld. */ 6This file is part of GNU Emacs.
6#undef UNEXEC 7
7#define UNEXEC unexsol.o 8GNU Emacs is free software: you can redistribute it and/or modify
9it under the terms of the GNU General Public License as published by
10the Free Software Foundation, either version 3 of the License, or
11(at your option) any later version.
12
13GNU Emacs is distributed in the hope that it will be useful,
14but WITHOUT ANY WARRANTY; without even the implied warranty of
15MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16GNU General Public License for more details.
17
18You should have received a copy of the GNU General Public License
19along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
20
21#include "usg5-4.h"
22
23#define SOLARIS2
24
25/* This triggers a conditional in xfaces.c. */
26#define XOS_NEEDS_TIME_H
27
28#define POSIX
29
30#define LIBS_SYSTEM -lsocket -lnsl -lkstat
31
32/* Prefer kstat over kvm in getloadavg.c, kstat doesn't require root.
33 ghazi@caip.rutgers.edu, 7/21/97. Don't redefine if already defined
34 (e.g., by config.h). */
35#ifndef HAVE_LIBKSTAT
36#define HAVE_LIBKSTAT
37#endif
38
39/* inoue@ainet.or.jp says Solaris has a bug related to X11R6-style
40 XIM support. */
41
42#define INHIBIT_X11R6_XIM
43
44/* Must use the system's termcap, if we use any termcap.
45 It does special things. */
46
47#ifndef TERMINFO
48#define LIBS_TERMCAP -ltermcap
8#endif 49#endif
9 50
51#ifndef __GNUC__
52/* eggert thinks all versions of SunPro C allowed this. */
53#define C_DEBUG_SWITCH -g -O
54#endif /* GCC */
55
56/* This is the same definition as in usg5-4.h, but with sigblock/sigunblock
57 rather than sighold/sigrelse, which appear to be BSD4.1 specific and won't
58 work if POSIX_SIGNALS is defined. It may also be appropriate for SVR4.x
59 (x<2) but I'm not sure. fnf@cygnus.com */
60/* This sets the name of the slave side of the PTY. On SysVr4,
61 grantpt(3) forks a subprocess, so keep sigchld_handler() from
62 intercepting that death. If any child but grantpt's should die
63 within, it should be caught after sigrelse(2). */
64
65#define PTY_TTY_NAME_SPRINTF \
66 { \
67 char *ptsname (), *ptyname; \
68 \
69 sigblock (sigmask (SIGCLD)); \
70 if (grantpt (fd) == -1) \
71 { emacs_close (fd); return -1; } \
72 sigunblock (sigmask (SIGCLD)); \
73 if (unlockpt (fd) == -1) \
74 { emacs_close (fd); return -1; } \
75 if (!(ptyname = ptsname (fd))) \
76 { emacs_close (fd); return -1; } \
77 strncpy (pty_name, ptyname, sizeof (pty_name)); \
78 pty_name[sizeof (pty_name) - 1] = 0; \
79 }
80
81/* `#ifdef USE_MOTIF' won't work here, since USE_MOTIF isn't defined yet.
82 Instead, dynamically check whether USE_MOTIF expands to something. */
83#define NOT_USING_MOTIF { set x USE_MOTIF; test "$$2" = "USE_MOTIF"; }
84
85#ifndef __GNUC__
86#define LD_SWITCH_SYSTEM_TEMACS -L/usr/ccs/lib LD_SWITCH_X_SITE_AUX \
87 `NOT_USING_MOTIF || echo ' -R/usr/dt/lib'`
88#else /* GCC */
89/* We use ./prefix-args because we don't know whether LD_SWITCH_X_SITE_AUX
90 has anything in it. It can be empty.
91 This works ok in temacs. */
92#define LD_SWITCH_SYSTEM_TEMACS -L/usr/ccs/lib \
93 `./prefix-args -Xlinker LD_SWITCH_X_SITE_AUX` \
94 `NOT_USING_MOTIF || echo ' -R/usr/dt/lib -L/usr/dt/lib'`
95
96/* Get rid of -traditional and let const really do its thing. */
97#undef C_SWITCH_SYSTEM
98#undef const
99#endif /* GCC */
100
101/* Gregory Neil Shapiro <gshapiro@hhmi.org> reports the Motif header files
102 are in this directory on Solaris 2.4. */
103#define C_SWITCH_X_SYSTEM -I/usr/dt/include
104
105/* -lgen is needed for the regex and regcmp functions
106 which are used by Motif. In the future we can try changing
107 regex.c to provide them in Emacs, but this is safer for now. */
108#define LIB_MOTIF -lXm -lgen
109
110/* This is the only known way to avoid some crashes
111 that seem to relate to screwed up malloc data
112 after deleting a frame. */
113/* rms: I think the problems using ralloc had to do with system
114 libraries that called the system malloc even if we linked in the
115 GNU malloc. I could not see any way to fix the problem except to
116 have just one malloc and that had to be the system one. */
117/* This is not always necessary. Turned off at present for testers to
118 identify any problems with gmalloc more accurately. */
119/* #define SYSTEM_MALLOC */
120
121/* Probably OK also on earlier versions. */
122#define GC_SETJMP_WORKS 1
123#define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS
124
10/* arch-tag: 71ea3857-89dc-4395-9623-77964e6ed3ca 125/* arch-tag: 71ea3857-89dc-4395-9623-77964e6ed3ca
11 (do not change this comment) */ 126 (do not change this comment) */
diff --git a/src/s/unixware.h b/src/s/unixware.h
index 934821dd166..9fedb426868 100644
--- a/src/s/unixware.h
+++ b/src/s/unixware.h
@@ -1,4 +1,71 @@
1#include "usg5-4-2.h" 1/* s/ file for Unixware.
2
3 Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
4 2008, 2009, 2010 Free Software Foundation, Inc.
5
6This file is part of GNU Emacs.
7
8GNU Emacs is free software: you can redistribute it and/or modify
9it under the terms of the GNU General Public License as published by
10the Free Software Foundation, either version 3 of the License, or
11(at your option) any later version.
12
13GNU Emacs is distributed in the hope that it will be useful,
14but WITHOUT ANY WARRANTY; without even the implied warranty of
15MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16GNU General Public License for more details.
17
18You should have received a copy of the GNU General Public License
19along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
20
21
22#include "usg5-4.h"
23
24/* fnf@cygnus.com says these exist. */
25#define HAVE_TCATTR
26/* #define HAVE_GETWD (appears to be buggy on SVR4.2) */
27#undef HAVE_GETWD
28
29#undef HAVE_SYSV_SIGPAUSE
30
31/* Motif needs -lgen. */
32#define LIBS_SYSTEM -lsocket -lnsl -lelf -lgen
33
34/* This is the same definition as in usg5-4.h, but with sigblock/sigunblock
35 rather than sighold/sigrelse, which appear to be BSD4.1 specific and won't
36 work if POSIX_SIGNALS is defined. It may also be appropriate for SVR4.x
37 (x<2) but I'm not sure. fnf@cygnus.com */
38/* This sets the name of the slave side of the PTY. On SysVr4,
39 grantpt(3) forks a subprocess, so keep sigchld_handler() from
40 intercepting that death. If any child but grantpt's should die
41 within, it should be caught after sigrelse(2). */
42
43#define PTY_TTY_NAME_SPRINTF \
44 { \
45 char *ptsname(), *ptyname; \
46 \
47 sigblock(sigmask(SIGCLD)); \
48 if (grantpt(fd) == -1) \
49 fatal("could not grant slave pty"); \
50 sigunblock(sigmask(SIGCLD)); \
51 if (unlockpt(fd) == -1) \
52 fatal("could not unlock slave pty"); \
53 if (!(ptyname = ptsname(fd))) \
54 fatal ("could not enable slave pty"); \
55 strncpy(pty_name, ptyname, sizeof(pty_name)); \
56 pty_name[sizeof(pty_name) - 1] = 0; \
57 }
58
59/* Use libw.a along with X11R6 Xt. */
60#define NEED_LIBW
61
62/* ryanr@ellingtn.ftc.nrcs.usda.gov (Richard Anthony Ryan) says -lXimp
63 is needed in UNIX_SV ... 4.2 1.1.2. */
64#define LIB_MOTIF -lXm -lXimp
65
66/* arch-tag: 9bbfcfc1-19be-45a1-9699-af57b87da2c6
67 (do not change this comment) */
68
2 69
3#define PENDING_OUTPUT_COUNT(FILE) ((FILE)->__ptr - (FILE)->__base) 70#define PENDING_OUTPUT_COUNT(FILE) ((FILE)->__ptr - (FILE)->__base)
4 71
diff --git a/src/s/usg5-4-2.h b/src/s/usg5-4-2.h
deleted file mode 100644
index d7f2c60ffc1..00000000000
--- a/src/s/usg5-4-2.h
+++ /dev/null
@@ -1,73 +0,0 @@
1/* s/ file for System V release 4.2.
2
3 Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
4 2008, 2009, 2010 Free Software Foundation, Inc.
5
6This file is part of GNU Emacs.
7
8GNU Emacs is free software: you can redistribute it and/or modify
9it under the terms of the GNU General Public License as published by
10the Free Software Foundation, either version 3 of the License, or
11(at your option) any later version.
12
13GNU Emacs is distributed in the hope that it will be useful,
14but WITHOUT ANY WARRANTY; without even the implied warranty of
15MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16GNU General Public License for more details.
17
18You should have received a copy of the GNU General Public License
19along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
20
21
22#include "usg5-4.h"
23
24/* fnf@cygnus.com says these exist. */
25#define HAVE_TCATTR
26/* #define HAVE_GETWD (appears to be buggy on SVR4.2) */
27#undef HAVE_GETWD
28
29/* Info from fnf@cygnus.com suggests this is appropriate. */
30#define POSIX_SIGNALS
31
32/* We don't need the definition from usg5-3.h with POSIX_SIGNALS. */
33#undef sigsetmask
34#undef HAVE_SYSV_SIGPAUSE
35
36/* Motif needs -lgen. */
37#define LIBS_SYSTEM -lsocket -lnsl -lelf -lgen
38
39/* This is the same definition as in usg5-4.h, but with sigblock/sigunblock
40 rather than sighold/sigrelse, which appear to be BSD4.1 specific and won't
41 work if POSIX_SIGNALS is defined. It may also be appropriate for SVR4.x
42 (x<2) but I'm not sure. fnf@cygnus.com */
43/* This sets the name of the slave side of the PTY. On SysVr4,
44 grantpt(3) forks a subprocess, so keep sigchld_handler() from
45 intercepting that death. If any child but grantpt's should die
46 within, it should be caught after sigrelse(2). */
47
48#undef PTY_TTY_NAME_SPRINTF
49#define PTY_TTY_NAME_SPRINTF \
50 { \
51 char *ptsname(), *ptyname; \
52 \
53 sigblock(sigmask(SIGCLD)); \
54 if (grantpt(fd) == -1) \
55 fatal("could not grant slave pty"); \
56 sigunblock(sigmask(SIGCLD)); \
57 if (unlockpt(fd) == -1) \
58 fatal("could not unlock slave pty"); \
59 if (!(ptyname = ptsname(fd))) \
60 fatal ("could not enable slave pty"); \
61 strncpy(pty_name, ptyname, sizeof(pty_name)); \
62 pty_name[sizeof(pty_name) - 1] = 0; \
63 }
64
65/* Use libw.a along with X11R6 Xt. */
66#define NEED_LIBW
67
68/* ryanr@ellingtn.ftc.nrcs.usda.gov (Richard Anthony Ryan) says -lXimp
69 is needed in UNIX_SV ... 4.2 1.1.2. */
70#define LIB_MOTIF -lXm -lXimp
71
72/* arch-tag: 9bbfcfc1-19be-45a1-9699-af57b87da2c6
73 (do not change this comment) */
diff --git a/src/s/usg5-4.h b/src/s/usg5-4.h
index c611911b0e8..180045cb7cf 100644
--- a/src/s/usg5-4.h
+++ b/src/s/usg5-4.h
@@ -63,13 +63,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
63 63
64/* Special hacks needed to make Emacs run on this system. */ 64/* Special hacks needed to make Emacs run on this system. */
65 65
66/* 66#define POSIX_SIGNALS
67 * Make the sigsetmask function go away. Don't know what the
68 * ramifications of this are, but doesn't seem possible to
69 * emulate it properly anyway at this point.
70 */
71
72#define sigsetmask(mask) /* Null expansion */
73 67
74/* setjmp and longjmp can safely replace _setjmp and _longjmp, 68/* setjmp and longjmp can safely replace _setjmp and _longjmp,
75 but they will run slower. */ 69 but they will run slower. */
@@ -176,27 +170,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
176 170
177#define PTY_NAME_SPRINTF strcpy (pty_name, "/dev/ptmx"); 171#define PTY_NAME_SPRINTF strcpy (pty_name, "/dev/ptmx");
178 172
179/* This sets the name of the slave side of the PTY. On SysVr4,
180 grantpt(3) forks a subprocess, so keep sigchld_handler() from
181 intercepting that death. If any child but grantpt's should die
182 within, it should be caught after sigrelse(2). */
183
184#define PTY_TTY_NAME_SPRINTF \
185 { \
186 char *ptsname (), *ptyname; \
187 \
188 sighold (SIGCLD); \
189 if (grantpt (fd) == -1) \
190 { emacs_close (fd); return -1; } \
191 sigrelse (SIGCLD); \
192 if (unlockpt (fd) == -1) \
193 { emacs_close (fd); return -1; } \
194 if (!(ptyname = ptsname (fd))) \
195 { emacs_close (fd); return -1; } \
196 strncpy (pty_name, ptyname, sizeof (pty_name)); \
197 pty_name[sizeof (pty_name) - 1] = 0; \
198 }
199
200/* Push various streams modules onto a PTY channel. */ 173/* Push various streams modules onto a PTY channel. */
201 174
202#define SETUP_SLAVE_PTY \ 175#define SETUP_SLAVE_PTY \
diff --git a/src/unexec.c b/src/unexec.c
index d1921069af7..a1bb5460d3c 100644
--- a/src/unexec.c
+++ b/src/unexec.c
@@ -630,7 +630,6 @@ mark_x (name)
630 PERROR (name); 630 PERROR (name);
631} 631}
632 632
633#ifndef COFF_BSD_SYMBOLS
634 633
635/* 634/*
636 * If the COFF file contains a symbol table and a line number section, 635 * If the COFF file contains a symbol table and a line number section,
@@ -699,8 +698,6 @@ adjust_lnnoptrs (writedesc, readdesc, new_name)
699 return 0; 698 return 0;
700} 699}
701 700
702#endif /* COFF_BSD_SYMBOLS */
703
704/* **************************************************************** 701/* ****************************************************************
705 * unexec 702 * unexec
706 * 703 *
@@ -724,9 +721,7 @@ unexec (new_name, a_name, data_start, bss_start, entry_address)
724 if (make_hdr (new, a_out, data_start, bss_start, entry_address, a_name, new_name) < 0 721 if (make_hdr (new, a_out, data_start, bss_start, entry_address, a_name, new_name) < 0
725 || copy_text_and_data (new, a_out) < 0 722 || copy_text_and_data (new, a_out) < 0
726 || copy_sym (new, a_out, a_name, new_name) < 0 723 || copy_sym (new, a_out, a_name, new_name) < 0
727#ifndef COFF_BSD_SYMBOLS
728 || adjust_lnnoptrs (new, a_out, new_name) < 0 724 || adjust_lnnoptrs (new, a_out, new_name) < 0
729#endif
730 ) 725 )
731 { 726 {
732 close (new); 727 close (new);
diff --git a/src/xfns.c b/src/xfns.c
index 84d0d622200..45bea1e4ec2 100644
--- a/src/xfns.c
+++ b/src/xfns.c
@@ -3376,7 +3376,12 @@ This function is an internal primitive--use `make-frame' instead. */)
3376#endif 3376#endif
3377 "internalBorderWidth", "internalBorderWidth", 3377 "internalBorderWidth", "internalBorderWidth",
3378 RES_TYPE_NUMBER); 3378 RES_TYPE_NUMBER);
3379 x_default_parameter (f, parms, Qvertical_scroll_bars, Qright, 3379 x_default_parameter (f, parms, Qvertical_scroll_bars,
3380#if defined(USE_GTK) && defined(USE_TOOLKIT_SCROLL_BARS)
3381 Qright,
3382#else
3383 Qleft,
3384#endif
3380 "verticalScrollBars", "ScrollBars", 3385 "verticalScrollBars", "ScrollBars",
3381 RES_TYPE_SYMBOL); 3386 RES_TYPE_SYMBOL);
3382 3387