summaryrefslogtreecommitdiff
path: root/src/lisp.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/lisp.h')
-rw-r--r--src/lisp.h26
1 files changed, 10 insertions, 16 deletions
diff --git a/src/lisp.h b/src/lisp.h
index 4859862c88f..6a28a0f81b3 100644
--- a/src/lisp.h
+++ b/src/lisp.h
@@ -1804,8 +1804,12 @@ typedef struct {
`doc' is documentation for the user. */
/* This version of DEFUN declares a function prototype with the right
- arguments, so we can catch errors with maxargs at compile-time. */
-#define DEFUN(lname, fnname, sname, minargs, maxargs, intspec, doc) \
+ arguments, so we can catch errors with maxargs at compile-time.
+ DEFUN defines an internal function, and DEFUE is similar but defines a
+ external function, which can be used in other C-language modules. */
+#define DEFUN static DEFINE_FUNC
+#define DEFUE extern DEFINE_FUNC
+#define DEFINE_FUNC(lname, fnname, sname, minargs, maxargs, intspec, doc) \
Lisp_Object fnname DEFUN_ARGS_ ## maxargs ; \
DECL_ALIGN (struct Lisp_Subr, sname) = \
{ PVEC_SUBR | (sizeof (struct Lisp_Subr) / sizeof (EMACS_INT)), \
@@ -2279,6 +2283,8 @@ void staticpro (Lisp_Object *);
appropriate prototype. */
#define EXFUN(fnname, maxargs) \
extern Lisp_Object fnname DEFUN_ARGS_ ## maxargs
+#define INFUN(fnname, maxargs) \
+ static Lisp_Object fnname DEFUN_ARGS_ ## maxargs
/* Forward declarations for prototypes. */
struct window;
@@ -2404,7 +2410,6 @@ extern void init_coding_once (void);
extern void syms_of_coding (void);
/* Defined in character.c */
-EXFUN (Funibyte_char_to_multibyte, 1);
EXFUN (Fchar_width, 1);
EXFUN (Fstring, MANY);
extern EMACS_INT chars_in_text (const unsigned char *, EMACS_INT);
@@ -2428,7 +2433,6 @@ extern void syms_of_composite (void);
EXFUN (Fforward_word, 1);
EXFUN (Fskip_chars_forward, 2);
EXFUN (Fskip_chars_backward, 2);
-EXFUN (Fsyntax_table_p, 1);
extern void init_syntax_once (void);
extern void syms_of_syntax (void);
@@ -2529,7 +2533,6 @@ extern void init_fringe_once (void);
extern Lisp_Object QCascent, QCmargin, QCrelief, Qcount, Qextension_data;
extern Lisp_Object QCconversion, QCcolor_symbols, QCheuristic_mask;
extern Lisp_Object QCindex, QCmatrix, QCcolor_adjustment, QCmask;
-EXFUN (Finit_image_library, 2);
extern int x_bitmap_mask (struct frame *, int);
extern void syms_of_image (void);
extern void init_image (void);
@@ -2790,11 +2793,11 @@ EXFUN (Fread, 1);
EXFUN (Fread_from_string, 3);
EXFUN (Fintern, 2);
EXFUN (Fintern_soft, 2);
+EXFUN (Funintern, 2);
EXFUN (Fload, 5);
EXFUN (Fget_load_suffixes, 0);
EXFUN (Fread_char, 3);
EXFUN (Fread_event, 3);
-EXFUN (Feval_region, 4);
extern Lisp_Object check_obarray (Lisp_Object);
extern Lisp_Object intern (const char *);
extern Lisp_Object intern_c_string (const char *);
@@ -2852,7 +2855,6 @@ EXFUN (Feval, 2);
extern Lisp_Object eval_sub (Lisp_Object form);
EXFUN (Fapply, MANY);
EXFUN (Ffuncall, MANY);
-EXFUN (Fbacktrace, 0);
extern Lisp_Object apply1 (Lisp_Object, Lisp_Object);
extern Lisp_Object call0 (Lisp_Object);
extern Lisp_Object call1 (Lisp_Object, Lisp_Object);
@@ -2877,7 +2879,6 @@ extern void verror (const char *, va_list)
NO_RETURN ATTRIBUTE_FORMAT_PRINTF (1, 0);
extern void do_autoload (Lisp_Object, Lisp_Object);
extern Lisp_Object un_autoload (Lisp_Object);
-EXFUN (Ffetch_bytecode, 1);
extern void init_eval_once (void);
extern Lisp_Object safe_call (size_t, Lisp_Object *);
extern Lisp_Object safe_call1 (Lisp_Object, Lisp_Object);
@@ -2921,6 +2922,7 @@ EXFUN (Fwiden, 0);
EXFUN (Fuser_login_name, 1);
EXFUN (Fsystem_name, 0);
EXFUN (Fcurrent_time, 0);
+EXFUN (Fget_internal_run_time, 0);
extern EMACS_INT clip_to_bounds (EMACS_INT, EMACS_INT, EMACS_INT);
extern Lisp_Object make_buffer_string (EMACS_INT, EMACS_INT, int);
extern Lisp_Object make_buffer_string_both (EMACS_INT, EMACS_INT, EMACS_INT,
@@ -2953,7 +2955,6 @@ EXFUN (Fset_buffer, 1);
extern Lisp_Object set_buffer_if_live (Lisp_Object);
EXFUN (Fbarf_if_buffer_read_only, 0);
EXFUN (Fcurrent_buffer, 0);
-EXFUN (Fswitch_to_buffer, 2);
EXFUN (Fother_buffer, 3);
EXFUN (Foverlay_get, 2);
EXFUN (Fbuffer_modified_p, 1);
@@ -3018,7 +3019,6 @@ EXFUN (Funhandled_file_name_directory, 1);
EXFUN (Ffile_directory_p, 1);
EXFUN (Fwrite_region, 7);
EXFUN (Ffile_readable_p, 1);
-EXFUN (Ffile_executable_p, 1);
EXFUN (Fread_file_name, 6);
extern Lisp_Object close_file_unwind (Lisp_Object);
extern Lisp_Object restore_point_unwind (Lisp_Object);
@@ -3026,7 +3026,6 @@ extern void report_file_error (const char *, Lisp_Object) NO_RETURN;
extern int internal_delete_file (Lisp_Object);
extern void syms_of_fileio (void);
extern Lisp_Object make_temp_name (Lisp_Object, int);
-EXFUN (Fmake_symbolic_link, 3);
extern Lisp_Object Qdelete_file;
/* Defined in abbrev.c */
@@ -3119,7 +3118,6 @@ extern int input_pending;
EXFUN (Fdiscard_input, 0);
EXFUN (Frecursive_edit, 0);
EXFUN (Ftop_level, 0) NO_RETURN;
-EXFUN (Fcommand_execute, 4);
extern Lisp_Object menu_bar_items (Lisp_Object);
extern Lisp_Object tool_bar_items (Lisp_Object, int *);
extern Lisp_Object Qvertical_scroll_bar;
@@ -3221,7 +3219,6 @@ extern int running_asynch_code;
/* Defined in process.c */
extern Lisp_Object QCtype, Qlocal;
-EXFUN (Fget_process, 1);
EXFUN (Fget_buffer_process, 1);
EXFUN (Fprocess_status, 1);
EXFUN (Fkill_process, 2);
@@ -3255,7 +3252,6 @@ extern void syms_of_callproc (void);
/* Defined in doc.c */
extern Lisp_Object Qfunction_documentation;
EXFUN (Fsubstitute_command_keys, 1);
-EXFUN (Fdocumentation_property, 3);
extern Lisp_Object read_doc_string (Lisp_Object);
extern Lisp_Object get_doc_string (Lisp_Object, int, int);
extern void syms_of_doc (void);
@@ -3263,7 +3259,6 @@ extern int read_bytecode_char (int);
/* Defined in bytecode.c */
extern Lisp_Object Qbytecode;
-EXFUN (Fbyte_code, 3);
extern void syms_of_bytecode (void);
extern struct byte_stack *byte_stack_list;
#ifdef BYTE_MARK_STACK
@@ -3384,7 +3379,6 @@ extern void syms_of_category (void);
extern void syms_of_ccl (void);
/* Defined in dired.c */
-EXFUN (Ffile_attributes, 2);
extern void syms_of_dired (void);
extern Lisp_Object directory_files_internal (Lisp_Object, Lisp_Object,
Lisp_Object, Lisp_Object,