Mercurial > emacs
diff mac/inc/s-mac.h @ 88155:d7ddb3e565de
sync with trunk
author | Henrik Enberg <henrik.enberg@telia.com> |
---|---|
date | Mon, 16 Jan 2006 00:03:54 +0000 |
parents | 01b93e5e53a7 |
children |
line wrap: on
line diff
--- a/mac/inc/s-mac.h Sun Jan 15 23:02:10 2006 +0000 +++ b/mac/inc/s-mac.h Mon Jan 16 00:03:54 2006 +0000 @@ -1,5 +1,6 @@ -/* Handcrafted s-mac.h file for building GNU Emacs on the Macintosh. - Copyright (C) 1999, 2000 Free Software Foundation, Inc. +/* Handcrafted s-mac.h file for building GNU Emacs on Mac OS 9. + Copyright (C) 1999, 2000, 2002, 2003, 2004, + 2005 Free Software Foundation, Inc. This file is part of GNU Emacs. @@ -15,8 +16,8 @@ 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. */ +the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +Boston, MA 02110-1301, USA. */ /* Contributed by Andrew Choi (akochoi@mac.com). */ @@ -53,8 +54,8 @@ Define INTERRUPT_INPUT to make interrupt_input = 1 the default (use SIGIO) - Emacs uses the presence or absence of the SIGIO macro to indicate - whether or not signal-driven I/O is possible. It uses + Emacs uses the presence or absence of the SIGIO and BROKEN_SIGIO macros + to indicate whether or not signal-driven I/O is possible. It uses INTERRUPT_INPUT to decide whether to use it by default. SIGIO can be used only on systems that implement it (4.2 and 4.3). @@ -146,6 +147,9 @@ is not ':', #define this to be the appropriate character constant. */ /* #define SEPCHAR ':' */ +/* Define this if the system can use mmap for buffer text allocation. */ +/* #define USE_MMAP_FOR_BUFFERS 1 */ + /* ============================================================ */ /* Here, add any special hacks needed @@ -162,6 +166,14 @@ /* #define static */ +/* If the system's imake configuration file defines `NeedWidePrototypes' + as `NO', we must define NARROWPROTO manually. Such a define is + generated in the Makefile generated by `xmkmf'. If we don't + define NARROWPROTO, we will see the wrong function prototypes + for X functions taking float or double parameters. */ + +/* #define NARROWPROTO 1 */ + /* ============================================================ */ /* After adding support for a new system, modify the large case @@ -174,7 +186,12 @@ of known problems in that configuration should be updated. */ #ifdef __MRC__ -#define __signal_max SIGTERM /* largest one in signal.h */ +/* MrC predefines signal numbers as powers of 2. */ +#define sigmask(no) (((no) & (no) - 1) ? 1L << ((no) - 1) : (no)) +#define __signal_max 8 /* There's enough room for the following + signals between 8 and 16, and the + maximum predefined one (32) is less + than 8th power of 2. */ #endif #define SIGHUP (__signal_max+1) @@ -183,7 +200,12 @@ #define SIGKILL (__signal_max+4) #define SIGALRM (__signal_max+5) #define SIGPIPE (__signal_max+6) + +#ifdef __MRC__ +#define NSIG SIGTERM /* largest one in signal.h */ +#else #define NSIG (__signal_max+6) +#endif #ifdef __MRC__ #define PENDING_OUTPUT_COUNT(FILE) ((FILE)->_ptr - (FILE)->_base) @@ -228,19 +250,11 @@ #define READ_BUF_SIZE (8 << 10) #include <utsname.h> -void read_input_waiting (); - -/* #define GETTIMEOFDAY_ONE_ARGUMENT */ #define SYSV_SYSTEM_DIR #define SYSTEM_MALLOC -/* Constants such as O_RDONLY are defined in fcntl.h. Best solution is - really to patch individual files to include it: callproc.c, doc.c, - fileio.c, getloadavg.c, lread.c, and termcap.c. */ -#include <fcntl.h> - #define _setjmp setjmp #define _longjmp longjmp @@ -255,6 +269,10 @@ #include <unistd.h> #endif +#ifndef X_OK +#define X_OK 01 +#endif + #undef unlink #define unlink sys_unlink #undef read @@ -278,43 +296,22 @@ #define ctime sys_ctime #define time sys_time -#ifndef bcmp -#define bcmp(s1, s2, n) memcmp ((s1), (s2), (n)) -#endif -#ifndef bcopy -#define bcopy(s, d, n) memcpy ((d), (s), (n)) +#define index strchr +#define rindex strrchr + +#define PTR POINTER_TYPE * /* For strftime.c. */ + +#define SYMS_SYSTEM syms_of_mac() + +#ifdef USE_LSB_TAG +#ifdef __MRC__ +#define DECL_ALIGN(type, var) type var #endif -#ifndef bzero -#define bzero(s, n) memset ((s), 0, (n)) -#endif - -extern char *index (const char *, int); - -/* MPW strftime broken for "%p" format */ -#ifdef __MRC__ -#define strftime sys_strftime #endif -#include <time.h> -/* Editfns.c includes types.h which indirectly includes time.h before config.h. - So gmtime (localtime) is defined and not sys_gmtime (sys_localtime). Define - here explicitly. */ -extern struct tm *sys_gmtime (const time_t *); -extern struct tm *sys_localtime (const time_t *); -extern char *sys_ctime (const time_t *); -extern time_t sys_time (time_t *); +/* Use the GC_MAKE_GCPROS_NOOPS (see lisp.h) method for marking the + stack. */ +#define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS -/* Emacs.c includes signal.h before config.h. Define this to make it happy. */ -#ifdef __MRC__ -#include <signal.h> -extern __sigfun sys_signal (int signal_num, __sigfun signal_func); -#elif __MWERKS__ -#include <signal.h> -extern __signal_func_ptr sys_signal (int signal_num, __signal_func_ptr signal_func); -#endif - -extern double atof (const char *); - -#define volatile - -#define SYMS_SYSTEM syms_of_mac() +/* arch-tag: 6a941c4b-a419-4d25-80ac-9335053e58b2 + (do not change this comment) */