annotate src/emodules.h @ 5518:3cc7470ea71c

gnuclient: if TMPDIR was set and connect failed, try again with /tmp 2011-06-03 Aidan Kehoe <kehoea@parhasard.net> * gnuslib.c (connect_to_unix_server): Retry with /tmp as a directory in which to search for Unix sockets if an attempt to connect with some other directory failed (which may be because gnuclient and gnuserv don't share an environment value for TMPDIR, or because gnuserv was compiled with USE_TMPDIR turned off).
author Aidan Kehoe <kehoea@parhasard.net>
date Fri, 03 Jun 2011 18:40:57 +0100
parents 308d34e9f07d
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
388
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
1 /* emodules.h - Declarations and definitions for XEmacs loadable modules.
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
2 (C) Copyright 1998, 1999 J. Kean Johnston. All rights reserved.
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
3
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
4 This file is part of XEmacs.
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
5
5402
308d34e9f07d Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents: 4956
diff changeset
6 XEmacs is free software: you can redistribute it and/or modify it
388
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
7 under the terms of the GNU General Public License as published by the
5402
308d34e9f07d Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents: 4956
diff changeset
8 Free Software Foundation, either version 3 of the License, or (at your
308d34e9f07d Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents: 4956
diff changeset
9 option) any later version.
388
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
10
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
11 XEmacs is distributed in the hope that it will be useful, but WITHOUT
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
12 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
13 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
14 for more details.
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
15
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
16 You should have received a copy of the GNU General Public License
5402
308d34e9f07d Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents: 4956
diff changeset
17 along with XEmacs. If not, see <http://www.gnu.org/licenses/>. */
388
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
18
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
19 #ifndef EMODULES_HDR
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
20
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
21 #ifndef EMODULES_GATHER_VERSION
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
22 #define EMODULES_HDR
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
23 #endif
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
24
996
25e260cb7994 [xemacs-hg @ 2002-09-10 15:27:02 by james]
james
parents: 771
diff changeset
25 #define EMODULES_VERSION "1.1.0"
388
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
26 #define EMODULES_MAJOR 1
996
25e260cb7994 [xemacs-hg @ 2002-09-10 15:27:02 by james]
james
parents: 771
diff changeset
27 #define EMODULES_MINOR 1
388
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
28 #define EMODULES_PATCH 0
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
29 #define EMODULES_REVISION (long)((EMODULES_MAJOR * 1000) + \
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
30 (EMODULES_MINOR * 10) + \
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
31 (EMODULES_PATCH))
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
32
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
33 #ifndef EMODULES_GATHER_VERSION
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
34 #include <config.h>
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
35 #include "lisp.h"
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
36 #include "sysdep.h"
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
37 #include "window.h"
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
38 #include "buffer.h"
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
39 #include "insdel.h"
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
40 #include "frame.h"
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
41 #include "lstream.h"
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
42 #include "file-coding.h"
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
43
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
44 /* Module loading technology version number */
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
45 extern Lisp_Object Vmodule_version;
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
46
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
47 /* XEmacs version Information */
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
48 extern Lisp_Object Vemacs_major_version;
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
49 extern Lisp_Object Vemacs_minor_version;
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
50
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
51 /*
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
52 * Load in a C module. The first argument is the name of the .so file, the
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
53 * second is the name of the module, and the third is the module version.
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
54 * If the module name is NULL, we will always reload the .so. If it is not
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
55 * NULL, we check to make sure we haven't loaded it before. If the version
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
56 * is specified, we check to make sure we didn't load the module of the
388
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
57 * specified version before. We also use these as checks when we open the
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
58 * module to make sure we have the right module.
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
59 */
4952
19a72041c5ed Mule-izing, various fixes related to char * arguments
Ben Wing <ben@xemacs.org>
parents: 2367
diff changeset
60 extern void emodules_load (const Ibyte *module, const Ibyte *modname,
19a72041c5ed Mule-izing, various fixes related to char * arguments
Ben Wing <ben@xemacs.org>
parents: 2367
diff changeset
61 const Ibyte *modver);
388
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
62
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
63 /*
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
64 * Because subrs and symbols added by a dynamic module are not part of
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
65 * the make-docfile process, we need a clean way to get the variables
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 440
diff changeset
66 * and functions documented. Since people don't like the idea of making
388
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
67 * shared modules use different versions of DEFSUBR() and DEFVAR_LISP()
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
68 * and friends, we need these two functions to insert the documentation
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
69 * into the right place. These functions will be called by the module
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
70 * init code, generated by ellcc during initialization mode.
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
71 */
4956
3461165c79be fix compile errors due to mismatched string pointer types
Ben Wing <ben@xemacs.org>
parents: 4952
diff changeset
72 EXTERN_C MODULE_API void emodules_doc_subr (const Ascbyte *objname,
3461165c79be fix compile errors due to mismatched string pointer types
Ben Wing <ben@xemacs.org>
parents: 4952
diff changeset
73 const Ascbyte *docstr);
3461165c79be fix compile errors due to mismatched string pointer types
Ben Wing <ben@xemacs.org>
parents: 4952
diff changeset
74 EXTERN_C MODULE_API void emodules_doc_sym (const Ascbyte *objname,
3461165c79be fix compile errors due to mismatched string pointer types
Ben Wing <ben@xemacs.org>
parents: 4952
diff changeset
75 const Ascbyte *docstr);
388
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
76
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
77 #define CDOCSUBR(Fname, DOC) emodules_doc_subr (Fname, DOC)
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
78 #define CDOCSYM(Sname, DOC) emodules_doc_sym (Sname, DOC)
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
79 #endif /* EMODULES_GATHER_VERSION */
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
80
996
25e260cb7994 [xemacs-hg @ 2002-09-10 15:27:02 by james]
james
parents: 771
diff changeset
81 /* We should not expose module entities to the portable dumper. */
1632
64eaceca611d [xemacs-hg @ 2003-08-19 02:07:03 by james]
james
parents: 1220
diff changeset
82 #if defined(PDUMP) && defined(EMACS_MODULE)
2367
ecf1ebac70d8 [xemacs-hg @ 2004-11-04 23:05:23 by ben]
ben
parents: 1750
diff changeset
83 #undef dump_add_root_block_ptr
ecf1ebac70d8 [xemacs-hg @ 2004-11-04 23:05:23 by ben]
ben
parents: 1750
diff changeset
84 #define dump_add_root_block_ptr(varaddr,descaddr) DO_NOTHING
1220
848225013a08 [xemacs-hg @ 2003-01-17 16:59:20 by james]
james
parents: 1204
diff changeset
85 #undef dump_add_opaque
996
25e260cb7994 [xemacs-hg @ 2002-09-10 15:27:02 by james]
james
parents: 771
diff changeset
86 #define dump_add_opaque(varaddr,size) DO_NOTHING
1220
848225013a08 [xemacs-hg @ 2003-01-17 16:59:20 by james]
james
parents: 1204
diff changeset
87 #undef dump_add_root_block
996
25e260cb7994 [xemacs-hg @ 2002-09-10 15:27:02 by james]
james
parents: 771
diff changeset
88 #define dump_add_root_block(ptraddress,desc) DO_NOTHING
1111
184461bc8de4 [xemacs-hg @ 2002-11-18 06:52:23 by ben]
ben
parents: 996
diff changeset
89 #undef dump_add_opaque_int
996
25e260cb7994 [xemacs-hg @ 2002-09-10 15:27:02 by james]
james
parents: 771
diff changeset
90 #define dump_add_opaque_int(int_varaddr) DO_NOTHING
1111
184461bc8de4 [xemacs-hg @ 2002-11-18 06:52:23 by ben]
ben
parents: 996
diff changeset
91 #undef dump_add_opaque_fixnum
996
25e260cb7994 [xemacs-hg @ 2002-09-10 15:27:02 by james]
james
parents: 771
diff changeset
92 #define dump_add_opaque_fixnum(fixnum_varaddr) DO_NOTHING
1220
848225013a08 [xemacs-hg @ 2003-01-17 16:59:20 by james]
james
parents: 1204
diff changeset
93 #undef dump_add_root_lisp_object
1204
e22b0213b713 [xemacs-hg @ 2003-01-12 11:07:58 by michaels]
michaels
parents: 1111
diff changeset
94 #define dump_add_root_lisp_object(varaddr) DO_NOTHING
1220
848225013a08 [xemacs-hg @ 2003-01-17 16:59:20 by james]
james
parents: 1204
diff changeset
95 #undef dump_add_weak_object_chain
996
25e260cb7994 [xemacs-hg @ 2002-09-10 15:27:02 by james]
james
parents: 771
diff changeset
96 #define dump_add_weak_object_chain(varaddr) DO_NOTHING
1111
184461bc8de4 [xemacs-hg @ 2002-11-18 06:52:23 by ben]
ben
parents: 996
diff changeset
97 #undef staticpro
996
25e260cb7994 [xemacs-hg @ 2002-09-10 15:27:02 by james]
james
parents: 771
diff changeset
98 #define staticpro(DSF_location) staticpro_nodump(DSF_location)
1632
64eaceca611d [xemacs-hg @ 2003-08-19 02:07:03 by james]
james
parents: 1220
diff changeset
99 #undef unstaticpro
64eaceca611d [xemacs-hg @ 2003-08-19 02:07:03 by james]
james
parents: 1220
diff changeset
100 #define unstaticpro(DSF_location) unstaticpro_nodump(DFS_location)
996
25e260cb7994 [xemacs-hg @ 2002-09-10 15:27:02 by james]
james
parents: 771
diff changeset
101
25e260cb7994 [xemacs-hg @ 2002-09-10 15:27:02 by james]
james
parents: 771
diff changeset
102 #undef DEFSYMBOL
1220
848225013a08 [xemacs-hg @ 2003-01-17 16:59:20 by james]
james
parents: 1204
diff changeset
103 #define DEFSYMBOL(name) DEFSYMBOL_NO_DUMP (name)
996
25e260cb7994 [xemacs-hg @ 2002-09-10 15:27:02 by james]
james
parents: 771
diff changeset
104 #undef DEFSYMBOL_MULTIWORD_PREDICATE
25e260cb7994 [xemacs-hg @ 2002-09-10 15:27:02 by james]
james
parents: 771
diff changeset
105 #define DEFSYMBOL_MULTIWORD_PREDICATE(name) \
25e260cb7994 [xemacs-hg @ 2002-09-10 15:27:02 by james]
james
parents: 771
diff changeset
106 DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP (name)
1220
848225013a08 [xemacs-hg @ 2003-01-17 16:59:20 by james]
james
parents: 1204
diff changeset
107 #undef defsymbol
996
25e260cb7994 [xemacs-hg @ 2002-09-10 15:27:02 by james]
james
parents: 771
diff changeset
108 #define defsymbol(location,name) defsymbol_nodump (location, name)
1632
64eaceca611d [xemacs-hg @ 2003-08-19 02:07:03 by james]
james
parents: 1220
diff changeset
109
64eaceca611d [xemacs-hg @ 2003-08-19 02:07:03 by james]
james
parents: 1220
diff changeset
110 #endif /* defined(PDUMP) && defined(EMACS_MODULE) */
996
25e260cb7994 [xemacs-hg @ 2002-09-10 15:27:02 by james]
james
parents: 771
diff changeset
111
388
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents:
diff changeset
112 #endif /* EMODULES_HDR */