aboutsummaryrefslogtreecommitdiffstats
path: root/src/lisp.h
diff options
context:
space:
mode:
authorJoakim Verona2013-07-14 11:04:49 +0200
committerJoakim Verona2013-07-14 11:04:49 +0200
commit0bb9bb0841d89fff09820a57369df4cb01b16b43 (patch)
tree832bf9fa8415eef0ce464d22b3ee1300cfa90bb1 /src/lisp.h
parent3718127221fbbc31f8ebd027ab7c95403dbe9118 (diff)
parent3af1c8684ed6e48fbc21481d129e9aa164752c6e (diff)
downloademacs-0bb9bb0841d89fff09820a57369df4cb01b16b43.tar.gz
emacs-0bb9bb0841d89fff09820a57369df4cb01b16b43.zip
Merge branch 'trunk' into xwidget
Conflicts: src/xdisp.c
Diffstat (limited to 'src/lisp.h')
-rw-r--r--src/lisp.h26
1 files changed, 17 insertions, 9 deletions
diff --git a/src/lisp.h b/src/lisp.h
index 6bea1ec67ed..e194a1ef765 100644
--- a/src/lisp.h
+++ b/src/lisp.h
@@ -363,9 +363,9 @@ enum enum_USE_LSB_TAG { USE_LSB_TAG = 0 };
363#define INTMASK (EMACS_INT_MAX >> (INTTYPEBITS - 1)) 363#define INTMASK (EMACS_INT_MAX >> (INTTYPEBITS - 1))
364#define case_Lisp_Int case Lisp_Int0: case Lisp_Int1 364#define case_Lisp_Int case Lisp_Int0: case Lisp_Int1
365 365
366/* Idea stolen from GDB. MSVC doesn't support enums in bitfields, 366/* Idea stolen from GDB. Pedantic GCC complains about enum bitfields,
367 and xlc complains vociferously about them. */ 367 MSVC doesn't support them, and xlc complains vociferously about them. */
368#if defined _MSC_VER || defined __IBMC__ 368#if defined __STRICT_ANSI__ || defined _MSC_VER || defined __IBMC__
369#define ENUM_BF(TYPE) unsigned int 369#define ENUM_BF(TYPE) unsigned int
370#else 370#else
371#define ENUM_BF(TYPE) enum TYPE 371#define ENUM_BF(TYPE) enum TYPE
@@ -398,7 +398,7 @@ enum Lisp_Type
398 /* Cons. XCONS (object) points to a struct Lisp_Cons. */ 398 /* Cons. XCONS (object) points to a struct Lisp_Cons. */
399 Lisp_Cons = 6, 399 Lisp_Cons = 6,
400 400
401 Lisp_Float = 7, 401 Lisp_Float = 7
402 }; 402 };
403 403
404/* This is the set of data types that share a common structure. 404/* This is the set of data types that share a common structure.
@@ -428,7 +428,7 @@ enum Lisp_Fwd_Type
428 Lisp_Fwd_Bool, /* Fwd to a C boolean var. */ 428 Lisp_Fwd_Bool, /* Fwd to a C boolean var. */
429 Lisp_Fwd_Obj, /* Fwd to a C Lisp_Object variable. */ 429 Lisp_Fwd_Obj, /* Fwd to a C Lisp_Object variable. */
430 Lisp_Fwd_Buffer_Obj, /* Fwd to a Lisp_Object field of buffers. */ 430 Lisp_Fwd_Buffer_Obj, /* Fwd to a Lisp_Object field of buffers. */
431 Lisp_Fwd_Kboard_Obj, /* Fwd to a Lisp_Object field of kboards. */ 431 Lisp_Fwd_Kboard_Obj /* Fwd to a Lisp_Object field of kboards. */
432 }; 432 };
433 433
434/* If you want to define a new Lisp data type, here are some 434/* If you want to define a new Lisp data type, here are some
@@ -2545,11 +2545,16 @@ CHECK_NUMBER_CDR (Lisp_Object x)
2545 minargs, maxargs, lname, intspec, 0}; \ 2545 minargs, maxargs, lname, intspec, 0}; \
2546 Lisp_Object fnname 2546 Lisp_Object fnname
2547#else /* not _MSC_VER */ 2547#else /* not _MSC_VER */
2548# if __STDC_VERSION__ < 199901
2549# define DEFUN_FUNCTION_INIT(fnname, maxargs) (Lisp_Object (*) (void)) fnname
2550# else
2551# define DEFUN_FUNCTION_INIT(fnname, maxargs) .a ## maxargs = fnname
2552# endif
2548#define DEFUN(lname, fnname, sname, minargs, maxargs, intspec, doc) \ 2553#define DEFUN(lname, fnname, sname, minargs, maxargs, intspec, doc) \
2549 Lisp_Object fnname DEFUN_ARGS_ ## maxargs ; \ 2554 Lisp_Object fnname DEFUN_ARGS_ ## maxargs ; \
2550 static struct Lisp_Subr alignas (GCALIGNMENT) sname = \ 2555 static struct Lisp_Subr alignas (GCALIGNMENT) sname = \
2551 { { PVEC_SUBR << PSEUDOVECTOR_AREA_BITS }, \ 2556 { { PVEC_SUBR << PSEUDOVECTOR_AREA_BITS }, \
2552 { .a ## maxargs = fnname }, \ 2557 { DEFUN_FUNCTION_INIT (fnname, maxargs) }, \
2553 minargs, maxargs, lname, intspec, 0}; \ 2558 minargs, maxargs, lname, intspec, 0}; \
2554 Lisp_Object fnname 2559 Lisp_Object fnname
2555#endif 2560#endif
@@ -3673,7 +3678,6 @@ extern Lisp_Object string_to_number (char const *, int, bool);
3673extern void map_obarray (Lisp_Object, void (*) (Lisp_Object, Lisp_Object), 3678extern void map_obarray (Lisp_Object, void (*) (Lisp_Object, Lisp_Object),
3674 Lisp_Object); 3679 Lisp_Object);
3675extern void dir_warning (const char *, Lisp_Object); 3680extern void dir_warning (const char *, Lisp_Object);
3676extern void close_load_descs (void);
3677extern void init_obarray (void); 3681extern void init_obarray (void);
3678extern void init_lread (void); 3682extern void init_lread (void);
3679extern void syms_of_lread (void); 3683extern void syms_of_lread (void);
@@ -3814,6 +3818,7 @@ extern void syms_of_marker (void);
3814/* Defined in fileio.c. */ 3818/* Defined in fileio.c. */
3815 3819
3816extern Lisp_Object Qfile_error; 3820extern Lisp_Object Qfile_error;
3821extern Lisp_Object Qfile_notify_error;
3817extern Lisp_Object Qfile_exists_p; 3822extern Lisp_Object Qfile_exists_p;
3818extern Lisp_Object Qfile_directory_p; 3823extern Lisp_Object Qfile_directory_p;
3819extern Lisp_Object Qinsert_file_contents; 3824extern Lisp_Object Qinsert_file_contents;
@@ -3822,6 +3827,7 @@ extern Lisp_Object expand_and_dir_to_file (Lisp_Object, Lisp_Object);
3822EXFUN (Fread_file_name, 6); /* Not a normal DEFUN. */ 3827EXFUN (Fread_file_name, 6); /* Not a normal DEFUN. */
3823extern Lisp_Object close_file_unwind (Lisp_Object); 3828extern Lisp_Object close_file_unwind (Lisp_Object);
3824extern Lisp_Object restore_point_unwind (Lisp_Object); 3829extern Lisp_Object restore_point_unwind (Lisp_Object);
3830extern _Noreturn void report_file_errno (const char *, Lisp_Object, int);
3825extern _Noreturn void report_file_error (const char *, Lisp_Object); 3831extern _Noreturn void report_file_error (const char *, Lisp_Object);
3826extern bool internal_delete_file (Lisp_Object); 3832extern bool internal_delete_file (Lisp_Object);
3827extern Lisp_Object emacs_readlinkat (int, const char *); 3833extern Lisp_Object emacs_readlinkat (int, const char *);
@@ -3927,7 +3933,7 @@ extern Lisp_Object Qvisible;
3927extern void store_frame_param (struct frame *, Lisp_Object, Lisp_Object); 3933extern void store_frame_param (struct frame *, Lisp_Object, Lisp_Object);
3928extern void store_in_alist (Lisp_Object *, Lisp_Object, Lisp_Object); 3934extern void store_in_alist (Lisp_Object *, Lisp_Object, Lisp_Object);
3929extern Lisp_Object do_switch_frame (Lisp_Object, int, int, Lisp_Object); 3935extern Lisp_Object do_switch_frame (Lisp_Object, int, int, Lisp_Object);
3930#if HAVE_NS || defined(WINDOWSNT) 3936#if HAVE_NS || defined WINDOWSNT
3931extern Lisp_Object get_frame_param (struct frame *, Lisp_Object); 3937extern Lisp_Object get_frame_param (struct frame *, Lisp_Object);
3932#endif 3938#endif
3933extern void frames_discard_buffer (Lisp_Object); 3939extern void frames_discard_buffer (Lisp_Object);
@@ -3999,11 +4005,11 @@ extern void delete_keyboard_wait_descriptor (int);
3999extern void add_gpm_wait_descriptor (int); 4005extern void add_gpm_wait_descriptor (int);
4000extern void delete_gpm_wait_descriptor (int); 4006extern void delete_gpm_wait_descriptor (int);
4001#endif 4007#endif
4002extern void close_process_descs (void);
4003extern void init_process_emacs (void); 4008extern void init_process_emacs (void);
4004extern void syms_of_process (void); 4009extern void syms_of_process (void);
4005extern void setup_process_coding_systems (Lisp_Object); 4010extern void setup_process_coding_systems (Lisp_Object);
4006 4011
4012/* Defined in callproc.c. */
4007#ifndef DOS_NT 4013#ifndef DOS_NT
4008 _Noreturn 4014 _Noreturn
4009#endif 4015#endif
@@ -4096,6 +4102,8 @@ extern int emacs_open (const char *, int, int);
4096extern int emacs_close (int); 4102extern int emacs_close (int);
4097extern ptrdiff_t emacs_read (int, char *, ptrdiff_t); 4103extern ptrdiff_t emacs_read (int, char *, ptrdiff_t);
4098extern ptrdiff_t emacs_write (int, const char *, ptrdiff_t); 4104extern ptrdiff_t emacs_write (int, const char *, ptrdiff_t);
4105extern ptrdiff_t emacs_write_sig (int, char const *, ptrdiff_t);
4106extern void emacs_perror (char const *);
4099 4107
4100extern void unlock_all_files (void); 4108extern void unlock_all_files (void);
4101extern void lock_file (Lisp_Object); 4109extern void lock_file (Lisp_Object);