aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorKenichi Handa2010-05-14 13:15:58 +0900
committerKenichi Handa2010-05-14 13:15:58 +0900
commitccd3ce49e08b4f0c0e1bcbb34e9055ca4002e21c (patch)
tree0f53c077154c7cd5f05b339d91905dfd2391679d /src
parent82ebc97b11a369303345927c98e7bc69928c9117 (diff)
parent508197067c434b0111bcb6ded742d424bb738ece (diff)
downloademacs-ccd3ce49e08b4f0c0e1bcbb34e9055ca4002e21c.tar.gz
emacs-ccd3ce49e08b4f0c0e1bcbb34e9055ca4002e21c.zip
merge trunk
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog97
-rw-r--r--src/ChangeLog.18
-rw-r--r--src/ChangeLog.216
-rw-r--r--src/ChangeLog.32
-rw-r--r--src/ChangeLog.42
-rw-r--r--src/ChangeLog.52
-rw-r--r--src/ChangeLog.914
-rw-r--r--src/Makefile.in307
-rw-r--r--src/config.in30
-rw-r--r--src/font.c43
-rw-r--r--src/ftfont.c4
-rw-r--r--src/m/alpha.h8
-rw-r--r--src/m/amdx86-64.h13
-rw-r--r--src/m/arm.h14
-rw-r--r--src/m/hp800.h12
-rw-r--r--src/m/ia64.h14
-rw-r--r--src/m/ibmrs6000.h6
-rw-r--r--src/m/ibms390.h5
-rw-r--r--src/m/ibms390x.h6
-rw-r--r--src/m/intel386.h5
-rw-r--r--src/m/iris4d.h17
-rw-r--r--src/m/m68k.h8
-rw-r--r--src/m/macppc.h9
-rw-r--r--src/m/mips.h18
-rw-r--r--src/m/sparc.h5
-rw-r--r--src/m/template.h37
-rw-r--r--src/m/vax.h5
-rw-r--r--src/s/aix4-2.h43
-rw-r--r--src/s/bsd-common.h7
-rw-r--r--src/s/cygwin.h39
-rw-r--r--src/s/darwin.h55
-rw-r--r--src/s/freebsd.h15
-rw-r--r--src/s/gnu-linux.h46
-rw-r--r--src/s/hpux10-20.h65
-rw-r--r--src/s/irix6-5.h2
-rw-r--r--src/s/ms-w32.h76
-rw-r--r--src/s/msdos.h47
-rw-r--r--src/s/netbsd.h19
-rw-r--r--src/s/sol2-10.h26
-rw-r--r--src/s/template.h56
-rw-r--r--src/s/unixware.h5
-rw-r--r--src/s/usg5-4.h85
-rw-r--r--src/xdisp.c8
43 files changed, 523 insertions, 778 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 084276a9f11..51a63c046c7 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -17,6 +17,91 @@
17 (next_element_from_composition): Pay attention to 17 (next_element_from_composition): Pay attention to
18 IT->cmp_it.reversed_p. 18 IT->cmp_it.reversed_p.
19 19
202010-05-14 Kenichi Handa <handa@m17n.org>
21
22 * font.c (font_range): Return the range for the font found at
23 first.
24
252010-05-14 Glenn Morris <rgm@gnu.org>
26
27 * Makefile.in (mktime, X11, register): Move undefs to configure.
28
29 * Makefile.in (MSDOS_OBJ): Default to empty, let msdos scripts set it.
30 (MSDOS_X_OBJ): New variable.
31 (MSDOS_SUPPORT_REAL): New constant.
32 (MSDOS_SUPPORT): Set as a variable, not with cpp.
33 (obj): Use MSDOS_X_OBJ.
34 (lisp): Use MSDOS_SUPPORT as a variable.
35
36 * Makefile.in (REAL_MOUSE_SUPPORT): New constant.
37 (GPM_MOUSE_SUPPORT): Now it's a constant.
38 (MOUSE_SUPPORT, TOOLTIP_SUPPORT, WINDOW_SUPPORT): Set with configure,
39 not cpp.
40
41 * Makefile.in (@NS_IMPL_GNUSTEP_INC@): Use in place of #ifdef.
42 (ns_appresdir): Remove, unused.
43
44 * Makefile.in (SHELL): Move outside cpp section.
45
46 * s/netbsd.h (AMPERSAND_FULL_NAME): Remove (defined in AH_BOTTOM).
47
482010-05-13 Glenn Morris <rgm@gnu.org>
49
50 * Makefile.in (FONT_DRIVERS): Place with other HAVE_X_WINDOWS stuff.
51 (TOOLTIP_SUPPORT): Place with other HAVE_WINDOW_SYSTEM stuff.
52
53 * Makefile.in (FONT_DRIVERS): If HAVE_X_WINDOWS is defined,
54 HAVE_WINDOW_SYSTEM must be too.
55
56 * Makefile.in (WINNT_SUPPORT): Remove, nt build does not use this file.
57 (lisp): Remove WINNT_SUPPORT.
58
59 * Makefile.in (OLDXMENU, LIBXMENU) [!HAVE_MENUS]:
60 Let configure set these variables (to empty) in this case as well.
61
62 * Makefile.in (LD_SWITCH_X_SITE): Define as a variable, not via cpp.
63 (LIBX_BASE): Use $LD_SWITCH_X_SITE.
64
65 * Makefile.in (C_SWITCH_X_SYSTEM, C_SWITCH_X_SITE, LIB_STANDARD)
66 (LIB_MATH, FONTCONFIG_CFLAGS, FONTCONFIG_LIBS, FREETYPE_CFLAGS)
67 (FREETYPE_LIBS, LIBOTF_CFLAGS, LIBOTF_LIBS, M17N_FLT_CFLAGS)
68 (M17N_FLT_LIBS, GNU_OBJC_CFLAGS, GNUSTEP_SYSTEM_LIBRARIES, LIBGPM)
69 (LIBRESOLV, UNEXEC_OBJ): For clarity, define variables to hold
70 the values output by configure.
71 (ALL_CFLAGS, obj, LIBES, temacs${EXEEXT}): Use the above variables.
72
732010-05-12 Glenn Morris <rgm@gnu.org>
74
75 * Makefile.in (YMF_PASS_LDFLAGS, LD, LINKER): Simplify the logic.
76 (LINKER_WAS_SPECIFIED): Remove.
77
78 * Makefile.in (LIB_GCC): Set using configure, not cpp.
79 (GNULIB_VAR) [!ORDINARY_LINK]: Always set to $LIB_GCC.
80 * m/arm.h (LIB_GCC) [GNU_LINUX]:
81 * s/cygwin.h (LIB_GCC):
82 * s/freebsd.h (LIB_GCC):
83 * s/gnu-linux.h (LIB_GCC):
84 * s/msdos.h (LIB_GCC):
85 * s/netbsd.h (LIB_GCC):
86 Move to configure.
87
882010-05-11 Karel Klic <kklic@redhat.com>
89
90 * ftfont.c: Fix incorrect parentheses of #if condition for
91 definining M17N_FLT_USE_NEW_FEATURE.
92
932010-05-11 Glenn Morris <rgm@gnu.org>
94
95 * Makefile.in (LIBS_SYSTEM) [MSDOS]: Do not reset.
96 * s/msdos.h (MSDOS_LIBS_SYSTEM): Remove.
97
982010-05-10 Eli Zaretskii <eliz@gnu.org>
99
100 * xdisp.c (init_iterator): Don't turn on bidi reordering in
101 unibyte buffers. See
102 http://lists.gnu.org/archive/html/emacs-devel/2010-05/msg00263.html.
103>>>>>>> MERGE-SOURCE
104
202010-05-10 Glenn Morris <rgm@gnu.org> 1052010-05-10 Glenn Morris <rgm@gnu.org>
21 106
22 * Makefile.in (LIBS_SYSTEM): Set using configure, not cpp. 107 * Makefile.in (LIBS_SYSTEM): Set using configure, not cpp.
@@ -750,7 +835,7 @@
750 (Frename_file): Preserve selinux context when renaming by copy-file. 835 (Frename_file): Preserve selinux context when renaming by copy-file.
751 836
7522010-04-21 Juanma Barranquero <lekktu@gmail.com> 8372010-04-21 Juanma Barranquero <lekktu@gmail.com>
753 Eli Zaretskii <eliz@gnu.org> 838 Eli Zaretskii <eliz@gnu.org>
754 839
755 Don't depend on cm.c or termcap.c on Windows, use stubs. 840 Don't depend on cm.c or termcap.c on Windows, use stubs.
756 * makefile.w32-in (OBJ1): Remove cm.$(O) and termcap.$(O). 841 * makefile.w32-in (OBJ1): Remove cm.$(O) and termcap.$(O).
@@ -8941,7 +9026,7 @@
8941 <after-change-functions>: Reflow docstrings. 9026 <after-change-functions>: Reflow docstrings.
8942 9027
89432008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com> 90282008-08-04 Adrian Robert <Adrian.B.Robert@gmail.com>
8944 Ken Raeburn <raeburn@gnu.org> 9029 Ken Raeburn <raeburn@gnu.org>
8945 9030
8946 Dock menu customization, based on a patch by Ken Raeburn, plus some 9031 Dock menu customization, based on a patch by Ken Raeburn, plus some
8947 other fixes. 9032 other fixes.
@@ -10006,7 +10091,7 @@
10006 batch-compiling for bootstrap). 10091 batch-compiling for bootstrap).
10007 10092
100082008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change) 100932008-07-15 Chris Hall <chris@web.workinglinux.com> (tiny change)
10009 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> 10094 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
10010 10095
10011 (make_initial_frame): Call init_frame_faces(f) in CANNOT_DUMP case -- 10096 (make_initial_frame): Call init_frame_faces(f) in CANNOT_DUMP case --
10012 fix crash due to different init order. 10097 fix crash due to different init order.
@@ -10624,7 +10709,7 @@
10624 (USG_SHARED_LIBRARIES): Remove duplicate definition. 10709 (USG_SHARED_LIBRARIES): Remove duplicate definition.
10625 10710
106262008-06-26 Juanma Barranquero <lekktu@gmail.com> 107112008-06-26 Juanma Barranquero <lekktu@gmail.com>
10627 Eli Zaretskii <eliz@gnu.org> 10712 Eli Zaretskii <eliz@gnu.org>
10628 10713
10629 * makefile.w32-in (LOCAL_FLAGS): 10714 * makefile.w32-in (LOCAL_FLAGS):
10630 Don't include WINDOWSNT, DOS_NT and _UCHAR_T. 10715 Don't include WINDOWSNT, DOS_NT and _UCHAR_T.
@@ -10872,7 +10957,7 @@
10872 the property of LFACE_FONT of LFACE (if any). 10957 the property of LFACE_FONT of LFACE (if any).
10873 10958
108742008-06-21 Seiji Zenitani <zenitani@mac.com> 109592008-06-21 Seiji Zenitani <zenitani@mac.com>
10875 Ryo Yoshitake <ryo@shiftmode.net> 10960 Ryo Yoshitake <ryo@shiftmode.net>
10876 10961
10877 * xterm.c (x_set_frame_alpha): Add x_catch_errors for bug#437. 10962 * xterm.c (x_set_frame_alpha): Add x_catch_errors for bug#437.
10878 10963
@@ -11968,7 +12053,7 @@
11968 * xterm.c (x_set_frame_alpha): Move declarations before statements. 12053 * xterm.c (x_set_frame_alpha): Move declarations before statements.
11969 12054
119702008-05-21 Seiji Zenitani <zenitani@mac.com> 120552008-05-21 Seiji Zenitani <zenitani@mac.com>
11971 Ryo Yoshitake <ryo@shiftmode.net> 12056 Ryo Yoshitake <ryo@shiftmode.net>
11972 12057
11973 * frame.c (Qalpha): Add a new frame parameter `alpha'. 12058 * frame.c (Qalpha): Add a new frame parameter `alpha'.
11974 (Vframe_alpha_lower_limit): New variable. 12059 (Vframe_alpha_lower_limit): New variable.
diff --git a/src/ChangeLog.1 b/src/ChangeLog.1
index 921123f236a..8b4a9afbc6c 100644
--- a/src/ChangeLog.1
+++ b/src/ChangeLog.1
@@ -1187,7 +1187,7 @@
1187 prompt. 1187 prompt.
1188 (various): Pass window being displayed as arg to vmotion. 1188 (various): Pass window being displayed as arg to vmotion.
1189 (various): Compute starting-hpos arg to compute_motion 1189 (various): Compute starting-hpos arg to compute_motion
1190 using minibuf_prompt_width if in minibuf starting at top. 1190 using minibuf_prompt_width if in minibuf starting at top.
1191 1191
1192 * window.c (Fdisplay_buffer & callers): 1192 * window.c (Fdisplay_buffer & callers):
1193 Take second arg, non-nil means do not use selected window 1193 Take second arg, non-nil means do not use selected window
@@ -1645,8 +1645,8 @@
1645 Use signal, not sigset, since we simulate signal on 1645 Use signal, not sigset, since we simulate signal on
1646 all system versions when nec. 1646 all system versions when nec.
1647 1647
1648 * buffer.c (syms_of_buffer, init_buffer_once, 1648 * buffer.c (syms_of_buffer, init_buffer_once)
1649 reset_buffer_local_variables): 1649 (reset_buffer_local_variables):
1650 Define default-abbrev-mode, and init new buffers' abbrev-mode 1650 Define default-abbrev-mode, and init new buffers' abbrev-mode
1651 from it. Move definition of abbrev-mode here from abbrev.c. 1651 from it. Move definition of abbrev-mode here from abbrev.c.
1652 1652
@@ -2861,7 +2861,7 @@
2861 * keymap.c, callint.c, minibuf.c, fns.c, commands.h: 2861 * keymap.c, callint.c, minibuf.c, fns.c, commands.h:
2862 Rename MinbufLocalMap to Vminibuffer_local_map, etc. 2862 Rename MinbufLocalMap to Vminibuffer_local_map, etc.
2863 Rename minibuf-local-{,-ns,-completion,must-match}map, 2863 Rename minibuf-local-{,-ns,-completion,must-match}map,
2864 and DefLispVar them (document even!). 2864 and DefLispVar them (document even!).
2865 => New lisp variables minibuffer-local-map, minibuffer-local-ns-map, 2865 => New lisp variables minibuffer-local-map, minibuffer-local-ns-map,
2866 minibuffer-local-completion-map, minibuffer-local-must-match-map. 2866 minibuffer-local-completion-map, minibuffer-local-must-match-map.
2867 2867
diff --git a/src/ChangeLog.2 b/src/ChangeLog.2
index 265cc95e60d..7313f56ae8e 100644
--- a/src/ChangeLog.2
+++ b/src/ChangeLog.2
@@ -984,7 +984,7 @@
9841988-01-06 Richard Stallman (rms@frosted-flakes) 9841988-01-06 Richard Stallman (rms@frosted-flakes)
985 985
986 * s-hpux.h: Don't define nomultiplejobs, LDAV_SYMBOL, LIBS_DEBUG 986 * s-hpux.h: Don't define nomultiplejobs, LDAV_SYMBOL, LIBS_DEBUG
987 or BROKEN_FIONREAD. 987 or BROKEN_FIONREAD.
988 * m-hp9000s300.h: Define those four. 988 * m-hp9000s300.h: Define those four.
989 * s-hpux.h: Define BSTRING, and define bcopy, etc., as macros. 989 * s-hpux.h: Define BSTRING, and define bcopy, etc., as macros.
990 990
@@ -2817,7 +2817,7 @@
28171986-11-26 Richard M. Stallman (rms@prep) 28171986-11-26 Richard M. Stallman (rms@prep)
2818 2818
2819 * sysdep.c (get_system_name): 2819 * sysdep.c (get_system_name):
2820 Eliminate internal static var in USG case. 2820 Eliminate internal static var in USG case.
2821 2821
2822 * lisp.h: New case testing and conversion macros 2822 * lisp.h: New case testing and conversion macros
2823 UPPERCASEP, LOWERCASEP, NOCASEP, UPCASE, DOWNCASE. 2823 UPPERCASEP, LOWERCASEP, NOCASEP, UPCASE, DOWNCASE.
@@ -3852,7 +3852,7 @@
3852 (so now (let ((case-fold-search t))) doesn't force buffer-localness) 3852 (so now (let ((case-fold-search t))) doesn't force buffer-localness)
3853 However, setting a binding will still make it buffer-local. 3853 However, setting a binding will still make it buffer-local.
3854 (ie (let ((case-fold-search t)) (setq case-fold-search t)) 3854 (ie (let ((case-fold-search t)) (setq case-fold-search t))
3855 will cause case-fold-search be buffer-local even outside the let) 3855 will cause case-fold-search be buffer-local even outside the let)
3856 3856
3857 * xfns.c: 3857 * xfns.c:
3858 Preserve studlycaps: "Gnuemacs" => "GNU Emacs" 3858 Preserve studlycaps: "Gnuemacs" => "GNU Emacs"
@@ -4452,16 +4452,16 @@
4452 * search.c (Freplace_match): Delete unused some_multiletter_word init. 4452 * search.c (Freplace_match): Delete unused some_multiletter_word init.
4453 * alloc.c (gc_sweep): Delete unused next initializers. 4453 * alloc.c (gc_sweep): Delete unused next initializers.
4454 * fns.c (concat): After error on non-int elt for string, 4454 * fns.c (concat): After error on non-int elt for string,
4455 do store the new value from the error handler. 4455 do store the new value from the error handler.
4456 * lread.c (read1): Comment out unused end =. 4456 * lread.c (read1): Comment out unused end =.
4457 * lread.c (read_list): Delete unused tail =. 4457 * lread.c (read_list): Delete unused tail =.
4458 * data.c (Fmake_variable_buffer_local): 4458 * data.c (Fmake_variable_buffer_local):
4459 If value type is Lisp_Some_Buffer_Local_Value, 4459 If value type is Lisp_Some_Buffer_Local_Value,
4460 change it to Lisp_Buffer_Local_Value permanently. 4460 change it to Lisp_Buffer_Local_Value permanently.
4461 * undo.c (record_block): Delete unused cp =. 4461 * undo.c (record_block): Delete unused cp =.
4462 Don't bother reallocing if n = 0 after first batch. 4462 Don't bother reallocing if n = 0 after first batch.
4463 * fileio.c (Fverify_visited_file_modtime): 4463 * fileio.c (Fverify_visited_file_modtime):
4464 If CHECK_BUFFER changes buf, use the changed value. 4464 If CHECK_BUFFER changes buf, use the changed value.
4465 4465
44661986-07-07 Richard M. Stallman (rms@prep) 44661986-07-07 Richard M. Stallman (rms@prep)
4467 4467
diff --git a/src/ChangeLog.3 b/src/ChangeLog.3
index fbe3f752aed..241019b51c7 100644
--- a/src/ChangeLog.3
+++ b/src/ChangeLog.3
@@ -14197,7 +14197,7 @@
141971989-12-14 Joseph Arceneaux (jla@spiff) 141971989-12-14 Joseph Arceneaux (jla@spiff)
14198 14198
14199 * xfns.c: New variable Vx_no_window_manager. 14199 * xfns.c: New variable Vx_no_window_manager.
14200 (Fx_track_pointer): If bufp < 0, abort. 14200 (Fx_track_pointer): If bufp < 0, abort.
14201 14201
14202 * xterm.c (XTread_socket): When leaving window, set x_mouse_x and 14202 * xterm.c (XTread_socket): When leaving window, set x_mouse_x and
14203 x_mouse_y to -1. 14203 x_mouse_y to -1.
diff --git a/src/ChangeLog.4 b/src/ChangeLog.4
index 4f5d0b29e4c..c853ad7b4a6 100644
--- a/src/ChangeLog.4
+++ b/src/ChangeLog.4
@@ -4411,7 +4411,7 @@
4411 4411
4412 * keyboard.c (read_key_sequence): Don't declare first_event; it is 4412 * keyboard.c (read_key_sequence): Don't declare first_event; it is
4413 no longer used. Change "#if 0" for first_event reading to 4413 no longer used. Change "#if 0" for first_event reading to
4414 "#if defined (GOBBLE_FIRST_EVENT)". 4414 "#if defined (GOBBLE_FIRST_EVENT)".
4415 4415
44161993-10-03 Brian J. Fox (bfox@ai.mit.edu) 44161993-10-03 Brian J. Fox (bfox@ai.mit.edu)
4417 4417
diff --git a/src/ChangeLog.5 b/src/ChangeLog.5
index d30bd1bdb00..e4991971461 100644
--- a/src/ChangeLog.5
+++ b/src/ChangeLog.5
@@ -6107,7 +6107,7 @@
6107 * fileio.c (Fmake_symbolic_link, Ffile_accessible_directory_p, 6107 * fileio.c (Fmake_symbolic_link, Ffile_accessible_directory_p,
6108 Finsert_file_contents, auto_save_error, Fwrite_region): Likewise. 6108 Finsert_file_contents, auto_save_error, Fwrite_region): Likewise.
6109 (Fcopy_file, build_annotations, Fdo_auto_save): Delete unused 6109 (Fcopy_file, build_annotations, Fdo_auto_save): Delete unused
6110 variables. 6110 variables.
6111 6111
61121994-08-23 Richard Stallman <rms@mole.gnu.ai.mit.edu> 61121994-08-23 Richard Stallman <rms@mole.gnu.ai.mit.edu>
6113 6113
diff --git a/src/ChangeLog.9 b/src/ChangeLog.9
index b161a21eb72..6e53a39ac93 100644
--- a/src/ChangeLog.9
+++ b/src/ChangeLog.9
@@ -3913,7 +3913,7 @@
39132001-01-05 Gerd Moellmann <gerd@gnu.org> 39132001-01-05 Gerd Moellmann <gerd@gnu.org>
3914 3914
3915 * sysdep.c: Don't prototype srandom; it takes an unsigned argument 3915 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
3916 on some systems, and an unsigned long on others, like FreeBSD 4.1. 3916 on some systems, and an unsigned long on others, like FreeBSD 4.1.
3917 3917
39182001-01-04 Gerd Moellmann <gerd@gnu.org> 39182001-01-04 Gerd Moellmann <gerd@gnu.org>
3919 3919
@@ -5161,9 +5161,9 @@
5161 `vertical-line', `mode-line' and `header-line' events. 5161 `vertical-line', `mode-line' and `header-line' events.
5162 5162
5163 * xdisp.c (try_window_id): Avoid starting to display in the middle 5163 * xdisp.c (try_window_id): Avoid starting to display in the middle
5164 of a character, a TAB for instance. This is easier than to set 5164 of a character, a TAB for instance. This is easier than to set
5165 up the iterator exactly, and it's not a frequent case, so the 5165 up the iterator exactly, and it's not a frequent case, so the
5166 additional effort wouldn't really pay off. 5166 additional effort wouldn't really pay off.
5167 5167
51682000-11-26 Andrew Choi <akochoi@i-cable.com> 51682000-11-26 Andrew Choi <akochoi@i-cable.com>
5169 5169
@@ -5196,9 +5196,9 @@
51962000-11-24 Gerd Moellmann <gerd@gnu.org> 51962000-11-24 Gerd Moellmann <gerd@gnu.org>
5197 5197
5198 * xdisp.c (init_from_display_pos): If POS says we're already after 5198 * xdisp.c (init_from_display_pos): If POS says we're already after
5199 an overlay string ending at POS, make sure to pop the iterator 5199 an overlay string ending at POS, make sure to pop the iterator
5200 because it will be in front of that overlay string. When POS is 5200 because it will be in front of that overlay string. When POS is
5201 ZV, we've thereby also ``processed'' overlay strings at ZV. 5201 ZV, we've thereby also ``processed'' overlay strings at ZV.
5202 5202
5203 * xfaces.c (lface_from_face_name): Function comment fix. 5203 * xfaces.c (lface_from_face_name): Function comment fix.
5204 5204
diff --git a/src/Makefile.in b/src/Makefile.in
index 69e37fb236a..3a0339a3f70 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -1,7 +1,7 @@
1# Makefile for GNU Emacs. 1# Makefile for GNU Emacs.
2# Copyright (C) 1985, 1987, 1988, 1993, 1994, 1995, 1999, 2000, 2001, 2002, 2# Copyright (C) 1985, 1987, 1988, 1993, 1994, 1995, 1999, 2000, 2001, 2002,
3# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 3# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
4# Free Software Foundation, Inc. 4# Free Software Foundation, Inc.
5 5
6# This file is part of GNU Emacs. 6# This file is part of GNU Emacs.
7 7
@@ -30,6 +30,7 @@
30# Some of the conditionals might be dead now. Finding them and 30# Some of the conditionals might be dead now. Finding them and
31# deleting them would be fine. 31# deleting them would be fine.
32 32
33SHELL = /bin/sh
33 34
34# Here are the things that we expect ../configure to edit. 35# Here are the things that we expect ../configure to edit.
35# We use $(srcdir) explicitly in dependencies so as not to depend on VPATH. 36# We use $(srcdir) explicitly in dependencies so as not to depend on VPATH.
@@ -72,25 +73,59 @@ CRT_DIR=@CRT_DIR@
72C_SWITCH_MACHINE=@C_SWITCH_MACHINE@ 73C_SWITCH_MACHINE=@C_SWITCH_MACHINE@
73## System-specific CFLAGS. 74## System-specific CFLAGS.
74C_SWITCH_SYSTEM=@C_SWITCH_SYSTEM@ 75C_SWITCH_SYSTEM=@C_SWITCH_SYSTEM@
76
77## Currently only set if NS_IMPL_GNUSTEP.
78## C_SWITCH_X_SITE may override this.
79C_SWITCH_X_SYSTEM=@C_SWITCH_X_SYSTEM@
80
81## Define C_SWITCH_X_SITE to contain any special flags your compiler
82## may need to deal with X Windows. For instance, if you've defined
83## HAVE_X_WINDOWS and your X include files aren't in a place that your
84## compiler can find on its own, you might want to add "-I/..." or
85## something similar. This is normally set by configure.
86## This is used before C_SWITCH_X_SYSTEM and may override it.
87C_SWITCH_X_SITE=@C_SWITCH_X_SITE@
88
89## Define LD_SWITCH_X_SITE to contain any special flags your loader
90## may need to deal with X Windows. For instance, if your X libraries
91## aren't in a place that your loader can find on its own, you might
92## want to add "-L/..." or something similar. Only used if
93## HAVE_X_WINDOWS.
94## FIXME? configure sets a value for this, but it has never been
95## substituted in this or any other Makefile. Cf C_SWITCH_X_SITE.
96LD_SWITCH_X_SITE=
97
75## This holds any special options for linking temacs only (ie, not 98## This holds any special options for linking temacs only (ie, not
76## used by configure). Not used elsewhere because it sometimes 99## used by configure). Not used elsewhere because it sometimes
77## contains options that have to do with using Emacs's crt0, 100## contains options that have to do with using Emacs's crt0,
78## which are only good with temacs. 101## which are only good with temacs.
79LD_SWITCH_SYSTEM_TEMACS=@LD_SWITCH_SYSTEM_TEMACS@ 102LD_SWITCH_SYSTEM_TEMACS=@LD_SWITCH_SYSTEM_TEMACS@
103
80## Next two must come before LD_SWITCH_SYSTEM. 104## Next two must come before LD_SWITCH_SYSTEM.
81## If needed, a -R option that says where to find X windows at run time. 105## If needed, a -R option that says where to find X windows at run time.
82LD_SWITCH_X_SITE_AUX=@LD_SWITCH_X_SITE_AUX@ 106LD_SWITCH_X_SITE_AUX=@LD_SWITCH_X_SITE_AUX@
83## As above, but using -rpath instead. 107## As above, but using -rpath instead.
84LD_SWITCH_X_SITE_AUX_RPATH=@LD_SWITCH_X_SITE_AUX_RPATH@ 108LD_SWITCH_X_SITE_AUX_RPATH=@LD_SWITCH_X_SITE_AUX_RPATH@
109
85## System-specific LDFLAGS. 110## System-specific LDFLAGS.
86LD_SWITCH_SYSTEM=@LD_SWITCH_SYSTEM@ 111LD_SWITCH_SYSTEM=@LD_SWITCH_SYSTEM@
87LD_SWITCH_SYSTEM_EXTRA=@LD_SWITCH_SYSTEM_EXTRA@ 112LD_SWITCH_SYSTEM_EXTRA=@LD_SWITCH_SYSTEM_EXTRA@
113
88## Flags to pass to ld only for temacs. 114## Flags to pass to ld only for temacs.
89TEMACS_LDFLAGS = $(LD_SWITCH_SYSTEM) $(LD_SWITCH_SYSTEM_EXTRA) $(LD_SWITCH_SYSTEM_TEMACS) 115TEMACS_LDFLAGS = $(LD_SWITCH_SYSTEM) $(LD_SWITCH_SYSTEM_EXTRA) $(LD_SWITCH_SYSTEM_TEMACS)
90 116
91## Some systems define this to request special libraries. 117## Some systems define this to request special libraries.
92LIBS_SYSTEM=@LIBS_SYSTEM@ 118LIBS_SYSTEM=@LIBS_SYSTEM@
93 119
120## Where to find libgcc.a, if using gcc and necessary.
121LIB_GCC=@LIB_GCC@
122
123## May use $CRT_DIR.
124LIB_STANDARD=@LIB_STANDARD@
125
126## -lm, or empty.
127LIB_MATH=@LIB_MATH@
128
94LIBTIFF=@LIBTIFF@ 129LIBTIFF=@LIBTIFF@
95LIBJPEG=@LIBJPEG@ 130LIBJPEG=@LIBJPEG@
96LIBPNG=@LIBPNG@ 131LIBPNG=@LIBPNG@
@@ -99,6 +134,15 @@ LIBXPM=@LIBXPM@
99XFT_LIBS=@XFT_LIBS@ 134XFT_LIBS=@XFT_LIBS@
100LIBX_EXTRA=$(LIBTIFF) $(LIBJPEG) $(LIBPNG) $(LIBGIF) $(LIBXPM) -lX11 $(XFT_LIBS) 135LIBX_EXTRA=$(LIBTIFF) $(LIBJPEG) $(LIBPNG) $(LIBGIF) $(LIBXPM) -lX11 $(XFT_LIBS)
101 136
137FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@
138FONTCONFIG_LIBS = @FONTCONFIG_LIBS@
139FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
140FREETYPE_LIBS = @FREETYPE_LIBS@
141LIBOTF_CFLAGS = @LIBOTF_CFLAGS@
142LIBOTF_LIBS = @LIBOTF_LIBS@
143M17N_FLT_CFLAGS = @M17N_FLT_CFLAGS@
144M17N_FLT_LIBS = @M17N_FLT_LIBS@
145
102DBUS_CFLAGS = @DBUS_CFLAGS@ 146DBUS_CFLAGS = @DBUS_CFLAGS@
103DBUS_LIBS = @DBUS_LIBS@ 147DBUS_LIBS = @DBUS_LIBS@
104DBUS_OBJ = @DBUS_OBJ@ 148DBUS_OBJ = @DBUS_OBJ@
@@ -140,15 +184,36 @@ WIDGET_OBJ=@WIDGET_OBJ@
140## sheap.o if CYGWIN, otherwise empty. 184## sheap.o if CYGWIN, otherwise empty.
141CYGWIN_OBJ=@CYGWIN_OBJ@ 185CYGWIN_OBJ=@CYGWIN_OBJ@
142 186
187## dosfns.o msdos.o if MSDOS.
188MSDOS_OBJ =
189## w16select.o termcap.o if MSDOS && HAVE_X_WINDOWS.
190MSDOS_X_OBJ =
191MSDOS_SUPPORT_REAL = ${lispsource}ls-lisp.elc ${lispsource}disp-table.elc \
192 ${lispsource}dos-fns.elc ${lispsource}dos-w32.elc ${lispsource}dos-vars.elc \
193 ${lispsource}term/internal.elc ${lispsource}term/pc-win.elc
194## $MSDOS_SUPPORT_REAL if MSDOS.
195MSDOS_SUPPORT =
196
143NS_OBJ=@NS_OBJ@ 197NS_OBJ=@NS_OBJ@
144NS_SUPPORT=@NS_SUPPORT@ 198NS_SUPPORT=@NS_SUPPORT@
199## Next two only set if NS_IMPL_GNUSTEP.
200GNU_OBJC_CFLAGS=@GNU_OBJC_CFLAGS@
201GNUSTEP_SYSTEM_LIBRARIES=@GNUSTEP_SYSTEM_LIBRARIES@
145 202
146## Only used if HAVE_X_WINDOWS and HAVE_WINDOW_SYSTEM. 203## Only used if HAVE_X_WINDOWS.
147FONT_OBJ=@FONT_OBJ@ 204FONT_OBJ=@FONT_OBJ@
148 205
149## ${lispsource}mouse.elc if HAVE_GPM, otherwise empty. 206## Used if HAVE_MOUSE.
150## Not used if HAVE_MOUSE. 207REAL_MOUSE_SUPPORT=${lispsource}mouse.elc ${lispsource}select.elc \
151GPM_MOUSE_SUPPORT=@GPM_MOUSE_SUPPORT@ 208 ${lispsource}scroll-bar.elc
209## Used if HAVE_GPM && !HAVE_MOUSE
210GPM_MOUSE_SUPPORT=${lispsource}mouse.elc
211LIBGPM = @LIBGPM@
212## Either of the two preceding options, or empty.
213MOUSE_SUPPORT=@MOUSE_SUPPORT@
214
215## ${lispsource}tooltip.elc if HAVE_WINDOW_SYSTEM, else empty.
216TOOLTIP_SUPPORT=@TOOLTIP_SUPPORT@
152 217
153BASE_WINDOW_SUPPORT=${lispsource}fringe.elc ${lispsource}image.elc \ 218BASE_WINDOW_SUPPORT=${lispsource}fringe.elc ${lispsource}image.elc \
154 ${lispsource}international/fontset.elc ${lispsource}dnd.elc \ 219 ${lispsource}international/fontset.elc ${lispsource}dnd.elc \
@@ -157,6 +222,13 @@ BASE_WINDOW_SUPPORT=${lispsource}fringe.elc ${lispsource}image.elc \
157X_WINDOW_SUPPORT=${lispsource}x-dnd.elc ${lispsource}term/common-win.elc \ 222X_WINDOW_SUPPORT=${lispsource}x-dnd.elc ${lispsource}term/common-win.elc \
158 ${lispsource}term/x-win.elc ${lispsource}dynamic-setting.elc 223 ${lispsource}term/x-win.elc ${lispsource}dynamic-setting.elc
159 224
225## If HAVE_X_WINDOWS, both the above
226## else if HAVE_WINDOW_SYSTEM (ie, HAVE_NS) just the former; else empty.
227WINDOW_SUPPORT=@WINDOW_SUPPORT@
228
229## -lresolv, or empty.
230LIBRESOLV = @LIBRESOLV@
231
160LIBSELINUX_LIBS = @LIBSELINUX_LIBS@ 232LIBSELINUX_LIBS = @LIBSELINUX_LIBS@
161 233
162INTERVALS_H = dispextern.h intervals.h composite.h 234INTERVALS_H = dispextern.h intervals.h composite.h
@@ -167,12 +239,11 @@ RUN_TEMACS = `/bin/pwd`/temacs
167 239
168START_FILES = @START_FILES@ 240START_FILES = @START_FILES@
169 241
242UNEXEC_OBJ = @unexec@
243
170# ========================== start of cpp stuff ======================= 244# ========================== start of cpp stuff =======================
171/* From here on, comments must be done in C syntax. */ 245/* From here on, comments must be done in C syntax. */
172 246
173/* just to be sure the sh is used */
174SHELL=/bin/sh
175
176#define NOT_C_CODE 247#define NOT_C_CODE
177#include "config.h" 248#include "config.h"
178 249
@@ -180,42 +251,13 @@ SHELL=/bin/sh
180DEPFLAGS = -MMD -MF deps/$*.d 251DEPFLAGS = -MMD -MF deps/$*.d
181#endif 252#endif
182 253
183/* Do not let the file name mktime.c get messed up. */ 254/* If NS_IMPL_GNUSTEP, some definitions and includes are expanded here. */
184#ifdef mktime 255@NS_IMPL_GNUSTEP_INC@
185#undef mktime
186#endif
187
188/* Use HAVE_X11 as an alias for X11 in this file
189 to avoid problems with X11 as a subdirectory name
190 in -I and other such options which pass through this file. */
191
192#ifdef X11
193#define HAVE_X11
194#undef X11
195#endif
196
197/* On some machines #define register is done in config;
198 do not let it interfere with this file. */
199#undef register
200
201/* This macro is for switches specifically related to X Windows. */
202#ifndef LD_SWITCH_X_SITE
203#define LD_SWITCH_X_SITE
204#endif
205
206#ifdef NS_IMPL_GNUSTEP
207/* Pull in stuff from GNUstep-make. */
208FOUNDATION_LIB=gnu
209GUI_LIB=gnu
210include @GNUSTEP_MAKEFILES@/Additional/base.make
211include @GNUSTEP_MAKEFILES@/Additional/gui.make
212shared=no
213#endif
214 256
215/* DO NOT use -R. There is a special hack described in lastfile.c 257/* DO NOT use -R. There is a special hack described in lastfile.c
216 which is used instead. Some initialized data areas are modified 258 which is used instead. Some initialized data areas are modified
217 at initial startup, then labeled as part of the text area when 259 at initial startup, then labeled as part of the text area when
218 Emacs is dumped for the first time, and never changed again. */ 260 Emacs is dumped for the first time, and never changed again. */
219 261
220/* -Demacs is needed to make some files produce the correct version 262/* -Demacs is needed to make some files produce the correct version
221 for use in Emacs. 263 for use in Emacs.
@@ -224,10 +266,10 @@ shared=no
224 the information in ``config.h''. */ 266 the information in ``config.h''. */
225 267
226/* C_SWITCH_X_SITE must come before C_SWITCH_X_SYSTEM 268/* C_SWITCH_X_SITE must come before C_SWITCH_X_SYSTEM
227 since it may have -I options that should override those two. */ 269 since it may have -I options that should override those. */
228/* MYCPPFLAGS only referenced in etc/DEBUG. */ 270/* MYCPPFLAGS only referenced in etc/DEBUG. */
229ALL_CFLAGS=-Demacs -DHAVE_CONFIG_H $(MYCPPFLAGS) -I. -I${srcdir} ${C_SWITCH_MACHINE} ${C_SWITCH_SYSTEM} @C_SWITCH_X_SITE@ @C_SWITCH_X_SYSTEM@ ${CFLAGS_SOUND} ${RSVG_CFLAGS} ${DBUS_CFLAGS} ${GCONF_CFLAGS} ${CFLAGS} @FREETYPE_CFLAGS@ @FONTCONFIG_CFLAGS@ @LIBOTF_CFLAGS@ @M17N_FLT_CFLAGS@ ${DEPFLAGS} 271ALL_CFLAGS=-Demacs -DHAVE_CONFIG_H $(MYCPPFLAGS) -I. -I${srcdir} ${C_SWITCH_MACHINE} ${C_SWITCH_SYSTEM} ${C_SWITCH_X_SITE} ${C_SWITCH_X_SYSTEM} ${CFLAGS_SOUND} ${RSVG_CFLAGS} ${DBUS_CFLAGS} ${GCONF_CFLAGS} ${CFLAGS} ${FREETYPE_CFLAGS} ${FONTCONFIG_CFLAGS} ${LIBOTF_CFLAGS} ${M17N_FLT_CFLAGS} ${DEPFLAGS}
230ALL_OBJC_CFLAGS=$(ALL_CFLAGS) @GNU_OBJC_CFLAGS@ 272ALL_OBJC_CFLAGS=$(ALL_CFLAGS) $(GNU_OBJC_CFLAGS)
231 273
232.SUFFIXES: .m 274.SUFFIXES: .m
233.c.o: 275.c.o:
@@ -242,29 +284,30 @@ ALL_OBJC_CFLAGS=$(ALL_CFLAGS) @GNU_OBJC_CFLAGS@
242 $(CC) -c $(CPPFLAGS) $(ALL_OBJC_CFLAGS) $< 284 $(CC) -c $(CPPFLAGS) $(ALL_OBJC_CFLAGS) $<
243 285
244#ifdef HAVE_X_WINDOWS 286#ifdef HAVE_X_WINDOWS
245/* This test needs to say in cpp for the time being, since s/msdos.h
246 defines HAVE_MENUS, and does not use the configure script. */
247#ifdef HAVE_MENUS
248OLDXMENU=@OLDXMENU@ 287OLDXMENU=@OLDXMENU@
249LIBXMENU=@LIBXMENU@ 288LIBXMENU=@LIBXMENU@
250#else /* not HAVE_MENUS */
251OLDXMENU=
252LIBXMENU=
253#endif /* not HAVE_MENUS */
254
255LIBXT=$(TOOLKIT_LIBW) $(LIBXT_OTHER) 289LIBXT=$(TOOLKIT_LIBW) $(LIBXT_OTHER)
256LIBX_BASE=$(LIBXMENU) LD_SWITCH_X_SITE 290LIBX_BASE=$(LIBXMENU) $(LD_SWITCH_X_SITE)
257LIBX_OTHER=@LIBX_OTHER@ 291LIBX_OTHER=@LIBX_OTHER@
258#endif /* not HAVE_X_WINDOWS */ 292FONT_DRIVERS=$(FONT_OBJ)
293#endif /* HAVE_X_WINDOWS */
259 294
260#ifndef ORDINARY_LINK
261/* Fix linking if compiled with GCC. */
262#ifdef __GNUC__
263 295
264#ifdef LINKER 296/* A macro which other sections of Makefile can redefine to munge the
265#define LINKER_WAS_SPECIFIED 297 flags before they are passed to LD. This is helpful if you have
266#endif 298 redefined LD to something odd, like "gcc".
299 (The YMF prefix is a holdover from the old name "ymakefile".) */
300#define YMF_PASS_LDFLAGS(flags) flags
301
302
303#ifdef ORDINARY_LINK
304LD = $(CC)
267 305
306#else /* not ORDINARY_LINK */
307GNULIB_VAR = $(LIB_GCC)
308
309/* Fix linking if compiled with GCC. */
310#if defined (__GNUC__) && ! defined (LINKER)
268/* Versions of GCC >= 2.0 put their library, libgcc.a, in obscure 311/* Versions of GCC >= 2.0 put their library, libgcc.a, in obscure
269 places that are difficult to figure out at make time. Fortunately, 312 places that are difficult to figure out at make time. Fortunately,
270 these same versions allow you to pass arbitrary flags on to the 313 these same versions allow you to pass arbitrary flags on to the
@@ -273,78 +316,31 @@ LIBX_OTHER=@LIBX_OTHER@
273 Well, it is not quite perfect. The "-nostdlib" keeps GCC from 316 Well, it is not quite perfect. The "-nostdlib" keeps GCC from
274 searching for libraries in its internal directories, so we have to 317 searching for libraries in its internal directories, so we have to
275 ask GCC explicitly where to find libgcc.a. */ 318 ask GCC explicitly where to find libgcc.a. */
276
277#ifndef LINKER
278#define LINKER $(CC) -nostdlib 319#define LINKER $(CC) -nostdlib
279#endif 320/* GCC passes any argument prefixed with -Xlinker directly to the linker.
280 321 See prefix-args.c for an explanation of why we do not do this with the
281#ifndef LIB_GCC 322 shell''s ``for'' construct. Note that sane people do not have '.' in
282/* Ask GCC where to find libgcc.a. */ 323 their paths, so we must use ./prefix-args. */
283#define LIB_GCC `$(CC) -print-libgcc-file-name` 324#undef YMF_PASS_LDFLAGS
284#endif /* not LIB_GCC */
285
286GNULIB_VAR = LIB_GCC
287
288#ifndef LINKER_WAS_SPECIFIED
289/* GCC passes any argument prefixed with -Xlinker directly to the
290 linker. See prefix-args.c for an explanation of why we do not do
291 this with the shell''s ``for'' construct.
292 Note that some people do not have '.' in their paths, so we must
293 use ./prefix-args. */
294#define YMF_PASS_LDFLAGS(flags) `./prefix-args -Xlinker flags` 325#define YMF_PASS_LDFLAGS(flags) `./prefix-args -Xlinker flags`
295#else 326#endif /* defined (__GNUC__) && ! defined (LINKER) */
296#define YMF_PASS_LDFLAGS(flags) flags
297#endif
298
299#else /* not __GNUC__ */
300GNULIB_VAR =
301
302#endif /* not __GNUC__ */
303#endif /* not ORDINARY_LINK */
304 327
305#ifdef ORDINARY_LINK
306LD = $(CC)
307#else
308#ifdef LINKER 328#ifdef LINKER
309LD=LINKER 329LD=LINKER
310#else /* not LINKER */ 330#else /* not LINKER */
311LD=ld 331LD=ld
312#endif /* not LINKER */ 332#endif /* not LINKER */
313#endif /* not ORDINARY_LINK */
314
315/* A macro which other sections of Makefile can redefine to munge the
316 flags before they are passed to LD. This is helpful if you have
317 redefined LD to something odd, like "gcc".
318 (The YMF prefix is a holdover from the old name "ymakefile".)
319 */
320#ifndef YMF_PASS_LDFLAGS
321#define YMF_PASS_LDFLAGS(flags) flags
322#endif
323 333
324#ifdef MSDOS 334#endif /* not ORDINARY_LINK */
325LIBS_SYSTEM = MSDOS_LIBS_SYSTEM
326#ifdef HAVE_X_WINDOWS
327MSDOS_OBJ = dosfns.o msdos.o
328#else
329MSDOS_OBJ = dosfns.o msdos.o w16select.o termcap.o
330#endif
331#endif
332 335
333#ifdef HAVE_NS 336#ifdef HAVE_NS
334ns_appdir=@ns_appdir@/ 337ns_appdir=@ns_appdir@/
335ns_appbindir=@ns_appbindir@/ 338ns_appbindir=@ns_appbindir@/
336ns_appresdir=@ns_appresdir@/
337ns_appsrc=@ns_appsrc@ 339ns_appsrc=@ns_appsrc@
338#endif /* HAVE_NS */ 340#endif /* HAVE_NS */
339 341
340#ifdef HAVE_WINDOW_SYSTEM 342/* lastfile must follow all files whose initialized data areas should
341#ifdef HAVE_X_WINDOWS 343 be dumped as pure by dump-emacs. */
342FONT_DRIVERS=$(FONT_OBJ)
343#endif /* HAVE_X_WINDOWS */
344#endif /* HAVE_WINDOW_SYSTEM */
345
346/* lastfile must follow all files
347 whose initialized data areas should be dumped as pure by dump-emacs. */
348obj= dispnew.o frame.o scroll.o xdisp.o menu.o $(XMENU_OBJ) window.o \ 344obj= dispnew.o frame.o scroll.o xdisp.o menu.o $(XMENU_OBJ) window.o \
349 charset.o coding.o category.o ccl.o character.o chartab.o bidi.o \ 345 charset.o coding.o category.o ccl.o character.o chartab.o bidi.o \
350 cm.o term.o terminal.o xfaces.o $(XOBJ) $(GTK_OBJ) $(DBUS_OBJ) \ 346 cm.o term.o terminal.o xfaces.o $(XOBJ) $(GTK_OBJ) $(DBUS_OBJ) \
@@ -354,15 +350,14 @@ obj= dispnew.o frame.o scroll.o xdisp.o menu.o $(XMENU_OBJ) window.o \
354 cmds.o casetab.o casefiddle.o indent.o search.o regex.o undo.o \ 350 cmds.o casetab.o casefiddle.o indent.o search.o regex.o undo.o \
355 alloc.o data.o doc.o editfns.o callint.o \ 351 alloc.o data.o doc.o editfns.o callint.o \
356 eval.o floatfns.o fns.o font.o print.o lread.o \ 352 eval.o floatfns.o fns.o font.o print.o lread.o \
357 syntax.o @unexec@ bytecode.o \ 353 syntax.o $(UNEXEC_OBJ) bytecode.o \
358 process.o callproc.o \ 354 process.o callproc.o \
359 region-cache.o sound.o atimer.o \ 355 region-cache.o sound.o atimer.o \
360 doprnt.o strftime.o intervals.o textprop.o composite.o md5.o \ 356 doprnt.o strftime.o intervals.o textprop.o composite.o md5.o \
361 $(MSDOS_OBJ) $(NS_OBJ) $(CYGWIN_OBJ) $(FONT_DRIVERS) 357 $(MSDOS_OBJ) $(MSDOS_X_OBJ) $(NS_OBJ) $(CYGWIN_OBJ) $(FONT_DRIVERS)
362 358
363/* Object files used on some machine or other. 359/* Object files used on some machine or other.
364 These go in the DOC file on all machines 360 These go in the DOC file on all machines in case they are needed. */
365 in case they are needed there. */
366SOME_MACHINE_OBJECTS = dosfns.o msdos.o \ 361SOME_MACHINE_OBJECTS = dosfns.o msdos.o \
367 xterm.o xfns.o xmenu.o xselect.o xrdb.o xsmfns.o fringe.o image.o \ 362 xterm.o xfns.o xmenu.o xselect.o xrdb.o xsmfns.o fringe.o image.o \
368 fontset.o dbusbind.o \ 363 fontset.o dbusbind.o \
@@ -394,47 +389,6 @@ POST_ALLOC_OBJ=@POST_ALLOC_OBJ@
394otherobj= $(TERMCAP_OBJ) $(PRE_ALLOC_OBJ) $(gmallocobj) $(rallocobj) \ 389otherobj= $(TERMCAP_OBJ) $(PRE_ALLOC_OBJ) $(gmallocobj) $(rallocobj) \
395 $(POST_ALLOC_OBJ) $(WIDGET_OBJ) $(LIBOBJS) 390 $(POST_ALLOC_OBJ) $(WIDGET_OBJ) $(LIBOBJS)
396 391
397#ifdef HAVE_MOUSE
398#define MOUSE_SUPPORT ${lispsource}mouse.elc \
399 ${lispsource}select.elc ${lispsource}scroll-bar.elc
400#else
401#define MOUSE_SUPPORT $(GPM_MOUSE_SUPPORT)
402#endif
403
404#ifdef MSDOS
405#define MSDOS_SUPPORT ${lispsource}ls-lisp.elc ${lispsource}disp-table.elc \
406 ${lispsource}dos-fns.elc ${lispsource}dos-w32.elc ${lispsource}dos-vars.elc \
407 ${lispsource}term/internal.elc ${lispsource}term/pc-win.elc
408
409#else
410#define MSDOS_SUPPORT
411#endif
412
413#ifdef HAVE_WINDOW_SYSTEM
414#ifdef HAVE_X_WINDOWS
415#define WINDOW_SUPPORT $(BASE_WINDOW_SUPPORT) $(X_WINDOW_SUPPORT)
416#else
417#define WINDOW_SUPPORT $(BASE_WINDOW_SUPPORT)
418#endif
419#else
420#define WINDOW_SUPPORT
421#endif
422
423#ifdef WINDOWSNT
424#define WINNT_SUPPORT ${lispsource}ls-lisp.elc ${lispsource}disp-table.elc \
425 ${lispsource}dos-w32.elc ${lispsource}w32-vars.elc \
426 ${lispsource}w32-fns.elc ${lispsource}term/common-win.elc \
427 ${lispsource}term/w32-win.elc
428#else
429#define WINNT_SUPPORT
430#endif
431
432#ifdef HAVE_WINDOW_SYSTEM
433#define TOOLTIP_SUPPORT ${lispsource}tooltip.elc
434#else
435#define TOOLTIP_SUPPORT
436#endif
437
438/* This is the platform-specific list of Lisp files loaded into the 392/* This is the platform-specific list of Lisp files loaded into the
439 dumped Emacs. It is arranged like this because it is easier to generate 393 dumped Emacs. It is arranged like this because it is easier to generate
440 it semi-mechanically from loadup.el this way. 394 it semi-mechanically from loadup.el this way.
@@ -468,7 +422,7 @@ lisp= \
468 ${lispsource}files.elc \ 422 ${lispsource}files.elc \
469 ${lispsource}format.elc \ 423 ${lispsource}format.elc \
470 ${lispsource}facemenu.elc \ 424 ${lispsource}facemenu.elc \
471 MOUSE_SUPPORT \ 425 ${MOUSE_SUPPORT} \
472 ${lispsource}emacs-lisp/float-sup.elc \ 426 ${lispsource}emacs-lisp/float-sup.elc \
473 ${lispsource}frame.elc \ 427 ${lispsource}frame.elc \
474 ${lispsource}help.elc \ 428 ${lispsource}help.elc \
@@ -531,10 +485,9 @@ lisp= \
531 ${lispsource}vc-hooks.elc \ 485 ${lispsource}vc-hooks.elc \
532 ${lispsource}ediff-hook.elc \ 486 ${lispsource}ediff-hook.elc \
533 ${lispsource}epa-hook.elc \ 487 ${lispsource}epa-hook.elc \
534 TOOLTIP_SUPPORT \ 488 ${TOOLTIP_SUPPORT} \
535 MSDOS_SUPPORT \ 489 ${MSDOS_SUPPORT} \
536 WINNT_SUPPORT \ 490 ${WINDOW_SUPPORT} \
537 WINDOW_SUPPORT \
538 ${NS_SUPPORT} \ 491 ${NS_SUPPORT} \
539 ${lispsource}widget.elc \ 492 ${lispsource}widget.elc \
540 ${lispsource}window.elc \ 493 ${lispsource}window.elc \
@@ -654,10 +607,10 @@ SOME_MACHINE_LISP = ../lisp/mouse.elc \
654 with GCC, we might need gnulib again after them. */ 607 with GCC, we might need gnulib again after them. */
655 608
656LIBES = $(LOADLIBES) $(LIBS) $(LIBX_BASE) $(LIBX_OTHER) $(LIBSOUND) \ 609LIBES = $(LOADLIBES) $(LIBS) $(LIBX_BASE) $(LIBX_OTHER) $(LIBSOUND) \
657 $(RSVG_LIBS) $(DBUS_LIBS) @LIBGPM@ @LIBRESOLV@ $(LIBS_SYSTEM) \ 610 $(RSVG_LIBS) $(DBUS_LIBS) $(LIBGPM) $(LIBRESOLV) $(LIBS_SYSTEM) \
658 $(LIBS_TERMCAP) $(GETLOADAVG_LIBS) ${GCONF_LIBS} ${LIBSELINUX_LIBS} \ 611 $(LIBS_TERMCAP) $(GETLOADAVG_LIBS) ${GCONF_LIBS} ${LIBSELINUX_LIBS} \
659 @FREETYPE_LIBS@ @FONTCONFIG_LIBS@ @LIBOTF_LIBS@ @M17N_FLT_LIBS@ \ 612 $(FREETYPE_LIBS) $(FONTCONFIG_LIBS) $(LIBOTF_LIBS) $(M17N_FLT_LIBS) \
660 $(GNULIB_VAR) @LIB_MATH@ @LIB_STANDARD@ $(GNULIB_VAR) 613 $(GNULIB_VAR) $(LIB_MATH) $(LIB_STANDARD) $(GNULIB_VAR)
661 614
662all: emacs${EXEEXT} $(OTHER_FILES) 615all: emacs${EXEEXT} $(OTHER_FILES)
663 616
@@ -702,7 +655,7 @@ buildobj.h: Makefile
702temacs${EXEEXT}: $(LOCALCPP) $(START_FILES) stamp-oldxmenu ${obj} ${otherobj} prefix-args${EXEEXT} 655temacs${EXEEXT}: $(LOCALCPP) $(START_FILES) stamp-oldxmenu ${obj} ${otherobj} prefix-args${EXEEXT}
703#ifdef NS_IMPL_GNUSTEP 656#ifdef NS_IMPL_GNUSTEP
704 $(CC) -rdynamic YMF_PASS_LDFLAGS ( ${TEMACS_LDFLAGS} \ 657 $(CC) -rdynamic YMF_PASS_LDFLAGS ( ${TEMACS_LDFLAGS} \
705 -L@GNUSTEP_SYSTEM_LIBRARIES@ -lgnustep-gui -lgnustep-base \ 658 -L$(GNUSTEP_SYSTEM_LIBRARIES) -lgnustep-gui -lgnustep-base \
706 -lobjc $(CONFIG_SYSTEM_LIBS) -lpthread ) -o temacs \ 659 -lobjc $(CONFIG_SYSTEM_LIBS) -lpthread ) -o temacs \
707 ${obj} ${otherobj} ${LIBES} 660 ${obj} ${otherobj} ${LIBES}
708#else 661#else
@@ -716,9 +669,8 @@ prefix-args${EXEEXT}: prefix-args.o $(config_h)
716 669
717#if defined (HAVE_X_WINDOWS) && defined (HAVE_X11) && defined (HAVE_MENUS) && ! defined (USE_GTK) 670#if defined (HAVE_X_WINDOWS) && defined (HAVE_X11) && defined (HAVE_MENUS) && ! defined (USE_GTK)
718 671
719/* We use stamp-xmenu with these two deps 672/* We use stamp-xmenu with these two deps to both ensure that lwlib
720 to both ensure that lwlib gets remade based on its dependencies 673 gets remade based on its dependencies in its own makefile,
721 in its own makefile,
722 and remake temacs if lwlib gets changed by this. */ 674 and remake temacs if lwlib gets changed by this. */
723stamp-oldxmenu: ${OLDXMENU} ../src/$(OLDXMENU) 675stamp-oldxmenu: ${OLDXMENU} ../src/$(OLDXMENU)
724 touch stamp-oldxmenu 676 touch stamp-oldxmenu
@@ -772,6 +724,8 @@ doc.o: buildobj.h
772Eg callproc.c only depends on w32.h for WINDOWSNT builds. 724Eg callproc.c only depends on w32.h for WINDOWSNT builds.
773One way to fix this would be to replace w32.h (etc) by $(W32_H), 725One way to fix this would be to replace w32.h (etc) by $(W32_H),
774a variable set by configure. Does not seem worth the trouble. 726a variable set by configure. Does not seem worth the trouble.
727Since the w32 build does not even use this file, you might ask
728why these dependencies are here at all...
775 729
776nsgui.h: In fact, every .o file depends directly or indirectly on 730nsgui.h: In fact, every .o file depends directly or indirectly on
777dispextern.h and hence nsgui.h under NS. But the ones that actually 731dispextern.h and hence nsgui.h under NS. But the ones that actually
@@ -981,8 +935,8 @@ xsmfns.o: xsmfns.c lisp.h $(config_h) systime.h sysselect.h termhooks.h xterm.h
981xsettings.o: xterm.h xsettings.h lisp.h frame.h termhooks.h $(config_h) \ 935xsettings.o: xterm.h xsettings.h lisp.h frame.h termhooks.h $(config_h) \
982 dispextern.h keyboard.h systime.h coding.h composite.h blockinput.h atimer.h \ 936 dispextern.h keyboard.h systime.h coding.h composite.h blockinput.h atimer.h \
983 termopts.h 937 termopts.h
984/* The files of Lisp proper */
985 938
939/* The files of Lisp proper. */
986alloc.o: alloc.c process.h frame.h window.h buffer.h puresize.h syssignal.h \ 940alloc.o: alloc.c process.h frame.h window.h buffer.h puresize.h syssignal.h \
987 keyboard.h blockinput.h atimer.h systime.h character.h lisp.h $(config_h) \ 941 keyboard.h blockinput.h atimer.h systime.h character.h lisp.h $(config_h) \
988 $(INTERVALS_H) termhooks.h 942 $(INTERVALS_H) termhooks.h
@@ -1004,7 +958,7 @@ lread.o: lread.c commands.h keyboard.h buffer.h epaths.h character.h \
1004 charset.h lisp.h $(config_h) $(INTERVALS_H) termhooks.h coding.h msdos.h \ 958 charset.h lisp.h $(config_h) $(INTERVALS_H) termhooks.h coding.h msdos.h \
1005 systime.h frame.h blockinput.h atimer.h 959 systime.h frame.h blockinput.h atimer.h
1006 960
1007/* Text properties support */ 961/* Text properties support. */
1008composite.o: composite.c buffer.h character.h coding.h font.h ccl.h \ 962composite.o: composite.c buffer.h character.h coding.h font.h ccl.h \
1009 frame.h termhooks.h $(INTERVALS_H) window.h lisp.h $(config_h) 963 frame.h termhooks.h $(INTERVALS_H) window.h lisp.h $(config_h)
1010intervals.o: intervals.c buffer.h $(INTERVALS_H) keyboard.h puresize.h \ 964intervals.o: intervals.c buffer.h $(INTERVALS_H) keyboard.h puresize.h \
@@ -1015,8 +969,7 @@ textprop.o: textprop.c buffer.h window.h $(INTERVALS_H) \
1015#endif /* ! AUTO_DEPEND */ 969#endif /* ! AUTO_DEPEND */
1016 970
1017/* System-specific programs to be made. 971/* System-specific programs to be made.
1018 OTHER_FILES 972 OTHER_FILES select which of these should be compiled. */
1019 select which of these should be compiled. */
1020 973
1021#ifdef HAVE_NS 974#ifdef HAVE_NS
1022${ns_appdir}: ${ns_appsrc} 975${ns_appdir}: ${ns_appsrc}
diff --git a/src/config.in b/src/config.in
index 5fb0cd7d569..35530943682 100644
--- a/src/config.in
+++ b/src/config.in
@@ -44,12 +44,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
44/* Define to 1 if using `getloadavg.c'. */ 44/* Define to 1 if using `getloadavg.c'. */
45#undef C_GETLOADAVG 45#undef C_GETLOADAVG
46 46
47/* Define C_SWITCH_X_SITE to contain any special flags your compiler may need
48 to deal with X Windows. For instance, if you've defined HAVE_X_WINDOWS
49 above and your X include files aren't in a place that your compiler can
50 find on its own, you might want to add "-I/..." or something similar. */
51#undef C_SWITCH_X_SITE
52
53/* Define to 1 for DGUX with <sys/dg_sys_info.h>. */ 47/* Define to 1 for DGUX with <sys/dg_sys_info.h>. */
54#undef DGUX 48#undef DGUX
55 49
@@ -488,6 +482,9 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
488/* Define to 1 if you have a working `mmap' system call. */ 482/* Define to 1 if you have a working `mmap' system call. */
489#undef HAVE_MMAP 483#undef HAVE_MMAP
490 484
485/* Define if you have mouse support. */
486#undef HAVE_MOUSE
487
491/* Define to 1 if you have the `mremap' function. */ 488/* Define to 1 if you have the `mremap' function. */
492#undef HAVE_MREMAP 489#undef HAVE_MREMAP
493 490
@@ -743,6 +740,9 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
743/* Define to 1 if you have the <vfork.h> header file. */ 740/* Define to 1 if you have the <vfork.h> header file. */
744#undef HAVE_VFORK_H 741#undef HAVE_VFORK_H
745 742
743/* Define if you have a window system. */
744#undef HAVE_WINDOW_SYSTEM
745
746/* Define to 1 if `fork' works. */ 746/* Define to 1 if `fork' works. */
747#undef HAVE_WORKING_FORK 747#undef HAVE_WORKING_FORK
748 748
@@ -804,12 +804,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
804/* Define to use Kerberos 5 instead of Kerberos 4. */ 804/* Define to use Kerberos 5 instead of Kerberos 4. */
805#undef KERBEROS5 805#undef KERBEROS5
806 806
807/* Define LD_SWITCH_X_SITE to contain any special flags your loader may need
808 to deal with X Windows. For instance, if you've defined HAVE_X_WINDOWS
809 above and your X libraries aren't in a place that your loader can find on
810 its own, you might want to add "-L/..." or something similar. */
811#undef LD_SWITCH_X_SITE
812
813/* Define to 1 if localtime caches TZ. */ 807/* Define to 1 if localtime caches TZ. */
814#undef LOCALTIME_CACHE 808#undef LOCALTIME_CACHE
815 809
@@ -1016,12 +1010,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
1016#undef volatile 1010#undef volatile
1017 1011
1018 1012
1019/* If we're using X11/Carbon/GNUstep, define some consequences. */
1020#if defined(HAVE_X_WINDOWS) || defined(HAVE_NS)
1021#define HAVE_WINDOW_SYSTEM
1022#define HAVE_MOUSE
1023#endif
1024
1025/* Define AMPERSAND_FULL_NAME if you use the convention 1013/* Define AMPERSAND_FULL_NAME if you use the convention
1026 that & in the full name stands for the login id. */ 1014 that & in the full name stands for the login id. */
1027/* Turned on June 1996 supposing nobody will mind it. */ 1015/* Turned on June 1996 supposing nobody will mind it. */
@@ -1046,7 +1034,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
1046#endif 1034#endif
1047#endif /* __FreeBSD__ || __NetBSD__ || __linux__ */ 1035#endif /* __FreeBSD__ || __NetBSD__ || __linux__ */
1048 1036
1049/* If using GNU, then support inline function declarations. */ 1037/* If using GNU, then support inline function declarations. */
1050/* Don't try to switch on inline handling as detected by AC_C_INLINE 1038/* Don't try to switch on inline handling as detected by AC_C_INLINE
1051 generally, because even if non-gcc compilers accept `inline', they 1039 generally, because even if non-gcc compilers accept `inline', they
1052 may reject `extern inline'. */ 1040 may reject `extern inline'. */
@@ -1071,7 +1059,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
1071/* Set up some defines, C and LD flags for NeXTstep interface on GNUstep. 1059/* Set up some defines, C and LD flags for NeXTstep interface on GNUstep.
1072 (There is probably a better place to do this, but right now the Cocoa 1060 (There is probably a better place to do this, but right now the Cocoa
1073 side does this in s/darwin.h and we cannot 1061 side does this in s/darwin.h and we cannot
1074 parallel this exactly since GNUstep is multi-OS. */ 1062 parallel this exactly since GNUstep is multi-OS. */
1075#ifdef HAVE_NS 1063#ifdef HAVE_NS
1076# ifdef NS_IMPL_GNUSTEP 1064# ifdef NS_IMPL_GNUSTEP
1077/* GNUstep needs a bit more pure memory. Of the existing knobs, 1065/* GNUstep needs a bit more pure memory. Of the existing knobs,
@@ -1168,7 +1156,7 @@ extern char *getenv ();
1168#include "string.h" 1156#include "string.h"
1169#endif 1157#endif
1170#ifdef HAVE_STRINGS_H 1158#ifdef HAVE_STRINGS_H
1171#include "strings.h" /* May be needed for bcopy & al. */ 1159#include "strings.h" /* May be needed for bcopy & al. */
1172#endif 1160#endif
1173#ifdef HAVE_STDLIB_H 1161#ifdef HAVE_STDLIB_H
1174#include <stdlib.h> 1162#include <stdlib.h>
diff --git a/src/font.c b/src/font.c
index 2d55065e9c8..5ee51a6474c 100644
--- a/src/font.c
+++ b/src/font.c
@@ -3961,7 +3961,7 @@ font_range (pos, limit, w, face, string)
3961 struct face *face; 3961 struct face *face;
3962 Lisp_Object string; 3962 Lisp_Object string;
3963{ 3963{
3964 EMACS_INT pos_byte, ignore, start, start_byte; 3964 EMACS_INT pos_byte, ignore;
3965 int c; 3965 int c;
3966 Lisp_Object font_object = Qnil; 3966 Lisp_Object font_object = Qnil;
3967 3967
@@ -3983,7 +3983,6 @@ font_range (pos, limit, w, face, string)
3983 pos_byte = string_char_to_byte (string, pos); 3983 pos_byte = string_char_to_byte (string, pos);
3984 } 3984 }
3985 3985
3986 start = pos, start_byte = pos_byte;
3987 while (pos < *limit) 3986 while (pos < *limit)
3988 { 3987 {
3989 Lisp_Object category; 3988 Lisp_Object category;
@@ -3992,6 +3991,10 @@ font_range (pos, limit, w, face, string)
3992 FETCH_CHAR_ADVANCE_NO_CHECK (c, pos, pos_byte); 3991 FETCH_CHAR_ADVANCE_NO_CHECK (c, pos, pos_byte);
3993 else 3992 else
3994 FETCH_STRING_CHAR_ADVANCE_NO_CHECK (c, string, pos, pos_byte); 3993 FETCH_STRING_CHAR_ADVANCE_NO_CHECK (c, string, pos, pos_byte);
3994 category = CHAR_TABLE_REF (Vunicode_category_table, c);
3995 if (EQ (category, QCf)
3996 || CHAR_VARIATION_SELECTOR_P (c))
3997 continue;
3995 if (NILP (font_object)) 3998 if (NILP (font_object))
3996 { 3999 {
3997 font_object = font_for_char (face, c, pos - 1, string); 4000 font_object = font_for_char (face, c, pos - 1, string);
@@ -3999,40 +4002,8 @@ font_range (pos, limit, w, face, string)
3999 return Qnil; 4002 return Qnil;
4000 continue; 4003 continue;
4001 } 4004 }
4002 4005 if (font_encode_char (font_object, c) == FONT_INVALID_CODE)
4003 category = CHAR_TABLE_REF (Vunicode_category_table, c); 4006 *limit = pos - 1;
4004 if (! EQ (category, QCf)
4005 && ! CHAR_VARIATION_SELECTOR_P (c)
4006 && font_encode_char (font_object, c) == FONT_INVALID_CODE)
4007 {
4008 Lisp_Object f = font_for_char (face, c, pos - 1, string);
4009 EMACS_INT i, i_byte;
4010
4011
4012 if (NILP (f))
4013 {
4014 *limit = pos - 1;
4015 return font_object;
4016 }
4017 i = start, i_byte = start_byte;
4018 while (i < pos - 1)
4019 {
4020
4021 if (NILP (string))
4022 FETCH_CHAR_ADVANCE_NO_CHECK (c, i, i_byte);
4023 else
4024 FETCH_STRING_CHAR_ADVANCE_NO_CHECK (c, string, i, i_byte);
4025 category = CHAR_TABLE_REF (Vunicode_category_table, c);
4026 if (! EQ (category, QCf)
4027 && ! CHAR_VARIATION_SELECTOR_P (c)
4028 && font_encode_char (f, c) == FONT_INVALID_CODE)
4029 {
4030 *limit = pos - 1;
4031 return font_object;
4032 }
4033 }
4034 font_object = f;
4035 }
4036 } 4007 }
4037 return font_object; 4008 return font_object;
4038} 4009}
diff --git a/src/ftfont.c b/src/ftfont.c
index 6956c134a7c..9699dc58009 100644
--- a/src/ftfont.c
+++ b/src/ftfont.c
@@ -1578,8 +1578,8 @@ ftfont_otf_capability (font)
1578 1578
1579#ifdef HAVE_M17N_FLT 1579#ifdef HAVE_M17N_FLT
1580 1580
1581#if ((LIBOTF_MAJOR_VERSION > 1) || (LIBOTF_RELEASE_NUMBER >= 10) \ 1581#if (((LIBOTF_MAJOR_VERSION > 1) || (LIBOTF_RELEASE_NUMBER >= 10)) \
1582 && (M17NLIB_MAJOR_VERSION > 1) || (M17NLIB_MINOR_VERSION >= 6)) 1582 && ((M17NLIB_MAJOR_VERSION > 1) || (M17NLIB_MINOR_VERSION >= 6)))
1583/* We can use the new feature of libotf and m17n-flt to handle the 1583/* We can use the new feature of libotf and m17n-flt to handle the
1584 character encoding scheme introduced in Unicode 5.1 and 5.2 for 1584 character encoding scheme introduced in Unicode 5.1 and 5.2 for
1585 some Agian scripts. */ 1585 some Agian scripts. */
diff --git a/src/m/alpha.h b/src/m/alpha.h
index 8f71b37a219..04ad9eaaf8f 100644
--- a/src/m/alpha.h
+++ b/src/m/alpha.h
@@ -1,6 +1,7 @@
1/* Machine description file for the alpha chip. 1/* Machine description file for the alpha chip.
2 Copyright (C) 1994, 1997, 1999, 2001, 2002, 2003, 2004, 2005, 2006, 2
3 2007, 2008, 2009, 2010 Free Software Foundation, Inc. 3Copyright (C) 1994, 1997, 1999, 2001, 2002, 2003, 2004, 2005, 2006,
4 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
4 5
5Author: Rainer Schoepf 6Author: Rainer Schoepf
6(according to authors.el) 7(according to authors.el)
@@ -30,7 +31,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
30 31
31/* Now define a symbol for the cpu type, if your compiler 32/* Now define a symbol for the cpu type, if your compiler
32 does not define it automatically. */ 33 does not define it automatically. */
33
34/* __alpha defined automatically */ 34/* __alpha defined automatically */
35 35
36 36
@@ -75,12 +75,10 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
75#else /* not __ELF__ */ 75#else /* not __ELF__ */
76 76
77/* Describe layout of the address space in an executing process. */ 77/* Describe layout of the address space in an executing process. */
78
79#define TEXT_START 0x120000000 78#define TEXT_START 0x120000000
80#define DATA_START 0x140000000 79#define DATA_START 0x140000000
81 80
82/* The program to be used for unexec. */ 81/* The program to be used for unexec. */
83
84#define UNEXEC unexalpha.o 82#define UNEXEC unexalpha.o
85 83
86#endif /* __ELF__ */ 84#endif /* __ELF__ */
diff --git a/src/m/amdx86-64.h b/src/m/amdx86-64.h
index 7839c6f8473..1910c37bffc 100644
--- a/src/m/amdx86-64.h
+++ b/src/m/amdx86-64.h
@@ -1,6 +1,7 @@
1/* machine description file for AMD x86-64. 1/* machine description file for AMD x86-64.
2 Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 2
3 Free Software Foundation, Inc. 3Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
4 Free Software Foundation, Inc.
4 5
5This file is part of GNU Emacs. 6This file is part of GNU Emacs.
6 7
@@ -17,16 +18,11 @@ GNU General Public License for more details.
17You should have received a copy of the GNU General Public License 18You should have received a copy of the GNU General Public License
18along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ 19along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
19 20
20/* The following line tells the configuration script what sort of
21 operating system this machine is likely to run.
22 USUAL-OPSYS="linux" */
23
24#define BITS_PER_LONG 64 21#define BITS_PER_LONG 64
25#define BITS_PER_EMACS_INT 64 22#define BITS_PER_EMACS_INT 64
26 23
27/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word 24/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
28 is the most significant byte. */ 25 is the most significant byte. */
29
30#undef WORDS_BIG_ENDIAN 26#undef WORDS_BIG_ENDIAN
31 27
32/* Now define a symbol for the cpu type, if your compiler 28/* Now define a symbol for the cpu type, if your compiler
@@ -44,15 +40,12 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
44 are always unsigned. 40 are always unsigned.
45 41
46 This flag only matters if you use USE_LISP_UNION_TYPE. */ 42 This flag only matters if you use USE_LISP_UNION_TYPE. */
47
48#define EXPLICIT_SIGN_EXTEND 43#define EXPLICIT_SIGN_EXTEND
49 44
50/* Data type of load average, as read out of kmem. */ 45/* Data type of load average, as read out of kmem. */
51
52#define LOAD_AVE_TYPE long 46#define LOAD_AVE_TYPE long
53 47
54/* Convert that into an integer that is 100 for a load average of 1.0 */ 48/* Convert that into an integer that is 100 for a load average of 1.0 */
55
56#define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE) 49#define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE)
57 50
58/* Define XPNTR to avoid or'ing with DATA_SEG_BITS */ 51/* Define XPNTR to avoid or'ing with DATA_SEG_BITS */
diff --git a/src/m/arm.h b/src/m/arm.h
index 441c3bd6289..cf30e2e1b19 100644
--- a/src/m/arm.h
+++ b/src/m/arm.h
@@ -1,6 +1,7 @@
1/* Machine description file for ARM-based non-RISCiX machines. 1/* Machine description file for ARM-based non-RISCiX machines.
2 Copyright (C) 1994, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2
3 2008, 2009, 2010 Free Software Foundation, Inc. 3Copyright (C) 1994, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
4 2009, 2010 Free Software Foundation, Inc.
4 5
5This file is part of GNU Emacs. 6This file is part of GNU Emacs.
6 7
@@ -17,20 +18,11 @@ GNU General Public License for more details.
17You should have received a copy of the GNU General Public License 18You should have received a copy of the GNU General Public License
18along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ 19along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
19 20
20
21
22/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word 21/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
23 is the most significant byte. */ 22 is the most significant byte. */
24
25#undef WORDS_BIG_ENDIAN 23#undef WORDS_BIG_ENDIAN
26 24
27#define NO_REMAP 25#define NO_REMAP
28 26
29/* armin76@gentoo.org reported that the lgcc_s flag is necessary to
30 build on ARM EABI under GNU/Linux (Bug#5518). */
31#ifdef GNU_LINUX
32#define LIB_GCC -lgcc_s
33#endif
34
35/* arch-tag: 07856f0c-f0c8-4bd8-99af-0b7fa1e5ee42 27/* arch-tag: 07856f0c-f0c8-4bd8-99af-0b7fa1e5ee42
36 (do not change this comment) */ 28 (do not change this comment) */
diff --git a/src/m/hp800.h b/src/m/hp800.h
index 7b6ebafeaa5..9bc361e3cc4 100644
--- a/src/m/hp800.h
+++ b/src/m/hp800.h
@@ -1,6 +1,7 @@
1/* machine description file for hp9000 series 800 machines. 1/* machine description file for hp9000 series 800 machines.
2 Copyright (C) 1987, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2
3 2008, 2009, 2010 Free Software Foundation, Inc. 3Copyright (C) 1987, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
4 2009, 2010 Free Software Foundation, Inc.
4 5
5This file is part of GNU Emacs. 6This file is part of GNU Emacs.
6 7
@@ -17,14 +18,8 @@ GNU General Public License for more details.
17You should have received a copy of the GNU General Public License 18You should have received a copy of the GNU General Public License
18along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ 19along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
19 20
20
21/* The following line tells the configuration script what sort of
22 operating system this machine is likely to run.
23 USUAL-OPSYS="hpux" */
24
25/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word 21/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
26 is the most significant byte. */ 22 is the most significant byte. */
27
28#define WORDS_BIG_ENDIAN 23#define WORDS_BIG_ENDIAN
29 24
30/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend 25/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend
@@ -32,7 +27,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
32 are always unsigned. 27 are always unsigned.
33 28
34 This flag only matters if you use USE_LISP_UNION_TYPE. */ 29 This flag only matters if you use USE_LISP_UNION_TYPE. */
35
36#define EXPLICIT_SIGN_EXTEND 30#define EXPLICIT_SIGN_EXTEND
37 31
38/* Systems with GCC don't need to lose. */ 32/* Systems with GCC don't need to lose. */
diff --git a/src/m/ia64.h b/src/m/ia64.h
index 85e0f825202..acf6c25844f 100644
--- a/src/m/ia64.h
+++ b/src/m/ia64.h
@@ -1,7 +1,9 @@
1/* machine description file for the IA-64 architecture. 1/* machine description file for the IA-64 architecture.
2 Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2
3 2008, 2009, 2010 Free Software Foundation, Inc. 3Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
4 Contributed by David Mosberger <davidm@hpl.hp.com> 4 2009, 2010 Free Software Foundation, Inc.
5
6Contributed by David Mosberger <davidm@hpl.hp.com>
5 7
6This file is part of GNU Emacs. 8This file is part of GNU Emacs.
7 9
@@ -23,15 +25,12 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
23 25
24/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word 26/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
25 is the most significant byte. */ 27 is the most significant byte. */
26
27#undef WORDS_BIG_ENDIAN 28#undef WORDS_BIG_ENDIAN
28 29
29/* Now define a symbol for the cpu type, if your compiler 30/* Now define a symbol for the cpu type, if your compiler
30 does not define it automatically. */ 31 does not define it automatically. */
31
32/* __ia64__ defined automatically */ 32/* __ia64__ defined automatically */
33 33
34
35/* Define the type to use. */ 34/* Define the type to use. */
36#define EMACS_INT long 35#define EMACS_INT long
37#define EMACS_UINT unsigned long 36#define EMACS_UINT unsigned long
@@ -41,15 +40,12 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
41 are always unsigned. 40 are always unsigned.
42 41
43 This flag only matters if you use USE_LISP_UNION_TYPE. */ 42 This flag only matters if you use USE_LISP_UNION_TYPE. */
44
45#define EXPLICIT_SIGN_EXTEND 43#define EXPLICIT_SIGN_EXTEND
46 44
47/* Data type of load average, as read out of kmem. */ 45/* Data type of load average, as read out of kmem. */
48
49#define LOAD_AVE_TYPE long 46#define LOAD_AVE_TYPE long
50 47
51/* Convert that into an integer that is 100 for a load average of 1.0 */ 48/* Convert that into an integer that is 100 for a load average of 1.0 */
52
53#define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE) 49#define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE)
54 50
55#ifdef __ELF__ 51#ifdef __ELF__
diff --git a/src/m/ibmrs6000.h b/src/m/ibmrs6000.h
index 8cc0b0155a3..3831e500641 100644
--- a/src/m/ibmrs6000.h
+++ b/src/m/ibmrs6000.h
@@ -1,6 +1,7 @@
1/* R2 AIX machine/system dependent defines 1/* R2 AIX machine/system dependent defines
2 Copyright (C) 1988, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2
3 2009, 2010 Free Software Foundation, Inc. 3Copyright (C) 1988, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
4 2009, 2010 Free Software Foundation, Inc.
4 5
5This file is part of GNU Emacs. 6This file is part of GNU Emacs.
6 7
@@ -21,7 +22,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
21/* The data segment in this machine always starts at address 0x20000000. 22/* The data segment in this machine always starts at address 0x20000000.
22 An address of data cannot be stored correctly in a Lisp object; 23 An address of data cannot be stored correctly in a Lisp object;
23 we always lose the high bits. We must tell XPNTR to add them back. */ 24 we always lose the high bits. We must tell XPNTR to add them back. */
24
25#define TEXT_START 0x10000000 25#define TEXT_START 0x10000000
26#define DATA_START 0x20000000 26#define DATA_START 0x20000000
27#define WORDS_BIG_ENDIAN 27#define WORDS_BIG_ENDIAN
diff --git a/src/m/ibms390.h b/src/m/ibms390.h
index 9a8897e443d..1dce4ffbf47 100644
--- a/src/m/ibms390.h
+++ b/src/m/ibms390.h
@@ -1,6 +1,7 @@
1/* machine description file template. 1/* machine description file template.
2 Copyright (C) 1985, 1986, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2
3 2008, 2009, 2010 Free Software Foundation, Inc. 3Copyright (C) 1985, 1986, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
4 2008, 2009, 2010 Free Software Foundation, Inc.
4 5
5This file is part of GNU Emacs. 6This file is part of GNU Emacs.
6 7
diff --git a/src/m/ibms390x.h b/src/m/ibms390x.h
index 4d83dc6e69a..fda3007cb74 100644
--- a/src/m/ibms390x.h
+++ b/src/m/ibms390x.h
@@ -1,6 +1,7 @@
1/* machine description file for IBM S390 in 64-bit mode 1/* machine description file for IBM S390 in 64-bit mode
2 Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 2
3 Free Software Foundation, Inc. 3Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
4 Free Software Foundation, Inc.
4 5
5This file is part of GNU Emacs. 6This file is part of GNU Emacs.
6 7
@@ -20,7 +21,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
20/* This file was made by copying the significant parts of amdx86-64.h 21/* This file was made by copying the significant parts of amdx86-64.h
21 into ibms390.h. */ 22 into ibms390.h. */
22 23
23
24/* Used for machine IBM s390 64 bits with opsys gnu-linux. */ 24/* Used for machine IBM s390 64 bits with opsys gnu-linux. */
25#define BITS_PER_LONG 64 25#define BITS_PER_LONG 64
26#define BITS_PER_EMACS_INT 64 26#define BITS_PER_EMACS_INT 64
diff --git a/src/m/intel386.h b/src/m/intel386.h
index 3f9a49c4f46..984a9959736 100644
--- a/src/m/intel386.h
+++ b/src/m/intel386.h
@@ -1,6 +1,7 @@
1/* Machine description file for intel 386. 1/* Machine description file for intel 386.
2 Copyright (C) 1987, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2
3 2009, 2010 Free Software Foundation, Inc. 3Copyright (C) 1987, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
4 2009, 2010 Free Software Foundation, Inc.
4 5
5This file is part of GNU Emacs. 6This file is part of GNU Emacs.
6 7
diff --git a/src/m/iris4d.h b/src/m/iris4d.h
index 54ebcdf74bd..e7f332057e5 100644
--- a/src/m/iris4d.h
+++ b/src/m/iris4d.h
@@ -1,6 +1,7 @@
1/* machine description file for Iris-4D machines. Use with s/irix*.h. 1/* machine description file for Iris-4D machines. Use with s/irix*.h.
2 Copyright (C) 1987, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2
3 2008, 2009, 2010 Free Software Foundation, Inc. 3Copyright (C) 1987, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
4 2009, 2010 Free Software Foundation, Inc.
4 5
5This file is part of GNU Emacs. 6This file is part of GNU Emacs.
6 7
@@ -20,7 +21,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
20 21
21/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word 22/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
22 is the most significant byte. */ 23 is the most significant byte. */
23
24#define WORDS_BIG_ENDIAN 24#define WORDS_BIG_ENDIAN
25 25
26/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend 26/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend
@@ -28,17 +28,13 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
28 are always unsigned. 28 are always unsigned.
29 29
30 This flag only matters if you use USE_LISP_UNION_TYPE. */ 30 This flag only matters if you use USE_LISP_UNION_TYPE. */
31
32#define EXPLICIT_SIGN_EXTEND 31#define EXPLICIT_SIGN_EXTEND
33 32
34#define TEXT_START 0x400000 33#define TEXT_START 0x400000
35 34
36/* 35/* DATA_SEG_BITS forces extra bits to be or'd in with any pointers which
37 * DATA_SEG_BITS forces extra bits to be or'd in with any pointers which 36 were stored in a Lisp_Object (as Emacs uses fewer than 32 bits for
38 * were stored in a Lisp_Object (as Emacs uses fewer than 32 bits for 37 the value field of a LISP_OBJECT). */
39 * the value field of a LISP_OBJECT).
40 */
41
42#define DATA_START 0x10000000 38#define DATA_START 0x10000000
43#define DATA_SEG_BITS 0x10000000 39#define DATA_SEG_BITS 0x10000000
44 40
@@ -48,7 +44,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
48 44
49/* The standard definitions of these macros would work ok, 45/* The standard definitions of these macros would work ok,
50 but these are faster because the constants are short. */ 46 but these are faster because the constants are short. */
51
52#define XUINT(a) (((unsigned)(a) << BITS_PER_INT-VALBITS) >> BITS_PER_INT-VALBITS) 47#define XUINT(a) (((unsigned)(a) << BITS_PER_INT-VALBITS) >> BITS_PER_INT-VALBITS)
53 48
54#define XSET(var, type, ptr) \ 49#define XSET(var, type, ptr) \
diff --git a/src/m/m68k.h b/src/m/m68k.h
index b844f12fd6f..668db282593 100644
--- a/src/m/m68k.h
+++ b/src/m/m68k.h
@@ -1,6 +1,7 @@
1/* Machine description file for generic Motorola 68k. 1/* Machine description file for generic Motorola 68k.
2 Copyright (C) 1985, 1995, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2
3 2008, 2009, 2010 Free Software Foundation, Inc. 3Copyright (C) 1985, 1995, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
4 2008, 2009, 2010 Free Software Foundation, Inc.
4 5
5This file is part of GNU Emacs. 6This file is part of GNU Emacs.
6 7
@@ -19,12 +20,10 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
19 20
20/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word 21/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
21 is the most significant byte. */ 22 is the most significant byte. */
22
23#define WORDS_BIG_ENDIAN 23#define WORDS_BIG_ENDIAN
24 24
25/* Now define a symbol for the cpu type, if your compiler 25/* Now define a symbol for the cpu type, if your compiler
26 does not define it automatically. */ 26 does not define it automatically. */
27
28#ifndef m68k 27#ifndef m68k
29#define m68k 28#define m68k
30#endif 29#endif
@@ -34,7 +33,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
34 are always unsigned. 33 are always unsigned.
35 34
36 This flag only matters if you use USE_LISP_UNION_TYPE. */ 35 This flag only matters if you use USE_LISP_UNION_TYPE. */
37
38#define EXPLICIT_SIGN_EXTEND 36#define EXPLICIT_SIGN_EXTEND
39 37
40#ifdef GNU_LINUX 38#ifdef GNU_LINUX
diff --git a/src/m/macppc.h b/src/m/macppc.h
index d58592d915a..b9dcf3bdc92 100644
--- a/src/m/macppc.h
+++ b/src/m/macppc.h
@@ -1,6 +1,7 @@
1/* machine description file For the powerpc Macintosh. 1/* machine description file For the powerpc Macintosh.
2 Copyright (C) 1994, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2
3 2008, 2009, 2010 Free Software Foundation, Inc. 3Copyright (C) 1994, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
4 2009, 2010 Free Software Foundation, Inc.
4 5
5This file is part of GNU Emacs. 6This file is part of GNU Emacs.
6 7
@@ -19,15 +20,12 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
19 20
20/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word 21/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
21 is the most significant byte. */ 22 is the most significant byte. */
22
23#define WORDS_BIG_ENDIAN 23#define WORDS_BIG_ENDIAN
24 24
25/* Data type of load average, as read out of kmem. */ 25/* Data type of load average, as read out of kmem. */
26
27#define LOAD_AVE_TYPE long 26#define LOAD_AVE_TYPE long
28 27
29/* Convert that into an integer that is 100 for a load average of 1.0 */ 28/* Convert that into an integer that is 100 for a load average of 1.0 */
30
31#define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE) 29#define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE)
32 30
33#if (defined (__NetBSD__) || defined (__OpenBSD__)) && defined (__ELF__) 31#if (defined (__NetBSD__) || defined (__OpenBSD__)) && defined (__ELF__)
@@ -36,7 +34,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
36 34
37/* NAKAJI Hiroyuki <nakaji@tutrp.tut.ac.jp> says this is needed 35/* NAKAJI Hiroyuki <nakaji@tutrp.tut.ac.jp> says this is needed
38 For MkLinux/LinuxPPC. */ 36 For MkLinux/LinuxPPC. */
39
40#ifdef GNU_LINUX 37#ifdef GNU_LINUX
41#define LINKER $(CC) -nostdlib 38#define LINKER $(CC) -nostdlib
42#endif 39#endif
diff --git a/src/m/mips.h b/src/m/mips.h
index e93ab281093..8e81c077426 100644
--- a/src/m/mips.h
+++ b/src/m/mips.h
@@ -1,6 +1,7 @@
1/* m- file for Mips machines. 1/* m- file for Mips machines.
2 Copyright (C) 1987, 1992, 1999, 2001, 2002, 2003, 2004, 2005, 2006, 2
3 2007, 2008, 2009, 2010 Free Software Foundation, Inc. 3Copyright (C) 1987, 1992, 1999, 2001, 2002, 2003, 2004, 2005, 2006,
4 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
4 5
5This file is part of GNU Emacs. 6This file is part of GNU Emacs.
6 7
@@ -17,18 +18,8 @@ GNU General Public License for more details.
17You should have received a copy of the GNU General Public License 18You should have received a copy of the GNU General Public License
18along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ 19along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
19 20
20
21/* The following line tells the configuration script what sort of
22 operating system this machine is likely to run.
23 USUAL-OPSYS="note"
24
25NOTE-START
26This is used on GNU/Linux and netbsd.
27NOTE-END */
28
29/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word 21/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
30 is the most significant byte. */ 22 is the most significant byte. */
31
32#if ! (defined (__MIPSEL__) || defined (MIPSEL) || defined (_MIPSEL)) 23#if ! (defined (__MIPSEL__) || defined (MIPSEL) || defined (_MIPSEL))
33#define WORDS_BIG_ENDIAN 24#define WORDS_BIG_ENDIAN
34#endif 25#endif
@@ -38,13 +29,10 @@ NOTE-END */
38 are always unsigned. 29 are always unsigned.
39 30
40 This flag only matters if you use USE_LISP_UNION_TYPE. */ 31 This flag only matters if you use USE_LISP_UNION_TYPE. */
41
42#define EXPLICIT_SIGN_EXTEND 32#define EXPLICIT_SIGN_EXTEND
43 33
44/* Describe layout of the address space in an executing process. */ 34/* Describe layout of the address space in an executing process. */
45
46#define TEXT_START 0x00400000 35#define TEXT_START 0x00400000
47 36
48/* arch-tag: 8fd020ee-78a7-4d87-96ce-6129f52f7bee 37/* arch-tag: 8fd020ee-78a7-4d87-96ce-6129f52f7bee
49 (do not change this comment) */ 38 (do not change this comment) */
50
diff --git a/src/m/sparc.h b/src/m/sparc.h
index b949b56de32..39240dcbf5c 100644
--- a/src/m/sparc.h
+++ b/src/m/sparc.h
@@ -1,6 +1,7 @@
1/* machine description file for Sun 4 SPARC. 1/* machine description file for Sun 4 SPARC.
2 Copyright (C) 1987, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2
3 2009, 2010 Free Software Foundation, Inc. 3Copyright (C) 1987, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
4 2009, 2010 Free Software Foundation, Inc.
4 5
5This file is part of GNU Emacs. 6This file is part of GNU Emacs.
6 7
diff --git a/src/m/template.h b/src/m/template.h
index d96af80a84e..9b8d2d63055 100644
--- a/src/m/template.h
+++ b/src/m/template.h
@@ -1,6 +1,7 @@
1/* machine description file template. 1/* machine description file template.
2 Copyright (C) 1985, 1986, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2
3 2008, 2009, 2010 Free Software Foundation, Inc. 3Copyright (C) 1985, 1986, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
4 2008, 2009, 2010 Free Software Foundation, Inc.
4 5
5This file is part of GNU Emacs. 6This file is part of GNU Emacs.
6 7
@@ -17,14 +18,8 @@ GNU General Public License for more details.
17You should have received a copy of the GNU General Public License 18You should have received a copy of the GNU General Public License
18along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ 19along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
19 20
20
21/* The following line tells the configuration script what sort of
22 operating system this machine is likely to run.
23 USUAL-OPSYS="<name of system .h file here, without the s- or .h>" */
24
25/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word 21/* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
26 is the most significant byte. */ 22 is the most significant byte. */
27
28#define WORDS_BIG_ENDIAN 23#define WORDS_BIG_ENDIAN
29 24
30/* Now define a symbol for the cpu type, if your compiler 25/* Now define a symbol for the cpu type, if your compiler
@@ -36,21 +31,17 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
36 are always unsigned. 31 are always unsigned.
37 32
38 This flag only matters if you use USE_LISP_UNION_TYPE. */ 33 This flag only matters if you use USE_LISP_UNION_TYPE. */
39
40#define EXPLICIT_SIGN_EXTEND 34#define EXPLICIT_SIGN_EXTEND
41 35
42/* Data type of load average, as read out of kmem. */ 36/* Data type of load average, as read out of kmem. */
43
44#define LOAD_AVE_TYPE long 37#define LOAD_AVE_TYPE long
45 38
46/* Convert that into an integer that is 100 for a load average of 1.0 */ 39/* Convert that into an integer that is 100 for a load average of 1.0 */
47
48#define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE) 40#define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE)
49 41
50/* Define CANNOT_DUMP on machines where unexec does not work. 42/* Define CANNOT_DUMP on machines where unexec does not work.
51 Then the function dump-emacs will not be defined 43 Then the function dump-emacs will not be defined
52 and temacs will do (load "loadup") automatically unless told otherwise. */ 44 and temacs will do (load "loadup") automatically unless told otherwise. */
53
54#define CANNOT_DUMP 45#define CANNOT_DUMP
55 46
56/* Define VIRT_ADDR_VARIES if the virtual addresses of 47/* Define VIRT_ADDR_VARIES if the virtual addresses of
@@ -59,31 +50,25 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
59 50
60 Otherwise Emacs assumes that text space precedes data space, 51 Otherwise Emacs assumes that text space precedes data space,
61 numerically. */ 52 numerically. */
62
63#define VIRT_ADDR_VARIES 53#define VIRT_ADDR_VARIES
64 54
65/* Define NO_REMAP if memory segmentation makes it not work well 55/* Define NO_REMAP if memory segmentation makes it not work well
66 to change the boundary between the text section and data section 56 to change the boundary between the text section and data section
67 when Emacs is dumped. If you define this, the preloaded Lisp 57 when Emacs is dumped. If you define this, the preloaded Lisp
68 code will not be sharable; but that's better than failing completely. */ 58 code will not be sharable; but that's better than failing completely. */
69
70#define NO_REMAP 59#define NO_REMAP
71 60
72/* Some really obscure 4.2-based systems (like Sequent DYNIX) 61/* Some really obscure 4.2-based systems (like Sequent DYNIX)
73 * do not support asynchronous I/O (using SIGIO) on sockets, 62 do not support asynchronous I/O (using SIGIO) on sockets,
74 * even though it works fine on tty's. If you have one of 63 even though it works fine on tty's. If you have one of
75 * these systems, define the following, and then use it in 64 these systems, define the following, and then use it in
76 * config.h (or elsewhere) to decide when (not) to use SIGIO. 65 config.h (or elsewhere) to decide when (not) to use SIGIO.
77 * 66
78 * You'd think this would go in an operating-system description file, 67 You'd think this would go in an operating-system description file,
79 * but since it only occurs on some, but not all, BSD systems, the 68 but since it only occurs on some, but not all, BSD systems, the
80 * reasonable place to select for it is in the machine description 69 reasonable place to select for it is in the machine description file. */
81 * file.
82 */
83
84#define NO_SOCK_SIGIO 70#define NO_SOCK_SIGIO
85 71
86
87/* After adding support for a new system, modify the large case 72/* After adding support for a new system, modify the large case
88 statement in the `configure' script to recognize reasonable 73 statement in the `configure' script to recognize reasonable
89 configuration names, and add a description of the system to 74 configuration names, and add a description of the system to
diff --git a/src/m/vax.h b/src/m/vax.h
index 1670d2b5f48..3426a20d55e 100644
--- a/src/m/vax.h
+++ b/src/m/vax.h
@@ -1,6 +1,7 @@
1/* machine description file for vax. 1/* machine description file for vax.
2 Copyright (C) 1985, 1986, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2
3 2008, 2009, 2010 Free Software Foundation, Inc. 3Copyright (C) 1985, 1986, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
4 2008, 2009, 2010 Free Software Foundation, Inc.
4 5
5This file is part of GNU Emacs. 6This file is part of GNU Emacs.
6 7
diff --git a/src/s/aix4-2.h b/src/s/aix4-2.h
index 8f506cb1822..cdb97b7f9fa 100644
--- a/src/s/aix4-2.h
+++ b/src/s/aix4-2.h
@@ -17,68 +17,48 @@ GNU General Public License for more details.
17You should have received a copy of the GNU General Public License 17You should have received a copy of the GNU General Public License
18along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ 18along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
19 19
20/* 20/* Define symbols to identify the version of Unix this is.
21 * Define symbols to identify the version of Unix this is. 21 Define all the symbols that apply correctly. */
22 * Define all the symbols that apply correctly.
23 */
24
25#define USG /* System III, System V, etc */ 22#define USG /* System III, System V, etc */
26#define USG5 23#define USG5
27 24
28/* This symbol should be defined on AIX Version 3 ??????? */ 25/* This symbol should be defined on AIX Version 3 ??????? */
29#ifndef _AIX 26#ifndef _AIX
30#define _AIX 27#define _AIX
31#endif 28#endif
32 29
33/* SYSTEM_TYPE should indicate the kind of system you are using. 30/* SYSTEM_TYPE should indicate the kind of system you are using.
34 It sets the Lisp variable system-type. */ 31 It sets the Lisp variable system-type. */
35
36#define SYSTEM_TYPE "aix" 32#define SYSTEM_TYPE "aix"
37 33
38/* In AIX, you allocate a pty by opening /dev/ptc to get the master side. 34/* In AIX, you allocate a pty by opening /dev/ptc to get the master side.
39 To get the name of the slave side, you just ttyname() the master side. */ 35 To get the name of the slave side, you just ttyname() the master side. */
40
41#define PTY_ITERATION for (c = 0; !c ; c++) 36#define PTY_ITERATION for (c = 0; !c ; c++)
42#define PTY_NAME_SPRINTF strcpy (pty_name, "/dev/ptc"); 37#define PTY_NAME_SPRINTF strcpy (pty_name, "/dev/ptc");
43#define PTY_TTY_NAME_SPRINTF strcpy (pty_name, ttyname (fd)); 38#define PTY_TTY_NAME_SPRINTF strcpy (pty_name, ttyname (fd));
44 39
45/* 40/* Define HAVE_TERMIO if the system provides sysV-style ioctls
46 * Define HAVE_TERMIO if the system provides sysV-style ioctls 41 for terminal control. */
47 * for terminal control.
48 */
49
50#define HAVE_TERMIOS 42#define HAVE_TERMIOS
51 43
52/* 44/* Define HAVE_PTYS if the system supports pty devices. */
53 * Define HAVE_PTYS if the system supports pty devices.
54 */
55
56#define HAVE_PTYS 45#define HAVE_PTYS
57 46
58/* Define HAVE_SOCKETS if system supports 4.2-compatible sockets. */ 47/* Define HAVE_SOCKETS if system supports 4.2-compatible sockets. */
59
60#define HAVE_SOCKETS 48#define HAVE_SOCKETS
61 49
62 50
63/* 51/* Define SYSV_SYSTEM_DIR to use the V.3 getdents/readir library
64 * Define SYSV_SYSTEM_DIR to use the V.3 getdents/readir 52 functions. Almost, but not quite the same as the 4.2 functions. */
65 * library functions. Almost, but not quite the same as
66 * the 4.2 functions
67 */
68
69#define SYSV_SYSTEM_DIR 53#define SYSV_SYSTEM_DIR
70 54
71/* Define this symbol if your system has the functions bcopy, etc. */ 55/* Define this symbol if your system has the functions bcopy, etc. */
72
73#define BSTRING 56#define BSTRING
74 57
75/* The file containing the kernel's symbol table is called /unix. */ 58/* The file containing the kernel's symbol table is called /unix. */
76
77#define KERNEL_FILE "/unix" 59#define KERNEL_FILE "/unix"
78 60
79/* The symbol in the kernel where the load average is found 61/* The kernel symbol where the load average is found is named avenrun. */
80 is named avenrun. */
81
82#define LDAV_SYMBOL "avenrun" 62#define LDAV_SYMBOL "avenrun"
83 63
84/* Special itemss needed to make Emacs run on this system. */ 64/* Special itemss needed to make Emacs run on this system. */
@@ -125,8 +105,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
125 that shared library. 105 that shared library.
126 106
127 Emacs currently calls xrealloc on the results of get_current_dir name, 107 Emacs currently calls xrealloc on the results of get_current_dir name,
128 to avoid a crash just use the Emacs implementation for that function. 108 to avoid a crash just use the Emacs implementation for that function. */
129*/
130#define BROKEN_GET_CURRENT_DIR_NAME 1 109#define BROKEN_GET_CURRENT_DIR_NAME 1
131 110
132#define UNEXEC unexaix.o 111#define UNEXEC unexaix.o
diff --git a/src/s/bsd-common.h b/src/s/bsd-common.h
index ef79d71e3c6..2a8934d7f50 100644
--- a/src/s/bsd-common.h
+++ b/src/s/bsd-common.h
@@ -19,8 +19,8 @@ You should have received a copy of the GNU General Public License
19along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ 19along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
20 20
21 21
22/* Define symbols to identify the version of Unix this is. 22/* Define symbols to identify the version of Unix this is.
23 * Define all the symbols that apply correctly. */ 23 Define all the symbols that apply correctly. */
24 24
25/* We give these symbols the numeric values found in <sys/param.h> to 25/* We give these symbols the numeric values found in <sys/param.h> to
26 avoid warnings about redefined macros. */ 26 avoid warnings about redefined macros. */
@@ -84,8 +84,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
84/* The file containing the kernel's symbol table is called /vmunix. */ 84/* The file containing the kernel's symbol table is called /vmunix. */
85#define KERNEL_FILE "/vmunix" 85#define KERNEL_FILE "/vmunix"
86 86
87/* The symbol in the kernel where the load average is found 87/* The kernel symbol where the load average is found is named _avenrun. */
88 is named _avenrun. */
89#define LDAV_SYMBOL "_avenrun" 88#define LDAV_SYMBOL "_avenrun"
90 89
91/* Send signals to subprocesses by "typing" special chars at them. */ 90/* Send signals to subprocesses by "typing" special chars at them. */
diff --git a/src/s/cygwin.h b/src/s/cygwin.h
index 296b1970a97..e2afb7ddc44 100644
--- a/src/s/cygwin.h
+++ b/src/s/cygwin.h
@@ -1,6 +1,7 @@
1/* System description header file for Cygwin. 1/* System description header file for Cygwin.
2 Copyright (C) 1985, 1986, 1992, 1999, 2002, 2003, 2004, 2005, 2006, 2
3 2007, 2008, 2009, 2010 Free Software Foundation, Inc. 3Copyright (C) 1985, 1986, 1992, 1999, 2002, 2003, 2004, 2005, 2006,
4 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
4 5
5This file is part of GNU Emacs. 6This file is part of GNU Emacs.
6 7
@@ -19,7 +20,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
19 20
20/* SYSTEM_TYPE should indicate the kind of system you are using. 21/* SYSTEM_TYPE should indicate the kind of system you are using.
21 It sets the Lisp variable system-type. */ 22 It sets the Lisp variable system-type. */
22
23#define SYSTEM_TYPE "cygwin" 23#define SYSTEM_TYPE "cygwin"
24 24
25/* Emacs can read input using SIGIO and buffering characters itself, 25/* Emacs can read input using SIGIO and buffering characters itself,
@@ -43,26 +43,19 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
43 It would have Emacs fork off a separate process 43 It would have Emacs fork off a separate process
44 to read the input and send it to the true Emacs process 44 to read the input and send it to the true Emacs process
45 through a pipe. */ 45 through a pipe. */
46
47#undef INTERRUPT_INPUT 46#undef INTERRUPT_INPUT
48 47
49/* 48/* Define HAVE_TERMIOS if the system provides POSIX-style
50 * Define HAVE_TERMIOS if the system provides POSIX-style 49 functions and macros for terminal control.
51 * functions and macros for terminal control.
52 *
53 * Define HAVE_TERMIO if the system provides sysV-style ioctls
54 * for terminal control.
55 *
56 * Do not define both. HAVE_TERMIOS is preferred, if it is
57 * supported on your system.
58 */
59 50
60#define HAVE_TERMIOS 51 Define HAVE_TERMIO if the system provides sysV-style ioctls
52 for terminal control.
61 53
62/* 54 Do not define both. HAVE_TERMIOS is preferred, if it is
63 * Define HAVE_PTYS if the system supports pty devices. 55 supported on your system. */
64 */ 56#define HAVE_TERMIOS
65 57
58/* Define HAVE_PTYS if the system supports pty devices. */
66#define HAVE_PTYS 59#define HAVE_PTYS
67#define PTY_ITERATION for (i = 0; i < 1; i++) /* ick */ 60#define PTY_ITERATION for (i = 0; i < 1; i++) /* ick */
68#define PTY_NAME_SPRINTF /* none */ 61#define PTY_NAME_SPRINTF /* none */
@@ -81,13 +74,11 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
81 while (0) 74 while (0)
82 75
83/* Define this symbol if your system has the functions bcopy, etc. */ 76/* Define this symbol if your system has the functions bcopy, etc. */
84
85#define BSTRING 77#define BSTRING
86 78
87/* Define CLASH_DETECTION if you want lock files to be written 79/* Define CLASH_DETECTION if you want lock files to be written
88 so that Emacs can tell instantly when you try to modify 80 so that Emacs can tell instantly when you try to modify
89 a file that someone else has modified in his Emacs. */ 81 a file that someone else has modified in his Emacs. */
90
91#define CLASH_DETECTION 82#define CLASH_DETECTION
92 83
93/* If the system's imake configuration file defines `NeedWidePrototypes' 84/* If the system's imake configuration file defines `NeedWidePrototypes'
@@ -95,10 +86,9 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
95 generated in the Makefile generated by `xmkmf'. If we don't 86 generated in the Makefile generated by `xmkmf'. If we don't
96 define NARROWPROTO, we will see the wrong function prototypes 87 define NARROWPROTO, we will see the wrong function prototypes
97 for X functions taking float or double parameters. */ 88 for X functions taking float or double parameters. */
98
99#define NARROWPROTO 1 89#define NARROWPROTO 1
100 90
101/* used in various places to enable cygwin-specific code changes */ 91/* Used in various places to enable cygwin-specific code changes. */
102#define CYGWIN 1 92#define CYGWIN 1
103 93
104#define PENDING_OUTPUT_COUNT(FILE) ((FILE)->_p - (FILE)->_bf._base) 94#define PENDING_OUTPUT_COUNT(FILE) ((FILE)->_p - (FILE)->_bf._base)
@@ -127,10 +117,5 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
127 returns ENOSYS. A workaround is to set G_SLICE=always-malloc. */ 117 returns ENOSYS. A workaround is to set G_SLICE=always-malloc. */
128#define G_SLICE_ALWAYS_MALLOC 118#define G_SLICE_ALWAYS_MALLOC
129 119
130/* Don't link against static libgcc */
131#define LIB_GCC
132
133/* the end */
134
135/* arch-tag: 5ae7ba00-83b0-4ab3-806a-3e845779191b 120/* arch-tag: 5ae7ba00-83b0-4ab3-806a-3e845779191b
136 (do not change this comment) */ 121 (do not change this comment) */
diff --git a/src/s/darwin.h b/src/s/darwin.h
index 01544631aaa..76c0054cd3f 100644
--- a/src/s/darwin.h
+++ b/src/s/darwin.h
@@ -19,9 +19,8 @@ You should have received a copy of the GNU General Public License
19along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ 19along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
20 20
21 21
22/* Define symbols to identify the version of Unix this is. 22/* Define symbols to identify the version of Unix this is.
23 * Define all the symbols that apply correctly. */ 23 Define all the symbols that apply correctly. */
24
25#define BSD4_2 24#define BSD4_2
26/* BSD4_3 and BSD4_4 are already defined in sys/param.h */ 25/* BSD4_3 and BSD4_4 are already defined in sys/param.h */
27#define BSD_SYSTEM 26#define BSD_SYSTEM
@@ -29,12 +28,12 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
29/* More specific than the above two. We cannot use __APPLE__ as this 28/* More specific than the above two. We cannot use __APPLE__ as this
30 may not be defined on non-OSX Darwin, and we cannot define DARWIN 29 may not be defined on non-OSX Darwin, and we cannot define DARWIN
31 here because Panther and lower CoreFoundation.h uses DARWIN to 30 here because Panther and lower CoreFoundation.h uses DARWIN to
32 distinguish OS X from pure Darwin. */ 31 distinguish OS X from pure Darwin. */
33#define DARWIN_OS 32#define DARWIN_OS
34 33
35 34
36/* SYSTEM_TYPE should indicate the kind of system you are using. 35/* SYSTEM_TYPE should indicate the kind of system you are using.
37 It sets the Lisp variable system-type. */ 36 It sets the Lisp variable system-type. */
38#define SYSTEM_TYPE "darwin" 37#define SYSTEM_TYPE "darwin"
39 38
40/* Emacs can read input using SIGIO and buffering characters itself, 39/* Emacs can read input using SIGIO and buffering characters itself,
@@ -64,26 +63,21 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
64 if system supports pty's. 'a' means it is /dev/ptya0 */ 63 if system supports pty's. 'a' means it is /dev/ptya0 */
65#define FIRST_PTY_LETTER 'p' 64#define FIRST_PTY_LETTER 'p'
66 65
67/* 66/* Define HAVE_TERMIOS if the system provides POSIX-style
68 * Define HAVE_TERMIOS if the system provides POSIX-style 67 functions and macros for terminal control.
69 * functions and macros for terminal control. 68
70 * 69 Define HAVE_TERMIO if the system provides sysV-style ioctls
71 * Define HAVE_TERMIO if the system provides sysV-style ioctls 70 for terminal control.
72 * for terminal control. 71
73 * 72 Do not define both. HAVE_TERMIOS is preferred, if it is supported
74 * Do not define both. HAVE_TERMIOS is preferred, if it is 73 on your system. */
75 * supported on your system.
76 */
77#define HAVE_TERMIOS 74#define HAVE_TERMIOS
78#define NO_TERMIO 75#define NO_TERMIO
79 76
80/* 77/* Define HAVE_PTYS if the system supports pty devices.
81 * Define HAVE_PTYS if the system supports pty devices. 78 Note: PTYs are broken on darwin <6. Use at your own risk. */
82 * Note: PTYs are broken on darwin <6. Use at your own risk.
83 */
84#define HAVE_PTYS 79#define HAVE_PTYS
85/* Run only once. We need a `for'-loop because the code uses 80/* Run only once. We need a `for'-loop because the code uses `continue'. */
86 `continue'. */
87#define PTY_ITERATION for (i = 0; i < 1; i++) 81#define PTY_ITERATION for (i = 0; i < 1; i++)
88#define PTY_NAME_SPRINTF /* none */ 82#define PTY_NAME_SPRINTF /* none */
89#define PTY_TTY_NAME_SPRINTF /* none */ 83#define PTY_TTY_NAME_SPRINTF /* none */
@@ -101,11 +95,8 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
101 } \ 95 } \
102 while (0) 96 while (0)
103 97
104/** 98/* PTYs only work correctly on Darwin 7 or higher. So make the default
105 * PTYs only work correctly on Darwin 7 or higher. So make the 99 for process-connection-type dependent on the kernel version. */
106 * default for process-connection-type dependent on the kernel
107 * version.
108 */
109#define MIN_PTY_KERNEL_VERSION '7' 100#define MIN_PTY_KERNEL_VERSION '7'
110 101
111/* Define this symbol if your system has the functions bcopy, etc. */ 102/* Define this symbol if your system has the functions bcopy, etc. */
@@ -123,12 +114,10 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
123/* Used in dispnew.c. Copied from freebsd.h. */ 114/* Used in dispnew.c. Copied from freebsd.h. */
124#define PENDING_OUTPUT_COUNT(FILE) ((FILE)->_p - (FILE)->_bf._base) 115#define PENDING_OUTPUT_COUNT(FILE) ((FILE)->_p - (FILE)->_bf._base)
125 116
126/* System uses OXTABS instead of the expected TAB3. (Copied from 117/* System uses OXTABS instead of the expected TAB3. (Copied from bsd386.h.) */
127 bsd386.h.) */
128#define TAB3 OXTABS 118#define TAB3 OXTABS
129 119
130/* Darwin ld insists on the use of malloc routines in the System 120/* Darwin ld insists on the use of malloc routines in the System framework. */
131 framework. */
132#define SYSTEM_MALLOC 121#define SYSTEM_MALLOC
133 122
134/* Define HAVE_SOCKETS if system supports 4.2-compatible sockets. */ 123/* Define HAVE_SOCKETS if system supports 4.2-compatible sockets. */
@@ -154,8 +143,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
154#define malloc unexec_malloc 143#define malloc unexec_malloc
155#define realloc unexec_realloc 144#define realloc unexec_realloc
156#define free unexec_free 145#define free unexec_free
157/* Don't use posix_memalign because it is not compatible with 146/* Don't use posix_memalign because it is not compatible with unexmacosx.c. */
158 unexmacosx.c. */
159#undef HAVE_POSIX_MEMALIGN 147#undef HAVE_POSIX_MEMALIGN
160#endif 148#endif
161 149
@@ -183,8 +171,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
183 ioctl TIOCSCTTY. */ 171 ioctl TIOCSCTTY. */
184#define DONT_REOPEN_PTY 172#define DONT_REOPEN_PTY
185 173
186/* Use the GC_MAKE_GCPROS_NOOPS (see lisp.h) method for marking the 174/* Use the GC_MAKE_GCPROS_NOOPS (see lisp.h) method for marking the stack. */
187 stack. */
188#define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS 175#define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS
189 176
190/* arch-tag: 481d443d-4f89-43ea-b5fb-49706d95fa41 177/* arch-tag: 481d443d-4f89-43ea-b5fb-49706d95fa41
diff --git a/src/s/freebsd.h b/src/s/freebsd.h
index 78c7dfdf6bb..2b53ec0413f 100644
--- a/src/s/freebsd.h
+++ b/src/s/freebsd.h
@@ -30,13 +30,10 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
30 30
31#define PENDING_OUTPUT_COUNT(FILE) ((FILE)->_p - (FILE)->_bf._base) 31#define PENDING_OUTPUT_COUNT(FILE) ((FILE)->_p - (FILE)->_bf._base)
32 32
33#undef LIB_GCC
34#define LIB_GCC
35
36#define HAVE_GETLOADAVG 1 33#define HAVE_GETLOADAVG 1
37#define DECLARE_GETPWUID_WITH_UID_T 34#define DECLARE_GETPWUID_WITH_UID_T
38 35
39/* this silences a few compilation warnings */ 36/* This silences a few compilation warnings. */
40#undef BSD_SYSTEM 37#undef BSD_SYSTEM
41#if __FreeBSD__ == 1 38#if __FreeBSD__ == 1
42#define BSD_SYSTEM 199103 39#define BSD_SYSTEM 199103
@@ -64,23 +61,17 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
64 successfully after processing (for example with CRs added if the 61 successfully after processing (for example with CRs added if the
65 terminal is set up that way which it is here). The same bytes will 62 terminal is set up that way which it is here). The same bytes will
66 be seen again in a later read(2), without the CRs. */ 63 be seen again in a later read(2), without the CRs. */
67
68#define BROKEN_PTY_READ_AFTER_EAGAIN 1 64#define BROKEN_PTY_READ_AFTER_EAGAIN 1
69 65
70/* Tell that garbage collector that setjmp is known to save all 66/* Tell that garbage collector that setjmp is known to save all
71 registers relevant for conservative garbage collection in the 67 registers relevant for conservative garbage collection in the jmp_buf. */
72 jmp_buf. */
73
74#define GC_SETJMP_WORKS 1 68#define GC_SETJMP_WORKS 1
75 69
76/* Use the GC_MAKE_GCPROS_NOOPS (see lisp.h) method for marking the 70/* Use the GC_MAKE_GCPROS_NOOPS (see lisp.h) method for marking the stack. */
77 stack. */
78
79#define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS 71#define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS
80 72
81/* Define USE_MMAP_FOR_BUFFERS to let Emacs use mmap(2) to allocate 73/* Define USE_MMAP_FOR_BUFFERS to let Emacs use mmap(2) to allocate
82 buffer text. This overrides REL_ALLOC. */ 74 buffer text. This overrides REL_ALLOC. */
83
84#define USE_MMAP_FOR_BUFFERS 1 75#define USE_MMAP_FOR_BUFFERS 1
85 76
86/* arch-tag: 426529ca-b7c4-448f-b10a-d4dcdc9c78eb 77/* arch-tag: 426529ca-b7c4-448f-b10a-d4dcdc9c78eb
diff --git a/src/s/gnu-linux.h b/src/s/gnu-linux.h
index 5c94a4369ce..3aa2dc16f42 100644
--- a/src/s/gnu-linux.h
+++ b/src/s/gnu-linux.h
@@ -3,6 +3,8 @@
3Copyright (C) 1985, 1986, 1992, 1994, 1996, 1999, 2001, 2002, 2003, 2004, 3Copyright (C) 1985, 1986, 1992, 1994, 1996, 1999, 2001, 2002, 2003, 2004,
4 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. 4 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
5 5
6This file was put together by Michael K. Johnson and Rik Faith.
7
6This file is part of GNU Emacs. 8This file is part of GNU Emacs.
7 9
8GNU Emacs is free software: you can redistribute it and/or modify 10GNU Emacs is free software: you can redistribute it and/or modify
@@ -18,20 +20,13 @@ GNU General Public License for more details.
18You should have received a copy of the GNU General Public License 20You should have received a copy of the GNU General Public License
19along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ 21along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
20 22
21/* This file was put together by Michael K. Johnson and Rik Faith. */ 23/* Define symbols to identify the version of Unix this is.
22 24 Define all the symbols that apply correctly. */
23
24/*
25 * Define symbols to identify the version of Unix this is.
26 * Define all the symbols that apply correctly.
27 */
28
29#define USG 25#define USG
30#define GNU_LINUX 26#define GNU_LINUX
31 27
32/* SYSTEM_TYPE should indicate the kind of system you are using. 28/* SYSTEM_TYPE should indicate the kind of system you are using.
33 It sets the Lisp variable system-type. */ 29 It sets the Lisp variable system-type. */
34
35#define SYSTEM_TYPE "gnu/linux" /* All the best software is free. */ 30#define SYSTEM_TYPE "gnu/linux" /* All the best software is free. */
36 31
37#ifndef NOT_C_CODE 32#ifndef NOT_C_CODE
@@ -50,9 +45,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
50#if defined HAVE_GRANTPT 45#if defined HAVE_GRANTPT
51#define UNIX98_PTYS 46#define UNIX98_PTYS
52 47
53/* Run only once. We need a `for'-loop because the code uses 48/* Run only once. We need a `for'-loop because the code uses `continue'. */
54 `continue'. */
55
56#define PTY_ITERATION for (i = 0; i < 1; i++) 49#define PTY_ITERATION for (i = 0; i < 1; i++)
57 50
58#ifdef HAVE_GETPT 51#ifdef HAVE_GETPT
@@ -64,7 +57,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
64 57
65/* Note that grantpt and unlockpt may fork. We must block SIGCHLD to 58/* Note that grantpt and unlockpt may fork. We must block SIGCHLD to
66 prevent sigchld_handler from intercepting the child's death. */ 59 prevent sigchld_handler from intercepting the child's death. */
67
68#define PTY_TTY_NAME_SPRINTF \ 60#define PTY_TTY_NAME_SPRINTF \
69 { \ 61 { \
70 char *ptyname; \ 62 char *ptyname; \
@@ -86,23 +78,20 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
86 78
87/* Letter to use in finding device name of first pty, 79/* Letter to use in finding device name of first pty,
88 if system supports pty's. 'p' means it is /dev/ptyp0 */ 80 if system supports pty's. 'p' means it is /dev/ptyp0 */
89
90#define FIRST_PTY_LETTER 'p' 81#define FIRST_PTY_LETTER 'p'
91 82
92#endif /* not HAVE_GRANTPT */ 83#endif /* not HAVE_GRANTPT */
93 84
94/* Define HAVE_TERMIOS if the system provides POSIX-style 85/* Define HAVE_TERMIOS if the system provides POSIX-style
95 functions and macros for terminal control. */ 86 functions and macros for terminal control. */
96
97#define HAVE_TERMIOS 87#define HAVE_TERMIOS
98 88
99/* Define HAVE_PTYS if the system supports pty devices. */ 89/* Define HAVE_PTYS if the system supports pty devices. */
100
101#define HAVE_PTYS 90#define HAVE_PTYS
102 91
103#define HAVE_SOCKETS 92#define HAVE_SOCKETS
104 93
105/* Define this symbol if your system has the functions bcopy, etc. */ 94/* Define this symbol if your system has the functions bcopy, etc. */
106#define BSTRING 95#define BSTRING
107 96
108/* This is used in list_system_processes. */ 97/* This is used in list_system_processes. */
@@ -121,28 +110,24 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
121 your system and must be used only through an encapsulation 110 your system and must be used only through an encapsulation
122 (Which you should place, by convention, in sysdep.c). */ 111 (Which you should place, by convention, in sysdep.c). */
123 112
124/* This is needed for dispnew.c:update_frame */ 113/* This is needed for dispnew.c:update_frame. */
125
126#ifdef emacs 114#ifdef emacs
127#include <stdio.h> /* Get the definition of _IO_STDIO_H. */ 115#include <stdio.h> /* Get the definition of _IO_STDIO_H. */
128#if defined(_IO_STDIO_H) || defined(_STDIO_USES_IOSTREAM) 116#if defined(_IO_STDIO_H) || defined(_STDIO_USES_IOSTREAM)
129/* new C libio names */ 117/* New C libio names. */
130#define GNU_LIBRARY_PENDING_OUTPUT_COUNT(FILE) \ 118#define GNU_LIBRARY_PENDING_OUTPUT_COUNT(FILE) \
131 ((FILE)->_IO_write_ptr - (FILE)->_IO_write_base) 119 ((FILE)->_IO_write_ptr - (FILE)->_IO_write_base)
132#elif defined (__UCLIBC__) 120#elif defined (__UCLIBC__)
133/* using the uClibc library */ 121/* Using the uClibc library. */
134#define GNU_LIBRARY_PENDING_OUTPUT_COUNT(FILE) \ 122#define GNU_LIBRARY_PENDING_OUTPUT_COUNT(FILE) \
135 ((FILE)->__bufpos - (FILE)->__bufstart) 123 ((FILE)->__bufpos - (FILE)->__bufstart)
136#else /* !_IO_STDIO_H && ! __UCLIBC__ */ 124#else /* !_IO_STDIO_H && ! __UCLIBC__ */
137/* old C++ iostream names */ 125/* Old C++ iostream names. */
138#define GNU_LIBRARY_PENDING_OUTPUT_COUNT(FILE) \ 126#define GNU_LIBRARY_PENDING_OUTPUT_COUNT(FILE) \
139 ((FILE)->_pptr - (FILE)->_pbase) 127 ((FILE)->_pptr - (FILE)->_pbase)
140#endif /* !_IO_STDIO_H && ! __UCLIBC__ */ 128#endif /* !_IO_STDIO_H && ! __UCLIBC__ */
141#endif /* emacs */ 129#endif /* emacs */
142 130
143/* Ask GCC where to find libgcc.a. */
144#define LIB_GCC `$(CC) $(C_SWITCH_X_SITE) -print-libgcc-file-name`
145
146#ifdef emacs 131#ifdef emacs
147#define INTERRUPT_INPUT 132#define INTERRUPT_INPUT
148#endif 133#endif
@@ -151,9 +136,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
151 136
152#define POSIX /* affects getpagesize.h and systty.h */ 137#define POSIX /* affects getpagesize.h and systty.h */
153 138
154#undef LIB_GCC
155#define LIB_GCC
156
157#define UNEXEC unexelf.o 139#define UNEXEC unexelf.o
158 140
159/* This is to work around mysterious gcc failures in some system versions. 141/* This is to work around mysterious gcc failures in some system versions.
@@ -171,8 +153,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
171#endif 153#endif
172 154
173/* Tell that garbage collector that setjmp is known to save all 155/* Tell that garbage collector that setjmp is known to save all
174 registers relevant for conservative garbage collection in the 156 registers relevant for conservative garbage collection in the jmp_buf. */
175 jmp_buf. */
176/* Not all the architectures are tested, but there are Debian packages 157/* Not all the architectures are tested, but there are Debian packages
177 for SCM and/or Guile on them, so the technique must work. See also 158 for SCM and/or Guile on them, so the technique must work. See also
178 comments in alloc.c concerning setjmp and gcc. Fixme: it's 159 comments in alloc.c concerning setjmp and gcc. Fixme: it's
@@ -180,7 +161,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
180 register window-flushing. */ 161 register window-flushing. */
181/* Don't use #cpu here since in newest development versions of GCC, 162/* Don't use #cpu here since in newest development versions of GCC,
182 we must call cpp with -traditional, and that disables #cpu. */ 163 we must call cpp with -traditional, and that disables #cpu. */
183
184#if defined __i386__ || defined __sparc__ || defined __mc68000__ \ 164#if defined __i386__ || defined __sparc__ || defined __mc68000__ \
185 || defined __alpha__ || defined __mips__ || defined __s390__ \ 165 || defined __alpha__ || defined __mips__ || defined __s390__ \
186 || defined __arm__ || defined __powerpc__ || defined __amd64__ \ 166 || defined __arm__ || defined __powerpc__ || defined __amd64__ \
diff --git a/src/s/hpux10-20.h b/src/s/hpux10-20.h
index 0dc8276c44e..91988ef6727 100644
--- a/src/s/hpux10-20.h
+++ b/src/s/hpux10-20.h
@@ -21,56 +21,39 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
21 21
22#define RUN_TIME_REMAP 22#define RUN_TIME_REMAP
23 23
24/* 24/* Define symbols to identify the version of Unix this is.
25 * Define symbols to identify the version of Unix this is. 25 Define all the symbols that apply correctly. */
26 * Define all the symbols that apply correctly.
27 */
28
29#define USG /* System III, System V, etc */ 26#define USG /* System III, System V, etc */
30
31#define USG5 27#define USG5
32
33#define HPUX 28#define HPUX
34 29
35/* SYSTEM_TYPE should indicate the kind of system you are using. 30/* SYSTEM_TYPE should indicate the kind of system you are using.
36 It sets the Lisp variable system-type. */ 31 It sets the Lisp variable system-type. */
37
38#define SYSTEM_TYPE "hpux" 32#define SYSTEM_TYPE "hpux"
39 33
40/* Letter to use in finding device name of first pty, 34/* Letter to use in finding device name of first pty,
41 if system supports pty's. 'p' means it is /dev/ptym/ptyp0 */ 35 if system supports pty's. 'p' means it is /dev/ptym/ptyp0 */
42
43#define FIRST_PTY_LETTER 'p' 36#define FIRST_PTY_LETTER 'p'
44 37
45/* 38/* Define HAVE_TERMIO if the system provides sysV-style ioctls
46 * Define HAVE_TERMIO if the system provides sysV-style ioctls 39 for terminal control. */
47 * for terminal control.
48 */
49
50#define HAVE_TERMIO 40#define HAVE_TERMIO
51 41
52/* 42/* Define HAVE_PTYS if the system supports pty devices. */
53 * Define HAVE_PTYS if the system supports pty devices.
54 */
55
56#define HAVE_PTYS 43#define HAVE_PTYS
57 44
58/* Define HAVE_SOCKETS if system supports 4.2-compatible sockets. */ 45/* Define HAVE_SOCKETS if system supports 4.2-compatible sockets. */
59
60#define HAVE_SOCKETS 46#define HAVE_SOCKETS
61 47
62/* Define this symbol if your system has the functions bcopy, etc. 48/* Define this symbol if your system has the functions bcopy, etc.
63 * s800 and later versions of s300 (s200) kernels have equivalents 49 s800 and later versions of s300 (s200) kernels have equivalents
64 * of the BSTRING functions of BSD. If your s200 kernel doesn't have 50 of the BSTRING functions of BSD. If your s200 kernel doesn't have
65 * em comment out this section. 51 em comment out this section. */
66 */
67
68#define BSTRING 52#define BSTRING
69 53
70/* Define CLASH_DETECTION if you want lock files to be written 54/* Define CLASH_DETECTION if you want lock files to be written
71 so that Emacs can tell instantly when you try to modify 55 so that Emacs can tell instantly when you try to modify
72 a file that someone else has modified in his Emacs. */ 56 a file that someone else has modified in his Emacs. */
73
74#define CLASH_DETECTION 57#define CLASH_DETECTION
75 58
76/* The symbol in the kernel where the load average is found 59/* The symbol in the kernel where the load average is found
@@ -80,11 +63,9 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
80 63
81/* In hpux, the symbol SIGIO is defined, but the feature 64/* In hpux, the symbol SIGIO is defined, but the feature
82 doesn't work in the way Emacs needs it to. */ 65 doesn't work in the way Emacs needs it to. */
83
84#define BROKEN_SIGIO 66#define BROKEN_SIGIO
85 67
86/* Some additional system facilities exist. */ 68/* Some additional system facilities exist. */
87
88#define HAVE_PERROR /* Delete this line for version 6. */ 69#define HAVE_PERROR /* Delete this line for version 6. */
89 70
90#define UNEXEC unexhp9k800.o 71#define UNEXEC unexhp9k800.o
@@ -112,7 +93,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
112 version number A.09.05. 93 version number A.09.05.
113 94
114 You can fix the math library by installing patch number PHSS_4630. 95 You can fix the math library by installing patch number PHSS_4630.
115 But we can fix it more reliably for Emacs like this. */ 96 But we can fix it more reliably for Emacs like this. */
116#undef HAVE_RINT 97#undef HAVE_RINT
117 98
118/* We have to go this route, rather than hpux9's approach of renaming the 99/* We have to go this route, rather than hpux9's approach of renaming the
@@ -129,8 +110,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
129 110
130 111
131/* Rainer Malzbender <rainer@displaytech.com> says definining 112/* Rainer Malzbender <rainer@displaytech.com> says definining
132 HAVE_XRMSETDATABASE allows Emacs to compile on HP-UX 10.20 113 HAVE_XRMSETDATABASE allows Emacs to compile on HP-UX 10.20 using GCC. */
133 using GCC. */
134#ifndef HAVE_XRMSETDATABASE 114#ifndef HAVE_XRMSETDATABASE
135#define HAVE_XRMSETDATABASE 115#define HAVE_XRMSETDATABASE
136#endif 116#endif
@@ -145,7 +125,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
145 to change the boundary between the text section and data section 125 to change the boundary between the text section and data section
146 when Emacs is dumped. If you define this, the preloaded Lisp 126 when Emacs is dumped. If you define this, the preloaded Lisp
147 code will not be sharable; but that's better than failing completely. */ 127 code will not be sharable; but that's better than failing completely. */
148
149#define NO_REMAP 128#define NO_REMAP
150 129
151/* Define VIRT_ADDR_VARIES if the virtual addresses of 130/* Define VIRT_ADDR_VARIES if the virtual addresses of
@@ -154,35 +133,29 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
154 133
155 Otherwise Emacs assumes that text space precedes data space, 134 Otherwise Emacs assumes that text space precedes data space,
156 numerically. */ 135 numerically. */
157
158#define VIRT_ADDR_VARIES 136#define VIRT_ADDR_VARIES
159 137
160/* the data segment on this machine always starts at address 0x40000000. */ 138/* The data segment on this machine always starts at address 0x40000000. */
161
162#define DATA_SEG_BITS 0x40000000 139#define DATA_SEG_BITS 0x40000000
163 140
164#define DATA_START 0x40000000 141#define DATA_START 0x40000000
165#define TEXT_START 0x00000000 142#define TEXT_START 0x00000000
166 143
167/* Data type of load average, as read out of kmem. */ 144/* Data type of load average, as read out of kmem. */
168
169#define LOAD_AVE_TYPE double 145#define LOAD_AVE_TYPE double
170 146
171/* Convert that into an integer that is 100 for a load average of 1.0 */ 147/* Convert that into an integer that is 100 for a load average of 1.0 */
172
173#define LOAD_AVE_CVT(x) ((int) (x * 100.0)) 148#define LOAD_AVE_CVT(x) ((int) (x * 100.0))
174 149
175/* The symbol in the kernel where the load average is found 150/* The kernel symbol where the load average is found is named _avenrun.
176 is named _avenrun. At this time there are two major flavors 151 At this time there are two major flavors of hp-ux (there is the s800
177 of hp-ux (there is the s800 and s300 (s200) flavors). The 152 and s300 (s200) flavors). The differences are thusly moved to the
178 differences are thusly moved to the corresponding machine description file. 153 corresponding machine description file. */
179*/
180 154
181/* no underscore please */ 155/* No underscore please. */
182#define LDAV_SYMBOL "avenrun" 156#define LDAV_SYMBOL "avenrun"
183 157
184/* On USG systems these have different names. */ 158/* On USG systems these have different names. */
185
186#define index strchr 159#define index strchr
187#define rindex strrchr 160#define rindex strrchr
188 161
diff --git a/src/s/irix6-5.h b/src/s/irix6-5.h
index 7016e6bc443..e9e14f0cf35 100644
--- a/src/s/irix6-5.h
+++ b/src/s/irix6-5.h
@@ -41,7 +41,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
41#define SIGNALS_VIA_CHARACTERS 41#define SIGNALS_VIA_CHARACTERS
42 42
43/* Letter to use in finding device name of first pty, 43/* Letter to use in finding device name of first pty,
44 if system supports pty's. 'a' means it is /dev/ptya0 */ 44 if system supports pty's. 'a' means it is /dev/ptya0 */
45#undef FIRST_PTY_LETTER 45#undef FIRST_PTY_LETTER
46#define FIRST_PTY_LETTER 'q' 46#define FIRST_PTY_LETTER 'q'
47 47
diff --git a/src/s/ms-w32.h b/src/s/ms-w32.h
index f5065507e5a..2d6cc2f4bd5 100644
--- a/src/s/ms-w32.h
+++ b/src/s/ms-w32.h
@@ -18,10 +18,8 @@ GNU General Public License for more details.
18You should have received a copy of the GNU General Public License 18You should have received a copy of the GNU General Public License
19along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ 19along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
20 20
21/* 21/* Define symbols to identify the version of Unix this is.
22 * Define symbols to identify the version of Unix this is. 22 Define all the symbols that apply correctly. */
23 * Define all the symbols that apply correctly.
24 */
25 23
26#ifndef WINDOWSNT 24#ifndef WINDOWSNT
27#define WINDOWSNT 25#define WINDOWSNT
@@ -31,63 +29,53 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
31#endif 29#endif
32 30
33/* If you are compiling with a non-C calling convention but need to 31/* If you are compiling with a non-C calling convention but need to
34 declare vararg routines differently, put it here */ 32 declare vararg routines differently, put it here. */
35#define _VARARGS_ __cdecl 33#define _VARARGS_ __cdecl
36 34
37/* If you are providing a function to something that will call the 35/* If you are providing a function to something that will call the
38 function back (like a signal handler and signal, or main) its calling 36 function back (like a signal handler and signal, or main) its calling
39 convention must be whatever standard the libraries expect */ 37 convention must be whatever standard the libraries expect. */
40#define _CALLBACK_ __cdecl 38#define _CALLBACK_ __cdecl
41 39
42/* SYSTEM_TYPE should indicate the kind of system you are using. 40/* SYSTEM_TYPE should indicate the kind of system you are using.
43 It sets the Lisp variable system-type. */ 41 It sets the Lisp variable system-type. */
44
45#define SYSTEM_TYPE "windows-nt" 42#define SYSTEM_TYPE "windows-nt"
46#define SYMS_SYSTEM syms_of_ntterm () 43#define SYMS_SYSTEM syms_of_ntterm ()
47 44
48#define NO_MATHERR 1 45#define NO_MATHERR 1
49 46
50/* Letter to use in finding device name of first pty, 47/* Letter to use in finding device name of first pty,
51 if system supports pty's. 'a' means it is /dev/ptya0 */ 48 if system supports pty's. 'a' means it is /dev/ptya0 */
52
53#define FIRST_PTY_LETTER 'a' 49#define FIRST_PTY_LETTER 'a'
54 50
55/* 51/* Define HAVE_TIMEVAL if the system supports the BSD style clock values.
56 * Define HAVE_TIMEVAL if the system supports the BSD style clock values. 52 Look in <sys/time.h> for a timeval structure. */
57 * Look in <sys/time.h> for a timeval structure.
58 */
59
60#define HAVE_TIMEVAL 1 53#define HAVE_TIMEVAL 1
61 54
62/* NT supports Winsock which is close enough (with some hacks) */ 55/* NT supports Winsock which is close enough (with some hacks). */
63
64#define HAVE_SOCKETS 1 56#define HAVE_SOCKETS 1
65 57
66/* But our select implementation doesn't allow us to make non-blocking 58/* But our select implementation doesn't allow us to make non-blocking
67 connects. So until that is fixed, this is necessary: */ 59 connects. So until that is fixed, this is necessary: */
68
69#define BROKEN_NON_BLOCKING_CONNECT 1 60#define BROKEN_NON_BLOCKING_CONNECT 1
70 61
71/* And the select implementation does 1-byte read-ahead waiting 62/* And the select implementation does 1-byte read-ahead waiting
72 for received packets, so datagrams are broken too. */ 63 for received packets, so datagrams are broken too. */
73
74#define BROKEN_DATAGRAM_SOCKETS 1 64#define BROKEN_DATAGRAM_SOCKETS 1
75 65
76/* Define this symbol if your system has the functions bcopy, etc. */ 66/* Define this symbol if your system has the functions bcopy, etc. */
77
78#define BSTRING 67#define BSTRING
79#define bzero(b, l) memset(b, 0, l) 68#define bzero(b, l) memset(b, 0, l)
80#define bcopy(s, d, l) memmove(d, s, l) 69#define bcopy(s, d, l) memmove(d, s, l)
81#define bcmp(a, b, l) memcmp(a, b, l) 70#define bcmp(a, b, l) memcmp(a, b, l)
82 71
83/* bcopy (aka memmove aka memcpy at least on x86) under MSVC is quite safe */ 72/* bcopy (aka memmove aka memcpy at least on x86) under MSVC is quite safe. */
84#define GAP_USE_BCOPY 1 73#define GAP_USE_BCOPY 1
85#define BCOPY_UPWARD_SAFE 1 74#define BCOPY_UPWARD_SAFE 1
86#define BCOPY_DOWNWARD_SAFE 1 75#define BCOPY_DOWNWARD_SAFE 1
87 76
88/* If your system uses COFF (Common Object File Format) then define the 77/* If your system uses COFF (Common Object File Format) then define the
89 preprocessor symbol "COFF". */ 78 preprocessor symbol "COFF". */
90
91#define COFF 1 79#define COFF 1
92 80
93#define MAIL_USE_POP 1 81#define MAIL_USE_POP 1
@@ -101,17 +89,16 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
101 89
102/* ============================================================ */ 90/* ============================================================ */
103 91
104/* Here, add any special hacks needed 92/* Here, add any special hacks needed to make Emacs work on this
105 to make Emacs work on this system. For example, 93 system. For example, you might define certain system call names
106 you might define certain system call names that don't 94 that don't exist on your system, or that do different things on
107 exist on your system, or that do different things on 95 your system and must be used only through an encapsulation (which
108 your system and must be used only through an encapsulation 96 you should place, by convention, in sysdep.c). */
109 (Which you should place, by convention, in sysdep.c). */
110 97
111/* Define this to be the separator between path elements */ 98/* Define this to be the separator between path elements. */
112#define DIRECTORY_SEP XINT (Vdirectory_sep_char) 99#define DIRECTORY_SEP XINT (Vdirectory_sep_char)
113 100
114/* Define this to be the separator between devices and paths */ 101/* Define this to be the separator between devices and paths. */
115#define DEVICE_SEP ':' 102#define DEVICE_SEP ':'
116 103
117/* We'll support either convention on NT. */ 104/* We'll support either convention on NT. */
@@ -128,7 +115,7 @@ struct sigaction {
128#define SIG_SETMASK 2 115#define SIG_SETMASK 2
129#define SIG_UNBLOCK 3 116#define SIG_UNBLOCK 3
130 117
131/* The null device on Windows NT. */ 118/* The null device on Windows NT. */
132#define NULL_DEVICE "NUL:" 119#define NULL_DEVICE "NUL:"
133 120
134#ifndef MAXPATHLEN 121#ifndef MAXPATHLEN
@@ -218,11 +205,11 @@ struct sigaction {
218 205
219#define MODE_LINE_BINARY_TEXT(_b_) (NILP ((_b_)->buffer_file_type) ? "T" : "B") 206#define MODE_LINE_BINARY_TEXT(_b_) (NILP ((_b_)->buffer_file_type) ? "T" : "B")
220 207
221/* get some redefinitions in place */ 208/* Get some redefinitions in place. */
222 209
223#ifdef emacs 210#ifdef emacs
224 211
225/* calls that are emulated or shadowed */ 212/* Calls that are emulated or shadowed. */
226#undef access 213#undef access
227#define access sys_access 214#define access sys_access
228#undef chdir 215#undef chdir
@@ -259,17 +246,17 @@ struct sigaction {
259#undef write 246#undef write
260#define write sys_write 247#define write sys_write
261 248
262/* subprocess calls that are emulated */ 249/* Subprocess calls that are emulated. */
263#define spawnve sys_spawnve 250#define spawnve sys_spawnve
264#define wait sys_wait 251#define wait sys_wait
265#define kill sys_kill 252#define kill sys_kill
266#define signal sys_signal 253#define signal sys_signal
267 254
268/* termcap.c calls that are emulated */ 255/* termcap.c calls that are emulated. */
269#define tputs sys_tputs 256#define tputs sys_tputs
270#define tgetstr sys_tgetstr 257#define tgetstr sys_tgetstr
271 258
272/* cm.c calls that are emulated */ 259/* cm.c calls that are emulated. */
273#define chcheckmagic sys_chcheckmagic 260#define chcheckmagic sys_chcheckmagic
274#define cmcostinit sys_cmcostinit 261#define cmcostinit sys_cmcostinit
275#define cmgoto sys_cmgoto 262#define cmgoto sys_cmgoto
@@ -278,7 +265,7 @@ struct sigaction {
278 265
279#endif /* emacs */ 266#endif /* emacs */
280 267
281/* map to MSVC names */ 268/* Map to MSVC names. */
282#define execlp _execlp 269#define execlp _execlp
283#define execvp _execvp 270#define execvp _execvp
284#define fdopen _fdopen 271#define fdopen _fdopen
@@ -312,8 +299,8 @@ typedef int pid_t;
312#define utime _utime 299#define utime _utime
313#endif 300#endif
314 301
315/* this is hacky, but is necessary to avoid warnings about macro 302/* This is hacky, but is necessary to avoid warnings about macro
316 redefinitions using the SDK compilers */ 303 redefinitions using the SDK compilers. */
317#ifndef __STDC__ 304#ifndef __STDC__
318#define __STDC__ 1 305#define __STDC__ 1
319#define MUST_UNDEF__STDC__ 306#define MUST_UNDEF__STDC__
@@ -326,7 +313,7 @@ typedef int pid_t;
326#undef MUST_UNDEF__STDC__ 313#undef MUST_UNDEF__STDC__
327#endif 314#endif
328 315
329/* Defines that we need that aren't in the standard signal.h */ 316/* Defines that we need that aren't in the standard signal.h. */
330#define SIGHUP 1 /* Hang up */ 317#define SIGHUP 1 /* Hang up */
331#define SIGQUIT 3 /* Quit process */ 318#define SIGQUIT 3 /* Quit process */
332#define SIGTRAP 5 /* Trace trap */ 319#define SIGTRAP 5 /* Trace trap */
@@ -369,8 +356,7 @@ extern char *get_emacs_configuration_options (void);
369 356
370#include <sys/stat.h> 357#include <sys/stat.h>
371 358
372/* Define for those source files that do not include enough NT 359/* Define for those source files that do not include enough NT system files. */
373 system files. */
374#ifndef NULL 360#ifndef NULL
375#ifdef __cplusplus 361#ifdef __cplusplus
376#define NULL 0 362#define NULL 0
@@ -405,7 +391,7 @@ extern char *get_emacs_configuration_options (void);
405 removed. Also, obviously, all files that define initialized data 391 removed. Also, obviously, all files that define initialized data
406 must include config.h to pick up this pragma. */ 392 must include config.h to pick up this pragma. */
407 393
408/* Names must be < 8 bytes */ 394/* Names must be < 8 bytes. */
409#ifdef _MSC_VER 395#ifdef _MSC_VER
410#pragma data_seg("EMDATA") 396#pragma data_seg("EMDATA")
411#pragma bss_seg("EMBSS") 397#pragma bss_seg("EMBSS")
diff --git a/src/s/msdos.h b/src/s/msdos.h
index a594bb850f4..90f630c8627 100644
--- a/src/s/msdos.h
+++ b/src/s/msdos.h
@@ -21,11 +21,8 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
21/* Note: lots of stuff here was taken from s-msdos.h in demacs. */ 21/* Note: lots of stuff here was taken from s-msdos.h in demacs. */
22 22
23 23
24/* 24/* Define symbols to identify the version of Unix this is.
25 * Define symbols to identify the version of Unix this is. 25 Define all the symbols that apply correctly. */
26 * Define all the symbols that apply correctly.
27 */
28
29#ifndef MSDOS 26#ifndef MSDOS
30#define MSDOS 27#define MSDOS
31#endif 28#endif
@@ -38,40 +35,34 @@ You lose; /* Emacs for DOS must be compiled with DJGPP */
38#undef BSD_SYSTEM 35#undef BSD_SYSTEM
39 36
40/* SYSTEM_TYPE should indicate the kind of system you are using. 37/* SYSTEM_TYPE should indicate the kind of system you are using.
41 It sets the Lisp variable system-type. */ 38 It sets the Lisp variable system-type. */
42
43#define SYSTEM_TYPE "ms-dos" 39#define SYSTEM_TYPE "ms-dos"
44 40
45#define SYMS_SYSTEM syms_of_dosfns();syms_of_msdos();syms_of_win16select() 41#define SYMS_SYSTEM syms_of_dosfns();syms_of_msdos();syms_of_win16select()
46 42
47#define SYSV_SYSTEM_DIR 43#define SYSV_SYSTEM_DIR
48 44
49/* Define this symbol if your system has the functions bcopy, etc. */ 45/* Define this symbol if your system has the functions bcopy, etc. */
50
51#define BSTRING 46#define BSTRING
52 47
53/* Define this is the compiler understands `volatile'. */ 48/* Define this is the compiler understands `volatile'. */
54#define HAVE_VOLATILE 49#define HAVE_VOLATILE
55 50
56 51
57/* subprocesses should be defined if you want to 52/* subprocesses should be defined if you want to have code for
58 have code for asynchronous subprocesses 53 asynchronous subprocesses (as used in M-x compile and M-x shell).
59 (as used in M-x compile and M-x shell).
60 This is the only system that needs this. */ 54 This is the only system that needs this. */
61
62#undef subprocesses 55#undef subprocesses
63 56
64/* If your system uses COFF (Common Object File Format) then define the 57/* If your system uses COFF (Common Object File Format) then define the
65 preprocessor symbol "COFF". */ 58 preprocessor symbol "COFF". */
66
67#define COFF 59#define COFF
68 60
69/* Here, on a separate page, add any special hacks needed 61/* Here, on a separate page, add any special hacks needed to make
70 to make Emacs work on this system. For example, 62 Emacs work on this system. For example, you might define certain
71 you might define certain system call names that don't 63 system call names that don't exist on your system, or that do
72 exist on your system, or that do different things on 64 different things on your system and must be used only through an
73 your system and must be used only through an encapsulation 65 encapsulation (which you should place, by convention, in sysdep.c). */
74 (Which you should place, by convention, in sysdep.c). */
75 66
76/* Avoid incompatibilities between gmalloc.c and system header files 67/* Avoid incompatibilities between gmalloc.c and system header files
77 in how to declare valloc. */ 68 in how to declare valloc. */
@@ -83,7 +74,6 @@ You lose; /* Emacs for DOS must be compiled with DJGPP */
83 74
84/* setjmp and longjmp can safely replace _setjmp and _longjmp, 75/* setjmp and longjmp can safely replace _setjmp and _longjmp,
85 but they will run slower. */ 76 but they will run slower. */
86
87#define _setjmp setjmp 77#define _setjmp setjmp
88#define _longjmp longjmp 78#define _longjmp longjmp
89 79
@@ -95,7 +85,6 @@ You lose; /* Emacs for DOS must be compiled with DJGPP */
95#define ORDINARY_LINK 85#define ORDINARY_LINK
96 86
97/* command.com does not understand `...` so we define this. */ 87/* command.com does not understand `...` so we define this. */
98#define LIB_GCC -Lgcc
99#define SEPCHAR ';' 88#define SEPCHAR ';'
100 89
101#define NULL_DEVICE "nul" 90#define NULL_DEVICE "nul"
@@ -110,17 +99,17 @@ You lose; /* Emacs for DOS must be compiled with DJGPP */
110:AB=<BG %d>:AF=<FG %d>:op=<DefC>:" 99:AB=<BG %d>:AF=<FG %d>:op=<DefC>:"
111 100
112/* Define this to a function (Fdowncase, Fupcase) if your file system 101/* Define this to a function (Fdowncase, Fupcase) if your file system
113 likes that */ 102 likes that. */
114#define FILE_SYSTEM_CASE Fmsdos_downcase_filename 103#define FILE_SYSTEM_CASE Fmsdos_downcase_filename
115 104
116/* Define this to be the separator between devices and paths */ 105/* Define this to be the separator between devices and paths. */
117#define DEVICE_SEP ':' 106#define DEVICE_SEP ':'
118 107
119/* We'll support either convention on MSDOG. */ 108/* We'll support either convention on MSDOG. */
120#define IS_DIRECTORY_SEP(_c_) ((_c_) == '/' || (_c_) == '\\') 109#define IS_DIRECTORY_SEP(_c_) ((_c_) == '/' || (_c_) == '\\')
121#define IS_ANY_SEP(_c_) (IS_DIRECTORY_SEP (_c_) || IS_DEVICE_SEP (_c_)) 110#define IS_ANY_SEP(_c_) (IS_DIRECTORY_SEP (_c_) || IS_DEVICE_SEP (_c_))
122 111
123/* bcopy under djgpp is quite safe */ 112/* bcopy under djgpp is quite safe. */
124#define GAP_USE_BCOPY 113#define GAP_USE_BCOPY
125#define BCOPY_UPWARD_SAFE 1 114#define BCOPY_UPWARD_SAFE 1
126#define BCOPY_DOWNWARD_SAFE 1 115#define BCOPY_DOWNWARD_SAFE 1
@@ -140,9 +129,7 @@ You lose; /* Emacs for DOS must be compiled with DJGPP */
140 commentary below, in the non-X branch. The 140KB number was 129 commentary below, in the non-X branch. The 140KB number was
141 measured on GNU/Linux and on MS-WIndows. */ 130 measured on GNU/Linux and on MS-WIndows. */
142#define SYSTEM_PURESIZE_EXTRA (-170000+140000) 131#define SYSTEM_PURESIZE_EXTRA (-170000+140000)
143#define MSDOS_LIBS_SYSTEM -lxext -lsys
144#else 132#else
145#define MSDOS_LIBS_SYSTEM
146/* We need a little extra space, see ../../lisp/loadup.el. 133/* We need a little extra space, see ../../lisp/loadup.el.
147 As of 20091024, DOS-specific files use up 62KB of pure space. But 134 As of 20091024, DOS-specific files use up 62KB of pure space. But
148 overall, we end up wasting 130KB of pure space, because 135 overall, we end up wasting 130KB of pure space, because
@@ -156,9 +143,7 @@ You lose; /* Emacs for DOS must be compiled with DJGPP */
156#endif 143#endif
157 144
158/* Tell the garbage collector that setjmp is known to save all 145/* Tell the garbage collector that setjmp is known to save all
159 registers relevant for conservative garbage collection in the 146 registers relevant for conservative garbage collection in the jmp_buf. */
160 jmp_buf. */
161
162#define GC_SETJMP_WORKS 1 147#define GC_SETJMP_WORKS 1
163#define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS 148#define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS
164 149
diff --git a/src/s/netbsd.h b/src/s/netbsd.h
index fa6d1141c8c..4874ec9af56 100644
--- a/src/s/netbsd.h
+++ b/src/s/netbsd.h
@@ -19,23 +19,17 @@ You should have received a copy of the GNU General Public License
19along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ 19along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
20 20
21 21
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#define HAVE_GETLOADAVG 1 25#define HAVE_GETLOADAVG 1
26 26
27#define PENDING_OUTPUT_COUNT(FILE) ((FILE)->_p - (FILE)->_bf._base) 27#define PENDING_OUTPUT_COUNT(FILE) ((FILE)->_p - (FILE)->_bf._base)
28 28
29#undef LIB_GCC
30#define LIB_GCC
31
32#define AMPERSAND_FULL_NAME
33
34/* On post 1.3 releases of NetBSD, gcc -nostdlib also clears 29/* On post 1.3 releases of NetBSD, gcc -nostdlib also clears
35 the library search parth, i.e. it won't search /usr/lib 30 the library search parth, i.e. it won't search /usr/lib
36 for libc and friends. Using -nostartfiles instead avoids 31 for libc and friends. Using -nostartfiles instead avoids
37 this problem, and will also work on earlier NetBSD releases */ 32 this problem, and will also work on earlier NetBSD releases. */
38
39#define LINKER $(CC) -nostartfiles 33#define LINKER $(CC) -nostartfiles
40 34
41#define DEFAULT_SOUND_DEVICE "/dev/audio" 35#define DEFAULT_SOUND_DEVICE "/dev/audio"
@@ -43,7 +37,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
43/* Greg A. Woods <woods@weird.com> says we must include signal.h 37/* Greg A. Woods <woods@weird.com> says we must include signal.h
44 before syssignal.h is included, to work around interface conflicts 38 before syssignal.h is included, to work around interface conflicts
45 that are handled with CPP __RENAME() macro in signal.h. */ 39 that are handled with CPP __RENAME() macro in signal.h. */
46
47#ifndef NOT_C_CODE 40#ifndef NOT_C_CODE
48#include <signal.h> 41#include <signal.h>
49#endif 42#endif
@@ -51,17 +44,13 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
51/* Don't close pty in process.c to make it as controlling terminal. 44/* Don't close pty in process.c to make it as controlling terminal.
52 It is already a controlling terminal of subprocess, because we did 45 It is already a controlling terminal of subprocess, because we did
53 ioctl TIOCSCTTY. */ 46 ioctl TIOCSCTTY. */
54
55#define DONT_REOPEN_PTY 47#define DONT_REOPEN_PTY
56 48
57/* Tell that garbage collector that setjmp is known to save all 49/* Tell that garbage collector that setjmp is known to save all
58 registers relevant for conservative garbage collection in the 50 registers relevant for conservative garbage collection in the jmp_buf. */
59 jmp_buf. */
60
61#define GC_SETJMP_WORKS 1 51#define GC_SETJMP_WORKS 1
62 52
63/* Use the GC_MAKE_GCPROS_NOOPS (see lisp.h) method. */ 53/* Use the GC_MAKE_GCPROS_NOOPS (see lisp.h) method. */
64
65#define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS 54#define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS
66 55
67/* arch-tag: e80f364a-04e9-4faf-93cb-f36a0fe95c81 56/* arch-tag: e80f364a-04e9-4faf-93cb-f36a0fe95c81
diff --git a/src/s/sol2-10.h b/src/s/sol2-10.h
index 865e17525c4..fd74ae798c9 100644
--- a/src/s/sol2-10.h
+++ b/src/s/sol2-10.h
@@ -4,20 +4,18 @@
4 4
5#define SYSTEM_MALLOC 5#define SYSTEM_MALLOC
6 6
7/* 7/* Use the Solaris dldump() function, called from unexsol.c, to dump
8 * Use the Solaris dldump() function, called from unexsol.c, to dump 8 emacs, instead of the generic ELF dump code found in unexelf.c.
9 * emacs, instead of the generic ELF dump code found in unexelf.c. 9 The resulting binary has a complete symbol table, and is better
10 * The resulting binary has a complete symbol table, and is better 10 for debugging and other observabilty tools (debuggers, pstack, etc).
11 * for debugging and other observabilty tools (debuggers, pstack, etc). 11
12 * 12 If you encounter a problem using dldump(), please consider sending
13 * If you encounter a problem using dldump(), please consider sending 13 a message to the OpenSolaris tools-linking mailing list:
14 * a message to the OpenSolaris tools-linking mailing list: 14 http://mail.opensolaris.org/mailman/listinfo/tools-linking
15 * http://mail.opensolaris.org/mailman/listinfo/tools-linking 15
16 * 16 It is likely that dldump() works with older Solaris too,
17 * It is likely that dldump() works with older Solaris too, 17 but this has not been tested, and so, this change is for
18 * but this has not been tested, and so, this change is for 18 Solaris 10 and newer only at this time. */
19 * Solaris 10 and newer only at this time.
20 */
21#undef UNEXEC 19#undef UNEXEC
22#define UNEXEC unexsol.o 20#define UNEXEC unexsol.o
23 21
diff --git a/src/s/template.h b/src/s/template.h
index b3a88c0b28c..16df03092d2 100644
--- a/src/s/template.h
+++ b/src/s/template.h
@@ -21,10 +21,8 @@ You should have received a copy of the GNU General Public License
21along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ 21along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
22 22
23 23
24/* 24/* Define symbols to identify the version of Unix this is.
25 * Define symbols to identify the version of Unix this is. 25 Define all the symbols that apply correctly. */
26 * Define all the symbols that apply correctly.
27 */
28 26
29/* #define USG5 */ 27/* #define USG5 */
30/* #define USG */ 28/* #define USG */
@@ -34,7 +32,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
34/* #define BSD_SYSTEM */ 32/* #define BSD_SYSTEM */
35 33
36/* SYSTEM_TYPE should indicate the kind of system you are using. 34/* SYSTEM_TYPE should indicate the kind of system you are using.
37 It sets the Lisp variable system-type. */ 35 It sets the Lisp variable system-type. */
38 36
39#define SYSTEM_TYPE "berkeley-unix" 37#define SYSTEM_TYPE "berkeley-unix"
40 38
@@ -58,55 +56,46 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
58 Another method of doing input is planned but not implemented. 56 Another method of doing input is planned but not implemented.
59 It would have Emacs fork off a separate process 57 It would have Emacs fork off a separate process
60 to read the input and send it to the true Emacs process 58 to read the input and send it to the true Emacs process
61 through a pipe. */ 59 through a pipe. */
62
63#define INTERRUPT_INPUT 60#define INTERRUPT_INPUT
64 61
65/* Letter to use in finding device name of first pty, 62/* Letter to use in finding device name of first pty,
66 if system supports pty's. 'a' means it is /dev/ptya0 */ 63 if system supports pty's. 'a' means it is /dev/ptya0. */
67
68#define FIRST_PTY_LETTER 'a' 64#define FIRST_PTY_LETTER 'a'
69 65
70/* 66/* Define HAVE_TERMIOS if the system provides POSIX-style
71 * Define HAVE_TERMIOS if the system provides POSIX-style 67 functions and macros for terminal control.
72 * functions and macros for terminal control. 68
73 * 69 Define HAVE_TERMIO if the system provides sysV-style ioctls
74 * Define HAVE_TERMIO if the system provides sysV-style ioctls 70 for terminal control.
75 * for terminal control. 71
76 * 72 Do not define both. HAVE_TERMIOS is preferred, if it is
77 * Do not define both. HAVE_TERMIOS is preferred, if it is 73 supported on your system. */
78 * supported on your system.
79 */
80 74
81#define HAVE_TERMIOS 75#define HAVE_TERMIOS
82/* #define HAVE_TERMIO */ 76/* #define HAVE_TERMIO */
83 77
84/* 78/* Define HAVE_PTYS if the system supports pty devices. */
85 * Define HAVE_PTYS if the system supports pty devices.
86 */
87
88#define HAVE_PTYS 79#define HAVE_PTYS
89 80
90/* Define this symbol if your system has the functions bcopy, etc. */ 81/* Define this symbol if your system has the functions bcopy, etc. */
91
92#define BSTRING 82#define BSTRING
93 83
94/* subprocesses should be undefined if you do NOT want to 84/* subprocesses should be undefined if you do NOT want to
95 have code for asynchronous subprocesses 85 have code for asynchronous subprocesses
96 (as used in M-x compile and M-x shell). 86 (as used in M-x compile and M-x shell).
97 Currently only MSDOS does not support this. */ 87 Currently only MSDOS does not support this. */
98 88
99/* #undef subprocesses */ 89/* #undef subprocesses */
100 90
101/* If your system uses COFF (Common Object File Format) then define the 91/* If your system uses COFF (Common Object File Format) then define the
102 preprocessor symbol "COFF". */ 92 preprocessor symbol "COFF". */
103 93
104/* #define COFF */ 94/* #define COFF */
105 95
106/* Define CLASH_DETECTION if you want lock files to be written 96/* Define CLASH_DETECTION if you want lock files to be written
107 so that Emacs can tell instantly when you try to modify 97 so that Emacs can tell instantly when you try to modify
108 a file that someone else has modified in his Emacs. */ 98 a file that someone else has modified in his Emacs. */
109
110#define CLASH_DETECTION 99#define CLASH_DETECTION
111 100
112/* Define this if your operating system declares signal handlers to 101/* Define this if your operating system declares signal handlers to
@@ -127,12 +116,11 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
127 116
128/* ============================================================ */ 117/* ============================================================ */
129 118
130/* Here, add any special hacks needed 119/* Here, add any special hacks needed to make Emacs work on this
131 to make Emacs work on this system. For example, 120 system. For example, you might define certain system call names
132 you might define certain system call names that don't 121 that don't exist on your system, or that do different things on
133 exist on your system, or that do different things on 122 your system and must be used only through an encapsulation (which
134 your system and must be used only through an encapsulation 123 you should place, by convention, in sysdep.c). */
135 (Which you should place, by convention, in sysdep.c). */
136 124
137/* If the system's imake configuration file defines `NeedWidePrototypes' 125/* If the system's imake configuration file defines `NeedWidePrototypes'
138 as `NO', we must define NARROWPROTO manually. Such a define is 126 as `NO', we must define NARROWPROTO manually. Such a define is
diff --git a/src/s/unixware.h b/src/s/unixware.h
index 31d7b25269a..864f09786b6 100644
--- a/src/s/unixware.h
+++ b/src/s/unixware.h
@@ -35,8 +35,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
35/* This sets the name of the slave side of the PTY. On SysVr4, 35/* This sets the name of the slave side of the PTY. On SysVr4,
36 grantpt(3) forks a subprocess, so keep sigchld_handler() from 36 grantpt(3) forks a subprocess, so keep sigchld_handler() from
37 intercepting that death. If any child but grantpt's should die 37 intercepting that death. If any child but grantpt's should die
38 within, it should be caught after sigrelse(2). */ 38 within, it should be caught after sigrelse(2). */
39
40#define PTY_TTY_NAME_SPRINTF \ 39#define PTY_TTY_NAME_SPRINTF \
41 { \ 40 { \
42 char *ptsname(), *ptyname; \ 41 char *ptsname(), *ptyname; \
@@ -54,12 +53,10 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
54 } 53 }
55 54
56/* Data type of load average, as read out of kmem. */ 55/* Data type of load average, as read out of kmem. */
57
58#define LOAD_AVE_TYPE long 56#define LOAD_AVE_TYPE long
59 57
60/* Convert that into an integer that is 100 for a load average of 1.0 */ 58/* Convert that into an integer that is 100 for a load average of 1.0 */
61/* This is totally uncalibrated. */ 59/* This is totally uncalibrated. */
62
63#define LOAD_AVE_CVT(x) ((int) (((double) (x)) * 100.0 / FSCALE)) 60#define LOAD_AVE_CVT(x) ((int) (((double) (x)) * 100.0 / FSCALE))
64#define FSCALE 256.0 61#define FSCALE 256.0
65 62
diff --git a/src/s/usg5-4.h b/src/s/usg5-4.h
index 3926ae08869..f870086368c 100644
--- a/src/s/usg5-4.h
+++ b/src/s/usg5-4.h
@@ -3,6 +3,9 @@
3Copyright (C) 1987, 1990, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 3Copyright (C) 1987, 1990, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
4 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. 4 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
5 5
6Written by James Van Artsdalen of Dell Computer Corp. james@bigtex.cactus.org.
7Subsequently improved for Dell 2.2 by Eric S. Raymond <esr@snark.thyrsus.com>.
8
6This file is part of GNU Emacs. 9This file is part of GNU Emacs.
7 10
8GNU Emacs is free software: you can redistribute it and/or modify 11GNU Emacs is free software: you can redistribute it and/or modify
@@ -18,57 +21,36 @@ GNU General Public License for more details.
18You should have received a copy of the GNU General Public License 21You should have received a copy of the GNU General Public License
19along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ 22along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
20 23
21/* This file written by James Van Artsdalen of Dell Computer Corporation. 24/* Use the SysVr3 file for at least base configuration. */
22 * james@bigtex.cactus.org. Subsequently improved for Dell 2.2 by Eric
23 * S. Raymond <esr@snark.thyrsus.com>.
24 */
25
26/* Use the SysVr3 file for at least base configuration. */
27
28#define USG /* System III, System V, etc */ 25#define USG /* System III, System V, etc */
29 26
30#define USG5 27#define USG5
31#define USG5_4 28#define USG5_4
32 29
33/* SYSTEM_TYPE should indicate the kind of system you are using. 30/* SYSTEM_TYPE should indicate the kind of system you are using.
34 It sets the Lisp variable system-type. */ 31 It sets the Lisp variable system-type. */
35
36#define SYSTEM_TYPE "usg-unix-v" 32#define SYSTEM_TYPE "usg-unix-v"
37 33
38/* 34/* Define HAVE_TERMIO if the system provides sysV-style ioctls
39 * Define HAVE_TERMIO if the system provides sysV-style ioctls 35 for terminal control. */
40 * for terminal control.
41 */
42
43#define HAVE_TERMIO 36#define HAVE_TERMIO
44 37
45/* 38/* Define SYSV_SYSTEM_DIR to use the V.3 getdents/readir library
46 * Define HAVE_PTYS if the system supports pty devices. 39 functions. Almost, but not quite the same as the 4.2 functions. */
47 */
48
49/*
50 * Define SYSV_SYSTEM_DIR to use the V.3 getdents/readir
51 * library functions. Almost, but not quite the same as
52 * the 4.2 functions
53 */
54#define SYSV_SYSTEM_DIR 40#define SYSV_SYSTEM_DIR
55 41
56/* The file containing the kernel's symbol table is called /unix. */ 42/* The file containing the kernel's symbol table is called /unix. */
57
58#define KERNEL_FILE "/unix" 43#define KERNEL_FILE "/unix"
59 44
60/* The symbol in the kernel where the load average is found 45/* The kernel symbol where the load average is found is named avenrun. */
61 is named avenrun. */
62
63#define LDAV_SYMBOL "avenrun" 46#define LDAV_SYMBOL "avenrun"
64 47
65/* setjmp and longjmp can safely replace _setjmp and _longjmp, 48/* setjmp and longjmp can safely replace _setjmp and _longjmp,
66 but they will run slower. */ 49 but they will run slower. */
67
68#define _setjmp setjmp 50#define _setjmp setjmp
69#define _longjmp longjmp 51#define _longjmp longjmp
70 52
71/* On USG systems these have different names */ 53/* On USG systems these have different names. */
72#ifndef HAVE_INDEX 54#ifndef HAVE_INDEX
73#define index strchr 55#define index strchr
74#endif /* ! defined (HAVE_INDEX) */ 56#endif /* ! defined (HAVE_INDEX) */
@@ -76,35 +58,27 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
76#define rindex strrchr 58#define rindex strrchr
77#endif /* ! defined (HAVE_RINDEX) */ 59#endif /* ! defined (HAVE_RINDEX) */
78 60
79 61/* The docs for system V/386 suggest v.3 has sigpause, so let's try it. */
80/* The docs for system V/386 suggest v.3 has sigpause,
81 so let's give it a try. */
82#define HAVE_SYSV_SIGPAUSE 62#define HAVE_SYSV_SIGPAUSE
83 63
84 64/* If we're using the System V X port, BSD bstring functions will be handy. */
85/* If we're using the System V X port, BSD bstring functions will be handy */
86
87#ifdef HAVE_X_WINDOWS 65#ifdef HAVE_X_WINDOWS
88#define BSTRING 66#define BSTRING
89#endif /* HAVE_X_WINDOWS */ 67#endif /* HAVE_X_WINDOWS */
90 68
91/* On USG systems signal handlers return void */ 69/* On USG systems signal handlers return void. */
92
93#define SIGTYPE void 70#define SIGTYPE void
94 71
95#define ORDINARY_LINK 72#define ORDINARY_LINK
96 73
97/* Undump with ELF */ 74/* Undump with ELF. */
98
99#undef COFF 75#undef COFF
100 76
101#define UNEXEC unexelf.o 77#define UNEXEC unexelf.o
102 78
103/* Get FIONREAD from <sys/filio.h>. Get <sys/ttold.h> to get struct 79/* Get FIONREAD from <sys/filio.h>. Get <sys/ttold.h> to get struct tchars.
104 * tchars. But get <termio.h> first to make sure ttold.h doesn't 80 But get <termio.h> first to make sure ttold.h doesn't interfere.
105 * interfere. And don't try to use SIGIO yet. 81 And don't try to use SIGIO yet. */
106 */
107
108#ifndef NOT_C_CODE 82#ifndef NOT_C_CODE
109#include <sys/wait.h> 83#include <sys/wait.h>
110#endif 84#endif
@@ -121,15 +95,14 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
121#endif 95#endif
122 96
123/* Some SVr4s don't define NSIG in sys/signal.h for ANSI environments; 97/* Some SVr4s don't define NSIG in sys/signal.h for ANSI environments;
124 * instead, there's a system variable _sys_nsig. Unfortunately, we need the 98 instead, there's a system variable _sys_nsig. Unfortunately, we need the
125 * constant to dimension an array. So wire in the appropriate value here. 99 constant to dimension an array. So wire in the appropriate value here. */
126 */
127#define NSIG_MINIMUM 32 100#define NSIG_MINIMUM 32
128 101
129/* We can support this */ 102/* We can support this. */
130
131#define CLASH_DETECTION 103#define CLASH_DETECTION
132 104
105/* Define HAVE_PTYS if the system supports pty devices. */
133#define HAVE_PTYS 106#define HAVE_PTYS
134#define HAVE_TERMIOS 107#define HAVE_TERMIOS
135 108
@@ -137,7 +110,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
137 waiting, because a previous waitsys(2) cleaned up the carcass of child 110 waiting, because a previous waitsys(2) cleaned up the carcass of child
138 without clearing the SIGCHLD pending info. So, use a non-blocking 111 without clearing the SIGCHLD pending info. So, use a non-blocking
139 wait3 instead, which maps to waitpid(2) in SysVr4. */ 112 wait3 instead, which maps to waitpid(2) in SysVr4. */
140
141#define wait3(status, options, rusage) \ 113#define wait3(status, options, rusage) \
142 waitpid ((pid_t) -1, (status), (options)) 114 waitpid ((pid_t) -1, (status), (options))
143#define WRETCODE(w) (w >> 8) 115#define WRETCODE(w) (w >> 8)
@@ -145,20 +117,16 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
145/* TIOCGPGRP is broken in SysVr4, so we can't send signals to PTY 117/* TIOCGPGRP is broken in SysVr4, so we can't send signals to PTY
146 subprocesses the usual way. But TIOCSIGNAL does work for PTYs, and 118 subprocesses the usual way. But TIOCSIGNAL does work for PTYs, and
147 this is all we need. */ 119 this is all we need. */
148
149#define TIOCSIGSEND TIOCSIGNAL 120#define TIOCSIGSEND TIOCSIGNAL
150 121
151/* This change means that we don't loop through allocate_pty too many 122/* This change means that we don't loop through allocate_pty too many
152 times in the (rare) event of a failure. */ 123 times in the (rare) event of a failure. */
153
154#define FIRST_PTY_LETTER 'z' 124#define FIRST_PTY_LETTER 'z'
155 125
156/* This sets the name of the master side of the PTY. */ 126/* This sets the name of the master side of the PTY. */
157
158#define PTY_NAME_SPRINTF strcpy (pty_name, "/dev/ptmx"); 127#define PTY_NAME_SPRINTF strcpy (pty_name, "/dev/ptmx");
159 128
160/* Push various streams modules onto a PTY channel. */ 129/* Push various streams modules onto a PTY channel. */
161
162#define SETUP_SLAVE_PTY \ 130#define SETUP_SLAVE_PTY \
163 if (ioctl (xforkin, I_PUSH, "ptem") == -1) \ 131 if (ioctl (xforkin, I_PUSH, "ptem") == -1) \
164 fatal ("ioctl I_PUSH ptem", errno); \ 132 fatal ("ioctl I_PUSH ptem", errno); \
@@ -167,8 +135,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
167 if (ioctl (xforkin, I_PUSH, "ttcompat") == -1) \ 135 if (ioctl (xforkin, I_PUSH, "ttcompat") == -1) \
168 fatal ("ioctl I_PUSH ttcompat", errno); 136 fatal ("ioctl I_PUSH ttcompat", errno);
169 137
170/* This definition was suggested for next release. 138/* This definition was suggested for next release. So give it a try. */
171 So give it a try. */
172#define HAVE_SOCKETS 139#define HAVE_SOCKETS
173 140
174/* arch-tag: 1a0ed909-5faa-434b-b7c3-9d86c63d53a6 141/* arch-tag: 1a0ed909-5faa-434b-b7c3-9d86c63d53a6
diff --git a/src/xdisp.c b/src/xdisp.c
index 34580d22a1e..16936b977fd 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -2698,8 +2698,12 @@ init_iterator (it, w, charpos, bytepos, row, base_face_id)
2698 /* Are multibyte characters enabled in current_buffer? */ 2698 /* Are multibyte characters enabled in current_buffer? */
2699 it->multibyte_p = !NILP (current_buffer->enable_multibyte_characters); 2699 it->multibyte_p = !NILP (current_buffer->enable_multibyte_characters);
2700 2700
2701 /* Do we need to reorder bidirectional text? */ 2701 /* Do we need to reorder bidirectional text? Not if this is a
2702 it->bidi_p = !NILP (current_buffer->bidi_display_reordering); 2702 unibyte buffer: by definition, none of the single-byte characters
2703 are strong R2L, so no reordering is needed. And bidi.c doesn't
2704 support unibyte buffers anyway. */
2705 it->bidi_p
2706 = !NILP (current_buffer->bidi_display_reordering) && it->multibyte_p;
2703 2707
2704 /* Non-zero if we should highlight the region. */ 2708 /* Non-zero if we should highlight the region. */
2705 highlight_region_p 2709 highlight_region_p