summaryrefslogtreecommitdiff
path: root/editors/emacs20/patches/patch-ao
blob: a7577552c6cd7ec088dfe22d8c7ae81414453514 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
$NetBSD: patch-ao,v 1.1 2006/01/04 17:00:32 joerg Exp $

--- /dev/null	2006-01-04 16:01:24.000000000 +0000
+++ src/s/dragonfly.h
@@ -0,0 +1,102 @@
+/* System description header for FreeBSD systems.
+   This file describes the parameters that system description files
+   should define or not.
+   Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
+   Free Software Foundation, Inc.
+
+This file is part of GNU Emacs.
+
+GNU Emacs is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Emacs is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Emacs; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+Boston, MA 02111-1307, USA.  */
+
+/* Get most of the stuff from bsd4.3 */
+#include "bsd4-3.h"
+
+/* For mem-limits.h. */
+#define BSD4_2
+
+/* These aren't needed, since we have getloadavg.  */
+#undef KERNEL_FILE
+#undef LDAV_SYMBOL
+
+#define PENDING_OUTPUT_COUNT(FILE) __fpending(FILE)
+
+#define LIBS_DEBUG
+#define LIBS_SYSTEM -lutil
+#define SYSV_SYSTEM_DIR
+
+/* freebsd has POSIX-style pgrp behavior. */
+#undef BSD_PGRPS
+#define GETPGRP_NO_ARG
+
+#define LD_SWITCH_SYSTEM_1
+#define START_FILES pre-crt0.o /usr/lib/crt1.o /usr/lib/crti.o /usr/lib/crtbegin.o
+#define UNEXEC unexelf.o
+#define LIB_STANDARD -L/usr/lib/gcc34 -lgcc -lc -lgcc /usr/lib/crtend.o /usr/lib/crtn.o
+#undef LIB_GCC
+#define LIB_GCC
+
+#define HAVE_WAIT_HEADER
+#define HAVE_GETLOADAVG 1
+#define HAVE_TERMIOS
+#define NO_TERMIO
+#define NO_MATHERR
+#define DECLARE_GETPWUID_WITH_UID_T
+
+/* freebsd uses OXTABS instead of the expected TAB3. */
+#define TABDLY OXTABS
+#define TAB3 OXTABS
+
+/* this silences a few compilation warnings */
+#undef BSD_SYSTEM
+#define BSD_SYSTEM 199506
+
+#define WAITTYPE int
+/* get this since it won't be included if WAITTYPE is defined */
+#ifdef emacs
+#include <sys/wait.h>
+#endif
+#define WRETCODE(w) (_W_INT(w) >> 8)
+
+/* Needed to avoid hanging when child process writes an error message
+   and exits -- enami tsugutomo <enami@ba2.so-net.or.jp>.  */
+#define vfork fork
+
+/* Don't close pty in process.c to make it as controlling terminal.
+   It is already a controlling terminal of subprocess, because we did
+   ioctl TIOCSCTTY.  */
+#define DONT_REOPEN_PTY
+
+/* CLASH_DETECTION is defined in bsd4-3.h.
+   In FreeBSD 2.1.5 (and other 2.1.x), this results useless symbolic links
+   remaining in /tmp or other directories with +t bit.
+   To avoid this problem, you could #undef it to use no file lock. */
+/* #undef CLASH_DETECTION */
+
+/* Circumvent a bug in FreeBSD.  In the following sequence of
+   writes/reads on a PTY, read(2) returns bogus data:
+
+   write(2)  1022 bytes
+   write(2)   954 bytes, get EAGAIN
+   read(2)   1024 bytes in process_read_output
+   read(2)     11 bytes in process_read_output
+
+   That is, read(2) returns more bytes than have ever been written
+   successfully.  The 1033 bytes read are the 1022 bytes written
+   successfully after processing (for example with CRs added if the
+   terminal is set up that way which it is here).  The same bytes will
+   be seen again in a later read(2), without the CRs.  */
+
+#define BROKEN_PTY_READ_AFTER_EAGAIN 1