Mercurial > hg > xemacs-beta
annotate src/xemacs.def.in.in @ 4477:e34711681f30
Don't determine whether to call general device-type code at startup,
rather decide in the device-specific code itself.
lisp/ChangeLog addition:
2008-07-07 Aidan Kehoe <kehoea@parhasard.net>
Patch to make it up to the device-specific code whether
various Lisp functions should be called during device creation,
not relying on the startup code to decide this. Also, rename
initial-window-system to initial-device-type (which makes more
sense in this scheme), always set it.
* startup.el (command-line):
Use initial-device-type, not initial-window-system; just call
#'make-device, leave the special behaviour to be done the first
time a console type is initialised to be decided on by the
respective console code.
* x-init.el (x-app-defaults-directory): Declare that it should be
bound.
(x-define-dead-key): Have the macro take a DEVICE argument.
(x-initialize-compose): Have the function take a DEVICE argument,
and use it when checking if various keysyms are available on the
keyboard.
(x-initialize-keyboard): Have the function take a DEVICE argument,
allowing device-specific keyboard initialisation.
(make-device-early-x-entry-point-called-p): New.
(make-device-late-x-entry-point-called-p): New. Rename
pre-x-win-initted, x-win-initted.
(make-device-early-x-entry-point): Rename init-pre-x-win, take the
call to make-x-device out (it should be called from the
device-creation code, not vice-versa).
(make-device-late-x-entry-point): Rename init-post-x-win, have it
take a DEVICE argument, use that DEVICE argument when working out
what device-specific things need doing. Don't use
create-console-hook in core code.
* x-win-xfree86.el (x-win-init-xfree86): Take a DEVICE argument;
use it.
* x-win-sun.el (x-win-init-sun): Take a DEVICE argument; use it.
* mule/mule-x-init.el: Remove #'init-mule-x-win, an empty
function.
* tty-init.el (make-device-early-tty-entry-point-called-p): New.
Rename pre-tty-win-initted.
(make-device-early-tty-entry-point): New.
Rename init-pre-tty-win.
(make-frame-after-init-entry-point): New.
Rename init-post-tty-win to better reflect when it's called.
* gtk-init.el (gtk-early-lisp-options-file): New.
Move this path to a documented variable.
(gtk-command-switch-alist): Wrap the docstring to fewer than 79
columns.
(make-device-early-gtk-entry-point-called-p): New.
(make-device-late-gtk-entry-point-called-p): New.
Renamed gtk-pre-win-initted, gtk-post-win-initted to these.
(make-device-early-gtk-entry-point): New.
(make-device-late-gtk-entry-point): New.
Renamed init-pre-gtk-win, init-post-gtk-win to these.
Have make-device-late-gtk-entry-point take a device argument, and use
it; have make-device-early-gtk-entry-point load the GTK-specific
startup code, instead of doing that in C.
(init-gtk-win): Deleted, functionality moved to the GTK device
creation code.
(gtk-define-dead-key): Have it take a DEVICE argument; use this
argument.
(gtk-initialize-compose): Ditto.
* coding.el (set-terminal-coding-system):
Correct the docstring; the function isn't broken.
src/ChangeLog addition:
2008-07-07 Aidan Kehoe <kehoea@parhasard.net>
Patch to make it up to the device-specific code whether
various Lisp functions should be called during device creation,
not relying on the startup code to decide this. Also, rename
initial-window-system to initial-device-type (which makes more
sense in this scheme), always set it.
* redisplay.c (Vinitial_device_type): New.
(Vinitial_window_system): Removed.
Rename initial-window-system to initial-device type, making it
a stream if we're noninteractive. Update its docstring.
* device-x.c (Qmake_device_early_x_entry_point,
Qmake_device_late_x_entry_point): New.
Rename Qinit_pre_x_win, Qinit_post_x_win.
(x_init_device): Call #'make-device-early-x-entry-point earlier,
now we rely on it to find the application class and the
app-defaults directory.
(x_finish_init_device): Call #'make-device-late-x-entry-point with
the created device.
(Vx_app_defaults_directory): Always make this available, to
simplify code in x-init.el.
* device-tty.c (Qmake_device_early_tty_entry_point): New.
Rename Qinit_pre_tty_win, rename Qinit_post_tty_win and move to
frame-tty.c as Qmake_frame_after_init_entry_point.
(tty_init_device): Call #'make-device-early-tty-entry-point before
doing anything.
* frame-tty.c (Qmake_frame_after_init_entry_point): New.
* frame-tty.c (tty_after_init_frame): Have it call the
better-named #'make-frame-after-init-entry-point function
instead of #'init-post-tty-win (since it's called after frame, not
device, creation).
* device-msw.c (Qmake_device_early_mswindows_entry_point,
Qmake_device_late_mswindows_entry_point): New.
Rename Qinit_pre_mswindows_win, Qinit_post_mswindows_win.
(mswindows_init_device): Call
#'make-device-early-mswindows-entry-point here, instead of having
its predecessor call us.
(mswindows_finish_init_device): Call
#'make-device-early-mswindows-entry-point, for symmetry with the
other device types (though it's an empty function).
* device-gtk.c (Qmake_device_early_gtk_entry_point,
Qmake_device_late_gtk_entry_point): New.
Rename Qinit_pre_gtk_win, Qinit_post_gtk_win.
(gtk_init_device): Call #'make-device-early-gtk-entry-point; don't
load ~/.xemacs/gtk-options.el ourselves, leave that to lisp.
(gtk_finish_init_device): Call #'make-device-late-gtk-entry-point
with the created device as an argument.
author | Aidan Kehoe <kehoea@parhasard.net> |
---|---|
date | Wed, 09 Jul 2008 20:46:22 +0200 |
parents | 4363b75330ca |
children | 9987da5935bd d1247f3cc363 |
rev | line source |
---|---|
4386
4363b75330ca
Clarify the copyright and license of src/xemacs.def.in.in.
Jerry James <james@xemacs.org>
parents:
3263
diff
changeset
|
1 /* The module API: core symbols that are visible to modules. |
4363b75330ca
Clarify the copyright and license of src/xemacs.def.in.in.
Jerry James <james@xemacs.org>
parents:
3263
diff
changeset
|
2 Copyright (C) 2008 Jerry James |
4363b75330ca
Clarify the copyright and license of src/xemacs.def.in.in.
Jerry James <james@xemacs.org>
parents:
3263
diff
changeset
|
3 |
4363b75330ca
Clarify the copyright and license of src/xemacs.def.in.in.
Jerry James <james@xemacs.org>
parents:
3263
diff
changeset
|
4 This file is part of XEmacs. |
4363b75330ca
Clarify the copyright and license of src/xemacs.def.in.in.
Jerry James <james@xemacs.org>
parents:
3263
diff
changeset
|
5 |
4363b75330ca
Clarify the copyright and license of src/xemacs.def.in.in.
Jerry James <james@xemacs.org>
parents:
3263
diff
changeset
|
6 XEmacs is free software; you can redistribute it and/or modify it |
4363b75330ca
Clarify the copyright and license of src/xemacs.def.in.in.
Jerry James <james@xemacs.org>
parents:
3263
diff
changeset
|
7 under the terms of the GNU General Public License as published by |
4363b75330ca
Clarify the copyright and license of src/xemacs.def.in.in.
Jerry James <james@xemacs.org>
parents:
3263
diff
changeset
|
8 the Free Software Foundation; either version 2, or (at your option) |
4363b75330ca
Clarify the copyright and license of src/xemacs.def.in.in.
Jerry James <james@xemacs.org>
parents:
3263
diff
changeset
|
9 any later version. |
4363b75330ca
Clarify the copyright and license of src/xemacs.def.in.in.
Jerry James <james@xemacs.org>
parents:
3263
diff
changeset
|
10 |
4363b75330ca
Clarify the copyright and license of src/xemacs.def.in.in.
Jerry James <james@xemacs.org>
parents:
3263
diff
changeset
|
11 XEmacs is distributed in the hope that it will be useful, but |
4363b75330ca
Clarify the copyright and license of src/xemacs.def.in.in.
Jerry James <james@xemacs.org>
parents:
3263
diff
changeset
|
12 WITHOUT ANY WARRANTY; without even the implied warranty of |
4363b75330ca
Clarify the copyright and license of src/xemacs.def.in.in.
Jerry James <james@xemacs.org>
parents:
3263
diff
changeset
|
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
4363b75330ca
Clarify the copyright and license of src/xemacs.def.in.in.
Jerry James <james@xemacs.org>
parents:
3263
diff
changeset
|
14 General Public License for more details. |
4363b75330ca
Clarify the copyright and license of src/xemacs.def.in.in.
Jerry James <james@xemacs.org>
parents:
3263
diff
changeset
|
15 |
4363b75330ca
Clarify the copyright and license of src/xemacs.def.in.in.
Jerry James <james@xemacs.org>
parents:
3263
diff
changeset
|
16 You should have received a copy of the GNU General Public License |
4363b75330ca
Clarify the copyright and license of src/xemacs.def.in.in.
Jerry James <james@xemacs.org>
parents:
3263
diff
changeset
|
17 along with XEmacs; see the file COPYING. If not, write to the |
4363b75330ca
Clarify the copyright and license of src/xemacs.def.in.in.
Jerry James <james@xemacs.org>
parents:
3263
diff
changeset
|
18 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, |
4363b75330ca
Clarify the copyright and license of src/xemacs.def.in.in.
Jerry James <james@xemacs.org>
parents:
3263
diff
changeset
|
19 Boston, MA 02110-1301, USA. */ |
4363b75330ca
Clarify the copyright and license of src/xemacs.def.in.in.
Jerry James <james@xemacs.org>
parents:
3263
diff
changeset
|
20 |
1632 | 21 /* The symbol to import/export is on the left. If the symbol is not |
22 meant to be used directly, but a macro or inline function in the | |
23 API expands to a form containing the symbol, then the macro or | |
24 inline function is named in a comment to the right. */ | |
25 #define NOT_C_CODE | |
26 #include <config.h> | |
27 NAME xemacs.exe | |
28 EXPORTS | |
29 /* Exported functions */ | |
30 acons | |
3263 | 31 #ifdef NEW_GC |
2720 | 32 alloc_lrecord /* alloc_lrecord_type */ |
33 lrecord_subr /* DEFSUBR */ | |
34 lrecord_symbol_value_forward /* DEFVAR_SYMVAL_FWD */ | |
35 #ifdef DEBUG_XEMACS | |
36 mcpro_1 /* mcpro */ | |
37 #endif | |
2775 | 38 mc_alloc /* DEFSUBR */ |
3263 | 39 #else /* not NEW_GC */ |
3024 | 40 alloc_automanaged_lcrecord /* old_alloc_lcrecord_type */ |
3263 | 41 #endif /* not NEW_GC */ |
1706 | 42 apply1 |
1632 | 43 #ifdef USE_ASSERTIONS |
44 assert_failed /* abort(), assert(), etc. */ | |
45 #endif | |
46 build_ext_string | |
47 build_intstring | |
48 build_msg_intstring | |
49 build_msg_string | |
50 build_string | |
51 #ifdef MULE | |
52 bytecount_to_charcount_fun /* bytecount_to_charcount */ | |
1706 | 53 #endif |
54 call0 | |
55 call1 | |
56 call2 | |
57 call3 | |
58 call4 | |
59 call5 | |
60 call6 | |
61 call7 | |
62 call8 | |
63 #ifdef MULE | |
1632 | 64 charcount_to_bytecount_fun /* charcount_to_bytecount */ |
65 #endif | |
66 check_quit /* QUITP */ | |
67 check_what_happened /* QUIT */ | |
68 cons3 | |
69 copy_lisp_object | |
70 dead_wrong_type_argument /* CHECK_xxx */ | |
71 #ifdef DEBUG_GCPRO | |
72 debug_gcpro1 /* GCPRO1 */ | |
73 debug_gcpro2 /* GCPRO2 */ | |
74 debug_gcpro3 /* GCPRO3 */ | |
75 debug_gcpro4 /* GCPRO4 */ | |
76 debug_gcpro5 /* GCPRO5 */ | |
77 debug_ungcpro /* UNGCPRO */ | |
78 #endif | |
79 deferror | |
80 deferror_massage_name /* DEFERROR */ | |
81 deferror_massage_name_and_message /* DEFERROR_STANDARD */ | |
82 defkeyword | |
83 defkeyword_massage_name /* DEFKEYWORD */ | |
84 defsubr /* DEFSUBR */ | |
85 defsubr_macro /* DEFSUBR_MACRO */ | |
86 defsymbol | |
87 defsymbol_nodump /* == defsymbol in modules */ | |
88 defsymbol_massage_multiword_predicate /* DEFSYMBOL_MULTIWORD_PREDICATE */ | |
89 defsymbol_massage_multiword_predicate_nodump /* DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP */ | |
90 defsymbol_massage_name /* DEFSYMBOL */ | |
91 defsymbol_massage_name_nodump /* DEFSYMBOL_NO_DUMP == DEFSYMBOL in modules */ | |
92 defvar_magic /* DEFVAR_LISP, DEFVAR_INT, ... */ | |
93 dfc_coding_system_is_unicode /* TO_INTERNAL_FORMAT */ | |
94 dfc_convert_to_external_format /* TO_EXTERNAL_FORMAT */ | |
95 dfc_convert_to_internal_format /* TO_INTERNAL_FORMAT */ | |
96 egetenv | |
97 #ifndef EMODULES_GATHER_VERSION | |
98 emodules_doc_subr /* CDOCSUBR */ | |
99 emodules_doc_sym /* CDOCSYM */ | |
100 #endif | |
101 eputenv | |
102 #ifdef DEBUG_XEMACS | |
103 eq_with_ebola_notice /* EQ_WITH_EBOLA_NOTICE */ | |
3118 | 104 #endif |
105 #ifdef ERROR_CHECK_TYPES | |
3110 | 106 error_check_cons |
3118 | 107 #ifdef HAVE_LDAP |
3110 | 108 error_check_ldap |
3118 | 109 #endif |
3110 | 110 error_check_opaque_ptr |
3118 | 111 #ifdef HAVE_POSTGRESQL |
3110 | 112 error_check_pgconn |
113 error_check_pgresult | |
3118 | 114 #endif |
3110 | 115 error_check_string |
3118 | 116 #ifdef NEW_GC |
117 error_check_string_direct_data | |
118 error_check_string_indirect_data | |
119 #endif | |
1632 | 120 #endif |
121 free_opaque_ptr | |
122 get_coding_system_for_text_file | |
123 intern | |
124 invalid_argument | |
125 invalid_argument_2 | |
126 invalid_constant | |
127 invalid_operation | |
128 invalid_operation_2 | |
129 list1 | |
130 list2 | |
131 list3 | |
132 list4 | |
133 list5 | |
134 list6 | |
135 make_ext_string | |
136 make_float | |
137 make_opaque_ptr | |
138 make_string | |
139 make_vector | |
140 maybe_invalid_operation | |
141 message | |
2382 | 142 new_dfc_convert_copy_data /* C_STRING_TO_EXTERNAL, ... */ |
1632 | 143 new_dfc_convert_malloc /* C_STRING_TO_EXTERNAL_MALLOC, ... */ |
144 new_dfc_convert_size /* C_STRING_TO_EXTERNAL, ... */ | |
145 #ifdef MULE | |
146 non_ascii_itext_copy_ichar /* itext_copy_ichar */ | |
147 non_ascii_itext_ichar /* itext_ichar */ | |
148 non_ascii_set_itext_ichar /* set_itext_ichar */ | |
149 non_ascii_valid_ichar_p /* valid_ichar_p */ | |
150 #endif | |
151 out_of_memory /* The postgresql module uses this */ | |
152 printing_unreadable_object | |
153 record_unwind_protect | |
154 record_unwind_protect_freeing | |
155 report_process_error | |
1927 | 156 signal_circular_list_error /* EXTERNAL_LIST_LOOP* */ |
157 signal_circular_property_list_error /* EXTERNAL_PROPERTY_LIST_LOOP* */ | |
1632 | 158 signal_error |
159 signal_ferror | |
1927 | 160 signal_malformed_list_error /* EXTERNAL_LIST_LOOP* */ |
161 signal_malformed_property_list_error /* EXTERNAL_PROPERTY_LIST_LOOP* */ | |
1632 | 162 signal_quit /* QUIT */ |
1927 | 163 slow_down_interrupts |
164 speed_up_interrupts | |
1632 | 165 #ifndef DEBUG_XEMACS |
166 staticpro | |
167 staticpro_nodump | |
168 #else | |
169 staticpro_1 | |
170 staticpro_nodump_1 | |
171 #endif | |
172 unbind_to_1 /* unbind_to */ | |
173 #ifndef DEBUG_XEMACS | |
174 unstaticpro_nodump | |
175 #else | |
176 unstaticpro_nodump_1 | |
177 #endif | |
178 vector1 | |
179 vector2 | |
180 vector3 | |
181 warn_when_safe | |
3118 | 182 #ifdef ERROR_CHECK_TYPES |
3110 | 183 wrap_record_1 |
184 #endif | |
1632 | 185 write_c_string |
186 write_fmt_string | |
187 write_fmt_string_lisp | |
188 write_string | |
189 wrong_type_argument /* CONCHECK_xxx */ | |
190 xemacs_c_alloca /* ALLOCA */ | |
191 xfree_1 /* xfree */ | |
192 xmalloc | |
193 xmalloc_and_zero | |
194 xrealloc | |
195 xstrdup | |
196 Dynarr_delete_many /* Dynarr_delete, Dynarr_delete_object, ... */ | |
197 Dynarr_free | |
198 Dynarr_insert_many /* Dynarr_add_{literal,lisp}_string */ | |
199 Dynarr_newf /* Dynarr_new, Dynarr_new2 */ | |
200 Dynarr_resize /* Dynarr_add */ | |
201 Fappend | |
1706 | 202 Fapply |
1632 | 203 Fbuffer_modified_p |
204 Fbuffer_name | |
1706 | 205 Fcall_with_condition_handler |
1632 | 206 Fcons |
207 Fcurrent_buffer | |
208 Fequal | |
1706 | 209 Feval |
1632 | 210 Fexpand_abbrev |
1706 | 211 Ffuncall |
1632 | 212 Fget |
213 Fkill_buffer | |
214 Flength | |
215 Flist | |
216 Fmake_list | |
217 Fmake_string | |
218 Fmake_symbol | |
219 Fmake_vector | |
220 Fnreverse | |
221 Fprovide | |
222 Fput | |
223 Freverse | |
224 Fset_buffer | |
1706 | 225 Fsignal |
226 Fthrow | |
1632 | 227 Fvector |
3118 | 228 #ifdef ERROR_CHECK_TYPES |
3110 | 229 XINT_1 |
230 #endif | |
1632 | 231 |
232 /* Exported variables */ | |
233 __temp_alloca_size__ /* ALLOCA */ | |
234 #ifdef DEBUG_XEMACS | |
235 debug_issue_ebola_notices /* EQ_WITH_EBOLA_NOTICE */ | |
236 #endif | |
237 dont_check_for_quit /* QUITP, QUIT */ | |
238 gcprolist /* GCPRO1, GCPRO2, ... */ | |
239 initialized /* LOADHIST_ATTACH */ | |
240 lrecord_cons /* CONSP */ | |
241 lrecord_implementations_table /* RECORD_DUMPABLE */ | |
242 lrecord_marker /* MARKERP */ | |
1689 | 243 #ifdef USE_KKCC |
244 lrecord_memory_descriptions /* INIT_LRECORD_IMPLEMENTATION */ | |
245 #else | |
1632 | 246 lrecord_markers /* INIT_LRECORD_IMPLEMENTATION */ |
1689 | 247 #endif |
1632 | 248 lrecord_string /* STRINGP */ |
249 lrecord_symbol /* SYMBOLP */ | |
250 lrecord_type_count /* INIT_EXTERNAL_LRECORD_IMPLEMENTATION */ | |
3104 | 251 lrecord_uid_counter |
1632 | 252 need_to_check_c_alloca /* ALLOCA */ |
253 print_readably | |
254 quit_check_signal_happened /* QUITP */ | |
255 #ifdef ERROR_CHECK_MALLOC | |
256 regex_malloc_disallowed /* REGEX_MALLOC_CHECK */ | |
257 #endif | |
258 #ifdef MULE | |
259 rep_bytes_by_first_byte /* itext_ichar_len, INC_IBYTEPTR, ... */ | |
260 #endif | |
261 something_happened /* QUIT */ | |
262 specpdl_depth_counter /* specpdl_depth */ | |
263 Qconsp /* CHECK_CONS */ | |
1927 | 264 Qcritical /* QUIT, QUITP */ |
265 Qdelete | |
1632 | 266 Qfile_name /* Qdll_filename_encoding */ |
267 Qintegerp /* CHECK_INT, CONCHECK_INT */ | |
268 Qinvalid_argument | |
269 Qnative | |
270 Qnil | |
271 Qnotice | |
272 #ifdef USE_UNION_TYPE | |
273 Qnull_pointer /* DEFVAR_xxx */ | |
274 #endif | |
275 Qprocess_error | |
1927 | 276 Qsearch |
277 Qsimple | |
1632 | 278 Qstringp /* CHECK_STRING */ |
279 Qsymbolp /* CHECK_SYMBOL */ | |
280 Qsyntax_error | |
281 Qt | |
282 Qunbound | |
283 #ifdef USE_UNION_TYPE | |
284 Qzero /* ZEROP */ | |
1928 | 285 #endif |
1927 | 286 Vinhibit_quit /* QUIT, QUITP */ |
287 Vquit_flag /* QUIT, QUITP */ |