aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorStefan Monnier2011-02-11 21:27:53 -0500
committerStefan Monnier2011-02-11 21:27:53 -0500
commitc530e1c2a3a036d71942c354ba11b30a06341fd7 (patch)
tree184fa6b6c9bb58855aa9f1ae6cded97edc4f10fb /src
parent295fb2ac59b66c0e2470325a42c8e58c135ed044 (diff)
parente0e36cac4adaa32ad755a34c811366dd8e4655bc (diff)
downloademacs-c530e1c2a3a036d71942c354ba11b30a06341fd7.tar.gz
emacs-c530e1c2a3a036d71942c354ba11b30a06341fd7.zip
Merge from trunk
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog.trunk264
-rw-r--r--src/Makefile.in25
-rw-r--r--src/alloc.c8
-rw-r--r--src/bitmaps/gray.xbm2
-rw-r--r--src/buffer.c4
-rw-r--r--src/callint.c18
-rw-r--r--src/callproc.c4
-rw-r--r--src/casefiddle.c5
-rw-r--r--src/character.c4
-rw-r--r--src/character.h3
-rw-r--r--src/charset.c3
-rw-r--r--src/cmds.c7
-rw-r--r--src/coding.c2
-rw-r--r--src/config.in6
-rw-r--r--src/data.c5
-rw-r--r--src/deps.mk239
-rw-r--r--src/dired.c18
-rw-r--r--src/dispextern.h3
-rw-r--r--src/doc.c25
-rw-r--r--src/doprnt.c15
-rw-r--r--src/editfns.c90
-rw-r--r--src/emacs.c2
-rw-r--r--src/eval.c6
-rw-r--r--src/fileio.c152
-rw-r--r--src/fns.c25
-rw-r--r--src/font.c7
-rw-r--r--src/fontset.c2
-rw-r--r--src/ftfont.c12
-rw-r--r--src/globals.h2902
-rw-r--r--src/image.c236
-rw-r--r--src/indent.c2
-rw-r--r--src/insdel.c27
-rw-r--r--src/keyboard.c6
-rw-r--r--src/keymap.c10
-rw-r--r--src/lisp.h15
-rw-r--r--src/lread.c20
-rw-r--r--src/makefile.w32-in223
-rw-r--r--src/minibuf.c4
-rw-r--r--src/nsselect.m2
-rw-r--r--src/print.c24
-rw-r--r--src/process.c34
-rw-r--r--src/ralloc.c3
-rw-r--r--src/regex.c4
-rw-r--r--src/s/ms-w32.h1
-rw-r--r--src/search.c15
-rw-r--r--src/sysdep.c20
-rw-r--r--src/window.c2
-rw-r--r--src/xdisp.c60
-rw-r--r--src/xfaces.c36
-rw-r--r--src/xfns.c8
-rw-r--r--src/xfont.c6
-rw-r--r--src/xftfont.c6
-rw-r--r--src/xmenu.c4
-rw-r--r--src/xml.c13
-rw-r--r--src/xselect.c14
-rw-r--r--src/xsmfns.c145
-rw-r--r--src/xterm.c87
-rw-r--r--src/xterm.h1
58 files changed, 1163 insertions, 3723 deletions
diff --git a/src/ChangeLog.trunk b/src/ChangeLog.trunk
index f96fe5eb2f8..68a12d4f55a 100644
--- a/src/ChangeLog.trunk
+++ b/src/ChangeLog.trunk
@@ -1,3 +1,267 @@
12011-02-10 Glenn Morris <rgm@gnu.org>
2
3 * Makefile.in (really-lwlib): Depend on globals.h, for parallel builds.
4
52011-02-09 Eli Zaretskii <eliz@gnu.org>
6
7 * makefile.w32-in (GLOBAL_SOURCES, SOME_MACHINE_OBJECTS, obj):
8 New macros.
9 (globals.h, gl-stamp): New targets.
10 (clean): Clean gl-stamp and globals.h.
11
122011-02-09 Andreas Schwab <schwab@linux-m68k.org>
13
14 * Makefile.in (gl-stamp): Create globals.h here.
15 (globals.h): Don't do it here.
16 (mostlyclean): Clean globals.h and gl-stamp.
17
182011-02-09 Paul Eggert <eggert@cs.ucla.edu>
19
20 * Makefile.in ($(otherobj)): Depend on globals.h.
21 Otherwise 'make -j10' failed on my host, because the build lacked
22 necessary dependencies, e.g., vm-limit.o depends on globals.h.
23
242011-02-08 Tom Tromey <tromey@redhat.com>
25
26 * Makefile.in (NS_OBJC_OBJ): New variable.
27 (base_obj): Rename from 'obj'.
28 (obj): New variable.
29 (globals.h, gl-stamp, $(obj)): New targets.
30 (GLOBAL_SOURCES): New variable.
31 * globals.h: Remove.
32 * nsselect.m (Vselection_alist): Define. Reverts part of
33 2011-01-19T22:11:33Z!jan.h.d@swipnet.se.
34 * buffer.c: Don't use "no_cell" for name of kill-buffer-hook's
35 variable.
36 * xselect.c (Vselection_alist): Define. Reverts part of 2011-01-19T23:32:42Z!eggert@cs.ucla.edu.
37
382011-02-08 Kenichi Handa <handa@m17n.org>
39
40 * font.c (Ffont_get): Do not cache :otf value.
41
422011-02-07 Paul Eggert <eggert@cs.ucla.edu>
43
44 conform to C89 pointer rules
45
46 * dired.c (scmp, file_name_completion):
47 Change types between char * and unsigned char *, to satisfy C89
48 rules about pointer type compatibility.
49 * casefiddle.c (casify_object, casify_region): Likewise.
50 * search.c (Freplace_match, Fregexp_quote): Likewise.
51 * alloc.c (make_string, make_specified_string, make_pure_string):
52 Likewise.
53 * data.c (Fstring_to_number): Likewise.
54 * print.c (float_to_string, PRINTFINISH, printchar, strout):
55 (print_object): Likewise.
56 * editfns.c (init_editfns, Fchar_to_string, Fbyte_to_string):
57 (Fuser_full_name, Fsubst_char_in_region, Ftranslate_region_internal):
58 (Fformat): Likewise.
59 * callint.c (Fcall_interactively): Likewise.
60 * fns.c (string_make_multibyte, string_to_multibyte):
61 (string_make_unibyte, Fstring_as_unibyte, Fstring_to_unibyte):
62 (Fbase64_encode_region, base64_encode_1, Fbase64_decode_region, Fmd5):
63 Likewise.
64 * lread.c (read1, hash_string): Likewise.
65 * process.c (read_process_output, send_process, Fprocess_send_region):
66 Likewise.
67 * callproc.c (Fcall_process): Likewise.
68 * doprnt.c (doprnt): Likewise.
69 * indent.c (compute_motion): Likewise.
70 * xfont.c (xfont_decode_coding_xlfd): Likewise.
71 * ralloc.c (resize_bloc): Likewise.
72 * image.c (tiff_load): Likewise.
73 * xml.c (make_dom, parse_region): Likewise.
74 * character.c (strwidth): Make its argument const char *, not const
75 unsigned char *, since more callers prefer it that way. All callers
76 changed.
77
782011-02-06 Paul Eggert <eggert@cs.ucla.edu>
79
80 * xterm.c (x_alloc_nearest_color_1): Avoid unportable int assumption.
81 Emacs assumes two's complement elsewhere, but the assumption is
82 easy to remove here, and this suppresses a warning with Sun C 5.8.
83
84 conform to C89 pointer rules
85
86 * xterm.c (x_draw_fringe_bitmap, handle_one_xevent, x_bitmap_icon):
87 (same_x_server, x_term_init):
88 Change types between char * and unsigned char *, to satisfy C89
89 rules about pointer type compatibility.
90 * doc.c (get_doc_string, Fsnarf_documentation):
91 (Fsubstitute_command_keys): Likewise.
92 * xfns.c (Fx_open_connection, Fx_window_property): Likewise.
93 * bitmaps/gray.xbm (gray_bits): Likewise.
94 * image.c (xbm_read_bitmap_data, xbm_load_image, xbm_load): Likewise.
95 * keyboard.c (echo_char, MULTI_LETTER_MOD, tty_read_avail_input):
96 Likewise.
97 * keymap.c (Ftext_char_description): Likewise.
98 * minibuf.c (Fread_buffer): Likewise.
99 * fileio.c (IS_DRIVE) [defined WINDOWSNT]:
100 (DRIVE_LETTER) [defined DOS_NT]:
101 (report_file_error, Ffile_name_directory, Ffile_name_nondirectory):
102 (make_temp_name, Fexpand_file_name, file_name_absolute_p):
103 (search_embedded_absfilename, Fsubstitute_in_file_name):
104 (barf_or_query_if_file_exists, Fmake_directory_internal):
105 (Fdelete_directory_internal, Ffile_name_absolute_p, read_non_regular):
106 (Finsert_file_contents, Fwrite_region):
107 Likewise.
108 * insdel.c (insert, insert_and_inherit, insert_before_markers):
109 (insert_before_markers_and_inherit, insert_1, insert_1_both):
110 Likewise. This changes these functions' signatures, which is
111 more convenient since most callers use char *. All remaining
112 callers changed.
113 * editfns.c (general_insert_function): Change signature to
114 match changes to insert functions' signatures.
115 * keymap.c (map_keymap_char_table_item, map_keymap_internal): Use
116 explicit cast when converting between void * and function pointer
117 types, as C89 requires this.
118
1192011-02-05 Paul Eggert <eggert@cs.ucla.edu>
120
121 don't ignore chdir failure
122 * sysdep.c (sys_subshell) [!defined DOS_NT]: Diagnose chdir
123 failure and exit.
124 (sys_subshell) [defined DOS_NT]: Mark with a FIXME the two
125 remaining unchecked chdir calls in this function; some DOS/NT
126 expert needs to fix them.
127 * emacs.c (main): Mark with a FIXME the unchecked chdir calls
128 in this function; some NextStep expert needs to fix them.
129
1302011-02-05 Glenn Morris <rgm@gnu.org>
131
132 * xfaces.c (Finternal_set_lisp_face_attribute):
133 Try to clarify some error messages. (Bug#2659)
134
1352011-02-05 Stefan Monnier <monnier@iro.umontreal.ca>
136
137 * editfns.c (save_restriction_restore): Don't forget to invalidate the
138 current_column cache (bug#7946).
139
1402011-02-05 Kenichi Handa <handa@m17n.org>
141
142 * ftfont.c (ftfont_open): Use FC_DUAL only when it is defined.
143
144 * xftfont.c (xftfont_open): Likewise.
145
1462011-02-05 Andreas Schwab <schwab@linux-m68k.org>
147
148 * window.c (Fselect_window): Add missing return value.
149
1502011-02-05 Paul Eggert <eggert@cs.ucla.edu>
151
152 xstrcasecmp: conform to C89 pointer rules
153 * xfaces.c (xstrcasecmp): Change args from const unsigned char *
154 to const char *, since they're usually low-level C strings, and
155 this stays compatible with C89 pointer rules. All callers changed.
156
157 * charset.c: conform to C89 pointer rules
158 (define_charset_internal): Switch between char * and unsigned char *.
159
160 * xmenu.c: conform to C89 const rules
161 (xmenu_show, xdialog_show): Declare local var as char *, not
162 const char *, to stay compatible with C89 const rules.
163
164 * xdisp.c: conform to C89 pointer rules
165 (store_mode_line_noprop, display_string, reseat_to_string):
166 (c_string_pos, number_of_chars, message_dolog):
167 (message_log_check_duplicate, set_message_1, store_mode_line_noprop):
168 (display_mode_element, display_string):
169 Switch between char * and unsigned char * to stay compatible wth
170 C89 pointer rules.
171
172 * regex.c: conform to C89 pointer rules
173 (re_wctype): Add cast, as C89 does not allow assigning between
174 char * and unsigned char *.
175 (regex_compile): Likewise.
176
177 sync from gnulib to remove HAVE_STDBOOL_H
178 * config.in: Regenerate.
179
1802011-02-04 Eli Zaretskii <eliz@gnu.org>
181
182 * makefile.w32-in (LISP_H, PROCESS_H): New variables.
183 Replace all uses of lisp.h with $(LISP_H), and all uses of
184 process.h with $(PROCESS_H).
185 ($(BLD)/editfns.$(O)): Depend on ../lib/strftime.h.
186 ($(BLD)/print.$(O)): Depend on ../lib/ftoastr.h and ../lib/intprops.h.
187
188 * deps.mk: Update for recent changes: gnutls support, gnulib
189 imports, addition of globals.h.
190
191 * makefile.w32-in ($(BLD)/sysdep.$(O)): Depend on
192 ../lib/ignore-value.h.
193
1942011-02-03 Paul Eggert <eggert@cs.ucla.edu>
195
196 allow C code to suppress warnings about ignored return values
197
198 We need to go through the code and for each such warning, either
199 fix the code to pay attention to the returned value, or tell GCC
200 that we really do want to ignore the returned value. Here is one
201 example of how to do the latter.
202 * sysdep.c: Include <ignore-value.h>.
203 (sys_subshell): Suppress an undesirable warning about not checking
204 the returned value of 'write', as there's nothing useful one can
205 do with that returned value.
206
2072011-02-03 Jan Djärv <jan.h.d@swipnet.se>
208
209 * xterm.c (x_connection_closed): Remove all calls that calls
210 XSync (Bug#7949).
211
2122011-02-01 Eli Zaretskii <eliz@gnu.org>
213
214 * image.c (tiff_load): Avoid compiler warning in 2nd arg to
215 TIFFClientOpen.
216
2172011-02-01 Jan Djärv <jan.h.d@swipnet.se>
218
219 * xsmfns.c (ice_connection_closed): Call delete_read_fd.
220 (x_session_check_input): Change args and return type so it can be used
221 as argument to add_read_fd. Make static. Remove call to select.
222 Call kbd_buffer_store_event for emacs_event.
223 (smc_save_yourself_CB): Also store initial argv to SmRestartCommand.
224 (ice_conn_watch_CB): Call add_read_fd.
225
226 * xterm.c (XTread_socket): Remove HAVE_X_SM block with call to
227 x_session_check_input.
228 (x_session_initialized): Remove definition.
229 (x_initialize): Remove setting of x_session_initialized.
230
231 * xterm.h (x_session_check_input): Remove declaration.
232
2332011-02-01 Paul Eggert <eggert@cs.ucla.edu>
234
235 format-time-string now supports subsecond time stamp resolution
236 * editfns.c (emacs_nmemftime): Renamed from emacs_memftimeu,
237 for consistency with its new argument and with gnulib nstrftime.
238 All callers changed. New argument NS.
239 (Fformat_time_string): Check that the time argument's microseconds
240 component, if any, is in range; this avoids integer overflow and
241 also nstrftime needs this. Document %N.
242
2432011-01-31 Andreas Schwab <schwab@linux-m68k.org>
244
245 * image.c (DEF_IMGLIB_FN): Add parameter rettype, use it instead
246 of int. All uses adjusted.
247 (PNG_JMPBUF, png_load, jpeg_load, tiff_load, gif_load)
248 (svg_load_image): Remove casts.
249
2502011-01-31 Chong Yidong <cyd@stupidchicken.com>
251
252 * image.c (fn_png_longjmp, fn_png_set_longjmp_fn): New png
253 function definitions for compiling with libpng-1.5.
254 (PNG_LONGJMP, PNG_JMPBUF): New macros for libpng-1.5.
255 (my_png_error, png_load): Use them. Suggested by Thomas Klausner
256 (Bug#7908).
257
2582011-01-31 Eli Zaretskii <eliz@gnu.org>
259
260 * s/ms-w32.h (HAVE_STRFTIME): Don't define.
261
262 * makefile.w32-in (OBJ2): Remove strftime.$(O).
263 ($(BLD)/strftime.$(O)): Remove prerequisites.
264
12011-01-31 Paul Eggert <eggert@cs.ucla.edu> 2652011-01-31 Paul Eggert <eggert@cs.ucla.edu>
2 266
3 src/emacs.c now gets version number from configure.in 267 src/emacs.c now gets version number from configure.in
diff --git a/src/Makefile.in b/src/Makefile.in
index 98b4c981482..fda65be7084 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -106,7 +106,7 @@ LD_SWITCH_SYSTEM=@LD_SWITCH_SYSTEM@
106 106
107## This holds any special options for linking temacs only (ie, not 107## This holds any special options for linking temacs only (ie, not
108## used by configure). Not used elsewhere because it sometimes 108## used by configure). Not used elsewhere because it sometimes
109## contains options that have to do with using Emacs's crt0, 109## contains options that have to do with using Emacs's crt0,
110## which are only good with temacs. 110## which are only good with temacs.
111LD_SWITCH_SYSTEM_TEMACS=@LD_SWITCH_SYSTEM_TEMACS@ 111LD_SWITCH_SYSTEM_TEMACS=@LD_SWITCH_SYSTEM_TEMACS@
112 112
@@ -190,7 +190,7 @@ OLDXMENU=@OLDXMENU@
190## If HAVE_X11 && !USE_GTK, $(OLDXMENU) ../src/$(OLDXMENU); else empty. 190## If HAVE_X11 && !USE_GTK, $(OLDXMENU) ../src/$(OLDXMENU); else empty.
191## We use stamp-xmenu with these two deps to both ensure that lwlib 191## We use stamp-xmenu with these two deps to both ensure that lwlib
192## gets remade based on its dependencies in its own makefile, 192## gets remade based on its dependencies in its own makefile,
193## and remake temacs if lwlib gets changed by this. 193## and remake temacs if lwlib gets changed by this.
194OLDXMENU_DEPS=@OLDXMENU_DEPS@ 194OLDXMENU_DEPS=@OLDXMENU_DEPS@
195 195
196## If !HAVE_X11 && HAVE_X_WINDOWS, -lXMenu (this case no longer possible). 196## If !HAVE_X11 && HAVE_X_WINDOWS, -lXMenu (this case no longer possible).
@@ -241,12 +241,13 @@ MSDOS_SUPPORT_REAL = $(lispsource)/ls-lisp.elc $(lispsource)/disp-table.elc \
241 $(lispsource)/dos-fns.elc $(lispsource)/dos-w32.elc $(lispsource)/dos-vars.elc \ 241 $(lispsource)/dos-fns.elc $(lispsource)/dos-w32.elc $(lispsource)/dos-vars.elc \
242 $(lispsource)/term/internal.elc $(lispsource)/term/pc-win.elc 242 $(lispsource)/term/internal.elc $(lispsource)/term/pc-win.elc
243## $MSDOS_SUPPORT_REAL if MSDOS. 243## $MSDOS_SUPPORT_REAL if MSDOS.
244MSDOS_SUPPORT = 244MSDOS_SUPPORT =
245 245
246ns_appdir=@ns_appdir@ 246ns_appdir=@ns_appdir@
247ns_appbindir=@ns_appbindir@ 247ns_appbindir=@ns_appbindir@
248ns_appsrc=@ns_appsrc@ 248ns_appsrc=@ns_appsrc@
249NS_OBJ=@NS_OBJ@ 249NS_OBJ=@NS_OBJ@
250NS_OBJC_OBJ=@NS_OBJC_OBJ@
250NS_SUPPORT=@NS_SUPPORT@ 251NS_SUPPORT=@NS_SUPPORT@
251## Only set if NS_IMPL_GNUSTEP. 252## Only set if NS_IMPL_GNUSTEP.
252GNU_OBJC_CFLAGS=@GNU_OBJC_CFLAGS@ 253GNU_OBJC_CFLAGS=@GNU_OBJC_CFLAGS@
@@ -341,7 +342,7 @@ ALL_OBJC_CFLAGS=$(ALL_CFLAGS) $(GNU_OBJC_CFLAGS)
341 342
342## lastfile must follow all files whose initialized data areas should 343## lastfile must follow all files whose initialized data areas should
343## be dumped as pure by dump-emacs. 344## be dumped as pure by dump-emacs.
344obj= dispnew.o frame.o scroll.o xdisp.o menu.o $(XMENU_OBJ) window.o \ 345base_obj = dispnew.o frame.o scroll.o xdisp.o menu.o $(XMENU_OBJ) window.o \
345 charset.o coding.o category.o ccl.o character.o chartab.o bidi.o \ 346 charset.o coding.o category.o ccl.o character.o chartab.o bidi.o \
346 cm.o term.o terminal.o xfaces.o $(XOBJ) $(GTK_OBJ) $(DBUS_OBJ) \ 347 cm.o term.o terminal.o xfaces.o $(XOBJ) $(GTK_OBJ) $(DBUS_OBJ) \
347 emacs.o keyboard.o macros.o keymap.o sysdep.o \ 348 emacs.o keyboard.o macros.o keymap.o sysdep.o \
@@ -355,6 +356,7 @@ obj= dispnew.o frame.o scroll.o xdisp.o menu.o $(XMENU_OBJ) window.o \
355 region-cache.o sound.o atimer.o \ 356 region-cache.o sound.o atimer.o \
356 doprnt.o intervals.o textprop.o composite.o md5.o xml.o \ 357 doprnt.o intervals.o textprop.o composite.o md5.o xml.o \
357 $(MSDOS_OBJ) $(MSDOS_X_OBJ) $(NS_OBJ) $(CYGWIN_OBJ) $(FONT_OBJ) 358 $(MSDOS_OBJ) $(MSDOS_X_OBJ) $(NS_OBJ) $(CYGWIN_OBJ) $(FONT_OBJ)
359obj = $(base_obj) $(NS_OBJC_OBJ)
358 360
359## Object files used on some machine or other. 361## Object files used on some machine or other.
360## These go in the DOC file on all machines in case they are needed. 362## These go in the DOC file on all machines in case they are needed.
@@ -645,6 +647,18 @@ $(libsrc)/make-docfile$(EXEEXT):
645buildobj.h: Makefile 647buildobj.h: Makefile
646 echo "#define BUILDOBJ \"$(obj) $(otherobj) " "\"" > buildobj.h 648 echo "#define BUILDOBJ \"$(obj) $(otherobj) " "\"" > buildobj.h
647 649
650globals.h: gl-stamp; @true
651
652GLOBAL_SOURCES = $(base_obj:.o=.c) $(NS_OBJC_OBJ:.o=.m)
653
654gl-stamp: $(libsrc)/make-docfile$(EXEEXT) $(GLOBAL_SOURCES)
655 @rm -f gl-tmp
656 $(libsrc)/make-docfile -d $(srcdir) -g $(SOME_MACHINE_OBJECTS) $(obj) > gl-tmp
657 $(srcdir)/../move-if-change gl-tmp globals.h
658 echo timestamp > $@
659
660$(obj) $(otherobj): globals.h
661
648$(lib)/libgnu.a: $(config_h) 662$(lib)/libgnu.a: $(config_h)
649 cd $(lib) && $(MAKE) libgnu.a 663 cd $(lib) && $(MAKE) libgnu.a
650 664
@@ -655,7 +669,7 @@ temacs$(EXEEXT): $(START_FILES) stamp-oldxmenu $(obj) $(otherobj) $(lib)/libgnu.
655## The following oldxmenu-related rules are only (possibly) used if 669## The following oldxmenu-related rules are only (possibly) used if
656## HAVE_X11 && !USE_GTK, but there is no harm in always defining them 670## HAVE_X11 && !USE_GTK, but there is no harm in always defining them
657## (provided we take a little care that OLDXMENU is never empty). 671## (provided we take a little care that OLDXMENU is never empty).
658really-lwlib: 672really-lwlib: globals.h
659 cd $(lwlibdir); $(MAKE) $(MFLAGS) \ 673 cd $(lwlibdir); $(MAKE) $(MFLAGS) \
660 CC='$(CC)' CFLAGS='$(CFLAGS)' MAKE='$(MAKE)' 674 CC='$(CC)' CFLAGS='$(CFLAGS)' MAKE='$(MAKE)'
661 @true # make -t should not create really-lwlib. 675 @true # make -t should not create really-lwlib.
@@ -699,6 +713,7 @@ mostlyclean:
699 rm -f ../etc/DOC 713 rm -f ../etc/DOC
700 rm -f bootstrap-emacs$(EXEEXT) emacs-$(version)$(EXEEXT) 714 rm -f bootstrap-emacs$(EXEEXT) emacs-$(version)$(EXEEXT)
701 rm -f buildobj.h 715 rm -f buildobj.h
716 rm -f globals.h gl-stamp
702clean: mostlyclean 717clean: mostlyclean
703 rm -f emacs-*.*.*$(EXEEXT) emacs$(EXEEXT) 718 rm -f emacs-*.*.*$(EXEEXT) emacs$(EXEEXT)
704 -rm -rf $(DEPDIR) 719 -rm -rf $(DEPDIR)
diff --git a/src/alloc.c b/src/alloc.c
index 990622a30f6..36c849418f3 100644
--- a/src/alloc.c
+++ b/src/alloc.c
@@ -2281,7 +2281,8 @@ make_string (const char *contents, EMACS_INT nbytes)
2281 register Lisp_Object val; 2281 register Lisp_Object val;
2282 EMACS_INT nchars, multibyte_nbytes; 2282 EMACS_INT nchars, multibyte_nbytes;
2283 2283
2284 parse_str_as_multibyte (contents, nbytes, &nchars, &multibyte_nbytes); 2284 parse_str_as_multibyte ((const unsigned char *) contents, nbytes,
2285 &nchars, &multibyte_nbytes);
2285 if (nbytes == nchars || nbytes != multibyte_nbytes) 2286 if (nbytes == nchars || nbytes != multibyte_nbytes)
2286 /* CONTENTS contains no multibyte sequences or contains an invalid 2287 /* CONTENTS contains no multibyte sequences or contains an invalid
2287 multibyte sequence. We must make unibyte string. */ 2288 multibyte sequence. We must make unibyte string. */
@@ -2349,7 +2350,8 @@ make_specified_string (const char *contents,
2349 if (nchars < 0) 2350 if (nchars < 0)
2350 { 2351 {
2351 if (multibyte) 2352 if (multibyte)
2352 nchars = multibyte_chars_in_text (contents, nbytes); 2353 nchars = multibyte_chars_in_text ((const unsigned char *) contents,
2354 nbytes);
2353 else 2355 else
2354 nchars = nbytes; 2356 nchars = nbytes;
2355 } 2357 }
@@ -4707,7 +4709,7 @@ make_pure_string (const char *data,
4707 struct Lisp_String *s; 4709 struct Lisp_String *s;
4708 4710
4709 s = (struct Lisp_String *) pure_alloc (sizeof *s, Lisp_String); 4711 s = (struct Lisp_String *) pure_alloc (sizeof *s, Lisp_String);
4710 s->data = find_string_data_in_pure (data, nbytes); 4712 s->data = (unsigned char *) find_string_data_in_pure (data, nbytes);
4711 if (s->data == NULL) 4713 if (s->data == NULL)
4712 { 4714 {
4713 s->data = (unsigned char *) pure_alloc (nbytes + 1, -1); 4715 s->data = (unsigned char *) pure_alloc (nbytes + 1, -1);
diff --git a/src/bitmaps/gray.xbm b/src/bitmaps/gray.xbm
index d0e7a02bfac..dc7327e5c1a 100644
--- a/src/bitmaps/gray.xbm
+++ b/src/bitmaps/gray.xbm
@@ -1,4 +1,4 @@
1#define gray_width 2 1#define gray_width 2
2#define gray_height 2 2#define gray_height 2
3static unsigned char gray_bits[] = { 3static char gray_bits[] = {
4 0x01, 0x02}; 4 0x01, 0x02};
diff --git a/src/buffer.c b/src/buffer.c
index 7a0260f584a..5229f899e65 100644
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -1320,7 +1320,7 @@ No argument or nil as argument means do this for the current buffer. */)
1320} 1320}
1321 1321
1322/* 1322/*
1323 DEFVAR_LISP ("kill-buffer-hook", no_cell, "\ 1323 DEFVAR_LISP ("kill-buffer-hook", ..., "\
1324Hook to be run (by `run-hooks', which see) when a buffer is killed.\n\ 1324Hook to be run (by `run-hooks', which see) when a buffer is killed.\n\
1325The buffer being killed will be current while the hook is running.\n\ 1325The buffer being killed will be current while the hook is running.\n\
1326See `kill-buffer'." 1326See `kill-buffer'."
@@ -2401,7 +2401,7 @@ current buffer is cleared. */)
2401 *p = tmp[0]; 2401 *p = tmp[0];
2402 TEMP_SET_PT_BOTH (pos + 1, pos + 1); 2402 TEMP_SET_PT_BOTH (pos + 1, pos + 1);
2403 bytes--; 2403 bytes--;
2404 insert_1_both (tmp + 1, bytes, bytes, 1, 0, 0); 2404 insert_1_both ((char *) tmp + 1, bytes, bytes, 1, 0, 0);
2405 /* Now the gap is after the just inserted data. */ 2405 /* Now the gap is after the just inserted data. */
2406 pos = GPT; 2406 pos = GPT;
2407 p = GAP_END_ADDR; 2407 p = GAP_END_ADDR;
diff --git a/src/callint.c b/src/callint.c
index d2f94f6080f..36d295d750c 100644
--- a/src/callint.c
+++ b/src/callint.c
@@ -257,8 +257,8 @@ invoke it. If KEYS is omitted or nil, the return value of
257 int next_event; 257 int next_event;
258 258
259 Lisp_Object prefix_arg; 259 Lisp_Object prefix_arg;
260 unsigned char *string; 260 char *string;
261 unsigned char *tem; 261 char *tem;
262 262
263 /* If varies[i] > 0, the i'th argument shouldn't just have its value 263 /* If varies[i] > 0, the i'th argument shouldn't just have its value
264 in this call quoted in the command history. It should be 264 in this call quoted in the command history. It should be
@@ -325,8 +325,8 @@ invoke it. If KEYS is omitted or nil, the return value of
325 { 325 {
326 /* Make a copy of string so that if a GC relocates specs, 326 /* Make a copy of string so that if a GC relocates specs,
327 `string' will still be valid. */ 327 `string' will still be valid. */
328 string = (unsigned char *) alloca (SBYTES (specs) + 1); 328 string = (char *) alloca (SBYTES (specs) + 1);
329 memcpy (string, SDATA (specs), SBYTES (specs) + 1); 329 memcpy (string, SSDATA (specs), SBYTES (specs) + 1);
330 } 330 }
331 else 331 else
332 { 332 {
@@ -389,7 +389,7 @@ invoke it. If KEYS is omitted or nil, the return value of
389 { 389 {
390 if (!NILP (record_flag)) 390 if (!NILP (record_flag))
391 { 391 {
392 unsigned char *p = string; 392 char *p = string;
393 while (*p) 393 while (*p)
394 { 394 {
395 if (! (*p == 'r' || *p == 'p' || *p == 'P' 395 if (! (*p == 'r' || *p == 'p' || *p == 'P'
@@ -449,7 +449,7 @@ invoke it. If KEYS is omitted or nil, the return value of
449 j += 2; 449 j += 2;
450 else 450 else
451 j++; 451 j++;
452 tem = (unsigned char *) strchr (tem, '\n'); 452 tem = strchr (tem, '\n');
453 if (tem) 453 if (tem)
454 ++tem; 454 ++tem;
455 else 455 else
@@ -780,7 +780,7 @@ invoke it. If KEYS is omitted or nil, the return value of
780 case '+': 780 case '+':
781 default: 781 default:
782 error ("Invalid control letter `%c' (%03o) in interactive calling string", 782 error ("Invalid control letter `%c' (%03o) in interactive calling string",
783 *tem, *tem); 783 *tem, (unsigned char) *tem);
784 } 784 }
785 785
786 if (varies[i] == 0) 786 if (varies[i] == 0)
@@ -789,9 +789,9 @@ invoke it. If KEYS is omitted or nil, the return value of
789 if (NILP (visargs[i]) && STRINGP (args[i])) 789 if (NILP (visargs[i]) && STRINGP (args[i]))
790 visargs[i] = args[i]; 790 visargs[i] = args[i];
791 791
792 tem = (unsigned char *) strchr (tem, '\n'); 792 tem = strchr (tem, '\n');
793 if (tem) tem++; 793 if (tem) tem++;
794 else tem = (unsigned char *) ""; 794 else tem = "";
795 } 795 }
796 unbind_to (speccount, Qnil); 796 unbind_to (speccount, Qnil);
797 797
diff --git a/src/callproc.c b/src/callproc.c
index 09d0ca5b42c..925eefb4b02 100644
--- a/src/callproc.c
+++ b/src/callproc.c
@@ -696,8 +696,8 @@ usage: (call-process PROGRAM &optional INFILE BUFFER DISPLAY &rest ARGS) */)
696 faithfully reflect inserted text until we 696 faithfully reflect inserted text until we
697 TEMP_SET_PT_BOTH below. */ 697 TEMP_SET_PT_BOTH below. */
698 specbind (Qinhibit_modification_hooks, Qt); 698 specbind (Qinhibit_modification_hooks, Qt);
699 decode_coding_c_string (&process_coding, buf, nread, 699 decode_coding_c_string (&process_coding, (unsigned char *) buf,
700 curbuf); 700 nread, curbuf);
701 unbind_to (count1, Qnil); 701 unbind_to (count1, Qnil);
702 if (display_on_the_fly 702 if (display_on_the_fly
703 && CODING_REQUIRE_DETECTION (&saved_coding) 703 && CODING_REQUIRE_DETECTION (&saved_coding)
diff --git a/src/casefiddle.c b/src/casefiddle.c
index 6f82f99bd26..62d261278ab 100644
--- a/src/casefiddle.c
+++ b/src/casefiddle.c
@@ -142,7 +142,7 @@ casify_object (enum case_action flag, Lisp_Object obj)
142 o += CHAR_STRING (c, o); 142 o += CHAR_STRING (c, o);
143 } 143 }
144 eassert (o - dst <= o_size); 144 eassert (o - dst <= o_size);
145 obj = make_multibyte_string (dst, size, o - dst); 145 obj = make_multibyte_string ((char *) dst, size, o - dst);
146 SAFE_FREE (); 146 SAFE_FREE ();
147 return obj; 147 return obj;
148 } 148 }
@@ -279,7 +279,7 @@ casify_region (enum case_action flag, Lisp_Object b, Lisp_Object e)
279 keeping text properties the same. */ 279 keeping text properties the same. */
280 replace_range_2 (start, start_byte, 280 replace_range_2 (start, start_byte,
281 start + 1, start_byte + len, 281 start + 1, start_byte + len,
282 str, 1, tolen, 282 (char *) str, 1, tolen,
283 0); 283 0);
284 len = tolen; 284 len = tolen;
285 } 285 }
@@ -442,4 +442,3 @@ keys_of_casefiddle (void)
442 initial_define_key (meta_map, 'l', "downcase-word"); 442 initial_define_key (meta_map, 'l', "downcase-word");
443 initial_define_key (meta_map, 'c', "capitalize-word"); 443 initial_define_key (meta_map, 'c', "capitalize-word");
444} 444}
445
diff --git a/src/character.c b/src/character.c
index 9936ac281cf..397481e5b39 100644
--- a/src/character.c
+++ b/src/character.c
@@ -395,9 +395,9 @@ c_string_width (const unsigned char *str, EMACS_INT len, int precision,
395 occupies on the screen. */ 395 occupies on the screen. */
396 396
397EMACS_INT 397EMACS_INT
398strwidth (const unsigned char *str, EMACS_INT len) 398strwidth (const char *str, EMACS_INT len)
399{ 399{
400 return c_string_width (str, len, -1, NULL, NULL); 400 return c_string_width ((const unsigned char *) str, len, -1, NULL, NULL);
401} 401}
402 402
403/* Return width of Lisp string STRING when displayed in the current 403/* Return width of Lisp string STRING when displayed in the current
diff --git a/src/character.h b/src/character.h
index 259aebbb8a8..f2ccb28bb37 100644
--- a/src/character.h
+++ b/src/character.h
@@ -612,7 +612,7 @@ extern EMACS_INT str_to_multibyte (unsigned char *, EMACS_INT, EMACS_INT);
612extern EMACS_INT str_as_unibyte (unsigned char *, EMACS_INT); 612extern EMACS_INT str_as_unibyte (unsigned char *, EMACS_INT);
613extern EMACS_INT str_to_unibyte (const unsigned char *, unsigned char *, 613extern EMACS_INT str_to_unibyte (const unsigned char *, unsigned char *,
614 EMACS_INT, int); 614 EMACS_INT, int);
615extern EMACS_INT strwidth (const unsigned char *, EMACS_INT); 615extern EMACS_INT strwidth (const char *, EMACS_INT);
616extern EMACS_INT c_string_width (const unsigned char *, EMACS_INT, int, 616extern EMACS_INT c_string_width (const unsigned char *, EMACS_INT, int,
617 EMACS_INT *, EMACS_INT *); 617 EMACS_INT *, EMACS_INT *);
618extern EMACS_INT lisp_string_width (Lisp_Object, int, 618extern EMACS_INT lisp_string_width (Lisp_Object, int,
@@ -630,4 +630,3 @@ extern Lisp_Object string_escape_byte8 (Lisp_Object);
630 do { (sym) = intern_c_string ((name)); staticpro (&(sym)); } while (0) 630 do { (sym) = intern_c_string ((name)); staticpro (&(sym)); } while (0)
631 631
632#endif /* EMACS_CHARACTER_H */ 632#endif /* EMACS_CHARACTER_H */
633
diff --git a/src/charset.c b/src/charset.c
index a6046600194..229f2c2cdae 100644
--- a/src/charset.c
+++ b/src/charset.c
@@ -1253,12 +1253,13 @@ usage: (define-charset-internal ...) */)
1253static int 1253static int
1254define_charset_internal (Lisp_Object name, 1254define_charset_internal (Lisp_Object name,
1255 int dimension, 1255 int dimension,
1256 const unsigned char *code_space, 1256 const char *code_space_chars,
1257 unsigned min_code, unsigned max_code, 1257 unsigned min_code, unsigned max_code,
1258 int iso_final, int iso_revision, int emacs_mule_id, 1258 int iso_final, int iso_revision, int emacs_mule_id,
1259 int ascii_compatible, int supplementary, 1259 int ascii_compatible, int supplementary,
1260 int code_offset) 1260 int code_offset)
1261{ 1261{
1262 const unsigned char *code_space = (const unsigned char *) code_space_chars;
1262 Lisp_Object args[charset_arg_max]; 1263 Lisp_Object args[charset_arg_max];
1263 Lisp_Object plist[14]; 1264 Lisp_Object plist[14];
1264 Lisp_Object val; 1265 Lisp_Object val;
diff --git a/src/cmds.c b/src/cmds.c
index ce05b19e1c2..93b7e2b7651 100644
--- a/src/cmds.c
+++ b/src/cmds.c
@@ -466,15 +466,15 @@ internal_self_insert (int c, EMACS_INT n)
466 else if (n > 1) 466 else if (n > 1)
467 { 467 {
468 USE_SAFE_ALLOCA; 468 USE_SAFE_ALLOCA;
469 unsigned char *strn, *p; 469 char *strn, *p;
470 SAFE_ALLOCA (strn, unsigned char*, n * len); 470 SAFE_ALLOCA (strn, char *, n * len);
471 for (p = strn; n > 0; n--, p += len) 471 for (p = strn; n > 0; n--, p += len)
472 memcpy (p, str, len); 472 memcpy (p, str, len);
473 insert_and_inherit (strn, p - strn); 473 insert_and_inherit (strn, p - strn);
474 SAFE_FREE (); 474 SAFE_FREE ();
475 } 475 }
476 else if (n > 0) 476 else if (n > 0)
477 insert_and_inherit (str, len); 477 insert_and_inherit ((char *) str, len);
478 478
479 if ((CHAR_TABLE_P (Vauto_fill_chars) 479 if ((CHAR_TABLE_P (Vauto_fill_chars)
480 ? !NILP (CHAR_TABLE_REF (Vauto_fill_chars, c)) 480 ? !NILP (CHAR_TABLE_REF (Vauto_fill_chars, c))
@@ -559,4 +559,3 @@ keys_of_cmds (void)
559 initial_define_key (global_map, Ctl ('E'), "end-of-line"); 559 initial_define_key (global_map, Ctl ('E'), "end-of-line");
560 initial_define_key (global_map, Ctl ('F'), "forward-char"); 560 initial_define_key (global_map, Ctl ('F'), "forward-char");
561} 561}
562
diff --git a/src/coding.c b/src/coding.c
index 3a3ba11ee9d..a9f16de56f3 100644
--- a/src/coding.c
+++ b/src/coding.c
@@ -7880,7 +7880,7 @@ encode_coding_object (struct coding_system *coding,
7880 else if (BUFFERP (src_object)) 7880 else if (BUFFERP (src_object))
7881 insert_from_buffer (XBUFFER (src_object), from, chars, 0); 7881 insert_from_buffer (XBUFFER (src_object), from, chars, 0);
7882 else 7882 else
7883 insert_1_both (coding->source + from, chars, bytes, 0, 0, 0); 7883 insert_1_both ((char *) coding->source + from, chars, bytes, 0, 0, 0);
7884 7884
7885 if (EQ (src_object, dst_object)) 7885 if (EQ (src_object, dst_object))
7886 { 7886 {
diff --git a/src/config.in b/src/config.in
index 48fc7a23d82..df492bf8f87 100644
--- a/src/config.in
+++ b/src/config.in
@@ -615,9 +615,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
615/* Define to 1 if `speed_t' is declared by <termios.h>. */ 615/* Define to 1 if `speed_t' is declared by <termios.h>. */
616#undef HAVE_SPEED_T 616#undef HAVE_SPEED_T
617 617
618/* Define to 1 if stdbool.h conforms to C99. */
619#undef HAVE_STDBOOL_H
620
621/* Define to 1 if you have the <stdint.h> header file. */ 618/* Define to 1 if you have the <stdint.h> header file. */
622#undef HAVE_STDINT_H 619#undef HAVE_STDINT_H
623 620
@@ -1115,9 +1112,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
1115# define __restrict__ 1112# define __restrict__
1116#endif 1113#endif
1117 1114
1118/* Define to `unsigned int' if <sys/types.h> does not define. */
1119#undef size_t
1120
1121/* Define to any substitute for sys_siglist. */ 1115/* Define to any substitute for sys_siglist. */
1122#undef sys_siglist 1116#undef sys_siglist
1123 1117
diff --git a/src/data.c b/src/data.c
index 8b1f4a035ba..83da3e103cb 100644
--- a/src/data.c
+++ b/src/data.c
@@ -2427,7 +2427,7 @@ present, base 10 is used. BASE must be between 2 and 16 (inclusive).
2427If the base used is not 10, STRING is always parsed as integer. */) 2427If the base used is not 10, STRING is always parsed as integer. */)
2428 (register Lisp_Object string, Lisp_Object base) 2428 (register Lisp_Object string, Lisp_Object base)
2429{ 2429{
2430 register unsigned char *p; 2430 register char *p;
2431 register int b; 2431 register int b;
2432 int sign = 1; 2432 int sign = 1;
2433 Lisp_Object val; 2433 Lisp_Object val;
@@ -2446,7 +2446,7 @@ If the base used is not 10, STRING is always parsed as integer. */)
2446 2446
2447 /* Skip any whitespace at the front of the number. Some versions of 2447 /* Skip any whitespace at the front of the number. Some versions of
2448 atoi do this anyway, so we might as well make Emacs lisp consistent. */ 2448 atoi do this anyway, so we might as well make Emacs lisp consistent. */
2449 p = SDATA (string); 2449 p = SSDATA (string);
2450 while (*p == ' ' || *p == '\t') 2450 while (*p == ' ' || *p == '\t')
2451 p++; 2451 p++;
2452 2452
@@ -3347,4 +3347,3 @@ init_data (void)
3347 signal (SIGEMT, arith_error); 3347 signal (SIGEMT, arith_error);
3348#endif /* uts */ 3348#endif /* uts */
3349} 3349}
3350
diff --git a/src/deps.mk b/src/deps.mk
index 7f90688c03b..e8ff3dd592e 100644
--- a/src/deps.mk
+++ b/src/deps.mk
@@ -37,106 +37,118 @@
37### Code: 37### Code:
38 38
39atimer.o: atimer.c atimer.h syssignal.h systime.h lisp.h blockinput.h \ 39atimer.o: atimer.c atimer.h syssignal.h systime.h lisp.h blockinput.h \
40 $(config_h) 40 globals.h ../lib/unistd.h $(config_h)
41bidi.o: bidi.c buffer.h character.h dispextern.h lisp.h \ 41bidi.o: bidi.c buffer.h character.h dispextern.h msdos.h lisp.h \
42 biditype.h bidimirror.h $(config_h) 42 biditype.h bidimirror.h globals.h $(config_h)
43buffer.o: buffer.c buffer.h region-cache.h commands.h window.h \ 43buffer.o: buffer.c buffer.h region-cache.h commands.h window.h \
44 $(INTERVALS_H) blockinput.h atimer.h systime.h character.h \ 44 $(INTERVALS_H) blockinput.h atimer.h systime.h character.h ../lib/unistd.h \
45 indent.h keyboard.h coding.h keymap.h frame.h lisp.h $(config_h) 45 indent.h keyboard.h coding.h keymap.h frame.h lisp.h globals.h $(config_h)
46callint.o: callint.c window.h commands.h buffer.h keymap.h \ 46callint.o: callint.c window.h commands.h buffer.h keymap.h globals.h msdos.h \
47 keyboard.h dispextern.h systime.h coding.h composite.h lisp.h $(config_h) 47 keyboard.h dispextern.h systime.h coding.h composite.h lisp.h $(config_h)
48callproc.o: callproc.c epaths.h buffer.h commands.h lisp.h $(config_h) \ 48callproc.o: callproc.c epaths.h buffer.h commands.h lisp.h $(config_h) \
49 process.h systty.h syssignal.h character.h coding.h ccl.h msdos.h \ 49 process.h systty.h syssignal.h character.h coding.h ccl.h msdos.h \
50 composite.h w32.h blockinput.h atimer.h systime.h frame.h termhooks.h \ 50 composite.h w32.h blockinput.h atimer.h systime.h frame.h termhooks.h \
51 buffer.h 51 buffer.h gnutls.h dispextern.h ../lib/unistd.h globals.h
52casefiddle.o: casefiddle.c syntax.h commands.h buffer.h character.h \ 52casefiddle.o: casefiddle.c syntax.h commands.h buffer.h character.h \
53 composite.h keymap.h lisp.h $(config_h) 53 composite.h keymap.h lisp.h globals.h $(config_h)
54casetab.o: casetab.c buffer.h character.h lisp.h $(config_h) 54casetab.o: casetab.c buffer.h character.h lisp.h globals.h $(config_h)
55category.o: category.c category.h buffer.h charset.h keymap.h \ 55category.o: category.c category.h buffer.h charset.h keymap.h \
56 character.h lisp.h $(config_h) 56 character.h lisp.h globals.h $(config_h)
57ccl.o: ccl.c ccl.h charset.h character.h coding.h composite.h lisp.h $(config_h) 57ccl.o: ccl.c ccl.h charset.h character.h coding.h composite.h lisp.h \
58 globals.h $(config_h)
58character.o: character.c character.h buffer.h charset.h composite.h disptab.h \ 59character.o: character.c character.h buffer.h charset.h composite.h disptab.h \
59 lisp.h $(config_h) 60 lisp.h globals.h $(config_h)
60charset.o: charset.c charset.h character.h buffer.h coding.h composite.h \ 61charset.o: charset.c charset.h character.h buffer.h coding.h composite.h \
61 disptab.h lisp.h $(config_h) 62 disptab.h lisp.h globals.h ../lib/unistd.h $(config_h)
62chartab.o: charset.h character.h ccl.h lisp.h $(config_h) 63chartab.o: charset.h character.h ccl.h lisp.h globals.h $(config_h)
63coding.o: coding.c coding.h ccl.h buffer.h character.h charset.h composite.h \ 64coding.o: coding.c coding.h ccl.h buffer.h character.h charset.h composite.h \
64 window.h dispextern.h frame.h termhooks.h lisp.h $(config_h) 65 window.h dispextern.h msdos.h frame.h termhooks.h \
65cm.o: cm.c frame.h cm.h termhooks.h termchar.h dispextern.h lisp.h $(config_h) 66 lisp.h globals.h $(config_h)
67cm.o: cm.c frame.h cm.h termhooks.h termchar.h dispextern.h msdos.h \
68 lisp.h globals.h $(config_h)
66cmds.o: cmds.c syntax.h buffer.h character.h commands.h window.h lisp.h \ 69cmds.o: cmds.c syntax.h buffer.h character.h commands.h window.h lisp.h \
67 $(config_h) msdos.h dispextern.h keyboard.h keymap.h systime.h \ 70 globals.h $(config_h) msdos.h dispextern.h keyboard.h keymap.h systime.h \
68 coding.h frame.h composite.h 71 coding.h frame.h composite.h
69pre-crt0.o: pre-crt0.c 72pre-crt0.o: pre-crt0.c
70dbusbind.o: dbusbind.c termhooks.h frame.h keyboard.h lisp.h $(config_h) 73dbusbind.o: dbusbind.c termhooks.h frame.h keyboard.h lisp.h $(config_h)
71dired.o: dired.c commands.h buffer.h lisp.h $(config_h) character.h charset.h \ 74dired.o: dired.c commands.h buffer.h lisp.h $(config_h) character.h charset.h \
72 coding.h regex.h systime.h blockinput.h atimer.h composite.h 75 coding.h regex.h systime.h blockinput.h atimer.h composite.h \
76 ../lib/unistd.h globals.h
73dispnew.o: dispnew.c systime.h commands.h process.h frame.h coding.h \ 77dispnew.o: dispnew.c systime.h commands.h process.h frame.h coding.h \
74 window.h buffer.h termchar.h termopts.h termhooks.h cm.h \ 78 window.h buffer.h termchar.h termopts.h termhooks.h cm.h \
75 disptab.h indent.h $(INTERVALS_H) nsgui.h \ 79 disptab.h indent.h $(INTERVALS_H) nsgui.h ../lib/unistd.h \
76 xterm.h blockinput.h atimer.h character.h msdos.h keyboard.h \ 80 xterm.h blockinput.h atimer.h character.h msdos.h keyboard.h \
77 syssignal.h lisp.h $(config_h) 81 syssignal.h gnutls.h lisp.h globals.h $(config_h)
78doc.o: doc.c lisp.h $(config_h) epaths.h buffer.h keyboard.h keymap.h \ 82# doc.o's dependency on buildobj.h is in src/Makefile.in.
79 character.h systime.h coding.h composite.h 83doc.o: doc.c lisp.h $(config_h) buffer.h keyboard.h keymap.h \
80doprnt.o: doprnt.c character.h lisp.h $(config_h) 84 character.h systime.h coding.h composite.h ../lib/unistd.h globals.h
85doprnt.o: doprnt.c character.h lisp.h globals.h ../lib/unistd.h $(config_h)
81dosfns.o: buffer.h termchar.h termhooks.h frame.h blockinput.h window.h \ 86dosfns.o: buffer.h termchar.h termhooks.h frame.h blockinput.h window.h \
82 msdos.h dosfns.h dispextern.h charset.h coding.h atimer.h systime.h \ 87 msdos.h dosfns.h dispextern.h charset.h coding.h atimer.h systime.h \
83 lisp.h $(config_h) 88 lisp.h $(config_h)
84editfns.o: editfns.c window.h buffer.h systime.h $(INTERVALS_H) character.h \ 89editfns.o: editfns.c window.h buffer.h systime.h $(INTERVALS_H) character.h \
85 coding.h frame.h blockinput.h atimer.h lisp.h $(config_h) 90 coding.h frame.h blockinput.h atimer.h ../lib/unistd.h ../lib/strftime.h \
91 lisp.h globals.h $(config_h)
86emacs.o: emacs.c commands.h systty.h syssignal.h blockinput.h process.h \ 92emacs.o: emacs.c commands.h systty.h syssignal.h blockinput.h process.h \
87 termhooks.h buffer.h atimer.h systime.h $(INTERVALS_H) lisp.h $(config_h) \ 93 termhooks.h buffer.h atimer.h systime.h $(INTERVALS_H) lisp.h $(config_h) \
88 window.h dispextern.h keyboard.h keymap.h frame.h coding.h 94 globals.h ../lib/unistd.h window.h dispextern.h keyboard.h keymap.h \
95 frame.h coding.h gnutls.h msdos.h
89fileio.o: fileio.c window.h buffer.h systime.h $(INTERVALS_H) character.h \ 96fileio.o: fileio.c window.h buffer.h systime.h $(INTERVALS_H) character.h \
90 coding.h msdos.h blockinput.h atimer.h lisp.h $(config_h) frame.h commands.h 97 coding.h msdos.h blockinput.h atimer.h lisp.h $(config_h) frame.h \
98 commands.h globals.h ../lib/unistd.h
91filelock.o: filelock.c buffer.h character.h coding.h systime.h composite.h \ 99filelock.o: filelock.c buffer.h character.h coding.h systime.h composite.h \
92 lisp.h $(config_h) 100 ../lib/unistd.h lisp.h globals.h $(config_h)
93filemode.o: filemode.c $(config_h) 101filemode.o: filemode.c $(config_h)
94frame.o: frame.c xterm.h window.h frame.h termhooks.h commands.h keyboard.h \
95 blockinput.h atimer.h systime.h buffer.h character.h fontset.h font.h \
96 msdos.h dosfns.h dispextern.h w32term.h nsgui.h termchar.h coding.h \
97 composite.h lisp.h $(config_h) termhooks.h ccl.h
98fringe.o: fringe.c dispextern.h nsgui.h frame.h window.h buffer.h termhooks.h \
99 blockinput.h atimer.h systime.h lisp.h $(config_h)
100font.o: font.c dispextern.h frame.h window.h ccl.h character.h charset.h \ 102font.o: font.c dispextern.h frame.h window.h ccl.h character.h charset.h \
101 font.h lisp.h $(config_h) buffer.h composite.h fontset.h xterm.h nsgui.h 103 font.h lisp.h globals.h $(config_h) buffer.h composite.h fontset.h \
102ftfont.o: dispextern.h frame.h character.h charset.h composite.h font.h \ 104 xterm.h nsgui.h msdos.h
103 lisp.h $(config_h) blockinput.h atimer.h systime.h coding.h fontset.h \
104 ccl.h ftfont.h
105fontset.o: fontset.c fontset.h ccl.h buffer.h character.h \ 105fontset.o: fontset.c fontset.h ccl.h buffer.h character.h \
106 charset.h frame.h keyboard.h termhooks.h font.h lisp.h $(config_h) \ 106 charset.h frame.h keyboard.h termhooks.h font.h lisp.h $(config_h) \
107 blockinput.h atimer.h systime.h coding.h $(INTERVALS_H) nsgui.h \ 107 blockinput.h atimer.h systime.h coding.h $(INTERVALS_H) nsgui.h \
108 window.h xterm.h 108 window.h xterm.h globals.h
109frame.o: frame.c xterm.h window.h frame.h termhooks.h commands.h keyboard.h \
110 blockinput.h atimer.h systime.h buffer.h character.h fontset.h font.h \
111 msdos.h dosfns.h dispextern.h w32term.h nsgui.h termchar.h coding.h \
112 composite.h lisp.h globals.h $(config_h) termhooks.h ccl.h
113fringe.o: fringe.c dispextern.h nsgui.h frame.h window.h buffer.h termhooks.h \
114 blockinput.h atimer.h systime.h lisp.h globals.h $(config_h)
115ftfont.o: ftfont.c dispextern.h frame.h character.h charset.h composite.h \
116 font.h lisp.h $(config_h) blockinput.h atimer.h systime.h coding.h \
117 fontset.h ccl.h ftfont.h globals.h
109getloadavg.o: getloadavg.c $(config_h) 118getloadavg.o: getloadavg.c $(config_h)
119gnutls.o: gnutls.c gnutls.h process.h ../lib/unistd.h \
120 lisp.h globals.h $(config_h)
110gtkutil.o: gtkutil.c gtkutil.h xterm.h lisp.h frame.h lisp.h $(config_h) \ 121gtkutil.o: gtkutil.c gtkutil.h xterm.h lisp.h frame.h lisp.h $(config_h) \
111 blockinput.h window.h atimer.h systime.h termhooks.h keyboard.h \ 122 blockinput.h window.h atimer.h systime.h termhooks.h keyboard.h charset.h \
112 charset.h coding.h syssignal.h dispextern.h composite.h 123 coding.h syssignal.h dispextern.h composite.h globals.h xsettings.h
113image.o: image.c frame.h window.h dispextern.h blockinput.h atimer.h \ 124image.o: image.c frame.h window.h dispextern.h blockinput.h atimer.h \
114 systime.h xterm.h w32term.h w32gui.h font.h epaths.h character.h coding.h \ 125 systime.h xterm.h w32term.h w32gui.h font.h epaths.h character.h coding.h \
115 nsterm.h nsgui.h lisp.h $(config_h) composite.h termhooks.h ccl.h 126 nsterm.h nsgui.h ../lib/unistd.h lisp.h globals.h $(config_h) \
127 composite.h termhooks.h ccl.h
116indent.o: indent.c frame.h window.h indent.h buffer.h lisp.h $(config_h) \ 128indent.o: indent.c frame.h window.h indent.h buffer.h lisp.h $(config_h) \
117 termchar.h termopts.h disptab.h region-cache.h character.h category.h \ 129 termchar.h termopts.h disptab.h region-cache.h character.h category.h \
118 keyboard.h systime.h coding.h $(INTERVALS_H) 130 keyboard.h systime.h coding.h $(INTERVALS_H) globals.h
119insdel.o: insdel.c window.h buffer.h $(INTERVALS_H) blockinput.h character.h \ 131insdel.o: insdel.c window.h buffer.h $(INTERVALS_H) blockinput.h character.h \
120 dispextern.h atimer.h systime.h region-cache.h lisp.h $(config_h) 132 atimer.h systime.h region-cache.h lisp.h globals.h $(config_h)
121keyboard.o: keyboard.c termchar.h termhooks.h termopts.h buffer.h character.h \ 133keyboard.o: keyboard.c termchar.h termhooks.h termopts.h buffer.h character.h \
122 commands.h frame.h window.h macros.h disptab.h keyboard.h syssignal.h \ 134 commands.h frame.h window.h macros.h disptab.h keyboard.h syssignal.h \
123 systime.h syntax.h $(INTERVALS_H) blockinput.h atimer.h composite.h \ 135 systime.h syntax.h $(INTERVALS_H) blockinput.h atimer.h composite.h \
124 xterm.h puresize.h msdos.h keymap.h w32term.h nsterm.h nsgui.h coding.h \ 136 xterm.h puresize.h msdos.h keymap.h w32term.h nsterm.h nsgui.h coding.h \
125 lisp.h $(config_h) 137 process.h ../lib/unistd.h gnutls.h lisp.h globals.h $(config_h)
126keymap.o: keymap.c buffer.h commands.h keyboard.h termhooks.h blockinput.h \ 138keymap.o: keymap.c buffer.h commands.h keyboard.h termhooks.h blockinput.h \
127 atimer.h systime.h puresize.h character.h charset.h $(INTERVALS_H) \ 139 atimer.h systime.h puresize.h character.h charset.h $(INTERVALS_H) \
128 keymap.h window.h coding.h frame.h lisp.h $(config_h) 140 keymap.h window.h coding.h frame.h lisp.h globals.h $(config_h)
129lastfile.o: lastfile.c $(config_h) 141lastfile.o: lastfile.c $(config_h)
130macros.o: macros.c window.h buffer.h commands.h macros.h keyboard.h \ 142macros.o: macros.c window.h buffer.h commands.h macros.h keyboard.h msdos.h \
131 dispextern.h lisp.h $(config_h) systime.h coding.h composite.h 143 dispextern.h lisp.h globals.h $(config_h) systime.h coding.h composite.h
132gmalloc.o: gmalloc.c $(config_h) 144gmalloc.o: gmalloc.c $(config_h)
133ralloc.o: ralloc.c lisp.h $(config_h) 145ralloc.o: ralloc.c lisp.h $(config_h)
134vm-limit.o: vm-limit.c mem-limits.h lisp.h $(config_h) 146vm-limit.o: vm-limit.c mem-limits.h lisp.h globals.h $(config_h)
135marker.o: marker.c buffer.h character.h lisp.h $(config_h) 147marker.o: marker.c buffer.h character.h lisp.h globals.h $(config_h)
136md5.o: md5.c md5.h $(config_h) 148md5.o: md5.c md5.h $(config_h)
137minibuf.o: minibuf.c syntax.h frame.h window.h keyboard.h systime.h \ 149minibuf.o: minibuf.c syntax.h frame.h window.h keyboard.h systime.h \
138 buffer.h commands.h character.h msdos.h $(INTERVALS_H) keymap.h \ 150 buffer.h commands.h character.h msdos.h $(INTERVALS_H) keymap.h \
139 termhooks.h lisp.h $(config_h) coding.h 151 termhooks.h lisp.h globals.h $(config_h) coding.h
140msdos.o: msdos.c msdos.h dosfns.h systime.h termhooks.h dispextern.h frame.h \ 152msdos.o: msdos.c msdos.h dosfns.h systime.h termhooks.h dispextern.h frame.h \
141 termopts.h termchar.h character.h coding.h ccl.h disptab.h window.h \ 153 termopts.h termchar.h character.h coding.h ccl.h disptab.h window.h \
142 keyboard.h $(INTERVALS_H) buffer.h commands.h blockinput.h atimer.h \ 154 keyboard.h $(INTERVALS_H) buffer.h commands.h blockinput.h atimer.h \
@@ -156,39 +168,45 @@ nsterm.o: nsterm.m blockinput.h atimer.h systime.h syssignal.h nsterm.h \
156nsselect.o: nsselect.m blockinput.h nsterm.h nsgui.h frame.h lisp.h $(config_h) 168nsselect.o: nsselect.m blockinput.h nsterm.h nsgui.h frame.h lisp.h $(config_h)
157process.o: process.c process.h buffer.h window.h termhooks.h termopts.h \ 169process.o: process.c process.h buffer.h window.h termhooks.h termopts.h \
158 commands.h syssignal.h systime.h systty.h syswait.h frame.h dispextern.h \ 170 commands.h syssignal.h systime.h systty.h syswait.h frame.h dispextern.h \
159 blockinput.h atimer.h charset.h coding.h ccl.h msdos.h composite.h \ 171 blockinput.h atimer.h coding.h msdos.h nsterm.h composite.h \
160 keyboard.h lisp.h $(config_h) character.h xgselect.h sysselect.h 172 keyboard.h lisp.h globals.h $(config_h) character.h xgselect.h sysselect.h \
161regex.o: regex.c syntax.h buffer.h lisp.h $(config_h) regex.h \ 173 ../lib/unistd.h gnutls.h
174regex.o: regex.c syntax.h buffer.h lisp.h globals.h $(config_h) regex.h \
162 category.h character.h 175 category.h character.h
163region-cache.o: region-cache.c buffer.h region-cache.h lisp.h $(config_h) 176region-cache.o: region-cache.c buffer.h region-cache.h \
177 lisp.h globals.h $(config_h)
164scroll.o: scroll.c termchar.h dispextern.h frame.h msdos.h keyboard.h \ 178scroll.o: scroll.c termchar.h dispextern.h frame.h msdos.h keyboard.h \
165 termhooks.h lisp.h $(config_h) systime.h coding.h composite.h window.h 179 termhooks.h lisp.h globals.h $(config_h) systime.h coding.h composite.h \
180 window.h
166search.o: search.c regex.h commands.h buffer.h region-cache.h syntax.h \ 181search.o: search.c regex.h commands.h buffer.h region-cache.h syntax.h \
167 blockinput.h atimer.h systime.h category.h character.h charset.h \ 182 blockinput.h atimer.h systime.h category.h character.h charset.h \
168 $(INTERVALS_H) \ 183 $(INTERVALS_H) lisp.h globals.h $(config_h)
169 lisp.h $(config_h) 184sound.o: sound.c dispextern.h syssignal.h lisp.h globals.h $(config_h) \
170sound.o: sound.c dispextern.h syssignal.h lisp.h $(config_h) atimer.h systime.h 185 atimer.h systime.h ../lib/unistd.h msdos.h
171syntax.o: syntax.c syntax.h buffer.h commands.h category.h character.h \ 186syntax.o: syntax.c syntax.h buffer.h commands.h category.h character.h \
172 keymap.h regex.h $(INTERVALS_H) lisp.h $(config_h) 187 keymap.h regex.h $(INTERVALS_H) lisp.h globals.h $(config_h)
173sysdep.o: sysdep.c syssignal.h systty.h systime.h syswait.h blockinput.h \ 188sysdep.o: sysdep.c syssignal.h systty.h systime.h syswait.h blockinput.h \
174 process.h dispextern.h termhooks.h termchar.h termopts.h coding.h \ 189 process.h dispextern.h termhooks.h termchar.h termopts.h coding.h \
175 frame.h atimer.h window.h msdos.h dosfns.h keyboard.h cm.h lisp.h \ 190 frame.h atimer.h window.h msdos.h dosfns.h keyboard.h cm.h lisp.h \
176 $(config_h) composite.h sysselect.h 191 globals.h $(config_h) composite.h sysselect.h gnutls.h \
177term.o: term.c termchar.h termhooks.h termopts.h lisp.h $(config_h) \ 192 ../lib/unistd.h ../lib/ignore-value.h
193term.o: term.c termchar.h termhooks.h termopts.h lisp.h globals.h $(config_h) \
178 cm.h frame.h disptab.h keyboard.h character.h charset.h coding.h ccl.h \ 194 cm.h frame.h disptab.h keyboard.h character.h charset.h coding.h ccl.h \
179 xterm.h msdos.h window.h keymap.h blockinput.h atimer.h systime.h \ 195 xterm.h msdos.h window.h keymap.h blockinput.h atimer.h systime.h \
180 systty.h syssignal.h $(INTERVALS_H) buffer.h 196 systty.h syssignal.h $(INTERVALS_H) buffer.h ../lib/unistd.h
181termcap.o: termcap.c lisp.h $(config_h) 197termcap.o: termcap.c lisp.h $(config_h)
182terminal.o: terminal.c frame.h termchar.h termhooks.h charset.h coding.h \ 198terminal.o: terminal.c frame.h termchar.h termhooks.h charset.h coding.h \
183 keyboard.h lisp.h $(config_h) dispextern.h composite.h systime.h 199 keyboard.h lisp.h globals.h $(config_h) dispextern.h composite.h systime.h \
184terminfo.o: terminfo.c lisp.h $(config_h) 200 msdos.h
201terminfo.o: terminfo.c lisp.h globals.h $(config_h)
185tparam.o: tparam.c lisp.h $(config_h) 202tparam.o: tparam.c lisp.h $(config_h)
186undo.o: undo.c buffer.h commands.h window.h dispextern.h lisp.h $(config_h) 203undo.o: undo.c buffer.h commands.h window.h dispextern.h msdos.h \
204 lisp.h globals.h $(config_h)
187unexaix.o: unexaix.c lisp.h $(config_h) 205unexaix.o: unexaix.c lisp.h $(config_h)
188unexalpha.o: unexalpha.c $(config_h) 206unexalpha.o: unexalpha.c $(config_h)
189unexcw.o: unexcw.c lisp.h $(config_h) 207unexcw.o: unexcw.c lisp.h $(config_h)
190unexcoff.o: unexcoff.c lisp.h $(config_h) 208unexcoff.o: unexcoff.c lisp.h $(config_h)
191unexelf.o: unexelf.c $(config_h) 209unexelf.o: unexelf.c ../lib/unistd.h $(config_h)
192unexhp9k800.o: unexhp9k800.c $(config_h) 210unexhp9k800.o: unexhp9k800.c $(config_h)
193unexmacosx.o: unexmacosx.c $(config_h) 211unexmacosx.o: unexmacosx.c $(config_h)
194unexsol.o: unexsol.c lisp.h $(config_h) 212unexsol.o: unexsol.c lisp.h $(config_h)
@@ -200,79 +218,90 @@ widget.o: widget.c xterm.h frame.h dispextern.h widgetprv.h \
200window.o: window.c indent.h commands.h frame.h window.h buffer.h termchar.h \ 218window.o: window.c indent.h commands.h frame.h window.h buffer.h termchar.h \
201 disptab.h keyboard.h msdos.h coding.h termhooks.h \ 219 disptab.h keyboard.h msdos.h coding.h termhooks.h \
202 keymap.h blockinput.h atimer.h systime.h $(INTERVALS_H) \ 220 keymap.h blockinput.h atimer.h systime.h $(INTERVALS_H) \
203 xterm.h w32term.h nsterm.h nsgui.h lisp.h $(config_h) 221 xterm.h w32term.h nsterm.h nsgui.h lisp.h globals.h $(config_h)
204xdisp.o: xdisp.c macros.h commands.h process.h indent.h buffer.h dispextern.h \ 222xdisp.o: xdisp.c macros.h commands.h process.h indent.h buffer.h \
205 coding.h termchar.h frame.h window.h disptab.h termhooks.h character.h \ 223 coding.h termchar.h frame.h window.h disptab.h termhooks.h character.h \
206 charset.h lisp.h $(config_h) keyboard.h $(INTERVALS_H) region-cache.h \ 224 charset.h lisp.h $(config_h) keyboard.h $(INTERVALS_H) region-cache.h \
207 xterm.h w32term.h nsterm.h nsgui.h msdos.h composite.h fontset.h ccl.h \ 225 xterm.h w32term.h nsterm.h nsgui.h msdos.h composite.h fontset.h ccl.h \
208 blockinput.h atimer.h systime.h keymap.h font.h 226 blockinput.h atimer.h systime.h keymap.h font.h globals.h termopts.h \
209xfaces.o: xfaces.c dispextern.h frame.h xterm.h buffer.h blockinput.h \ 227 ../lib/unistd.h gnutls.h gtkutil.h
228xfaces.o: xfaces.c frame.h xterm.h buffer.h blockinput.h \
210 window.h character.h charset.h msdos.h dosfns.h composite.h atimer.h \ 229 window.h character.h charset.h msdos.h dosfns.h composite.h atimer.h \
211 systime.h keyboard.h fontset.h w32term.h nsterm.h coding.h ccl.h \ 230 systime.h keyboard.h fontset.h w32term.h nsterm.h coding.h ccl.h \
212 $(INTERVALS_H) nsgui.h termchar.h termhooks.h font.h lisp.h $(config_h) 231 $(INTERVALS_H) nsgui.h termchar.h termhooks.h font.h \
213xfns.o: xfns.c buffer.h frame.h window.h keyboard.h xterm.h dispextern.h \ 232 lisp.h globals.h $(config_h)
233xfns.o: xfns.c buffer.h frame.h window.h keyboard.h xterm.h \
214 $(srcdir)/../lwlib/lwlib.h blockinput.h atimer.h systime.h epaths.h \ 234 $(srcdir)/../lwlib/lwlib.h blockinput.h atimer.h systime.h epaths.h \
215 character.h charset.h coding.h gtkutil.h lisp.h $(config_h) termhooks.h \ 235 character.h charset.h coding.h gtkutil.h lisp.h $(config_h) termhooks.h \
216 fontset.h termchar.h font.h xsettings.h $(INTERVALS_H) ccl.h 236 fontset.h termchar.h font.h xsettings.h $(INTERVALS_H) ccl.h globals.h \
237 ../lib/unistd.h
217xfont.o: dispextern.h xterm.h frame.h blockinput.h character.h charset.h \ 238xfont.o: dispextern.h xterm.h frame.h blockinput.h character.h charset.h \
218 font.h lisp.h $(config_h) atimer.h systime.h fontset.h ccl.h 239 font.h lisp.h globals.h $(config_h) atimer.h systime.h fontset.h ccl.h
219xftfont.o: dispextern.h xterm.h frame.h blockinput.h character.h charset.h \ 240xftfont.o: xftfont.c dispextern.h xterm.h frame.h blockinput.h character.h \
220 font.h lisp.h $(config_h) atimer.h systime.h fontset.h ccl.h ftfont.h 241 charset.h font.h lisp.h globals.h $(config_h) atimer.h systime.h \
221ftxfont.o: dispextern.h xterm.h frame.h blockinput.h character.h charset.h \ 242 fontset.h ccl.h ftfont.h composite.h
222 font.h lisp.h $(config_h) atimer.h systime.h fontset.h ccl.h 243ftxfont.o: ftxfont.c dispextern.h xterm.h frame.h blockinput.h character.h \
244 charset.h font.h lisp.h globals.h $(config_h) atimer.h systime.h \
245 fontset.h ccl.h
223menu.o: menu.c lisp.h keyboard.h keymap.h frame.h termhooks.h blockinput.h \ 246menu.o: menu.c lisp.h keyboard.h keymap.h frame.h termhooks.h blockinput.h \
224 dispextern.h $(srcdir)/../lwlib/lwlib.h xterm.h gtkutil.h menu.h \ 247 dispextern.h $(srcdir)/../lwlib/lwlib.h xterm.h gtkutil.h menu.h \
225 lisp.h $(config_h) systime.h coding.h composite.h window.h atimer.h nsgui.h 248 lisp.h globals.h $(config_h) systime.h coding.h composite.h window.h \
249 atimer.h nsterm.h w32term.h msdos.h
226xmenu.o: xmenu.c xterm.h termhooks.h window.h dispextern.h frame.h buffer.h \ 250xmenu.o: xmenu.c xterm.h termhooks.h window.h dispextern.h frame.h buffer.h \
227 charset.h keyboard.h $(srcdir)/../lwlib/lwlib.h blockinput.h atimer.h \ 251 charset.h keyboard.h $(srcdir)/../lwlib/lwlib.h blockinput.h atimer.h \
228 systime.h gtkutil.h msdos.h coding.h menu.h lisp.h $(config_h) composite.h \ 252 systime.h gtkutil.h msdos.h coding.h menu.h lisp.h globals.h $(config_h) \
229 keymap.h sysselect.h 253 composite.h keymap.h sysselect.h
230xml.o: xml.c buffer.h lisp.h $(config_h) 254xml.o: xml.c buffer.h lisp.h globals.h $(config_h)
231xterm.o: xterm.c xterm.h termhooks.h termopts.h termchar.h window.h buffer.h \ 255xterm.o: xterm.c xterm.h termhooks.h termopts.h termchar.h window.h buffer.h \
232 dispextern.h frame.h disptab.h blockinput.h atimer.h systime.h syssignal.h \ 256 dispextern.h frame.h disptab.h blockinput.h atimer.h systime.h syssignal.h \
233 keyboard.h emacs-icon.h character.h charset.h ccl.h fontset.h composite.h \ 257 keyboard.h emacs-icon.h character.h charset.h ccl.h fontset.h composite.h \
234 coding.h process.h gtkutil.h font.h fontset.h lisp.h $(config_h) \ 258 coding.h process.h gtkutil.h font.h fontset.h lisp.h globals.h $(config_h) \
235 xsettings.h intervals.h keymap.h xgselect.h sysselect.h 259 xsettings.h intervals.h keymap.h xgselect.h sysselect.h ../lib/unistd.h \
260 gnutls.h
236xselect.o: xselect.c process.h dispextern.h frame.h xterm.h blockinput.h \ 261xselect.o: xselect.c process.h dispextern.h frame.h xterm.h blockinput.h \
237 buffer.h atimer.h systime.h termhooks.h lisp.h $(config_h) keyboard.h \ 262 buffer.h atimer.h systime.h termhooks.h lisp.h $(config_h) keyboard.h \
238 coding.h composite.h 263 coding.h composite.h ../lib/unistd.h globals.h gnutls.h
239xgselect.o: xgselect.h systime.h sysselect.h lisp.h $(config_h) 264xgselect.o: xgselect.h systime.h sysselect.h lisp.h globals.h $(config_h)
240xrdb.o: xrdb.c lisp.h $(config_h) epaths.h 265xrdb.o: xrdb.c lisp.h globals.h $(config_h) epaths.h ../lib/unistd.h
241xsmfns.o: xsmfns.c lisp.h $(config_h) systime.h sysselect.h termhooks.h \ 266xsmfns.o: xsmfns.c lisp.h $(config_h) systime.h sysselect.h termhooks.h \
242 xterm.h lisp.h termopts.h frame.h dispextern.h 267 xterm.h lisp.h termopts.h frame.h dispextern.h ../lib/unistd.h globals.h \
268 gnutls.h keyboard.h coding.h composite.h
243xsettings.o: xterm.h xsettings.h lisp.h frame.h termhooks.h $(config_h) \ 269xsettings.o: xterm.h xsettings.h lisp.h frame.h termhooks.h $(config_h) \
244 dispextern.h keyboard.h systime.h coding.h composite.h blockinput.h \ 270 dispextern.h keyboard.h systime.h coding.h composite.h blockinput.h \
245 atimer.h termopts.h 271 atimer.h termopts.h globals.h
246 272
247## The files of Lisp proper. 273## The files of Lisp proper.
248alloc.o: alloc.c process.h frame.h window.h buffer.h puresize.h syssignal.h \ 274alloc.o: alloc.c process.h frame.h window.h buffer.h puresize.h syssignal.h \
249 keyboard.h blockinput.h atimer.h systime.h character.h lisp.h $(config_h) \ 275 keyboard.h blockinput.h atimer.h systime.h character.h lisp.h $(config_h) \
250 $(INTERVALS_H) termhooks.h 276 $(INTERVALS_H) termhooks.h gnutls.h coding.h ../lib/unistd.h globals.h
251bytecode.o: bytecode.c buffer.h syntax.h character.h window.h dispextern.h \ 277bytecode.o: bytecode.c buffer.h syntax.h character.h window.h dispextern.h \
252 frame.h xterm.h lisp.h $(config_h) 278 lisp.h globals.h $(config_h) msdos.h
253data.o: data.c buffer.h puresize.h character.h syssignal.h keyboard.h frame.h \ 279data.o: data.c buffer.h puresize.h character.h syssignal.h keyboard.h frame.h \
254 termhooks.h systime.h coding.h composite.h dispextern.h font.h ccl.h \ 280 termhooks.h systime.h coding.h composite.h dispextern.h font.h ccl.h \
255 lisp.h $(config_h) 281 lisp.h globals.h $(config_h) msdos.h
256eval.o: eval.c commands.h keyboard.h blockinput.h atimer.h systime.h \ 282eval.o: eval.c commands.h keyboard.h blockinput.h atimer.h systime.h frame.h \
257 dispextern.h lisp.h $(config_h) coding.h composite.h xterm.h 283 dispextern.h lisp.h globals.h $(config_h) coding.h composite.h xterm.h \
258floatfns.o: floatfns.c syssignal.h lisp.h $(config_h) 284 msdos.h
285floatfns.o: floatfns.c syssignal.h lisp.h globals.h $(config_h)
259fns.o: fns.c commands.h lisp.h $(config_h) frame.h buffer.h character.h \ 286fns.o: fns.c commands.h lisp.h $(config_h) frame.h buffer.h character.h \
260 keyboard.h keymap.h window.h dispextern.h $(INTERVALS_H) coding.h md5.h \ 287 keyboard.h keymap.h window.h $(INTERVALS_H) coding.h md5.h \
261 blockinput.h atimer.h systime.h xterm.h 288 blockinput.h atimer.h systime.h xterm.h ../lib/unistd.h globals.h
262print.o: print.c process.h frame.h window.h buffer.h keyboard.h character.h \ 289print.o: print.c process.h frame.h window.h buffer.h keyboard.h character.h \
263 lisp.h $(config_h) termchar.h $(INTERVALS_H) msdos.h termhooks.h \ 290 lisp.h globals.h $(config_h) termchar.h $(INTERVALS_H) msdos.h termhooks.h \
264 blockinput.h atimer.h systime.h font.h charset.h coding.h ccl.h 291 blockinput.h atimer.h systime.h font.h charset.h coding.h ccl.h \
292 gnutls.h ../lib/unistd.h ../lib/ftoastr.h ../lib/intprops.h
265lread.o: lread.c commands.h keyboard.h buffer.h epaths.h character.h \ 293lread.o: lread.c commands.h keyboard.h buffer.h epaths.h character.h \
266 charset.h lisp.h $(config_h) $(INTERVALS_H) termhooks.h coding.h msdos.h \ 294 charset.h lisp.h globals.h $(config_h) $(INTERVALS_H) termhooks.h \
267 systime.h frame.h blockinput.h atimer.h 295 coding.h msdos.h systime.h frame.h blockinput.h atimer.h ../lib/unistd.h
268 296
269## Text properties support. 297## Text properties support.
270composite.o: composite.c buffer.h character.h coding.h font.h ccl.h \ 298composite.o: composite.c composite.h buffer.h character.h coding.h font.h \
271 frame.h termhooks.h $(INTERVALS_H) window.h lisp.h $(config_h) 299 ccl.h frame.h termhooks.h $(INTERVALS_H) window.h \
300 lisp.h globals.h $(config_h)
272intervals.o: intervals.c buffer.h $(INTERVALS_H) keyboard.h puresize.h \ 301intervals.o: intervals.c buffer.h $(INTERVALS_H) keyboard.h puresize.h \
273 keymap.h lisp.h $(config_h) systime.h coding.h 302 keymap.h lisp.h globals.h $(config_h) systime.h coding.h
274textprop.o: textprop.c buffer.h window.h $(INTERVALS_H) \ 303textprop.o: textprop.c buffer.h window.h $(INTERVALS_H) \
275 lisp.h $(config_h) 304 lisp.h globals.h $(config_h)
276 305
277 306
278### deps.mk ends here 307### deps.mk ends here
diff --git a/src/dired.c b/src/dired.c
index 08aa230f65f..e37055258d6 100644
--- a/src/dired.c
+++ b/src/dired.c
@@ -99,7 +99,7 @@ Lisp_Object Qfile_name_all_completions;
99Lisp_Object Qfile_attributes; 99Lisp_Object Qfile_attributes;
100Lisp_Object Qfile_attributes_lessp; 100Lisp_Object Qfile_attributes_lessp;
101 101
102static int scmp (const unsigned char *, const unsigned char *, int); 102static int scmp (const char *, const char *, int);
103 103
104#ifdef WINDOWSNT 104#ifdef WINDOWSNT
105Lisp_Object 105Lisp_Object
@@ -533,7 +533,7 @@ file_name_completion (Lisp_Object file, Lisp_Object dirname, int all_flag, int v
533 QUIT; 533 QUIT;
534 if (! DIRENTRY_NONEMPTY (dp) 534 if (! DIRENTRY_NONEMPTY (dp)
535 || len < SCHARS (encoded_file) 535 || len < SCHARS (encoded_file)
536 || 0 <= scmp (dp->d_name, SDATA (encoded_file), 536 || 0 <= scmp (dp->d_name, SSDATA (encoded_file),
537 SCHARS (encoded_file))) 537 SCHARS (encoded_file)))
538 continue; 538 continue;
539 539
@@ -558,7 +558,7 @@ file_name_completion (Lisp_Object file, Lisp_Object dirname, int all_flag, int v
558 && matchcount > 1 558 && matchcount > 1
559 && !includeall /* This match may allow includeall to 0. */ 559 && !includeall /* This match may allow includeall to 0. */
560 && len >= bestmatchsize 560 && len >= bestmatchsize
561 && 0 > scmp (dp->d_name, SDATA (bestmatch), bestmatchsize)) 561 && 0 > scmp (dp->d_name, SSDATA (bestmatch), bestmatchsize))
562 continue; 562 continue;
563#endif 563#endif
564 564
@@ -578,7 +578,7 @@ file_name_completion (Lisp_Object file, Lisp_Object dirname, int all_flag, int v
578 CONSP (tem); tem = XCDR (tem)) 578 CONSP (tem); tem = XCDR (tem))
579 { 579 {
580 int elt_len; 580 int elt_len;
581 unsigned char *p1; 581 char *p1;
582 582
583 elt = XCAR (tem); 583 elt = XCAR (tem);
584 if (!STRINGP (elt)) 584 if (!STRINGP (elt))
@@ -589,7 +589,7 @@ file_name_completion (Lisp_Object file, Lisp_Object dirname, int all_flag, int v
589 elt_len = SCHARS (elt) - 1; /* -1 for trailing / */ 589 elt_len = SCHARS (elt) - 1; /* -1 for trailing / */
590 if (elt_len <= 0) 590 if (elt_len <= 0)
591 continue; 591 continue;
592 p1 = SDATA (elt); 592 p1 = SSDATA (elt);
593 if (p1[elt_len] != '/') 593 if (p1[elt_len] != '/')
594 continue; 594 continue;
595 skip = len - elt_len; 595 skip = len - elt_len;
@@ -619,7 +619,7 @@ file_name_completion (Lisp_Object file, Lisp_Object dirname, int all_flag, int v
619 if (skip < 0) continue; 619 if (skip < 0) continue;
620 620
621 if (0 <= scmp (dp->d_name + skip, 621 if (0 <= scmp (dp->d_name + skip,
622 SDATA (elt), 622 SSDATA (elt),
623 SCHARS (elt))) 623 SCHARS (elt)))
624 continue; 624 continue;
625 break; 625 break;
@@ -796,13 +796,15 @@ file_name_completion (Lisp_Object file, Lisp_Object dirname, int all_flag, int v
796 else number of chars that match at the beginning. */ 796 else number of chars that match at the beginning. */
797 797
798static int 798static int
799scmp (const unsigned char *s1, const unsigned char *s2, int len) 799scmp (const char *s1, const char *s2, int len)
800{ 800{
801 register int l = len; 801 register int l = len;
802 802
803 if (completion_ignore_case) 803 if (completion_ignore_case)
804 { 804 {
805 while (l && DOWNCASE (*s1++) == DOWNCASE (*s2++)) 805 while (l
806 && (DOWNCASE ((unsigned char) *s1++)
807 == DOWNCASE ((unsigned char) *s2++)))
806 l--; 808 l--;
807 } 809 }
808 else 810 else
diff --git a/src/dispextern.h b/src/dispextern.h
index 26e0bb61f17..6d54ebefd84 100644
--- a/src/dispextern.h
+++ b/src/dispextern.h
@@ -3151,7 +3151,7 @@ char *choose_face_font (struct frame *, Lisp_Object *, Lisp_Object,
3151 int *); 3151 int *);
3152int ascii_face_of_lisp_face (struct frame *, int); 3152int ascii_face_of_lisp_face (struct frame *, int);
3153void prepare_face_for_display (struct frame *, struct face *); 3153void prepare_face_for_display (struct frame *, struct face *);
3154int xstrcasecmp (const unsigned char *, const unsigned char *); 3154int xstrcasecmp (const char *, const char *);
3155int lookup_named_face (struct frame *, Lisp_Object, int); 3155int lookup_named_face (struct frame *, Lisp_Object, int);
3156int lookup_basic_face (struct frame *, int); 3156int lookup_basic_face (struct frame *, int);
3157int smaller_face (struct frame *, int, int); 3157int smaller_face (struct frame *, int, int);
@@ -3361,4 +3361,3 @@ extern Lisp_Object x_default_parameter (struct frame *, Lisp_Object,
3361#endif /* HAVE_WINDOW_SYSTEM */ 3361#endif /* HAVE_WINDOW_SYSTEM */
3362 3362
3363#endif /* not DISPEXTERN_H_INCLUDED */ 3363#endif /* not DISPEXTERN_H_INCLUDED */
3364
diff --git a/src/doc.c b/src/doc.c
index f9f67c03863..c56f0b6c9df 100644
--- a/src/doc.c
+++ b/src/doc.c
@@ -261,7 +261,7 @@ get_doc_string (Lisp_Object filepos, int unibyte, int definition)
261 the same way we would read bytes from a file. */ 261 the same way we would read bytes from a file. */
262 if (definition) 262 if (definition)
263 { 263 {
264 read_bytecode_pointer = get_doc_string_buffer + offset; 264 read_bytecode_pointer = (unsigned char *) get_doc_string_buffer + offset;
265 return Fread (Qlambda); 265 return Fread (Qlambda);
266 } 266 }
267 267
@@ -271,8 +271,10 @@ get_doc_string (Lisp_Object filepos, int unibyte, int definition)
271 else 271 else
272 { 272 {
273 /* The data determines whether the string is multibyte. */ 273 /* The data determines whether the string is multibyte. */
274 EMACS_INT nchars = multibyte_chars_in_text (get_doc_string_buffer + offset, 274 EMACS_INT nchars =
275 to - (get_doc_string_buffer + offset)); 275 multibyte_chars_in_text (((unsigned char *) get_doc_string_buffer
276 + offset),
277 to - (get_doc_string_buffer + offset));
276 return make_string_from_bytes (get_doc_string_buffer + offset, 278 return make_string_from_bytes (get_doc_string_buffer + offset,
277 nchars, 279 nchars,
278 to - (get_doc_string_buffer + offset)); 280 to - (get_doc_string_buffer + offset));
@@ -640,7 +642,8 @@ the same file name is found in the `doc-directory'. */)
640 } 642 }
641 643
642 sym = oblookup (Vobarray, p + 2, 644 sym = oblookup (Vobarray, p + 2,
643 multibyte_chars_in_text (p + 2, end - p - 2), 645 multibyte_chars_in_text ((unsigned char *) p + 2,
646 end - p - 2),
644 end - p - 2); 647 end - p - 2);
645 /* Check skip_file so that when a function is defined several 648 /* Check skip_file so that when a function is defined several
646 times in different files (typically, once in xterm, once in 649 times in different files (typically, once in xterm, once in
@@ -695,10 +698,10 @@ Returns original STRING if no substitutions were made. Otherwise,
695a new string, without any text properties, is returned. */) 698a new string, without any text properties, is returned. */)
696 (Lisp_Object string) 699 (Lisp_Object string)
697{ 700{
698 unsigned char *buf; 701 char *buf;
699 int changed = 0; 702 int changed = 0;
700 register unsigned char *strp; 703 register unsigned char *strp;
701 register unsigned char *bufp; 704 register char *bufp;
702 EMACS_INT idx; 705 EMACS_INT idx;
703 EMACS_INT bsize; 706 EMACS_INT bsize;
704 Lisp_Object tem; 707 Lisp_Object tem;
@@ -731,7 +734,7 @@ a new string, without any text properties, is returned. */)
731 keymap = Voverriding_local_map; 734 keymap = Voverriding_local_map;
732 735
733 bsize = SBYTES (string); 736 bsize = SBYTES (string);
734 bufp = buf = (unsigned char *) xmalloc (bsize); 737 bufp = buf = (char *) xmalloc (bsize);
735 738
736 strp = SDATA (string); 739 strp = SDATA (string);
737 while (strp < SDATA (string) + SBYTES (string)) 740 while (strp < SDATA (string) + SBYTES (string))
@@ -778,7 +781,7 @@ a new string, without any text properties, is returned. */)
778 781
779 /* Save STRP in IDX. */ 782 /* Save STRP in IDX. */
780 idx = strp - SDATA (string); 783 idx = strp - SDATA (string);
781 name = Fintern (make_string (start, length_byte), Qnil); 784 name = Fintern (make_string ((char *) start, length_byte), Qnil);
782 785
783 do_remap: 786 do_remap:
784 tem = Fwhere_is_internal (name, keymap, Qt, Qnil, Qnil); 787 tem = Fwhere_is_internal (name, keymap, Qt, Qnil, Qnil);
@@ -800,7 +803,7 @@ a new string, without any text properties, is returned. */)
800 if (NILP (tem)) /* but not on any keys */ 803 if (NILP (tem)) /* but not on any keys */
801 { 804 {
802 EMACS_INT offset = bufp - buf; 805 EMACS_INT offset = bufp - buf;
803 buf = (unsigned char *) xrealloc (buf, bsize += 4); 806 buf = (char *) xrealloc (buf, bsize += 4);
804 bufp = buf + offset; 807 bufp = buf + offset;
805 memcpy (bufp, "M-x ", 4); 808 memcpy (bufp, "M-x ", 4);
806 bufp += 4; 809 bufp += 4;
@@ -845,7 +848,7 @@ a new string, without any text properties, is returned. */)
845 /* Get the value of the keymap in TEM, or nil if undefined. 848 /* Get the value of the keymap in TEM, or nil if undefined.
846 Do this while still in the user's current buffer 849 Do this while still in the user's current buffer
847 in case it is a local variable. */ 850 in case it is a local variable. */
848 name = Fintern (make_string (start, length_byte), Qnil); 851 name = Fintern (make_string ((char *) start, length_byte), Qnil);
849 tem = Fboundp (name); 852 tem = Fboundp (name);
850 if (! NILP (tem)) 853 if (! NILP (tem))
851 { 854 {
@@ -894,7 +897,7 @@ a new string, without any text properties, is returned. */)
894 subst: 897 subst:
895 { 898 {
896 EMACS_INT offset = bufp - buf; 899 EMACS_INT offset = bufp - buf;
897 buf = (unsigned char *) xrealloc (buf, bsize += length_byte); 900 buf = (char *) xrealloc (buf, bsize += length_byte);
898 bufp = buf + offset; 901 bufp = buf + offset;
899 memcpy (bufp, start, length_byte); 902 memcpy (bufp, start, length_byte);
900 bufp += length_byte; 903 bufp += length_byte;
diff --git a/src/doprnt.c b/src/doprnt.c
index 979cce3c402..36eb272caae 100644
--- a/src/doprnt.c
+++ b/src/doprnt.c
@@ -71,11 +71,11 @@ doprnt (char *buffer, register int bufsize, const char *format,
71 char *big_buffer = 0; 71 char *big_buffer = 0;
72 72
73 register int tem; 73 register int tem;
74 unsigned char *string; 74 char *string;
75 char fixed_buffer[20]; /* Default buffer for small formatting. */ 75 char fixed_buffer[20]; /* Default buffer for small formatting. */
76 char *fmtcpy; 76 char *fmtcpy;
77 int minlen; 77 int minlen;
78 unsigned char charbuf[MAX_MULTIBYTE_LENGTH + 1]; /* Used for %c. */ 78 char charbuf[MAX_MULTIBYTE_LENGTH + 1]; /* Used for %c. */
79 79
80 if (format_end == 0) 80 if (format_end == 0)
81 format_end = format + strlen (format); 81 format_end = format + strlen (format);
@@ -97,7 +97,7 @@ doprnt (char *buffer, register int bufsize, const char *format,
97 97
98 fmt++; 98 fmt++;
99 /* Copy this one %-spec into fmtcpy. */ 99 /* Copy this one %-spec into fmtcpy. */
100 string = (unsigned char *) fmtcpy; 100 string = fmtcpy;
101 *string++ = '%'; 101 *string++ = '%';
102 while (1) 102 while (1)
103 { 103 {
@@ -166,7 +166,7 @@ doprnt (char *buffer, register int bufsize, const char *format,
166 abort (); 166 abort ();
167 sprintf (sprintf_buffer, fmtcpy, va_arg(ap, char *)); 167 sprintf (sprintf_buffer, fmtcpy, va_arg(ap, char *));
168 /* Now copy into final output, truncating as nec. */ 168 /* Now copy into final output, truncating as nec. */
169 string = (unsigned char *) sprintf_buffer; 169 string = sprintf_buffer;
170 goto doit; 170 goto doit;
171 171
172 case 'f': 172 case 'f':
@@ -176,7 +176,7 @@ doprnt (char *buffer, register int bufsize, const char *format,
176 double d = va_arg(ap, double); 176 double d = va_arg(ap, double);
177 sprintf (sprintf_buffer, fmtcpy, d); 177 sprintf (sprintf_buffer, fmtcpy, d);
178 /* Now copy into final output, truncating as nec. */ 178 /* Now copy into final output, truncating as nec. */
179 string = (unsigned char *) sprintf_buffer; 179 string = sprintf_buffer;
180 goto doit; 180 goto doit;
181 } 181 }
182 182
@@ -185,7 +185,7 @@ doprnt (char *buffer, register int bufsize, const char *format,
185 case 's': 185 case 's':
186 if (fmtcpy[1] != 's') 186 if (fmtcpy[1] != 's')
187 minlen = atoi (&fmtcpy[1]); 187 minlen = atoi (&fmtcpy[1]);
188 string = va_arg(ap, unsigned char *); 188 string = va_arg (ap, char *);
189 tem = strlen (string); 189 tem = strlen (string);
190 width = strwidth (string, tem); 190 width = strwidth (string, tem);
191 goto doit1; 191 goto doit1;
@@ -242,7 +242,7 @@ doprnt (char *buffer, register int bufsize, const char *format,
242 both are passed the same way, otherwise we'll need 242 both are passed the same way, otherwise we'll need
243 to rewrite callers. */ 243 to rewrite callers. */
244 EMACS_INT chr = va_arg(ap, EMACS_INT); 244 EMACS_INT chr = va_arg(ap, EMACS_INT);
245 tem = CHAR_STRING ((int) chr, charbuf); 245 tem = CHAR_STRING ((int) chr, (unsigned char *) charbuf);
246 string = charbuf; 246 string = charbuf;
247 string[tem] = 0; 247 string[tem] = 0;
248 width = strwidth (string, tem); 248 width = strwidth (string, tem);
@@ -277,4 +277,3 @@ doprnt (char *buffer, register int bufsize, const char *format,
277 *bufptr = 0; /* Make sure our string end with a '\0' */ 277 *bufptr = 0; /* Make sure our string end with a '\0' */
278 return bufptr - buffer; 278 return bufptr - buffer;
279} 279}
280
diff --git a/src/editfns.c b/src/editfns.c
index 7364a5bcf15..30acc36f025 100644
--- a/src/editfns.c
+++ b/src/editfns.c
@@ -92,9 +92,9 @@ static void find_field (Lisp_Object, Lisp_Object, Lisp_Object,
92 EMACS_INT *, Lisp_Object, EMACS_INT *); 92 EMACS_INT *, Lisp_Object, EMACS_INT *);
93static void update_buffer_properties (EMACS_INT, EMACS_INT); 93static void update_buffer_properties (EMACS_INT, EMACS_INT);
94static Lisp_Object region_limit (int); 94static Lisp_Object region_limit (int);
95static size_t emacs_memftimeu (char *, size_t, const char *, 95static size_t emacs_nmemftime (char *, size_t, const char *,
96 size_t, const struct tm *, int); 96 size_t, const struct tm *, int, int);
97static void general_insert_function (void (*) (const unsigned char *, EMACS_INT), 97static void general_insert_function (void (*) (const char *, EMACS_INT),
98 void (*) (Lisp_Object, EMACS_INT, 98 void (*) (Lisp_Object, EMACS_INT,
99 EMACS_INT, EMACS_INT, 99 EMACS_INT, EMACS_INT,
100 EMACS_INT, int), 100 EMACS_INT, int),
@@ -120,7 +120,7 @@ void
120init_editfns (void) 120init_editfns (void)
121{ 121{
122 char *user_name; 122 char *user_name;
123 register unsigned char *p; 123 register char *p;
124 struct passwd *pw; /* password entry for the current user */ 124 struct passwd *pw; /* password entry for the current user */
125 Lisp_Object tem; 125 Lisp_Object tem;
126 126
@@ -165,7 +165,7 @@ init_editfns (void)
165 Vuser_full_name = Fuser_full_name (NILP (tem)? make_number (geteuid()) 165 Vuser_full_name = Fuser_full_name (NILP (tem)? make_number (geteuid())
166 : Vuser_login_name); 166 : Vuser_login_name);
167 167
168 p = (unsigned char *) getenv ("NAME"); 168 p = getenv ("NAME");
169 if (p) 169 if (p)
170 Vuser_full_name = build_string (p); 170 Vuser_full_name = build_string (p);
171 else if (NILP (Vuser_full_name)) 171 else if (NILP (Vuser_full_name))
@@ -193,7 +193,7 @@ usage: (char-to-string CHAR) */)
193 CHECK_CHARACTER (character); 193 CHECK_CHARACTER (character);
194 194
195 len = CHAR_STRING (XFASTINT (character), str); 195 len = CHAR_STRING (XFASTINT (character), str);
196 return make_string_from_bytes (str, 1, len); 196 return make_string_from_bytes ((char *) str, 1, len);
197} 197}
198 198
199DEFUN ("byte-to-string", Fbyte_to_string, Sbyte_to_string, 1, 1, 0, 199DEFUN ("byte-to-string", Fbyte_to_string, Sbyte_to_string, 1, 1, 0,
@@ -205,7 +205,7 @@ DEFUN ("byte-to-string", Fbyte_to_string, Sbyte_to_string, 1, 1, 0,
205 if (XINT (byte) < 0 || XINT (byte) > 255) 205 if (XINT (byte) < 0 || XINT (byte) > 255)
206 error ("Invalid byte"); 206 error ("Invalid byte");
207 b = XINT (byte); 207 b = XINT (byte);
208 return make_string_from_bytes (&b, 1, 1); 208 return make_string_from_bytes ((char *) &b, 1, 1);
209} 209}
210 210
211DEFUN ("string-to-char", Fstring_to_char, Sstring_to_char, 1, 1, 0, 211DEFUN ("string-to-char", Fstring_to_char, Sstring_to_char, 1, 1, 0,
@@ -1329,7 +1329,7 @@ name, or nil if there is no such user. */)
1329 (Lisp_Object uid) 1329 (Lisp_Object uid)
1330{ 1330{
1331 struct passwd *pw; 1331 struct passwd *pw;
1332 register unsigned char *p, *q; 1332 register char *p, *q;
1333 Lisp_Object full; 1333 Lisp_Object full;
1334 1334
1335 if (NILP (uid)) 1335 if (NILP (uid))
@@ -1352,26 +1352,26 @@ name, or nil if there is no such user. */)
1352 if (!pw) 1352 if (!pw)
1353 return Qnil; 1353 return Qnil;
1354 1354
1355 p = (unsigned char *) USER_FULL_NAME; 1355 p = USER_FULL_NAME;
1356 /* Chop off everything after the first comma. */ 1356 /* Chop off everything after the first comma. */
1357 q = (unsigned char *) strchr (p, ','); 1357 q = strchr (p, ',');
1358 full = make_string (p, q ? q - p : strlen (p)); 1358 full = make_string (p, q ? q - p : strlen (p));
1359 1359
1360#ifdef AMPERSAND_FULL_NAME 1360#ifdef AMPERSAND_FULL_NAME
1361 p = SDATA (full); 1361 p = SSDATA (full);
1362 q = (unsigned char *) strchr (p, '&'); 1362 q = strchr (p, '&');
1363 /* Substitute the login name for the &, upcasing the first character. */ 1363 /* Substitute the login name for the &, upcasing the first character. */
1364 if (q) 1364 if (q)
1365 { 1365 {
1366 register unsigned char *r; 1366 register char *r;
1367 Lisp_Object login; 1367 Lisp_Object login;
1368 1368
1369 login = Fuser_login_name (make_number (pw->pw_uid)); 1369 login = Fuser_login_name (make_number (pw->pw_uid));
1370 r = (unsigned char *) alloca (strlen (p) + SCHARS (login) + 1); 1370 r = (char *) alloca (strlen (p) + SCHARS (login) + 1);
1371 memcpy (r, p, q - p); 1371 memcpy (r, p, q - p);
1372 r[q - p] = 0; 1372 r[q - p] = 0;
1373 strcat (r, SSDATA (login)); 1373 strcat (r, SSDATA (login));
1374 r[q - p] = UPCASE (r[q - p]); 1374 r[q - p] = UPCASE ((unsigned char) r[q - p]);
1375 strcat (r, q + 1); 1375 strcat (r, q + 1);
1376 full = build_string (r); 1376 full = build_string (r);
1377 } 1377 }
@@ -1549,6 +1549,7 @@ or (if you need time as a string) `format-time-string'. */)
1549/* Write information into buffer S of size MAXSIZE, according to the 1549/* Write information into buffer S of size MAXSIZE, according to the
1550 FORMAT of length FORMAT_LEN, using time information taken from *TP. 1550 FORMAT of length FORMAT_LEN, using time information taken from *TP.
1551 Default to Universal Time if UT is nonzero, local time otherwise. 1551 Default to Universal Time if UT is nonzero, local time otherwise.
1552 Use NS as the number of nanoseconds in the %N directive.
1552 Return the number of bytes written, not including the terminating 1553 Return the number of bytes written, not including the terminating
1553 '\0'. If S is NULL, nothing will be written anywhere; so to 1554 '\0'. If S is NULL, nothing will be written anywhere; so to
1554 determine how many bytes would be written, use NULL for S and 1555 determine how many bytes would be written, use NULL for S and
@@ -1557,7 +1558,8 @@ or (if you need time as a string) `format-time-string'. */)
1557 This function behaves like nstrftime, except it allows null 1558 This function behaves like nstrftime, except it allows null
1558 bytes in FORMAT and it does not support nanoseconds. */ 1559 bytes in FORMAT and it does not support nanoseconds. */
1559static size_t 1560static size_t
1560emacs_memftimeu (char *s, size_t maxsize, const char *format, size_t format_len, const struct tm *tp, int ut) 1561emacs_nmemftime (char *s, size_t maxsize, const char *format,
1562 size_t format_len, const struct tm *tp, int ut, int ns)
1561{ 1563{
1562 size_t total = 0; 1564 size_t total = 0;
1563 1565
@@ -1574,7 +1576,7 @@ emacs_memftimeu (char *s, size_t maxsize, const char *format, size_t format_len,
1574 if (s) 1576 if (s)
1575 s[0] = '\1'; 1577 s[0] = '\1';
1576 1578
1577 result = nstrftime (s, maxsize, format, tp, ut, 0); 1579 result = nstrftime (s, maxsize, format, tp, ut, ns);
1578 1580
1579 if (s) 1581 if (s)
1580 { 1582 {
@@ -1620,6 +1622,7 @@ by text that describes the specified date and time in TIME:
1620%p is the locale's equivalent of either AM or PM. 1622%p is the locale's equivalent of either AM or PM.
1621%M is the minute. 1623%M is the minute.
1622%S is the second. 1624%S is the second.
1625%N is the nanosecond, %6N the microsecond, %3N the millisecond, etc.
1623%Z is the time zone name, %z is the numeric form. 1626%Z is the time zone name, %z is the numeric form.
1624%s is the number of seconds since 1970-01-01 00:00:00 +0000. 1627%s is the number of seconds since 1970-01-01 00:00:00 +0000.
1625 1628
@@ -1649,13 +1652,17 @@ For example, to produce full ISO 8601 format, use "%Y-%m-%dT%T%z". */)
1649{ 1652{
1650 time_t value; 1653 time_t value;
1651 int size; 1654 int size;
1655 int usec;
1656 int ns;
1652 struct tm *tm; 1657 struct tm *tm;
1653 int ut = ! NILP (universal); 1658 int ut = ! NILP (universal);
1654 1659
1655 CHECK_STRING (format_string); 1660 CHECK_STRING (format_string);
1656 1661
1657 if (! lisp_time_argument (time, &value, NULL)) 1662 if (! (lisp_time_argument (time, &value, &usec)
1663 && 0 <= usec && usec < 1000000))
1658 error ("Invalid time specification"); 1664 error ("Invalid time specification");
1665 ns = usec * 1000;
1659 1666
1660 format_string = code_convert_string_norecord (format_string, 1667 format_string = code_convert_string_norecord (format_string,
1661 Vlocale_coding_system, 1); 1668 Vlocale_coding_system, 1);
@@ -1678,9 +1685,9 @@ For example, to produce full ISO 8601 format, use "%Y-%m-%dT%T%z". */)
1678 1685
1679 buf[0] = '\1'; 1686 buf[0] = '\1';
1680 BLOCK_INPUT; 1687 BLOCK_INPUT;
1681 result = emacs_memftimeu (buf, size, SSDATA (format_string), 1688 result = emacs_nmemftime (buf, size, SSDATA (format_string),
1682 SBYTES (format_string), 1689 SBYTES (format_string),
1683 tm, ut); 1690 tm, ut, ns);
1684 UNBLOCK_INPUT; 1691 UNBLOCK_INPUT;
1685 if ((result > 0 && result < size) || (result == 0 && buf[0] == '\0')) 1692 if ((result > 0 && result < size) || (result == 0 && buf[0] == '\0'))
1686 return code_convert_string_norecord (make_unibyte_string (buf, result), 1693 return code_convert_string_norecord (make_unibyte_string (buf, result),
@@ -1688,10 +1695,10 @@ For example, to produce full ISO 8601 format, use "%Y-%m-%dT%T%z". */)
1688 1695
1689 /* If buffer was too small, make it bigger and try again. */ 1696 /* If buffer was too small, make it bigger and try again. */
1690 BLOCK_INPUT; 1697 BLOCK_INPUT;
1691 result = emacs_memftimeu (NULL, (size_t) -1, 1698 result = emacs_nmemftime (NULL, (size_t) -1,
1692 SSDATA (format_string), 1699 SSDATA (format_string),
1693 SBYTES (format_string), 1700 SBYTES (format_string),
1694 tm, ut); 1701 tm, ut, ns);
1695 UNBLOCK_INPUT; 1702 UNBLOCK_INPUT;
1696 size = result + 1; 1703 size = result + 1;
1697 } 1704 }
@@ -2111,7 +2118,7 @@ set_time_zone_rule (const char *tzstring)
2111 2118
2112static void 2119static void
2113general_insert_function (void (*insert_func) 2120general_insert_function (void (*insert_func)
2114 (const unsigned char *, EMACS_INT), 2121 (const char *, EMACS_INT),
2115 void (*insert_from_string_func) 2122 void (*insert_from_string_func)
2116 (Lisp_Object, EMACS_INT, EMACS_INT, 2123 (Lisp_Object, EMACS_INT, EMACS_INT,
2117 EMACS_INT, EMACS_INT, int), 2124 EMACS_INT, EMACS_INT, int),
@@ -2137,7 +2144,7 @@ general_insert_function (void (*insert_func)
2137 : multibyte_char_to_unibyte (XINT (val), Qnil)); 2144 : multibyte_char_to_unibyte (XINT (val), Qnil));
2138 len = 1; 2145 len = 1;
2139 } 2146 }
2140 (*insert_func) (str, len); 2147 (*insert_func) ((char *) str, len);
2141 } 2148 }
2142 else if (STRINGP (val)) 2149 else if (STRINGP (val))
2143 { 2150 {
@@ -2250,7 +2257,7 @@ The optional third arg INHERIT, if non-nil, says to inherit text properties
2250from adjoining text, if those properties are sticky. */) 2257from adjoining text, if those properties are sticky. */)
2251 (Lisp_Object character, Lisp_Object count, Lisp_Object inherit) 2258 (Lisp_Object character, Lisp_Object count, Lisp_Object inherit)
2252{ 2259{
2253 register unsigned char *string; 2260 register char *string;
2254 register EMACS_INT strlen; 2261 register EMACS_INT strlen;
2255 register int i; 2262 register int i;
2256 register EMACS_INT n; 2263 register EMACS_INT n;
@@ -2270,7 +2277,7 @@ from adjoining text, if those properties are sticky. */)
2270 if (n <= 0) 2277 if (n <= 0)
2271 return Qnil; 2278 return Qnil;
2272 strlen = min (n, 256 * len); 2279 strlen = min (n, 256 * len);
2273 string = (unsigned char *) alloca (strlen); 2280 string = (char *) alloca (strlen);
2274 for (i = 0; i < strlen; i++) 2281 for (i = 0; i < strlen; i++)
2275 string[i] = str[i % len]; 2282 string[i] = str[i % len];
2276 while (n >= strlen) 2283 while (n >= strlen)
@@ -2821,7 +2828,7 @@ Both characters must have the same length of multi-byte form. */)
2821 GCPRO1 (tem); 2828 GCPRO1 (tem);
2822 2829
2823 /* Make a multibyte string containing this single character. */ 2830 /* Make a multibyte string containing this single character. */
2824 string = make_multibyte_string (tostr, 1, len); 2831 string = make_multibyte_string ((char *) tostr, 1, len);
2825 /* replace_range is less efficient, because it moves the gap, 2832 /* replace_range is less efficient, because it moves the gap,
2826 but it handles combining correctly. */ 2833 but it handles combining correctly. */
2827 replace_range (pos, pos + 1, string, 2834 replace_range (pos, pos + 1, string,
@@ -3035,7 +3042,7 @@ It returns the number of characters changed. */)
3035 3042
3036 /* This is less efficient, because it moves the gap, 3043 /* This is less efficient, because it moves the gap,
3037 but it should handle multibyte characters correctly. */ 3044 but it should handle multibyte characters correctly. */
3038 string = make_multibyte_string (str, 1, str_len); 3045 string = make_multibyte_string ((char *) str, 1, str_len);
3039 replace_range (pos, pos + 1, string, 1, 0, 1); 3046 replace_range (pos, pos + 1, string, 1, 0, 1);
3040 len = str_len; 3047 len = str_len;
3041 } 3048 }
@@ -3249,6 +3256,9 @@ save_restriction_restore (Lisp_Object data)
3249 } 3256 }
3250 } 3257 }
3251 3258
3259 /* Changing the buffer bounds invalidates any recorded current column. */
3260 invalidate_current_column ();
3261
3252 if (cur) 3262 if (cur)
3253 set_buffer_internal (cur); 3263 set_buffer_internal (cur);
3254 3264
@@ -3501,7 +3511,7 @@ usage: (format STRING &rest OBJECTS) */)
3501 register int n; /* The number of the next arg to substitute */ 3511 register int n; /* The number of the next arg to substitute */
3502 register EMACS_INT total; /* An estimate of the final length */ 3512 register EMACS_INT total; /* An estimate of the final length */
3503 char *buf, *p; 3513 char *buf, *p;
3504 register unsigned char *format, *end, *format_start; 3514 register char *format, *end, *format_start;
3505 int nchars; 3515 int nchars;
3506 /* Nonzero if the output should be a multibyte string, 3516 /* Nonzero if the output should be a multibyte string,
3507 which is true if any of the inputs is one. */ 3517 which is true if any of the inputs is one. */
@@ -3511,7 +3521,7 @@ usage: (format STRING &rest OBJECTS) */)
3511 multibyte character of the previous string. This flag tells if we 3521 multibyte character of the previous string. This flag tells if we
3512 must consider such a situation or not. */ 3522 must consider such a situation or not. */
3513 int maybe_combine_byte; 3523 int maybe_combine_byte;
3514 unsigned char *this_format; 3524 char *this_format;
3515 /* Precision for each spec, or -1, a flag value meaning no precision 3525 /* Precision for each spec, or -1, a flag value meaning no precision
3516 was given in that spec. Element 0, corresonding to the format 3526 was given in that spec. Element 0, corresonding to the format
3517 string itself, will not be used. Element NARGS, corresponding to 3527 string itself, will not be used. Element NARGS, corresponding to
@@ -3565,7 +3575,7 @@ usage: (format STRING &rest OBJECTS) */)
3565 That can only happen from the first large while loop below. */ 3575 That can only happen from the first large while loop below. */
3566 retry: 3576 retry:
3567 3577
3568 format = SDATA (args[0]); 3578 format = SSDATA (args[0]);
3569 format_start = format; 3579 format_start = format;
3570 end = format + SBYTES (args[0]); 3580 end = format + SBYTES (args[0]);
3571 longest_format = 0; 3581 longest_format = 0;
@@ -3595,7 +3605,7 @@ usage: (format STRING &rest OBJECTS) */)
3595 { 3605 {
3596 EMACS_INT thissize = 0; 3606 EMACS_INT thissize = 0;
3597 EMACS_INT actual_width = 0; 3607 EMACS_INT actual_width = 0;
3598 unsigned char *this_format_start = format - 1; 3608 char *this_format_start = format - 1;
3599 int field_width = 0; 3609 int field_width = 0;
3600 3610
3601 /* General format specifications look like 3611 /* General format specifications look like
@@ -3775,7 +3785,7 @@ usage: (format STRING &rest OBJECTS) */)
3775 /* Now we can no longer jump to retry. 3785 /* Now we can no longer jump to retry.
3776 TOTAL and LONGEST_FORMAT are known for certain. */ 3786 TOTAL and LONGEST_FORMAT are known for certain. */
3777 3787
3778 this_format = (unsigned char *) alloca (longest_format + 1); 3788 this_format = (char *) alloca (longest_format + 1);
3779 3789
3780 /* Allocate the space for the result. 3790 /* Allocate the space for the result.
3781 Note that TOTAL is an overestimate. */ 3791 Note that TOTAL is an overestimate. */
@@ -3786,7 +3796,7 @@ usage: (format STRING &rest OBJECTS) */)
3786 n = 0; 3796 n = 0;
3787 3797
3788 /* Scan the format and store result in BUF. */ 3798 /* Scan the format and store result in BUF. */
3789 format = SDATA (args[0]); 3799 format = SSDATA (args[0]);
3790 format_start = format; 3800 format_start = format;
3791 end = format + SBYTES (args[0]); 3801 end = format + SBYTES (args[0]);
3792 maybe_combine_byte = 0; 3802 maybe_combine_byte = 0;
@@ -3796,7 +3806,7 @@ usage: (format STRING &rest OBJECTS) */)
3796 { 3806 {
3797 int minlen; 3807 int minlen;
3798 int negative = 0; 3808 int negative = 0;
3799 unsigned char *this_format_start = format; 3809 char *this_format_start = format;
3800 3810
3801 discarded[format - format_start] = 1; 3811 discarded[format - format_start] = 1;
3802 format++; 3812 format++;
@@ -3877,7 +3887,7 @@ usage: (format STRING &rest OBJECTS) */)
3877 && !CHAR_HEAD_P (SREF (args[n], 0))) 3887 && !CHAR_HEAD_P (SREF (args[n], 0)))
3878 maybe_combine_byte = 1; 3888 maybe_combine_byte = 1;
3879 3889
3880 p += copy_text (SDATA (args[n]), p, 3890 p += copy_text (SDATA (args[n]), (unsigned char *) p,
3881 nbytes, 3891 nbytes,
3882 STRING_MULTIBYTE (args[n]), multibyte); 3892 STRING_MULTIBYTE (args[n]), multibyte);
3883 3893
@@ -3945,7 +3955,8 @@ usage: (format STRING &rest OBJECTS) */)
3945 maybe_combine_byte = 1; 3955 maybe_combine_byte = 1;
3946 this_nchars = strlen (p); 3956 this_nchars = strlen (p);
3947 if (multibyte) 3957 if (multibyte)
3948 p += str_to_multibyte (p, buf + total - 1 - p, this_nchars); 3958 p += str_to_multibyte ((unsigned char *) p,
3959 buf + total - 1 - p, this_nchars);
3949 else 3960 else
3950 p += this_nchars; 3961 p += this_nchars;
3951 nchars += this_nchars; 3962 nchars += this_nchars;
@@ -3972,7 +3983,8 @@ usage: (format STRING &rest OBJECTS) */)
3972 else if (multibyte) 3983 else if (multibyte)
3973 { 3984 {
3974 /* Convert a single-byte character to multibyte. */ 3985 /* Convert a single-byte character to multibyte. */
3975 int len = copy_text (format, p, 1, 0, 1); 3986 int len = copy_text ((unsigned char *) format, (unsigned char *) p,
3987 1, 0, 1);
3976 3988
3977 p += len; 3989 p += len;
3978 format++; 3990 format++;
@@ -3986,7 +3998,7 @@ usage: (format STRING &rest OBJECTS) */)
3986 abort (); 3998 abort ();
3987 3999
3988 if (maybe_combine_byte) 4000 if (maybe_combine_byte)
3989 nchars = multibyte_chars_in_text (buf, p - buf); 4001 nchars = multibyte_chars_in_text ((unsigned char *) buf, p - buf);
3990 val = make_specified_string (buf, nchars, p - buf, multibyte); 4002 val = make_specified_string (buf, nchars, p - buf, multibyte);
3991 4003
3992 /* If we allocated BUF with malloc, free it too. */ 4004 /* If we allocated BUF with malloc, free it too. */
diff --git a/src/emacs.c b/src/emacs.c
index 53786b0adae..4455e6b4d9f 100644
--- a/src/emacs.c
+++ b/src/emacs.c
@@ -1296,6 +1296,8 @@ main (int argc, char **argv)
1296#ifdef NS_IMPL_COCOA 1296#ifdef NS_IMPL_COCOA
1297 if (skip_args < argc) 1297 if (skip_args < argc)
1298 { 1298 {
1299 /* FIXME: Do the right thing if getenv returns NULL, or if
1300 chdir fails. */
1299 if (!strncmp(argv[skip_args], "-psn", 4)) 1301 if (!strncmp(argv[skip_args], "-psn", 4))
1300 { 1302 {
1301 skip_args += 1; 1303 skip_args += 1;
diff --git a/src/eval.c b/src/eval.c
index e8b4ae1aba9..9adfc983ced 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -136,7 +136,7 @@ init_eval_once (void)
136 specpdl = (struct specbinding *) xmalloc (specpdl_size * sizeof (struct specbinding)); 136 specpdl = (struct specbinding *) xmalloc (specpdl_size * sizeof (struct specbinding));
137 specpdl_ptr = specpdl; 137 specpdl_ptr = specpdl;
138 /* Don't forget to update docs (lispref node "Local Variables"). */ 138 /* Don't forget to update docs (lispref node "Local Variables"). */
139 max_specpdl_size = 1200; /* 1000 is not enough for CEDET's c-by.el. */ 139 max_specpdl_size = 1300; /* 1000 is not enough for CEDET's c-by.el. */
140 max_lisp_eval_depth = 600; 140 max_lisp_eval_depth = 600;
141 141
142 Vrun_hooks = Qnil; 142 Vrun_hooks = Qnil;
@@ -3845,8 +3845,8 @@ The value the function returns is not used. */);
3845 staticpro (&Qinternal_interpreter_environment); 3845 staticpro (&Qinternal_interpreter_environment);
3846#if 0 /* Don't export this variable to Elisp, so noone can mess with it 3846#if 0 /* Don't export this variable to Elisp, so noone can mess with it
3847 (Just imagine if someone makes it buffer-local). */ 3847 (Just imagine if someone makes it buffer-local). */
3848 DEFVAR_LISP ("internal-interpreter-environment", 3848 DEFVAR__LISP ("internal-interpreter-environment",
3849 &Vinternal_interpreter_environment, 3849 Vinternal_interpreter_environment,
3850 doc: /* If non-nil, the current lexical environment of the lisp interpreter. 3850 doc: /* If non-nil, the current lexical environment of the lisp interpreter.
3851When lexical binding is not being used, this variable is nil. 3851When lexical binding is not being used, this variable is nil.
3852A value of `(t)' indicates an empty environment, otherwise it is an 3852A value of `(t)' indicates an empty environment, otherwise it is an
diff --git a/src/fileio.c b/src/fileio.c
index 3c61ee57bf2..429fce9f5a0 100644
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -79,12 +79,12 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
79#define IS_DRIVE(x) ((x) >= 'A' && (x) <= 'z') 79#define IS_DRIVE(x) ((x) >= 'A' && (x) <= 'z')
80#endif 80#endif
81#ifdef WINDOWSNT 81#ifdef WINDOWSNT
82#define IS_DRIVE(x) isalpha (x) 82#define IS_DRIVE(x) isalpha ((unsigned char) (x))
83#endif 83#endif
84/* Need to lower-case the drive letter, or else expanded 84/* Need to lower-case the drive letter, or else expanded
85 filenames will sometimes compare inequal, because 85 filenames will sometimes compare inequal, because
86 `expand-file-name' doesn't always down-case the drive letter. */ 86 `expand-file-name' doesn't always down-case the drive letter. */
87#define DRIVE_LETTER(x) (tolower (x)) 87#define DRIVE_LETTER(x) (tolower ((unsigned char) (x)))
88#endif 88#endif
89 89
90#include "systime.h" 90#include "systime.h"
@@ -193,7 +193,7 @@ report_file_error (const char *string, Lisp_Object data)
193 int c; 193 int c;
194 194
195 str = SSDATA (errstring); 195 str = SSDATA (errstring);
196 c = STRING_CHAR (str); 196 c = STRING_CHAR ((unsigned char *) str);
197 Faset (errstring, make_number (0), make_number (DOWNCASE (c))); 197 Faset (errstring, make_number (0), make_number (DOWNCASE (c)));
198 } 198 }
199 199
@@ -324,11 +324,11 @@ Given a Unix syntax file name, returns a string ending in slash. */)
324 (Lisp_Object filename) 324 (Lisp_Object filename)
325{ 325{
326#ifndef DOS_NT 326#ifndef DOS_NT
327 register const unsigned char *beg; 327 register const char *beg;
328#else 328#else
329 register unsigned char *beg; 329 register char *beg;
330#endif 330#endif
331 register const unsigned char *p; 331 register const char *p;
332 Lisp_Object handler; 332 Lisp_Object handler;
333 333
334 CHECK_STRING (filename); 334 CHECK_STRING (filename);
@@ -341,10 +341,10 @@ Given a Unix syntax file name, returns a string ending in slash. */)
341 341
342 filename = FILE_SYSTEM_CASE (filename); 342 filename = FILE_SYSTEM_CASE (filename);
343#ifdef DOS_NT 343#ifdef DOS_NT
344 beg = (unsigned char *) alloca (SBYTES (filename) + 1); 344 beg = (char *) alloca (SBYTES (filename) + 1);
345 memcpy (beg, SDATA (filename), SBYTES (filename) + 1); 345 memcpy (beg, SSDATA (filename), SBYTES (filename) + 1);
346#else 346#else
347 beg = SDATA (filename); 347 beg = SSDATA (filename);
348#endif 348#endif
349 p = beg + SBYTES (filename); 349 p = beg + SBYTES (filename);
350 350
@@ -365,8 +365,8 @@ Given a Unix syntax file name, returns a string ending in slash. */)
365 if (p[-1] == ':') 365 if (p[-1] == ':')
366 { 366 {
367 /* MAXPATHLEN+1 is guaranteed to be enough space for getdefdir. */ 367 /* MAXPATHLEN+1 is guaranteed to be enough space for getdefdir. */
368 unsigned char *res = alloca (MAXPATHLEN + 1); 368 char *res = alloca (MAXPATHLEN + 1);
369 unsigned char *r = res; 369 char *r = res;
370 370
371 if (p == beg + 4 && IS_DIRECTORY_SEP (*beg) && beg[1] == ':') 371 if (p == beg + 4 && IS_DIRECTORY_SEP (*beg) && beg[1] == ':')
372 { 372 {
@@ -375,7 +375,7 @@ Given a Unix syntax file name, returns a string ending in slash. */)
375 r += 2; 375 r += 2;
376 } 376 }
377 377
378 if (getdefdir (toupper (*beg) - 'A' + 1, r)) 378 if (getdefdir (toupper ((unsigned char) *beg) - 'A' + 1, r))
379 { 379 {
380 if (!IS_DIRECTORY_SEP (res[strlen (res) - 1])) 380 if (!IS_DIRECTORY_SEP (res[strlen (res) - 1]))
381 strcat (res, "/"); 381 strcat (res, "/");
@@ -397,7 +397,7 @@ this is everything after the last slash,
397or the entire name if it contains no slash. */) 397or the entire name if it contains no slash. */)
398 (Lisp_Object filename) 398 (Lisp_Object filename)
399{ 399{
400 register const unsigned char *beg, *p, *end; 400 register const char *beg, *p, *end;
401 Lisp_Object handler; 401 Lisp_Object handler;
402 402
403 CHECK_STRING (filename); 403 CHECK_STRING (filename);
@@ -408,7 +408,7 @@ or the entire name if it contains no slash. */)
408 if (!NILP (handler)) 408 if (!NILP (handler))
409 return call2 (handler, Qfile_name_nondirectory, filename); 409 return call2 (handler, Qfile_name_nondirectory, filename);
410 410
411 beg = SDATA (filename); 411 beg = SSDATA (filename);
412 end = p = beg + SBYTES (filename); 412 end = p = beg + SBYTES (filename);
413 413
414 while (p != beg && !IS_DIRECTORY_SEP (p[-1]) 414 while (p != beg && !IS_DIRECTORY_SEP (p[-1])
@@ -600,7 +600,7 @@ make_temp_name (Lisp_Object prefix, int base64_p)
600 Lisp_Object val; 600 Lisp_Object val;
601 int len, clen; 601 int len, clen;
602 int pid; 602 int pid;
603 unsigned char *p, *data; 603 char *p, *data;
604 char pidbuf[20]; 604 char pidbuf[20];
605 int pidlen; 605 int pidlen;
606 606
@@ -637,8 +637,8 @@ make_temp_name (Lisp_Object prefix, int base64_p)
637 val = make_uninit_multibyte_string (clen + 3 + pidlen, len + 3 + pidlen); 637 val = make_uninit_multibyte_string (clen + 3 + pidlen, len + 3 + pidlen);
638 if (!STRING_MULTIBYTE (prefix)) 638 if (!STRING_MULTIBYTE (prefix))
639 STRING_SET_UNIBYTE (val); 639 STRING_SET_UNIBYTE (val);
640 data = SDATA (val); 640 data = SSDATA (val);
641 memcpy (data, SDATA (prefix), len); 641 memcpy (data, SSDATA (prefix), len);
642 p = data + len; 642 p = data + len;
643 643
644 memcpy (p, pidbuf, pidlen); 644 memcpy (p, pidbuf, pidlen);
@@ -744,9 +744,9 @@ filesystem tree, not (expand-file-name ".." dirname). */)
744{ 744{
745 /* These point to SDATA and need to be careful with string-relocation 745 /* These point to SDATA and need to be careful with string-relocation
746 during GC (via DECODE_FILE). */ 746 during GC (via DECODE_FILE). */
747 unsigned char *nm, *newdir; 747 char *nm, *newdir;
748 /* This should only point to alloca'd data. */ 748 /* This should only point to alloca'd data. */
749 unsigned char *target; 749 char *target;
750 750
751 int tlen; 751 int tlen;
752 struct passwd *pw; 752 struct passwd *pw;
@@ -796,7 +796,7 @@ filesystem tree, not (expand-file-name ".." dirname). */)
796 } 796 }
797 797
798 { 798 {
799 unsigned char *o = SDATA (default_directory); 799 char *o = SSDATA (default_directory);
800 800
801 /* Make sure DEFAULT_DIRECTORY is properly expanded. 801 /* Make sure DEFAULT_DIRECTORY is properly expanded.
802 It would be better to do this down below where we actually use 802 It would be better to do this down below where we actually use
@@ -848,8 +848,8 @@ filesystem tree, not (expand-file-name ".." dirname). */)
848 } 848 }
849 849
850 /* Make a local copy of nm[] to protect it from GC in DECODE_FILE below. */ 850 /* Make a local copy of nm[] to protect it from GC in DECODE_FILE below. */
851 nm = (unsigned char *) alloca (SBYTES (name) + 1); 851 nm = (char *) alloca (SBYTES (name) + 1);
852 memcpy (nm, SDATA (name), SBYTES (name) + 1); 852 memcpy (nm, SSDATA (name), SBYTES (name) + 1);
853 853
854#ifdef DOS_NT 854#ifdef DOS_NT
855 /* Note if special escape prefix is present, but remove for now. */ 855 /* Note if special escape prefix is present, but remove for now. */
@@ -864,7 +864,7 @@ filesystem tree, not (expand-file-name ".." dirname). */)
864 drive specifier at the beginning. */ 864 drive specifier at the beginning. */
865 if (IS_DRIVE (nm[0]) && IS_DEVICE_SEP (nm[1])) 865 if (IS_DRIVE (nm[0]) && IS_DEVICE_SEP (nm[1]))
866 { 866 {
867 drive = nm[0]; 867 drive = (unsigned char) nm[0];
868 nm += 2; 868 nm += 2;
869 } 869 }
870 870
@@ -903,7 +903,7 @@ filesystem tree, not (expand-file-name ".." dirname). */)
903 non-zero value, that means we've discovered that we can't do 903 non-zero value, that means we've discovered that we can't do
904 that cool trick. */ 904 that cool trick. */
905 int lose = 0; 905 int lose = 0;
906 unsigned char *p = nm; 906 char *p = nm;
907 907
908 while (*p) 908 while (*p)
909 { 909 {
@@ -941,7 +941,7 @@ filesystem tree, not (expand-file-name ".." dirname). */)
941 else 941 else
942#endif 942#endif
943 /* drive must be set, so this is okay */ 943 /* drive must be set, so this is okay */
944 if (strcmp (nm - 2, SDATA (name)) != 0) 944 if (strcmp (nm - 2, SSDATA (name)) != 0)
945 { 945 {
946 char temp[] = " :"; 946 char temp[] = " :";
947 947
@@ -983,8 +983,8 @@ filesystem tree, not (expand-file-name ".." dirname). */)
983 { 983 {
984 Lisp_Object tem; 984 Lisp_Object tem;
985 985
986 if (!(newdir = (unsigned char *) egetenv ("HOME"))) 986 if (!(newdir = egetenv ("HOME")))
987 newdir = (unsigned char *) ""; 987 newdir = "";
988 nm++; 988 nm++;
989 /* egetenv may return a unibyte string, which will bite us since 989 /* egetenv may return a unibyte string, which will bite us since
990 we expect the directory to be multibyte. */ 990 we expect the directory to be multibyte. */
@@ -992,7 +992,7 @@ filesystem tree, not (expand-file-name ".." dirname). */)
992 if (!STRING_MULTIBYTE (tem)) 992 if (!STRING_MULTIBYTE (tem))
993 { 993 {
994 hdir = DECODE_FILE (tem); 994 hdir = DECODE_FILE (tem);
995 newdir = SDATA (hdir); 995 newdir = SSDATA (hdir);
996 } 996 }
997#ifdef DOS_NT 997#ifdef DOS_NT
998 collapse_newdir = 0; 998 collapse_newdir = 0;
@@ -1000,7 +1000,7 @@ filesystem tree, not (expand-file-name ".." dirname). */)
1000 } 1000 }
1001 else /* ~user/filename */ 1001 else /* ~user/filename */
1002 { 1002 {
1003 unsigned char *o, *p; 1003 char *o, *p;
1004 for (p = nm; *p && (!IS_DIRECTORY_SEP (*p)); p++); 1004 for (p = nm; *p && (!IS_DIRECTORY_SEP (*p)); p++);
1005 o = alloca (p - nm + 1); 1005 o = alloca (p - nm + 1);
1006 memcpy (o, nm, p - nm); 1006 memcpy (o, nm, p - nm);
@@ -1011,7 +1011,7 @@ filesystem tree, not (expand-file-name ".." dirname). */)
1011 UNBLOCK_INPUT; 1011 UNBLOCK_INPUT;
1012 if (pw) 1012 if (pw)
1013 { 1013 {
1014 newdir = (unsigned char *) pw -> pw_dir; 1014 newdir = pw->pw_dir;
1015 nm = p; 1015 nm = p;
1016#ifdef DOS_NT 1016#ifdef DOS_NT
1017 collapse_newdir = 0; 1017 collapse_newdir = 0;
@@ -1060,7 +1060,7 @@ filesystem tree, not (expand-file-name ".." dirname). */)
1060#endif 1060#endif
1061 && !newdir) 1061 && !newdir)
1062 { 1062 {
1063 newdir = SDATA (default_directory); 1063 newdir = SSDATA (default_directory);
1064#ifdef DOS_NT 1064#ifdef DOS_NT
1065 /* Note if special escape prefix is present, but remove for now. */ 1065 /* Note if special escape prefix is present, but remove for now. */
1066 if (newdir[0] == '/' && newdir[1] == ':') 1066 if (newdir[0] == '/' && newdir[1] == ':')
@@ -1093,7 +1093,7 @@ filesystem tree, not (expand-file-name ".." dirname). */)
1093 1093
1094 if (IS_DRIVE (newdir[0]) && IS_DEVICE_SEP (newdir[1])) 1094 if (IS_DRIVE (newdir[0]) && IS_DEVICE_SEP (newdir[1]))
1095 { 1095 {
1096 drive = newdir[0]; 1096 drive = (unsigned char) newdir[0];
1097 newdir += 2; 1097 newdir += 2;
1098 } 1098 }
1099 if (!IS_DIRECTORY_SEP (nm[0])) 1099 if (!IS_DIRECTORY_SEP (nm[0]))
@@ -1127,7 +1127,7 @@ filesystem tree, not (expand-file-name ".." dirname). */)
1127#ifdef WINDOWSNT 1127#ifdef WINDOWSNT
1128 if (IS_DIRECTORY_SEP (newdir[0]) && IS_DIRECTORY_SEP (newdir[1])) 1128 if (IS_DIRECTORY_SEP (newdir[0]) && IS_DIRECTORY_SEP (newdir[1]))
1129 { 1129 {
1130 unsigned char *p; 1130 char *p;
1131 newdir = strcpy (alloca (strlen (newdir) + 1), newdir); 1131 newdir = strcpy (alloca (strlen (newdir) + 1), newdir);
1132 p = newdir + 2; 1132 p = newdir + 2;
1133 while (*p && !IS_DIRECTORY_SEP (*p)) p++; 1133 while (*p && !IS_DIRECTORY_SEP (*p)) p++;
@@ -1153,7 +1153,7 @@ filesystem tree, not (expand-file-name ".." dirname). */)
1153#endif 1153#endif
1154 ) 1154 )
1155 { 1155 {
1156 unsigned char *temp = (unsigned char *) alloca (length); 1156 char *temp = (char *) alloca (length);
1157 memcpy (temp, newdir, length - 1); 1157 memcpy (temp, newdir, length - 1);
1158 temp[length - 1] = 0; 1158 temp[length - 1] = 0;
1159 newdir = temp; 1159 newdir = temp;
@@ -1169,10 +1169,10 @@ filesystem tree, not (expand-file-name ".." dirname). */)
1169 /* Reserve space for drive specifier and escape prefix, since either 1169 /* Reserve space for drive specifier and escape prefix, since either
1170 or both may need to be inserted. (The Microsoft x86 compiler 1170 or both may need to be inserted. (The Microsoft x86 compiler
1171 produces incorrect code if the following two lines are combined.) */ 1171 produces incorrect code if the following two lines are combined.) */
1172 target = (unsigned char *) alloca (tlen + 4); 1172 target = (char *) alloca (tlen + 4);
1173 target += 4; 1173 target += 4;
1174#else /* not DOS_NT */ 1174#else /* not DOS_NT */
1175 target = (unsigned char *) alloca (tlen); 1175 target = (char *) alloca (tlen);
1176#endif /* not DOS_NT */ 1176#endif /* not DOS_NT */
1177 *target = 0; 1177 *target = 0;
1178 1178
@@ -1200,8 +1200,8 @@ filesystem tree, not (expand-file-name ".." dirname). */)
1200 /* Now canonicalize by removing `//', `/.' and `/foo/..' if they 1200 /* Now canonicalize by removing `//', `/.' and `/foo/..' if they
1201 appear. */ 1201 appear. */
1202 { 1202 {
1203 unsigned char *p = target; 1203 char *p = target;
1204 unsigned char *o = target; 1204 char *o = target;
1205 1205
1206 while (*p) 1206 while (*p)
1207 { 1207 {
@@ -1233,7 +1233,7 @@ filesystem tree, not (expand-file-name ".." dirname). */)
1233 && (IS_DIRECTORY_SEP (p[3]) || p[3] == 0)) 1233 && (IS_DIRECTORY_SEP (p[3]) || p[3] == 0))
1234 { 1234 {
1235#ifdef WINDOWSNT 1235#ifdef WINDOWSNT
1236 unsigned char *prev_o = o; 1236 char *prev_o = o;
1237#endif 1237#endif
1238 while (o != target && (--o) && !IS_DIRECTORY_SEP (*o)) 1238 while (o != target && (--o) && !IS_DIRECTORY_SEP (*o))
1239 ; 1239 ;
@@ -1460,7 +1460,7 @@ See also the function `substitute-in-file-name'.")
1460 1460
1461/* If /~ or // appears, discard everything through first slash. */ 1461/* If /~ or // appears, discard everything through first slash. */
1462static int 1462static int
1463file_name_absolute_p (const unsigned char *filename) 1463file_name_absolute_p (const char *filename)
1464{ 1464{
1465 return 1465 return
1466 (IS_DIRECTORY_SEP (*filename) || *filename == '~' 1466 (IS_DIRECTORY_SEP (*filename) || *filename == '~'
@@ -1471,10 +1471,10 @@ file_name_absolute_p (const unsigned char *filename)
1471 ); 1471 );
1472} 1472}
1473 1473
1474static unsigned char * 1474static char *
1475search_embedded_absfilename (unsigned char *nm, unsigned char *endp) 1475search_embedded_absfilename (char *nm, char *endp)
1476{ 1476{
1477 unsigned char *p, *s; 1477 char *p, *s;
1478 1478
1479 for (p = nm + 1; p < endp; p++) 1479 for (p = nm + 1; p < endp; p++)
1480 { 1480 {
@@ -1491,7 +1491,7 @@ search_embedded_absfilename (unsigned char *nm, unsigned char *endp)
1491 for (s = p; *s && (!IS_DIRECTORY_SEP (*s)); s++); 1491 for (s = p; *s && (!IS_DIRECTORY_SEP (*s)); s++);
1492 if (p[0] == '~' && s > p + 1) /* we've got "/~something/" */ 1492 if (p[0] == '~' && s > p + 1) /* we've got "/~something/" */
1493 { 1493 {
1494 unsigned char *o = alloca (s - p + 1); 1494 char *o = alloca (s - p + 1);
1495 struct passwd *pw; 1495 struct passwd *pw;
1496 memcpy (o, p, s - p); 1496 memcpy (o, p, s - p);
1497 o [s - p] = 0; 1497 o [s - p] = 0;
@@ -1525,14 +1525,14 @@ If `//' appears, everything up to and including the first of
1525those `/' is discarded. */) 1525those `/' is discarded. */)
1526 (Lisp_Object filename) 1526 (Lisp_Object filename)
1527{ 1527{
1528 unsigned char *nm; 1528 char *nm;
1529 1529
1530 register unsigned char *s, *p, *o, *x, *endp; 1530 register char *s, *p, *o, *x, *endp;
1531 unsigned char *target = NULL; 1531 char *target = NULL;
1532 int total = 0; 1532 int total = 0;
1533 int substituted = 0; 1533 int substituted = 0;
1534 int multibyte; 1534 int multibyte;
1535 unsigned char *xnm; 1535 char *xnm;
1536 Lisp_Object handler; 1536 Lisp_Object handler;
1537 1537
1538 CHECK_STRING (filename); 1538 CHECK_STRING (filename);
@@ -1548,7 +1548,7 @@ those `/' is discarded. */)
1548 /* Always work on a copy of the string, in case GC happens during 1548 /* Always work on a copy of the string, in case GC happens during
1549 decode of environment variables, causing the original Lisp_String 1549 decode of environment variables, causing the original Lisp_String
1550 data to be relocated. */ 1550 data to be relocated. */
1551 nm = (unsigned char *) alloca (SBYTES (filename) + 1); 1551 nm = (char *) alloca (SBYTES (filename) + 1);
1552 memcpy (nm, SDATA (filename), SBYTES (filename) + 1); 1552 memcpy (nm, SDATA (filename), SBYTES (filename) + 1);
1553 1553
1554#ifdef DOS_NT 1554#ifdef DOS_NT
@@ -1600,7 +1600,7 @@ those `/' is discarded. */)
1600 } 1600 }
1601 1601
1602 /* Copy out the variable name */ 1602 /* Copy out the variable name */
1603 target = (unsigned char *) alloca (s - o + 1); 1603 target = (char *) alloca (s - o + 1);
1604 strncpy (target, o, s - o); 1604 strncpy (target, o, s - o);
1605 target[s - o] = 0; 1605 target[s - o] = 0;
1606#ifdef DOS_NT 1606#ifdef DOS_NT
@@ -1608,7 +1608,7 @@ those `/' is discarded. */)
1608#endif /* DOS_NT */ 1608#endif /* DOS_NT */
1609 1609
1610 /* Get variable value */ 1610 /* Get variable value */
1611 o = (unsigned char *) egetenv (target); 1611 o = egetenv (target);
1612 if (o) 1612 if (o)
1613 { 1613 {
1614 /* Don't try to guess a maximum length - UTF8 can use up to 1614 /* Don't try to guess a maximum length - UTF8 can use up to
@@ -1631,7 +1631,7 @@ those `/' is discarded. */)
1631 1631
1632 /* If substitution required, recopy the string and do it */ 1632 /* If substitution required, recopy the string and do it */
1633 /* Make space in stack frame for the new copy */ 1633 /* Make space in stack frame for the new copy */
1634 xnm = (unsigned char *) alloca (SBYTES (filename) + total + 1); 1634 xnm = (char *) alloca (SBYTES (filename) + total + 1);
1635 x = xnm; 1635 x = xnm;
1636 1636
1637 /* Copy the rest of the name through, replacing $ constructs with values */ 1637 /* Copy the rest of the name through, replacing $ constructs with values */
@@ -1663,7 +1663,7 @@ those `/' is discarded. */)
1663 } 1663 }
1664 1664
1665 /* Copy out the variable name */ 1665 /* Copy out the variable name */
1666 target = (unsigned char *) alloca (s - o + 1); 1666 target = (char *) alloca (s - o + 1);
1667 strncpy (target, o, s - o); 1667 strncpy (target, o, s - o);
1668 target[s - o] = 0; 1668 target[s - o] = 0;
1669#ifdef DOS_NT 1669#ifdef DOS_NT
@@ -1671,7 +1671,7 @@ those `/' is discarded. */)
1671#endif /* DOS_NT */ 1671#endif /* DOS_NT */
1672 1672
1673 /* Get variable value */ 1673 /* Get variable value */
1674 o = (unsigned char *) egetenv (target); 1674 o = egetenv (target);
1675 if (!o) 1675 if (!o)
1676 { 1676 {
1677 *x++ = '$'; 1677 *x++ = '$';
@@ -1751,7 +1751,8 @@ expand_and_dir_to_file (Lisp_Object filename, Lisp_Object defdir)
1751 If QUICK is nonzero, we ask for y or n, not yes or no. */ 1751 If QUICK is nonzero, we ask for y or n, not yes or no. */
1752 1752
1753void 1753void
1754barf_or_query_if_file_exists (Lisp_Object absname, const unsigned char *querystring, int interactive, struct stat *statptr, int quick) 1754barf_or_query_if_file_exists (Lisp_Object absname, const char *querystring,
1755 int interactive, struct stat *statptr, int quick)
1755{ 1756{
1756 register Lisp_Object tem, encoded_filename; 1757 register Lisp_Object tem, encoded_filename;
1757 struct stat statbuf; 1758 struct stat statbuf;
@@ -2027,7 +2028,7 @@ DEFUN ("make-directory-internal", Fmake_directory_internal,
2027 doc: /* Create a new directory named DIRECTORY. */) 2028 doc: /* Create a new directory named DIRECTORY. */)
2028 (Lisp_Object directory) 2029 (Lisp_Object directory)
2029{ 2030{
2030 const unsigned char *dir; 2031 const char *dir;
2031 Lisp_Object handler; 2032 Lisp_Object handler;
2032 Lisp_Object encoded_dir; 2033 Lisp_Object encoded_dir;
2033 2034
@@ -2040,7 +2041,7 @@ DEFUN ("make-directory-internal", Fmake_directory_internal,
2040 2041
2041 encoded_dir = ENCODE_FILE (directory); 2042 encoded_dir = ENCODE_FILE (directory);
2042 2043
2043 dir = SDATA (encoded_dir); 2044 dir = SSDATA (encoded_dir);
2044 2045
2045#ifdef WINDOWSNT 2046#ifdef WINDOWSNT
2046 if (mkdir (dir) != 0) 2047 if (mkdir (dir) != 0)
@@ -2057,14 +2058,14 @@ DEFUN ("delete-directory-internal", Fdelete_directory_internal,
2057 doc: /* Delete the directory named DIRECTORY. Does not follow symlinks. */) 2058 doc: /* Delete the directory named DIRECTORY. Does not follow symlinks. */)
2058 (Lisp_Object directory) 2059 (Lisp_Object directory)
2059{ 2060{
2060 const unsigned char *dir; 2061 const char *dir;
2061 Lisp_Object handler; 2062 Lisp_Object handler;
2062 Lisp_Object encoded_dir; 2063 Lisp_Object encoded_dir;
2063 2064
2064 CHECK_STRING (directory); 2065 CHECK_STRING (directory);
2065 directory = Fdirectory_file_name (Fexpand_file_name (directory, Qnil)); 2066 directory = Fdirectory_file_name (Fexpand_file_name (directory, Qnil));
2066 encoded_dir = ENCODE_FILE (directory); 2067 encoded_dir = ENCODE_FILE (directory);
2067 dir = SDATA (encoded_dir); 2068 dir = SSDATA (encoded_dir);
2068 2069
2069 if (rmdir (dir) != 0) 2070 if (rmdir (dir) != 0)
2070 report_file_error ("Removing directory", list1 (directory)); 2071 report_file_error ("Removing directory", list1 (directory));
@@ -2371,7 +2372,7 @@ On Unix, this is a name starting with a `/' or a `~'. */)
2371 (Lisp_Object filename) 2372 (Lisp_Object filename)
2372{ 2373{
2373 CHECK_STRING (filename); 2374 CHECK_STRING (filename);
2374 return file_name_absolute_p (SDATA (filename)) ? Qt : Qnil; 2375 return file_name_absolute_p (SSDATA (filename)) ? Qt : Qnil;
2375} 2376}
2376 2377
2377/* Return nonzero if file FILENAME exists and can be executed. */ 2378/* Return nonzero if file FILENAME exists and can be executed. */
@@ -3142,7 +3143,8 @@ read_non_regular (Lisp_Object ignore)
3142 immediate_quit = 1; 3143 immediate_quit = 1;
3143 QUIT; 3144 QUIT;
3144 nbytes = emacs_read (non_regular_fd, 3145 nbytes = emacs_read (non_regular_fd,
3145 BEG_ADDR + PT_BYTE - BEG_BYTE + non_regular_inserted, 3146 ((char *) BEG_ADDR + PT_BYTE - BEG_BYTE
3147 + non_regular_inserted),
3146 non_regular_nbytes); 3148 non_regular_nbytes);
3147 immediate_quit = 0; 3149 immediate_quit = 0;
3148 return make_number (nbytes); 3150 return make_number (nbytes);
@@ -3196,9 +3198,9 @@ variable `last-coding-system-used' to the coding system actually used. */)
3196 Lisp_Object p; 3198 Lisp_Object p;
3197 EMACS_INT total = 0; 3199 EMACS_INT total = 0;
3198 int not_regular = 0; 3200 int not_regular = 0;
3199 unsigned char read_buf[READ_BUF_SIZE]; 3201 char read_buf[READ_BUF_SIZE];
3200 struct coding_system coding; 3202 struct coding_system coding;
3201 unsigned char buffer[1 << 14]; 3203 char buffer[1 << 14];
3202 int replace_handled = 0; 3204 int replace_handled = 0;
3203 int set_coding_system = 0; 3205 int set_coding_system = 0;
3204 Lisp_Object coding_system; 3206 Lisp_Object coding_system;
@@ -3412,7 +3414,7 @@ variable `last-coding-system-used' to the coding system actually used. */)
3412 Ferase_buffer (); 3414 Ferase_buffer ();
3413 buf->enable_multibyte_characters = Qnil; 3415 buf->enable_multibyte_characters = Qnil;
3414 3416
3415 insert_1_both (read_buf, nread, nread, 0, 0, 0); 3417 insert_1_both ((char *) read_buf, nread, nread, 0, 0, 0);
3416 TEMP_SET_PT_BOTH (BEG, BEG_BYTE); 3418 TEMP_SET_PT_BOTH (BEG, BEG_BYTE);
3417 coding_system = call2 (Vset_auto_coding_function, 3419 coding_system = call2 (Vset_auto_coding_function,
3418 filename, make_number (nread)); 3420 filename, make_number (nread));
@@ -3506,13 +3508,14 @@ variable `last-coding-system-used' to the coding system actually used. */)
3506 nread = emacs_read (fd, buffer, sizeof buffer); 3508 nread = emacs_read (fd, buffer, sizeof buffer);
3507 if (nread < 0) 3509 if (nread < 0)
3508 error ("IO error reading %s: %s", 3510 error ("IO error reading %s: %s",
3509 SDATA (orig_filename), emacs_strerror (errno)); 3511 SSDATA (orig_filename), emacs_strerror (errno));
3510 else if (nread == 0) 3512 else if (nread == 0)
3511 break; 3513 break;
3512 3514
3513 if (CODING_REQUIRE_DETECTION (&coding)) 3515 if (CODING_REQUIRE_DETECTION (&coding))
3514 { 3516 {
3515 coding_system = detect_coding_system (buffer, nread, nread, 1, 0, 3517 coding_system = detect_coding_system ((unsigned char *) buffer,
3518 nread, nread, 1, 0,
3516 coding_system); 3519 coding_system);
3517 setup_coding_system (coding_system, &coding); 3520 setup_coding_system (coding_system, &coding);
3518 } 3521 }
@@ -3714,8 +3717,8 @@ variable `last-coding-system-used' to the coding system actually used. */)
3714 3717
3715 BUF_TEMP_SET_PT (XBUFFER (conversion_buffer), 3718 BUF_TEMP_SET_PT (XBUFFER (conversion_buffer),
3716 BUF_Z (XBUFFER (conversion_buffer))); 3719 BUF_Z (XBUFFER (conversion_buffer)));
3717 decode_coding_c_string (&coding, read_buf, unprocessed + this, 3720 decode_coding_c_string (&coding, (unsigned char *) read_buf,
3718 conversion_buffer); 3721 unprocessed + this, conversion_buffer);
3719 unprocessed = coding.carryover_bytes; 3722 unprocessed = coding.carryover_bytes;
3720 if (coding.carryover_bytes > 0) 3723 if (coding.carryover_bytes > 0)
3721 memcpy (read_buf, coding.carryover, unprocessed); 3724 memcpy (read_buf, coding.carryover, unprocessed);
@@ -3738,8 +3741,8 @@ variable `last-coding-system-used' to the coding system actually used. */)
3738 if (unprocessed > 0) 3741 if (unprocessed > 0)
3739 { 3742 {
3740 coding.mode |= CODING_MODE_LAST_BLOCK; 3743 coding.mode |= CODING_MODE_LAST_BLOCK;
3741 decode_coding_c_string (&coding, read_buf, unprocessed, 3744 decode_coding_c_string (&coding, (unsigned char *) read_buf,
3742 conversion_buffer); 3745 unprocessed, conversion_buffer);
3743 coding.mode &= ~CODING_MODE_LAST_BLOCK; 3746 coding.mode &= ~CODING_MODE_LAST_BLOCK;
3744 } 3747 }
3745 3748
@@ -3941,7 +3944,10 @@ variable `last-coding-system-used' to the coding system actually used. */)
3941 here doesn't do any harm. */ 3944 here doesn't do any harm. */
3942 immediate_quit = 1; 3945 immediate_quit = 1;
3943 QUIT; 3946 QUIT;
3944 this = emacs_read (fd, BEG_ADDR + PT_BYTE - BEG_BYTE + inserted, trytry); 3947 this = emacs_read (fd,
3948 ((char *) BEG_ADDR + PT_BYTE - BEG_BYTE
3949 + inserted),
3950 trytry);
3945 immediate_quit = 0; 3951 immediate_quit = 0;
3946 } 3952 }
3947 3953
@@ -4466,7 +4472,7 @@ This calls `write-region-annotate-functions' at the start, and
4466 register int desc; 4472 register int desc;
4467 int failure; 4473 int failure;
4468 int save_errno = 0; 4474 int save_errno = 0;
4469 const unsigned char *fn; 4475 const char *fn;
4470 struct stat st; 4476 struct stat st;
4471 int count = SPECPDL_INDEX (); 4477 int count = SPECPDL_INDEX ();
4472 int count1; 4478 int count1;
@@ -4586,7 +4592,7 @@ This calls `write-region-annotate-functions' at the start, and
4586 4592
4587 encoded_filename = ENCODE_FILE (filename); 4593 encoded_filename = ENCODE_FILE (filename);
4588 4594
4589 fn = SDATA (encoded_filename); 4595 fn = SSDATA (encoded_filename);
4590 desc = -1; 4596 desc = -1;
4591 if (!NILP (append)) 4597 if (!NILP (append))
4592#ifdef DOS_NT 4598#ifdef DOS_NT
diff --git a/src/fns.c b/src/fns.c
index cf8cf3a3d83..326f210f84f 100644
--- a/src/fns.c
+++ b/src/fns.c
@@ -882,7 +882,7 @@ string_make_multibyte (Lisp_Object string)
882 copy_text (SDATA (string), buf, SBYTES (string), 882 copy_text (SDATA (string), buf, SBYTES (string),
883 0, 1); 883 0, 1);
884 884
885 ret = make_multibyte_string (buf, SCHARS (string), nbytes); 885 ret = make_multibyte_string ((char *) buf, SCHARS (string), nbytes);
886 SAFE_FREE (); 886 SAFE_FREE ();
887 887
888 return ret; 888 return ret;
@@ -914,7 +914,7 @@ string_to_multibyte (Lisp_Object string)
914 memcpy (buf, SDATA (string), SBYTES (string)); 914 memcpy (buf, SDATA (string), SBYTES (string));
915 str_to_multibyte (buf, nbytes, SBYTES (string)); 915 str_to_multibyte (buf, nbytes, SBYTES (string));
916 916
917 ret = make_multibyte_string (buf, SCHARS (string), nbytes); 917 ret = make_multibyte_string ((char *) buf, SCHARS (string), nbytes);
918 SAFE_FREE (); 918 SAFE_FREE ();
919 919
920 return ret; 920 return ret;
@@ -940,7 +940,7 @@ string_make_unibyte (Lisp_Object string)
940 copy_text (SDATA (string), buf, SBYTES (string), 940 copy_text (SDATA (string), buf, SBYTES (string),
941 1, 0); 941 1, 0);
942 942
943 ret = make_unibyte_string (buf, nchars); 943 ret = make_unibyte_string ((char *) buf, nchars);
944 SAFE_FREE (); 944 SAFE_FREE ();
945 945
946 return ret; 946 return ret;
@@ -996,7 +996,7 @@ If STRING is multibyte and contains a character of charset
996 996
997 memcpy (str, SDATA (string), bytes); 997 memcpy (str, SDATA (string), bytes);
998 bytes = str_as_unibyte (str, bytes); 998 bytes = str_as_unibyte (str, bytes);
999 string = make_unibyte_string (str, bytes); 999 string = make_unibyte_string ((char *) str, bytes);
1000 xfree (str); 1000 xfree (str);
1001 } 1001 }
1002 return string; 1002 return string;
@@ -1079,7 +1079,7 @@ an error is signaled. */)
1079 1079
1080 if (converted < chars) 1080 if (converted < chars)
1081 error ("Can't convert the %dth character to unibyte", converted); 1081 error ("Can't convert the %dth character to unibyte", converted);
1082 string = make_unibyte_string (str, chars); 1082 string = make_unibyte_string ((char *) str, chars);
1083 xfree (str); 1083 xfree (str);
1084 } 1084 }
1085 return string; 1085 return string;
@@ -2985,8 +2985,8 @@ into shorter lines. */)
2985 allength += allength / MIME_LINE_LENGTH + 1 + 6; 2985 allength += allength / MIME_LINE_LENGTH + 1 + 6;
2986 2986
2987 SAFE_ALLOCA (encoded, char *, allength); 2987 SAFE_ALLOCA (encoded, char *, allength);
2988 encoded_length = base64_encode_1 (BYTE_POS_ADDR (ibeg), encoded, length, 2988 encoded_length = base64_encode_1 ((char *) BYTE_POS_ADDR (ibeg),
2989 NILP (no_line_break), 2989 encoded, length, NILP (no_line_break),
2990 !NILP (current_buffer->enable_multibyte_characters)); 2990 !NILP (current_buffer->enable_multibyte_characters));
2991 if (encoded_length > allength) 2991 if (encoded_length > allength)
2992 abort (); 2992 abort ();
@@ -3075,7 +3075,7 @@ base64_encode_1 (const char *from, char *to, EMACS_INT length,
3075 { 3075 {
3076 if (multibyte) 3076 if (multibyte)
3077 { 3077 {
3078 c = STRING_CHAR_AND_LENGTH (from + i, bytes); 3078 c = STRING_CHAR_AND_LENGTH ((unsigned char *) from + i, bytes);
3079 if (CHAR_BYTE8_P (c)) 3079 if (CHAR_BYTE8_P (c))
3080 c = CHAR_TO_BYTE8 (c); 3080 c = CHAR_TO_BYTE8 (c);
3081 else if (c >= 256) 3081 else if (c >= 256)
@@ -3115,7 +3115,7 @@ base64_encode_1 (const char *from, char *to, EMACS_INT length,
3115 3115
3116 if (multibyte) 3116 if (multibyte)
3117 { 3117 {
3118 c = STRING_CHAR_AND_LENGTH (from + i, bytes); 3118 c = STRING_CHAR_AND_LENGTH ((unsigned char *) from + i, bytes);
3119 if (CHAR_BYTE8_P (c)) 3119 if (CHAR_BYTE8_P (c))
3120 c = CHAR_TO_BYTE8 (c); 3120 c = CHAR_TO_BYTE8 (c);
3121 else if (c >= 256) 3121 else if (c >= 256)
@@ -3139,7 +3139,7 @@ base64_encode_1 (const char *from, char *to, EMACS_INT length,
3139 3139
3140 if (multibyte) 3140 if (multibyte)
3141 { 3141 {
3142 c = STRING_CHAR_AND_LENGTH (from + i, bytes); 3142 c = STRING_CHAR_AND_LENGTH ((unsigned char *) from + i, bytes);
3143 if (CHAR_BYTE8_P (c)) 3143 if (CHAR_BYTE8_P (c))
3144 c = CHAR_TO_BYTE8 (c); 3144 c = CHAR_TO_BYTE8 (c);
3145 else if (c >= 256) 3145 else if (c >= 256)
@@ -3186,7 +3186,8 @@ If the region can't be decoded, signal an error and don't modify the buffer. */
3186 SAFE_ALLOCA (decoded, char *, allength); 3186 SAFE_ALLOCA (decoded, char *, allength);
3187 3187
3188 move_gap_both (XFASTINT (beg), ibeg); 3188 move_gap_both (XFASTINT (beg), ibeg);
3189 decoded_length = base64_decode_1 (BYTE_POS_ADDR (ibeg), decoded, length, 3189 decoded_length = base64_decode_1 ((char *) BYTE_POS_ADDR (ibeg),
3190 decoded, length,
3190 multibyte, &inserted_chars); 3191 multibyte, &inserted_chars);
3191 if (decoded_length > allength) 3192 if (decoded_length > allength)
3192 abort (); 3193 abort ();
@@ -4569,7 +4570,7 @@ guesswork fails. Normally, an error is signaled in such case. */)
4569 (Lisp_Object object, Lisp_Object start, Lisp_Object end, Lisp_Object coding_system, Lisp_Object noerror) 4570 (Lisp_Object object, Lisp_Object start, Lisp_Object end, Lisp_Object coding_system, Lisp_Object noerror)
4570{ 4571{
4571 unsigned char digest[16]; 4572 unsigned char digest[16];
4572 unsigned char value[33]; 4573 char value[33];
4573 int i; 4574 int i;
4574 EMACS_INT size; 4575 EMACS_INT size;
4575 EMACS_INT size_byte = 0; 4576 EMACS_INT size_byte = 0;
diff --git a/src/font.c b/src/font.c
index 907271566da..841125a0587 100644
--- a/src/font.c
+++ b/src/font.c
@@ -315,7 +315,7 @@ font_style_to_value (enum font_property_index prop, Lisp_Object val, int noerror
315 315
316 if (SYMBOLP (val)) 316 if (SYMBOLP (val))
317 { 317 {
318 unsigned char *s; 318 char *s;
319 Lisp_Object args[2], elt; 319 Lisp_Object args[2], elt;
320 320
321 /* At first try exact match. */ 321 /* At first try exact match. */
@@ -325,12 +325,12 @@ font_style_to_value (enum font_property_index prop, Lisp_Object val, int noerror
325 return ((XINT (AREF (AREF (table, i), 0)) << 8) 325 return ((XINT (AREF (AREF (table, i), 0)) << 8)
326 | (i << 4) | (j - 1)); 326 | (i << 4) | (j - 1));
327 /* Try also with case-folding match. */ 327 /* Try also with case-folding match. */
328 s = SDATA (SYMBOL_NAME (val)); 328 s = SSDATA (SYMBOL_NAME (val));
329 for (i = 0; i < len; i++) 329 for (i = 0; i < len; i++)
330 for (j = 1; j < ASIZE (AREF (table, i)); j++) 330 for (j = 1; j < ASIZE (AREF (table, i)); j++)
331 { 331 {
332 elt = AREF (AREF (table, i), j); 332 elt = AREF (AREF (table, i), j);
333 if (xstrcasecmp (s, SDATA (SYMBOL_NAME (elt))) == 0) 333 if (xstrcasecmp (s, SSDATA (SYMBOL_NAME (elt))) == 0)
334 return ((XINT (AREF (AREF (table, i), 0)) << 8) 334 return ((XINT (AREF (AREF (table, i), 0)) << 8)
335 | (i << 4) | (j - 1)); 335 | (i << 4) | (j - 1));
336 } 336 }
@@ -3982,7 +3982,6 @@ Layout tags. */)
3982 val = fontp->driver->otf_capability (fontp); 3982 val = fontp->driver->otf_capability (fontp);
3983 else 3983 else
3984 val = Fcons (Qnil, Qnil); 3984 val = Fcons (Qnil, Qnil);
3985 font_put_extra (font, QCotf, val);
3986 } 3985 }
3987 else 3986 else
3988 val = Fcdr (val); 3987 val = Fcdr (val);
diff --git a/src/fontset.c b/src/fontset.c
index f94bc954fa4..f297fd10a71 100644
--- a/src/fontset.c
+++ b/src/fontset.c
@@ -1166,7 +1166,7 @@ fs_query_fontset (Lisp_Object name, int name_pattern)
1166 this_name = FONTSET_NAME (fontset); 1166 this_name = FONTSET_NAME (fontset);
1167 if (name_pattern == 1 1167 if (name_pattern == 1
1168 ? fast_string_match_ignore_case (name, this_name) >= 0 1168 ? fast_string_match_ignore_case (name, this_name) >= 0
1169 : !xstrcasecmp (SDATA (name), SDATA (this_name))) 1169 : !xstrcasecmp (SSDATA (name), SSDATA (this_name)))
1170 return i; 1170 return i;
1171 } 1171 }
1172 return -1; 1172 return -1;
diff --git a/src/ftfont.c b/src/ftfont.c
index a20f2013e5a..db6b29421dc 100644
--- a/src/ftfont.c
+++ b/src/ftfont.c
@@ -1022,12 +1022,12 @@ ftfont_list (Lisp_Object frame, Lisp_Object spec)
1022 1022
1023 if (! NILP (adstyle) 1023 if (! NILP (adstyle)
1024 && (NILP (this_adstyle) 1024 && (NILP (this_adstyle)
1025 || xstrcasecmp (SDATA (SYMBOL_NAME (adstyle)), 1025 || xstrcasecmp (SSDATA (SYMBOL_NAME (adstyle)),
1026 SDATA (SYMBOL_NAME (this_adstyle))) != 0)) 1026 SSDATA (SYMBOL_NAME (this_adstyle))) != 0))
1027 continue; 1027 continue;
1028 if (langname 1028 if (langname
1029 && ! NILP (this_adstyle) 1029 && ! NILP (this_adstyle)
1030 && xstrcasecmp (langname, SDATA (SYMBOL_NAME (this_adstyle)))) 1030 && xstrcasecmp (langname, SSDATA (SYMBOL_NAME (this_adstyle))))
1031 continue; 1031 continue;
1032 } 1032 }
1033 entity = ftfont_pattern_entity (fontset->fonts[i], 1033 entity = ftfont_pattern_entity (fontset->fonts[i],
@@ -1240,7 +1240,11 @@ ftfont_open (FRAME_PTR f, Lisp_Object entity, int pixel_size)
1240 spacing = XINT (AREF (entity, FONT_SPACING_INDEX)); 1240 spacing = XINT (AREF (entity, FONT_SPACING_INDEX));
1241 else 1241 else
1242 spacing = FC_PROPORTIONAL; 1242 spacing = FC_PROPORTIONAL;
1243 if (spacing != FC_PROPORTIONAL && spacing != FC_DUAL) 1243 if (spacing != FC_PROPORTIONAL
1244#ifdef FC_DUAL
1245 && spacing != FC_DUAL
1246#endif /* FC_DUAL */
1247 )
1244 font->min_width = font->average_width = font->space_width 1248 font->min_width = font->average_width = font->space_width
1245 = (scalable ? ft_face->max_advance_width * size / upEM 1249 = (scalable ? ft_face->max_advance_width * size / upEM
1246 : ft_face->size->metrics.max_advance >> 6); 1250 : ft_face->size->metrics.max_advance >> 6);
diff --git a/src/globals.h b/src/globals.h
deleted file mode 100644
index f7162baafbc..00000000000
--- a/src/globals.h
+++ /dev/null
@@ -1,2902 +0,0 @@
1/* Declare all global lisp variables.
2
3 Copyright (C) 2011 Free Software Foundation, Inc.
4
5 This file is part of GNU Emacs.
6
7 GNU Emacs is free software: you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation, either version 3 of the License, or
10 (at your option) any later version.
11
12 GNU Emacs is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
16
17 You should have received a copy of the GNU General Public License
18 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
19
20struct emacs_globals
21{
22
23 /* Count the amount of consing of various sorts of space. */
24 EMACS_INT f_cons_cells_consed;
25
26 EMACS_INT f_floats_consed;
27
28 EMACS_INT f_vector_cells_consed;
29
30 EMACS_INT f_symbols_consed;
31
32 EMACS_INT f_string_chars_consed;
33
34 EMACS_INT f_misc_objects_consed;
35
36 EMACS_INT f_intervals_consed;
37
38 EMACS_INT f_strings_consed;
39
40 /* Minimum number of bytes of consing since GC before next GC. */
41 EMACS_INT f_gc_cons_threshold;
42
43 Lisp_Object f_Vgc_cons_percentage;
44
45 /* Nonzero means display messages at beginning and end of GC. */
46 int f_garbage_collection_messages;
47
48 /* Non-nil means defun should do purecopy on the function definition. */
49 Lisp_Object f_Vpurify_flag;
50
51 /* Non-nil means we are handling a memory-full error. */
52 Lisp_Object f_Vmemory_full;
53
54 /* Total number of bytes allocated in pure storage. */
55 EMACS_INT f_pure_bytes_used;
56
57 /* Pre-computed signal argument for use when memory is exhausted. */
58 Lisp_Object f_Vmemory_signal_data;
59
60 Lisp_Object f_Vpost_gc_hook;
61
62 Lisp_Object f_Vgc_elapsed;
63
64 EMACS_INT f_gcs_done;
65
66 /* Functions to call before and after each text change. */
67 Lisp_Object f_Vbefore_change_functions;
68
69 Lisp_Object f_Vafter_change_functions;
70
71 Lisp_Object f_Vtransient_mark_mode;
72
73 /* t means ignore all read-only text properties.
74 A list means ignore such a property if its value is a member of the list.
75 Any non-nil value means ignore buffer-read-only. */
76 Lisp_Object f_Vinhibit_read_only;
77
78 /* List of functions to call that can query about killing a buffer.
79 If any of these functions returns nil, we don't kill it. */
80 Lisp_Object f_Vkill_buffer_query_functions;
81
82 Lisp_Object f_Vchange_major_mode_hook;
83
84 /* List of functions to call before changing an unmodified buffer. */
85 Lisp_Object f_Vfirst_change_hook;
86
87 /* If nonzero, all modification hooks are suppressed. */
88 int f_inhibit_modification_hooks;
89
90 Lisp_Object f_Vbyte_code_meter;
91
92 int f_byte_metering_on;
93
94 Lisp_Object f_Vcurrent_prefix_arg;
95
96 Lisp_Object f_Vcommand_history;
97
98 Lisp_Object f_Vcommand_debug_status;
99
100 /* Non-nil means treat the mark as active
101 even if mark_active is 0. */
102 Lisp_Object f_Vmark_even_if_inactive;
103
104 Lisp_Object f_Vmouse_leave_buffer_hook;
105
106 Lisp_Object f_Vexec_path;
107 Lisp_Object f_Vexec_directory;
108 Lisp_Object f_Vexec_suffixes;
109
110 Lisp_Object f_Vdata_directory;
111 Lisp_Object f_Vdoc_directory;
112
113 Lisp_Object f_Vconfigure_info_directory;
114 Lisp_Object f_Vshared_game_score_directory;
115
116 Lisp_Object f_Vshell_file_name;
117
118 Lisp_Object f_Vprocess_environment;
119 Lisp_Object f_Vinitial_environment;
120
121 /* Variables to determine word boundary. */
122 Lisp_Object f_Vword_combining_categories;
123 Lisp_Object f_Vword_separating_categories;
124
125 /* This contains all code conversion map available to CCL. */
126 Lisp_Object f_Vcode_conversion_map_vector;
127
128 /* Alist of fontname patterns vs corresponding CCL program. */
129 Lisp_Object f_Vfont_ccl_encoder_alist;
130
131 /* Vector of registered hash tables for translation. */
132 Lisp_Object f_Vtranslation_hash_table_vector;
133
134 /* Vector of translation table ever defined.
135 ID of a translation table is used to index this vector. */
136 Lisp_Object f_Vtranslation_table_vector;
137
138 /* A char-table for characters which may invoke auto-filling. */
139 Lisp_Object f_Vauto_fill_chars;
140
141 /* A char-table. An element is non-nil iff the corresponding
142 character has a printable glyph. */
143 Lisp_Object f_Vprintable_chars;
144
145 /* A char-table. An elemnent is a column-width of the corresponding
146 character. */
147 Lisp_Object f_Vchar_width_table;
148
149 /* A char-table. An element is a symbol indicating the direction
150 property of corresponding character. */
151 Lisp_Object f_Vchar_direction_table;
152
153 /* Char table of scripts. */
154 Lisp_Object f_Vchar_script_table;
155
156 /* Alist of scripts vs representative characters. */
157 Lisp_Object f_Vscript_representative_chars;
158
159 Lisp_Object f_Vunicode_category_table;
160
161 /* List of all charsets. This variable is used only from Emacs
162 Lisp. */
163 Lisp_Object f_Vcharset_list;
164
165 Lisp_Object f_Vcharset_map_path;
166
167 /* If nonzero, don't load charset maps. */
168 int f_inhibit_load_charset_map;
169
170 Lisp_Object f_Vcurrent_iso639_language;
171
172 Lisp_Object f_Vpost_self_insert_hook;
173
174 int f_coding_system_require_warning;
175
176 Lisp_Object f_Vselect_safe_coding_system_function;
177
178 /* Mnemonic string for each format of end-of-line. */
179 Lisp_Object f_eol_mnemonic_unix;
180 Lisp_Object f_eol_mnemonic_dos;
181 Lisp_Object f_eol_mnemonic_mac;
182
183 /* Mnemonic string to indicate format of end-of-line is not yet
184 decided. */
185 Lisp_Object f_eol_mnemonic_undecided;
186
187 Lisp_Object f_Vcoding_system_list;
188 Lisp_Object f_Vcoding_system_alist;
189
190 /* Coding-system for reading files and receiving data from process. */
191 Lisp_Object f_Vcoding_system_for_read;
192
193 /* Coding-system for writing files and sending data to process. */
194 Lisp_Object f_Vcoding_system_for_write;
195
196 /* Coding-system actually used in the latest I/O. */
197 Lisp_Object f_Vlast_coding_system_used;
198
199 /* Set to non-nil when an error is detected while code conversion. */
200 Lisp_Object f_Vlast_code_conversion_error;
201
202 /* A vector of length 256 which contains information about special
203 Latin codes (especially for dealing with Microsoft codes). */
204 Lisp_Object f_Vlatin_extra_code_table;
205
206 /* Flag to inhibit code conversion of end-of-line format. */
207 int f_inhibit_eol_conversion;
208
209 /* Flag to inhibit ISO2022 escape sequence detection. */
210 int f_inhibit_iso_escape_detection;
211
212 /* Flag to inhibit detection of binary files through null bytes. */
213 int f_inhibit_null_byte_detection;
214
215 /* Flag to make buffer-file-coding-system inherit from process-coding. */
216 int f_inherit_process_coding_system;
217
218 Lisp_Object f_Vfile_coding_system_alist;
219
220 Lisp_Object f_Vprocess_coding_system_alist;
221
222 Lisp_Object f_Vnetwork_coding_system_alist;
223
224 Lisp_Object f_Vlocale_coding_system;
225
226 /* Flag to tell if we look up translation table on character code
227 conversion. */
228 Lisp_Object f_Venable_character_translation;
229
230 /* Standard translation table to look up on decoding (reading). */
231 Lisp_Object f_Vstandard_translation_table_for_decode;
232
233 /* Standard translation table to look up on encoding (writing). */
234 Lisp_Object f_Vstandard_translation_table_for_encode;
235
236 /* Alist of charsets vs revision number. */
237 Lisp_Object f_Vcharset_revision_table;
238
239 /* Default coding systems used for process I/O. */
240 Lisp_Object f_Vdefault_process_coding_system;
241
242 /* Char table for translating Quail and self-inserting input. */
243 Lisp_Object f_Vtranslation_table_for_input;
244
245 /* List of symbols `coding-category-xxx' ordered by priority. This
246 variable is exposed to Emacs Lisp. */
247 Lisp_Object f_Vcoding_category_list;
248
249 /* Function to call to adjust composition. */
250 Lisp_Object f_Vcompose_chars_after_function;
251
252 Lisp_Object f_Vauto_composition_mode;
253
254 Lisp_Object f_Vauto_composition_function;
255
256 Lisp_Object f_Vcomposition_function_table;
257
258 Lisp_Object f_Vmost_positive_fixnum;
259 Lisp_Object f_Vmost_negative_fixnum;
260
261 /* Registered buses. */
262 Lisp_Object f_Vdbus_registered_buses;
263
264 /* Hash table which keeps function definitions. */
265 Lisp_Object f_Vdbus_registered_objects_table;
266
267 /* Whether to debug D-Bus. */
268 Lisp_Object f_Vdbus_debug;
269
270 Lisp_Object f_Vcompletion_ignored_extensions;
271
272 /* Non-zero means don't pause redisplay for pending input. (This is
273 for debugging and for a future implementation of EDT-like
274 scrolling. */
275 int f_redisplay_dont_pause;
276
277 /* If a number (float), check for user input every N seconds. */
278 Lisp_Object f_Vredisplay_preemption_period;
279
280 /* Lisp variable visible-bell; enables use of screen-flash instead of
281 audible bell. */
282 int f_visible_bell;
283
284 /* Invert the color of the whole frame, at a low level. */
285 int f_inverse_video;
286
287 /* Line speed of the terminal. */
288 EMACS_INT f_baud_rate;
289
290 /* Either nil or a symbol naming the window system under which Emacs
291 creates the first frame. */
292 Lisp_Object f_Vinitial_window_system;
293
294 /* Version number of X windows: 10, 11 or nil. */
295 Lisp_Object f_Vwindow_system_version;
296
297 /* Vector of glyph definitions. Indexed by glyph number, the contents
298 are a string which is how to output the glyph.
299
300 If Vglyph_table is nil, a glyph is output by using its low 8 bits
301 as a character code.
302
303 This is an obsolete feature that is no longer used. The variable
304 is retained for compatibility. */
305 Lisp_Object f_Vglyph_table;
306
307 /* Display table to use for vectors that don't specify their own. */
308 Lisp_Object f_Vstandard_display_table;
309
310 /* Nonzero means reading single-character input with prompt so put
311 cursor on mini-buffer after the prompt. Positive means at end of
312 text in echo area; negative means at beginning of line. */
313 int f_cursor_in_echo_area;
314
315 Lisp_Object f_Vdoc_file_name;
316
317 /* A list of files used to build this Emacs binary. */
318 Lisp_Object f_Vbuild_files;
319
320 /* country info */
321 EMACS_INT f_dos_country_code;
322
323 EMACS_INT f_dos_codepage;
324
325 EMACS_INT f_dos_timezone_offset;
326
327 EMACS_INT f_dos_decimal_point;
328
329 EMACS_INT f_dos_keyboard_layout;
330
331 EMACS_INT f_dos_hyper_key;
332
333 EMACS_INT f_dos_super_key;
334
335 EMACS_INT f_dos_keypad_mode;
336
337 Lisp_Object f_Vdos_version;
338
339 Lisp_Object f_Vdos_display_scancodes;
340
341 Lisp_Object f_Vdos_windows_version;
342
343 Lisp_Object f_Vbuffer_access_fontify_functions;
344
345 Lisp_Object f_Vbuffer_access_fontified_property;
346
347 /* Non-nil means don't stop at field boundary in text motion commands. */
348 Lisp_Object f_Vinhibit_field_text_motion;
349
350 /* Some static data, and a function to initialize it for each run */
351 Lisp_Object f_Vsystem_name;
352
353 Lisp_Object f_Vuser_real_login_name;
354
355 Lisp_Object f_Vuser_full_name;
356
357 Lisp_Object f_Vuser_login_name;
358
359 Lisp_Object f_Voperating_system_release;
360
361 /* Command line args from shell, as list of strings. */
362 Lisp_Object f_Vcommand_line_args;
363
364 /* The name under which Emacs was invoked, with any leading directory
365 names discarded. */
366 Lisp_Object f_Vinvocation_name;
367
368 /* The directory name from which Emacs was invoked. */
369 Lisp_Object f_Vinvocation_directory;
370
371 /* The directory name in which to find subdirs such as lisp and etc.
372 nil means get them only from PATH_LOADSEARCH. */
373 Lisp_Object f_Vinstallation_directory;
374
375 /* The values of `current-time' before and after Emacs initialization. */
376 Lisp_Object f_Vbefore_init_time;
377 Lisp_Object f_Vafter_init_time;
378
379 /* Hook run by `kill-emacs' before it does really anything. */
380 Lisp_Object f_Vkill_emacs_hook;
381
382 /* Search path separator. */
383 Lisp_Object f_Vpath_separator;
384
385 /* Variable whose value is symbol giving operating system type. */
386 Lisp_Object f_Vsystem_type;
387
388 /* Variable whose value is string giving configuration built for. */
389 Lisp_Object f_Vsystem_configuration;
390
391 /* Variable whose value is string giving configuration options,
392 for use when reporting bugs. */
393 Lisp_Object f_Vsystem_configuration_options;
394
395 /* Current and previous system locales for messages and time. */
396 Lisp_Object f_Vsystem_messages_locale;
397
398 Lisp_Object f_Vprevious_system_messages_locale;
399
400 Lisp_Object f_Vsystem_time_locale;
401
402 Lisp_Object f_Vprevious_system_time_locale;
403
404 /* Copyright and version info. The version number may be updated by
405 Lisp code. */
406 Lisp_Object f_Vemacs_copyright;
407 Lisp_Object f_Vemacs_version;
408
409 /* Alist of external libraries and files implementing them. */
410 Lisp_Object f_Vdynamic_library_alist;
411
412 /* Value of Lisp variable `noninteractive'.
413 Normally same as C variable `noninteractive'
414 but nothing terrible happens if user sets this one. */
415 int f_noninteractive1;
416
417 /* Nonzero means Emacs was run in --quick mode. */
418 int f_inhibit_x_resources;
419
420 Lisp_Object f_Vinhibit_quit;
421 Lisp_Object f_Vquit_flag;
422
423 /* Maximum size allowed for specpdl allocation */
424 EMACS_INT f_max_specpdl_size;
425
426 /* Maximum allowed depth in Lisp evaluations and function calls. */
427 EMACS_INT f_max_lisp_eval_depth;
428
429 /* Nonzero means enter debugger before next function call */
430 int f_debug_on_next_call;
431
432 /* Non-zero means debugger may continue. This is zero when the
433 debugger is called during redisplay, where it might not be safe to
434 continue the interrupted redisplay. */
435 int f_debugger_may_continue;
436
437 /* List of conditions (non-nil atom means all) which enter the debugger
438 if an error is handled by the command loop's error handler. */
439 Lisp_Object f_Vdebug_on_error;
440
441 /* List of conditions and regexps specifying error messages which
442 do not enter the debugger even if Vdebug_on_error says they should. */
443 Lisp_Object f_Vdebug_ignored_errors;
444
445 /* Non-nil means call the debugger even if the error will be handled. */
446 Lisp_Object f_Vdebug_on_signal;
447
448 /* Hook for edebug to use. */
449 Lisp_Object f_Vsignal_hook_function;
450
451 /* Nonzero means enter debugger if a quit signal
452 is handled by the command loop's error handler. */
453 int f_debug_on_quit;
454
455 Lisp_Object f_Vdebugger;
456
457 /* Function to process declarations in defmacro forms. */
458 Lisp_Object f_Vmacro_declaration_function;
459
460 /* Coding system for file names, or nil if none. */
461 Lisp_Object f_Vfile_name_coding_system;
462
463 /* Coding system for file names used only when
464 Vfile_name_coding_system is nil. */
465 Lisp_Object f_Vdefault_file_name_coding_system;
466
467 /* Alist of elements (REGEXP . HANDLER) for file names
468 whose I/O is done with a special handler. */
469 Lisp_Object f_Vfile_name_handler_alist;
470
471 /* Function to be called to decide a coding system of a reading file. */
472 Lisp_Object f_Vset_auto_coding_function;
473
474 /* Functions to be called to process text properties in inserted file. */
475 Lisp_Object f_Vafter_insert_file_functions;
476
477 /* Functions to be called to create text property annotations for file. */
478 Lisp_Object f_Vwrite_region_annotate_functions;
479
480 Lisp_Object f_Vwrite_region_post_annotation_function;
481
482 /* During build_annotations, each time an annotation function is called,
483 this holds the annotations made by the previous functions. */
484 Lisp_Object f_Vwrite_region_annotations_so_far;
485
486 /* File name in which we write a list of all our auto save files. */
487 Lisp_Object f_Vauto_save_list_file_name;
488
489 /* Whether or not files are auto-saved into themselves. */
490 Lisp_Object f_Vauto_save_visited_file_name;
491
492 /* Whether or not to continue auto-saving after a large deletion. */
493 Lisp_Object f_Vauto_save_include_big_deletions;
494
495 /* Nonzero means skip the call to fsync in Fwrite-region. */
496 int f_write_region_inhibit_fsync;
497
498 /* Non-zero means call move-file-to-trash in Fdelete_file or
499 Fdelete_directory_internal. */
500 int f_delete_by_moving_to_trash;
501
502 /* These variables describe handlers that have "already" had a chance
503 to handle the current operation.
504
505 Vinhibit_file_name_handlers is a list of file name handlers.
506 Vinhibit_file_name_operation is the operation being handled.
507 If we try to handle that operation, we ignore those handlers. */
508 Lisp_Object f_Vinhibit_file_name_handlers;
509
510 Lisp_Object f_Vinhibit_file_name_operation;
511
512 /* The directory for writing temporary files. */
513 Lisp_Object f_Vtemporary_file_directory;
514
515 /* Nonzero enables use of dialog boxes for questions
516 asked by mouse commands. */
517 int f_use_dialog_box;
518
519 /* Nonzero enables use of a file dialog for file name
520 questions asked by mouse commands. */
521 int f_use_file_dialog;
522
523 Lisp_Object f_Vfeatures;
524
525 Lisp_Object f_Vfont_weight_table;
526 Lisp_Object f_Vfont_slant_table;
527 Lisp_Object f_Vfont_width_table;
528
529 Lisp_Object f_Vfont_encoding_alist;
530
531 Lisp_Object f_Vfont_log;
532
533 Lisp_Object f_Vfont_encoding_charset_alist;
534
535 Lisp_Object f_Vuse_default_ascent;
536
537 Lisp_Object f_Vignore_relative_composition;
538
539 Lisp_Object f_Valternate_fontname_alist;
540
541 Lisp_Object f_Vfontset_alias_alist;
542
543 Lisp_Object f_Vvertical_centering_font_regexp;
544
545 Lisp_Object f_Votf_script_alist;
546
547 /* If we shall make pointer invisible when typing or not. */
548 Lisp_Object f_Vmake_pointer_invisible;
549
550 /* The name we're using in resource queries. Most often "emacs". */
551 Lisp_Object f_Vx_resource_name;
552
553 /* The application class we're using in resource queries.
554 Normally "Emacs". */
555 Lisp_Object f_Vx_resource_class;
556
557 /* Lower limit value of the frame opacity (alpha transparency). */
558 Lisp_Object f_Vframe_alpha_lower_limit;
559
560 Lisp_Object f_Vmenu_bar_mode;
561 Lisp_Object f_Vtool_bar_mode;
562
563 Lisp_Object f_Vterminal_frame;
564
565 Lisp_Object f_Vdefault_frame_alist;
566
567 Lisp_Object f_Vdefault_frame_scroll_bars;
568
569 Lisp_Object f_Vmouse_position_function;
570
571 Lisp_Object f_Vmouse_highlight;
572
573 Lisp_Object f_Vdelete_frame_functions;
574
575 int f_focus_follows_mouse;
576
577 /* Non-nil means that newline may flow into the right fringe. */
578 Lisp_Object f_Voverflow_newline_into_fringe;
579
580 /* List of known fringe bitmap symbols.
581
582 The fringe bitmap number is stored in the `fringe' property on
583 those symbols. Names for the built-in bitmaps are installed by
584 loading fringe.el.
585 */
586 Lisp_Object f_Vfringe_bitmaps;
587
588 /* Search path for bitmap files. */
589 Lisp_Object f_Vx_bitmap_file_path;
590
591 /* A list of symbols, one for each supported image type. */
592 Lisp_Object f_Vimage_types;
593
594 /* Time in seconds after which images should be removed from the cache
595 if not displayed. */
596 Lisp_Object f_Vimage_cache_eviction_delay;
597
598 Lisp_Object f_Vmax_image_size;
599
600 /* Non-zero means draw a cross on images having `:conversion
601 disabled'. */
602 int f_cross_disabled_images;
603
604 Lisp_Object f_Vimagemagick_render_type;
605
606 /* Indentation can insert tabs if this is non-zero;
607 otherwise always uses spaces. */
608 int f_indent_tabs_mode;
609
610 /* Non-nil means don't call the after-change-functions right away,
611 just record an element in combine_after_change_list. */
612 Lisp_Object f_Vcombine_after_change_calls;
613
614 /* Check all markers in the current buffer, looking for something invalid. */
615 int f_check_markers_debug_flag;
616
617 /* Non-nil if the present key sequence was obtained by shift translation. */
618 Lisp_Object f_Vthis_command_keys_shift_translated;
619
620 /* If non-nil, the function that implements the display of help.
621 It's called with one argument, the help string to display. */
622 Lisp_Object f_Vshow_help_function;
623
624 /* Nonzero means do menu prompting. */
625 int f_menu_prompting;
626
627 /* Character to see next line of menu prompt. */
628 Lisp_Object f_menu_prompt_more_char;
629
630 /* Nonzero means disregard local maps for the menu bar. */
631 int f_inhibit_local_menu_bar_menus;
632
633 /* The user's hook function for outputting an error message. */
634 Lisp_Object f_Vcommand_error_function;
635
636 /* The user's ERASE setting. */
637 Lisp_Object f_Vtty_erase_char;
638
639 /* Character to recognize as the help char. */
640 Lisp_Object f_Vhelp_char;
641
642 /* List of other event types to recognize as meaning "help". */
643 Lisp_Object f_Vhelp_event_list;
644
645 /* Form to execute when help char is typed. */
646 Lisp_Object f_Vhelp_form;
647
648 /* Command to run when the help character follows a prefix key. */
649 Lisp_Object f_Vprefix_help_command;
650
651 /* List of items that should move to the end of the menu bar. */
652 Lisp_Object f_Vmenu_bar_final_items;
653
654 /* Expression to evaluate for the tool bar separator image.
655 This is used for build_desired_tool_bar_string only. For GTK, we
656 use GTK tool bar seperators. */
657 Lisp_Object f_Vtool_bar_separator_image_expression;
658
659 /* Non-nil means show the equivalent key-binding for
660 any M-x command that has one.
661 The value can be a length of time to show the message for.
662 If the value is non-nil and not a number, we wait 2 seconds. */
663 Lisp_Object f_Vsuggest_key_bindings;
664
665 /* How long to display an echo-area message when the minibuffer is active.
666 If the value is not a number, such messages don't time out. */
667 Lisp_Object f_Vminibuffer_message_timeout;
668
669 /* If non-nil, this is a map that overrides all other local maps. */
670 Lisp_Object f_Voverriding_local_map;
671
672 /* If non-nil, Voverriding_local_map applies to the menu bar. */
673 Lisp_Object f_Voverriding_local_map_menu_flag;
674
675 /* Keymap that defines special misc events that should
676 be processed immediately at a low level. */
677 Lisp_Object f_Vspecial_event_map;
678
679 /* Total number of times command_loop has read a key sequence. */
680 EMACS_INT f_num_input_keys;
681
682 /* Last input event read as a command. */
683 Lisp_Object f_last_command_event;
684
685 /* Last input character read as a command, not counting menus
686 reached by the mouse. */
687 Lisp_Object f_last_nonmenu_event;
688
689 /* Last input event read for any purpose. */
690 Lisp_Object f_last_input_event;
691
692 /* If not Qnil, a list of objects to be read as subsequent command input. */
693 Lisp_Object f_Vunread_command_events;
694
695 /* If not Qnil, a list of objects to be read as subsequent command input
696 including input method processing. */
697 Lisp_Object f_Vunread_input_method_events;
698
699 /* If not Qnil, a list of objects to be read as subsequent command input
700 but NOT including input method processing. */
701 Lisp_Object f_Vunread_post_input_method_events;
702
703 /* If not -1, an event to be read as subsequent command input. */
704 EMACS_INT f_unread_command_char;
705
706 /* A mask of extra modifier bits to put into every keyboard char. */
707 EMACS_INT f_extra_keyboard_modifiers;
708
709 /* Char to use as prefix when a meta character is typed in.
710 This is bound on entry to minibuffer in case ESC is changed there. */
711 Lisp_Object f_meta_prefix_char;
712
713 /* Number of idle seconds before an auto-save and garbage collection. */
714 Lisp_Object f_Vauto_save_timeout;
715
716 /* Total number of times read_char has returned, outside of macros. */
717 EMACS_INT f_num_nonmacro_input_events;
718
719 /* Auto-save automatically when this many characters have been typed
720 since the last time. */
721 EMACS_INT f_auto_save_interval;
722
723 /* The command being executed by the command loop.
724 Commands may set this, and the value set will be copied into
725 current_kboard->Vlast_command instead of the actual command. */
726 Lisp_Object f_Vthis_command;
727
728 /* If the lookup of the command returns a binding, the original
729 command is stored in this-original-command. It is nil otherwise. */
730 Lisp_Object f_Vthis_original_command;
731
732 /* A user-visible version of the above, intended to allow users to
733 figure out where the last event came from, if the event doesn't
734 carry that information itself (i.e. if it was a character). */
735 Lisp_Object f_Vlast_event_frame;
736
737 /* If non-nil, active regions automatically become the window selection. */
738 Lisp_Object f_Vselect_active_regions;
739
740 /* The text in the active region prior to modifying the buffer.
741 Used by the `select-active-regions' feature. */
742 Lisp_Object f_Vsaved_region_selection;
743
744 /* Echo unfinished commands after this many seconds of pause. */
745 Lisp_Object f_Vecho_keystrokes;
746
747 /* Form to evaluate (if non-nil) when Emacs is started. */
748 Lisp_Object f_Vtop_level;
749
750 /* If non-nil, this implements the current input method. */
751 Lisp_Object f_Vinput_method_function;
752
753 /* When we call Vinput_method_function,
754 this holds the echo area message that was just erased. */
755 Lisp_Object f_Vinput_method_previous_message;
756
757 /* Non-nil means deactivate the mark at end of this command. */
758 Lisp_Object f_Vdeactivate_mark;
759
760 /* Menu bar specified in Lucid Emacs fashion. */
761 Lisp_Object f_Vlucid_menu_bar_dirty_flag;
762
763 Lisp_Object f_Vpre_command_hook;
764
765 Lisp_Object f_Vpost_command_hook;
766
767 Lisp_Object f_Vcommand_hook_internal;
768
769 /* Parent keymap of terminal-local function-key-map instances. */
770 Lisp_Object f_Vfunction_key_map;
771
772 /* Keymap of key translations that can override keymaps. */
773 Lisp_Object f_Vkey_translation_map;
774
775 /* List of deferred actions to be performed at a later time.
776 The precise format isn't relevant here; we just check whether it is nil. */
777 Lisp_Object f_Vdeferred_action_list;
778
779 /* Function to call to handle deferred actions, when there are any. */
780 Lisp_Object f_Vdeferred_action_function;
781
782 /* If this flag is non-nil, we check mouse_moved to see when the
783 mouse moves, and motion events will appear in the input stream.
784 Otherwise, mouse motion is ignored. */
785 Lisp_Object f_do_mouse_tracking;
786
787 /* List of absolute timers. Appears in order of next scheduled event. */
788 Lisp_Object f_Vtimer_list;
789
790 /* List of idle time timers. Appears in order of next scheduled event. */
791 Lisp_Object f_Vtimer_idle_list;
792
793 /* After a command is executed, if point is moved into a region that
794 has specific properties (e.g. composition, display), we adjust
795 point to the boundary of the region. But, if a command sets this
796 variable to non-nil, we suppress this point adjustment. This
797 variable is set to nil before reading a command. */
798 Lisp_Object f_Vdisable_point_adjustment;
799
800 /* If non-nil, always disable point adjustment. */
801 Lisp_Object f_Vglobal_disable_point_adjustment;
802
803 /* If non-nil, events produced by disabled menu items and tool-bar
804 buttons are not ignored. Help functions bind this to allow help on
805 those items and buttons. */
806 Lisp_Object f_Venable_disabled_menus_and_buttons;
807
808 /* Nonzero means don't try to suspend even if the operating system seems
809 to support it. */
810 int f_cannot_suspend;
811
812 /* Number of seconds between polling for input. This is a Lisp
813 variable that can be bound. */
814 EMACS_INT f_polling_period;
815
816 /* subprocesses */
817 Lisp_Object f_Vthrow_on_input;
818
819 /* The maximum time between clicks to make a double-click, or Qnil to
820 disable double-click detection, or Qt for no time limit. */
821 Lisp_Object f_Vdouble_click_time;
822
823 /* Maximum number of pixels the mouse may be moved between clicks
824 to make a double-click. */
825 EMACS_INT f_double_click_fuzz;
826
827 /* was MinibufLocalMap */
828 Lisp_Object f_Vminibuffer_local_map;
829
830 /* was MinibufLocalNSMap */
831 Lisp_Object f_Vminibuffer_local_ns_map;
832
833 /* was MinibufLocalCompletionMap */
834 Lisp_Object f_Vminibuffer_local_completion_map;
835
836 /* keymap used for minibuffers when doing completion in filenames */
837 Lisp_Object f_Vminibuffer_local_filename_completion_map;
838
839 /* keymap used for minibuffers when doing completion in filenames
840 with require-match*/
841 Lisp_Object f_Vminibuffer_local_filename_must_match_map;
842
843 /* was MinibufLocalMustMatchMap */
844 Lisp_Object f_Vminibuffer_local_must_match_map;
845
846 /* Alist of minor mode variables and keymaps. */
847 Lisp_Object f_Vminor_mode_map_alist;
848
849 /* Alist of major-mode-specific overrides for
850 minor mode variables and keymaps. */
851 Lisp_Object f_Vminor_mode_overriding_map_alist;
852
853 /* List of emulation mode keymap alists. */
854 Lisp_Object f_Vemulation_mode_map_alists;
855
856 /* A list of all commands given new bindings since a certain time
857 when nil was stored here.
858 This is used to speed up recomputation of menu key equivalents
859 when Emacs starts up. t means don't record anything here. */
860 Lisp_Object f_Vdefine_key_rebound_commands;
861
862 Lisp_Object f_Vwhere_is_preferred_modifier;
863
864 Lisp_Object f_Vvalues;
865 Lisp_Object f_Vstandard_input;
866 Lisp_Object f_Vafter_load_alist;
867
868 Lisp_Object f_Vlexical_binding;
869
870 Lisp_Object f_Veval_buffer_list;
871
872 /* non-zero if inside `load' */
873 int f_load_in_progress;
874
875 /* Directory in which the sources were found. */
876 Lisp_Object f_Vsource_directory;
877
878 /* Search path and suffixes for files to be loaded. */
879 Lisp_Object f_Vload_path;
880 Lisp_Object f_Vload_suffixes;
881 Lisp_Object f_Vload_file_rep_suffixes;
882
883 /* File name of user's init file. */
884 Lisp_Object f_Vuser_init_file;
885
886 /* This is the user-visible association list that maps features to
887 lists of defs in their load files. */
888 Lisp_Object f_Vload_history;
889
890 /* This is used to build the load history. */
891 Lisp_Object f_Vcurrent_load_list;
892
893 /* List of files that were preloaded. */
894 Lisp_Object f_Vpreloaded_file_list;
895
896 /* Name of file actually being read by `load'. */
897 Lisp_Object f_Vload_file_name;
898
899 /* Function to use for reading, in `load' and friends. */
900 Lisp_Object f_Vload_read_function;
901
902 /* Non-nil means read recursive structures using #n= and #n# syntax. */
903 Lisp_Object f_Vread_circle;
904
905 /* Nonzero means load should forcibly load all dynamic doc strings. */
906 int f_load_force_doc_strings;
907
908 /* Nonzero means read should convert strings to unibyte. */
909 int f_load_convert_to_unibyte;
910
911 /* Function to use for loading an Emacs Lisp source file (not
912 compiled) instead of readevalloop. */
913 Lisp_Object f_Vload_source_file_function;
914
915 /* List of all DEFVAR_BOOL variables. Used by the byte optimizer. */
916 Lisp_Object f_Vbyte_boolean_vars;
917
918 /* Whether or not to add a `read-positions' property to symbols
919 read. */
920 Lisp_Object f_Vread_with_symbol_positions;
921
922 /* List of (SYMBOL . POSITION) accumulated so far. */
923 Lisp_Object f_Vread_symbol_positions_list;
924
925 Lisp_Object f_Vold_style_backquotes;
926
927 /* Non-zero means load dangerous compiled Lisp files. */
928 int f_load_dangerous_libraries;
929
930 /* Non-zero means force printing messages when loading Lisp files. */
931 int f_force_load_messages;
932
933 /* A regular expression used to detect files compiled with Emacs. */
934 Lisp_Object f_Vbytecomp_version_regexp;
935
936 Lisp_Object f_Vobarray;
937
938 /* Normal hook run whenever a keyboard macro terminates. */
939 Lisp_Object f_Vkbd_macro_termination_hook;
940
941 /* Kbd macro currently being executed (a string or vector). */
942 Lisp_Object f_Vexecuting_kbd_macro;
943
944 /* Index of next character to fetch from that macro. */
945 EMACS_INT f_executing_kbd_macro_index;
946
947 /* Nonzero means enable debugging checks on byte/char correspondences. */
948 int f_byte_debug_flag;
949
950 Lisp_Object f_Vhistory_length;
951
952 /* No duplicates in history. */
953 int f_history_delete_duplicates;
954
955 /* Non-nil means add new input to history. */
956 Lisp_Object f_Vhistory_add_new_input;
957
958 /* Nonzero means let functions called when within a minibuffer
959 invoke recursive minibuffers (to read arguments, or whatever) */
960 int f_enable_recursive_minibuffers;
961
962 /* Nonzero means don't ignore text properties
963 in Fread_from_minibuffer. */
964 int f_minibuffer_allow_text_properties;
965
966 /* help-form is bound to this while in the minibuffer. */
967 Lisp_Object f_Vminibuffer_help_form;
968
969 /* Variable which is the history list to add minibuffer values to. */
970 Lisp_Object f_Vminibuffer_history_variable;
971
972 /* Current position in the history list (adjusted by M-n and M-p). */
973 Lisp_Object f_Vminibuffer_history_position;
974
975 /* Text properties that are added to minibuffer prompts.
976 These are in addition to the basic `field' property, and stickiness
977 properties. */
978 Lisp_Object f_Vminibuffer_prompt_properties;
979
980 Lisp_Object f_Vminibuffer_setup_hook;
981
982 Lisp_Object f_Vminibuffer_exit_hook;
983
984 Lisp_Object f_Vread_expression_history;
985
986 /* Function to call to read a buffer name. */
987 Lisp_Object f_Vread_buffer_function;
988
989 /* Nonzero means completion ignores case. */
990 int f_completion_ignore_case;
991
992 int f_read_buffer_completion_ignore_case;
993
994 /* List of regexps that should restrict possible completions. */
995 Lisp_Object f_Vcompletion_regexp_list;
996
997 /* Nonzero means raise the minibuffer frame when the minibuffer
998 is entered. */
999 int f_minibuffer_auto_raise;
1000
1001 /* Keymap for reading expressions. */
1002 Lisp_Object f_Vread_expression_map;
1003
1004 Lisp_Object f_Vminibuffer_completion_table;
1005
1006 Lisp_Object f_Vminibuffer_completion_predicate;
1007
1008 Lisp_Object f_Vminibuffer_completion_confirm;
1009
1010 Lisp_Object f_Vminibuffer_completing_file_name;
1011
1012 Lisp_Object f_Vdos_unsupported_char_glyph;
1013
1014 Lisp_Object f_Vstandard_output;
1015
1016 Lisp_Object f_Vfloat_output_format;
1017
1018 /* Maximum length of list to print in full; noninteger means
1019 effectively infinity */
1020 Lisp_Object f_Vprint_length;
1021
1022 /* Maximum depth of list to print in full; noninteger means
1023 effectively infinity. */
1024 Lisp_Object f_Vprint_level;
1025
1026 /* Nonzero means print newlines in strings as \n. */
1027 int f_print_escape_newlines;
1028
1029 /* Nonzero means to print single-byte non-ascii characters in strings as
1030 octal escapes. */
1031 int f_print_escape_nonascii;
1032
1033 /* Nonzero means to print multibyte characters in strings as hex escapes. */
1034 int f_print_escape_multibyte;
1035
1036 /* Nonzero means print (quote foo) forms as 'foo, etc. */
1037 int f_print_quoted;
1038
1039 /* Non-nil means print #: before uninterned symbols. */
1040 Lisp_Object f_Vprint_gensym;
1041
1042 /* Non-nil means print recursive structures using #n= and #n# syntax. */
1043 Lisp_Object f_Vprint_circle;
1044
1045 /* Non-nil means keep continuous number for #n= and #n# syntax
1046 between several print functions. */
1047 Lisp_Object f_Vprint_continuous_numbering;
1048
1049 Lisp_Object f_Vprint_number_table;
1050
1051 /* A flag to control printing of `charset' text property.
1052 The default value is Qdefault. */
1053 Lisp_Object f_Vprint_charset_text_property;
1054
1055 /* Nonzero means delete a process right away if it exits. */
1056 int f_delete_exited_processes;
1057
1058 /* t means use pty, nil means use a pipe,
1059 maybe other values to come. */
1060 Lisp_Object f_Vprocess_connection_type;
1061
1062 /* Non-nil means to delay reading process output to improve buffering.
1063 A value of t means that delay is reset after each send, any other
1064 non-nil value does not reset the delay. A value of nil disables
1065 adaptive read buffering completely. */
1066 Lisp_Object f_Vprocess_adaptive_read_buffering;
1067
1068 Lisp_Object f_Vsearch_spaces_regexp;
1069
1070 /* If non-nil, the match data will not be changed during call to
1071 searching or matching functions. This variable is for internal use
1072 only. */
1073 Lisp_Object f_Vinhibit_changing_match_data;
1074
1075 int f_words_include_escapes;
1076
1077 int f_parse_sexp_lookup_properties;
1078
1079 /* Nonzero means `scan-sexps' treat all multibyte characters as symbol. */
1080 int f_multibyte_syntax_as_symbol;
1081
1082 /* Non-zero means an open parenthesis in column 0 is always considered
1083 to be the start of a defun. Zero means an open parenthesis in
1084 column 0 has no special meaning. */
1085 int f_open_paren_in_column_0_is_defun_start;
1086
1087 int f_parse_sexp_ignore_comments;
1088
1089 /* Char-table of functions that find the next or previous word
1090 boundary. */
1091 Lisp_Object f_Vfind_word_boundary_function_table;
1092
1093 /* If true, use "vs", otherwise use "ve" to make the cursor visible. */
1094 int f_visible_cursor;
1095
1096 /* Functions to call after suspending a tty. */
1097 Lisp_Object f_Vsuspend_tty_functions;
1098
1099 /* Functions to call after resuming a tty. */
1100 Lisp_Object f_Vresume_tty_functions;
1101
1102 /* Nonzero means no need to redraw the entire frame on resuming a
1103 suspended Emacs. This is useful on terminals with multiple
1104 pages, where one page is used for Emacs and another for all
1105 else. */
1106 int f_no_redraw_on_reenter;
1107
1108 /* Provided for lisp packages. */
1109 int f_system_uses_terminfo;
1110
1111 /* Function to use to ring the bell. */
1112 Lisp_Object f_Vring_bell_function;
1113
1114 Lisp_Object f_Vdelete_terminal_functions;
1115
1116 Lisp_Object f_Vinhibit_point_motion_hooks;
1117
1118 Lisp_Object f_Vdefault_text_properties;
1119
1120 Lisp_Object f_Vchar_property_alias_alist;
1121
1122 Lisp_Object f_Vtext_property_default_nonsticky;
1123
1124 /* Limits controlling how much undo information to keep. */
1125 EMACS_INT f_undo_limit;
1126
1127 EMACS_INT f_undo_strong_limit;
1128
1129 Lisp_Object f_Vundo_outer_limit;
1130
1131 /* Function to call when undo_outer_limit is exceeded. */
1132 Lisp_Object f_Vundo_outer_limit_function;
1133
1134 /* Nonzero means do not record point in record_point. */
1135 int f_undo_inhibit_record_point;
1136
1137 /* Coding system for communicating with other Windows programs via the
1138 clipboard. */
1139 Lisp_Object f_Vselection_coding_system;
1140
1141 /* Coding system for the next communicating with other Windows programs. */
1142 Lisp_Object f_Vnext_selection_coding_system;
1143
1144 /* Determine whether to make frame dimensions match the screen buffer,
1145 or the current window size. The former is desirable when running
1146 over telnet, while the latter is more useful when working directly at
1147 the console with a large scroll-back buffer. */
1148 int f_w32_use_full_screen_buffer;
1149
1150 /* The colormap for converting color names to RGB values */
1151 Lisp_Object f_Vw32_color_map;
1152
1153 /* Non nil if alt key presses are passed on to Windows. */
1154 Lisp_Object f_Vw32_pass_alt_to_system;
1155
1156 /* Non nil if alt key is translated to meta_modifier, nil if it is translated
1157 to alt_modifier. */
1158 Lisp_Object f_Vw32_alt_is_meta;
1159
1160 /* If non-zero, the windows virtual key code for an alternative quit key. */
1161 int f_w32_quit_key;
1162
1163 /* Non nil if left window key events are passed on to Windows (this only
1164 affects whether "tapping" the key opens the Start menu). */
1165 Lisp_Object f_Vw32_pass_lwindow_to_system;
1166
1167 /* Non nil if right window key events are passed on to Windows (this
1168 only affects whether "tapping" the key opens the Start menu). */
1169 Lisp_Object f_Vw32_pass_rwindow_to_system;
1170
1171 /* Virtual key code used to generate "phantom" key presses in order
1172 to stop system from acting on Windows key events. */
1173 Lisp_Object f_Vw32_phantom_key_code;
1174
1175 /* Modifier associated with the left "Windows" key, or nil to act as a
1176 normal key. */
1177 Lisp_Object f_Vw32_lwindow_modifier;
1178
1179 /* Modifier associated with the right "Windows" key, or nil to act as a
1180 normal key. */
1181 Lisp_Object f_Vw32_rwindow_modifier;
1182
1183 /* Modifier associated with the "Apps" key, or nil to act as a normal
1184 key. */
1185 Lisp_Object f_Vw32_apps_modifier;
1186
1187 /* Value is nil if Num Lock acts as a function key. */
1188 Lisp_Object f_Vw32_enable_num_lock;
1189
1190 /* Value is nil if Caps Lock acts as a function key. */
1191 Lisp_Object f_Vw32_enable_caps_lock;
1192
1193 /* Modifier associated with Scroll Lock, or nil to act as a normal key. */
1194 Lisp_Object f_Vw32_scroll_lock_modifier;
1195
1196 /* Switch to control whether we inhibit requests for synthesized bold
1197 and italic versions of fonts. */
1198 int f_w32_enable_synthesized_fonts;
1199
1200 /* Enable palette management. */
1201 Lisp_Object f_Vw32_enable_palette;
1202
1203 /* Control how close left/right button down events must be to
1204 be converted to a middle button down event. */
1205 int f_w32_mouse_button_tolerance;
1206
1207 /* Minimum interval between mouse movement (and scroll bar drag)
1208 events that are passed on to the event loop. */
1209 int f_w32_mouse_move_interval;
1210
1211 /* Flag to indicate if XBUTTON events should be passed on to Windows. */
1212 int f_w32_pass_extra_mouse_buttons_to_system;
1213
1214 /* Flag to indicate if media keys should be passed on to Windows. */
1215 int f_w32_pass_multimedia_buttons_to_system;
1216
1217 /* Non nil if no window manager is in use. */
1218 Lisp_Object f_Vx_no_window_manager;
1219
1220 /* The background and shape of the mouse pointer, and shape when not
1221 over text or in the modeline. */
1222 Lisp_Object f_Vx_pointer_shape;
1223 Lisp_Object f_Vx_nontext_pointer_shape;
1224 Lisp_Object f_Vx_mode_pointer_shape;
1225
1226 /* TODO: Mouse cursor customization. */
1227 Lisp_Object f_Vx_hourglass_pointer_shape;
1228 Lisp_Object f_Vx_window_horizontal_drag_shape;
1229
1230 /* The shape when over mouse-sensitive text. */
1231 Lisp_Object f_Vx_sensitive_text_pointer_shape;
1232
1233 /* Color of chars displayed in cursor box. */
1234 Lisp_Object f_Vx_cursor_fore_pixel;
1235
1236 /* Regexp matching a font name whose width is the same as `PIXEL_SIZE'. */
1237 Lisp_Object f_Vx_pixel_size_width_font_regexp;
1238
1239 /* Alist of bdf fonts and the files that define them. */
1240 Lisp_Object f_Vw32_bdf_filename_alist;
1241
1242 /* A flag to control whether fonts are matched strictly or not. */
1243 int f_w32_strict_fontnames;
1244
1245 /* A flag to control whether we should only repaint if GetUpdateRect
1246 indicates there is an update region. */
1247 int f_w32_strict_painting;
1248
1249 /* The ANSI codepage. */
1250 int f_w32_ansi_code_page;
1251
1252 /* Maximum size for tooltips; a cons (COLUMNS . ROWS). */
1253 Lisp_Object f_Vx_max_tooltip_size;
1254
1255 /* Associative list linking character set strings to Windows codepages. */
1256 Lisp_Object f_Vw32_charset_info_alist;
1257
1258 /* Control whether spawnve quotes arguments as necessary to ensure
1259 correct parsing by child process. Because not all uses of spawnve
1260 are careful about constructing argv arrays, we make this behavior
1261 conditional (off by default). */
1262 Lisp_Object f_Vw32_quote_process_args;
1263
1264 /* Control whether create_child causes the process' window to be
1265 hidden. The default is nil. */
1266 Lisp_Object f_Vw32_start_process_show_window;
1267
1268 /* Control whether create_child causes the process to inherit Emacs'
1269 console window, or be given a new one of its own. The default is
1270 nil, to allow multiple DOS programs to run on Win95. Having separate
1271 consoles also allows Emacs to cleanly terminate process groups. */
1272 Lisp_Object f_Vw32_start_process_share_console;
1273
1274 /* Control whether create_child cause the process to inherit Emacs'
1275 error mode setting. The default is t, to minimize the possibility of
1276 subprocesses blocking when accessing unmounted drives. */
1277 Lisp_Object f_Vw32_start_process_inherit_error_mode;
1278
1279 /* Time to sleep before reading from a subprocess output pipe - this
1280 avoids the inefficiency of frequently reading small amounts of data.
1281 This is primarily necessary for handling DOS processes on Windows 95,
1282 but is useful for W32 processes on both Windows 95 and NT as well. */
1283 int f_w32_pipe_read_delay;
1284
1285 /* Control conversion of upper case file names to lower case.
1286 nil means no, t means yes. */
1287 Lisp_Object f_Vw32_downcase_file_names;
1288
1289 /* Control whether stat() attempts to generate fake but hopefully
1290 "accurate" inode values, by hashing the absolute truenames of files.
1291 This should detect aliasing between long and short names, but still
1292 allows the possibility of hash collisions. */
1293 Lisp_Object f_Vw32_generate_fake_inodes;
1294
1295 /* Control whether stat() attempts to determine file type and link count
1296 exactly, at the expense of slower operation. Since true hard links
1297 are supported on NTFS volumes, this is only relevant on NT. */
1298 Lisp_Object f_Vw32_get_true_file_attributes;
1299
1300 /* Coding system for communicating with other programs via the
1301 clipboard. */
1302
1303 /* Coding system for the next communication with other programs. */
1304
1305 /* Non-nil means Emacs uses toolkit scroll bars. */
1306 Lisp_Object f_Vx_toolkit_scroll_bars;
1307
1308 /* Non-zero means make use of UNDERLINE_POSITION font properties. */
1309 int f_x_use_underline_position_properties;
1310
1311 /* Non-zero means to draw the underline at the same place as the descent line. */
1312 int f_x_underline_at_descent_line;
1313
1314 int f_w32_use_visible_system_caret;
1315
1316 int f_w32_num_mouse_buttons;
1317
1318 Lisp_Object f_Vw32_swap_mouse_buttons;
1319
1320 /* Control whether x_raise_frame also sets input focus. */
1321 Lisp_Object f_Vw32_grab_focus_on_raise;
1322
1323 /* Control whether Caps Lock affects non-ascii characters. */
1324 Lisp_Object f_Vw32_capslock_is_shiftlock;
1325
1326 /* Control whether right-alt and left-ctrl should be recognized as AltGr. */
1327 Lisp_Object f_Vw32_recognize_altgr;
1328
1329 /* Non-nil means it is the window for C-M-v to scroll
1330 when the mini-buffer is selected. */
1331 Lisp_Object f_Vminibuf_scroll_window;
1332
1333 /* Non-nil means this is the buffer whose window C-M-v should scroll. */
1334 Lisp_Object f_Vother_window_scroll_buffer;
1335
1336 /* Non-nil means it's function to call to display temp buffers. */
1337 Lisp_Object f_Vtemp_buffer_show_function;
1338
1339 /* Non-zero means line and page scrolling on tall lines (with images)
1340 does partial scrolling by modifying window-vscroll. */
1341 int f_auto_window_vscroll_p;
1342
1343 /* Non-zero means to use mode-line-inactive face in all windows but the
1344 selected-window and the minibuffer-scroll-window when the
1345 minibuffer is active. */
1346 int f_mode_line_in_non_selected_windows;
1347
1348 /* If a window gets smaller than either of these, it is removed. */
1349 EMACS_INT f_window_min_height;
1350
1351 EMACS_INT f_window_min_width;
1352
1353 /* Number of lines of continuity in scrolling by screenfuls. */
1354 EMACS_INT f_next_screen_context_lines;
1355
1356 Lisp_Object f_Vwindow_configuration_change_hook;
1357
1358 /* Non-nil means scroll commands try to put point
1359 at the same screen height as previously. */
1360 Lisp_Object f_Vscroll_preserve_screen_position;
1361
1362 /* Non-nil means that text is inserted before window's markers. */
1363 Lisp_Object f_Vwindow_point_insertion_type;
1364
1365 /* If non-nil, then the `recenter' command with a nil argument
1366 the entire frame to be redrawn; the special value `tty' causes the
1367 frame to be redrawn only if it is a tty frame. */
1368 Lisp_Object f_Vrecenter_redisplay;
1369
1370 Lisp_Object f_Vwindow_scroll_functions;
1371
1372 Lisp_Object f_Vwindow_text_change_functions;
1373
1374 Lisp_Object f_Vredisplay_end_trigger_functions;
1375
1376 /* Functions called to fontify regions of text. */
1377 Lisp_Object f_Vfontification_functions;
1378
1379 /* Non-nil means automatically select any window when the mouse
1380 cursor moves into it. */
1381 Lisp_Object f_Vmouse_autoselect_window;
1382
1383 Lisp_Object f_Vwrap_prefix;
1384
1385 Lisp_Object f_Vline_prefix;
1386
1387 /* Non-zero means draw tool bar buttons raised when the mouse moves
1388 over them. */
1389 int f_auto_raise_tool_bar_buttons_p;
1390
1391 /* Non-zero means to reposition window if cursor line is only partially visible. */
1392 int f_make_cursor_line_fully_visible_p;
1393
1394 /* Margin below tool bar in pixels. 0 or nil means no margin.
1395 If value is `internal-border-width' or `border-width',
1396 the corresponding frame parameter is used. */
1397 Lisp_Object f_Vtool_bar_border;
1398
1399 /* Margin around tool bar buttons in pixels. */
1400 Lisp_Object f_Vtool_bar_button_margin;
1401
1402 /* Thickness of shadow to draw around tool bar buttons. */
1403 EMACS_INT f_tool_bar_button_relief;
1404
1405 /* Non-nil means automatically resize tool-bars so that all tool-bar
1406 items are visible, and no blank lines remain.
1407
1408 If value is `grow-only', only make tool-bar bigger. */
1409 Lisp_Object f_Vauto_resize_tool_bars;
1410
1411 /* Type of tool bar. Can be symbols image, text, both or both-hroiz. */
1412 Lisp_Object f_Vtool_bar_style;
1413
1414 /* Maximum number of characters a label can have to be shown. */
1415 EMACS_INT f_tool_bar_max_label_size;
1416
1417 /* Non-zero means draw block and hollow cursor as wide as the glyph
1418 under it. For example, if a block cursor is over a tab, it will be
1419 drawn as wide as that tab on the display. */
1420 int f_x_stretch_cursor_p;
1421
1422 Lisp_Object f_Vinhibit_redisplay;
1423
1424 /* Non-zero means Lisp evaluation during redisplay is inhibited. */
1425 int f_inhibit_eval_during_redisplay;
1426
1427 /* Symbols used in text property values. */
1428 Lisp_Object f_Vdisplay_pixels_per_inch;
1429
1430 /* Non-nil means highlight trailing whitespace. */
1431 Lisp_Object f_Vshow_trailing_whitespace;
1432
1433 /* Non-nil means escape non-break space and hyphens. */
1434 Lisp_Object f_Vnobreak_char_display;
1435
1436 /* Non-nil means show the text cursor in void text areas
1437 i.e. in blank areas after eol and eob. This used to be
1438 the default in 21.3. */
1439 Lisp_Object f_Vvoid_text_area_pointer;
1440
1441 /* Nonzero means truncate lines in all windows less wide than the
1442 frame. */
1443 Lisp_Object f_Vtruncate_partial_width_windows;
1444
1445 /* A flag to control how to display unibyte 8-bit character. */
1446 int f_unibyte_display_via_language_environment;
1447
1448 /* Nonzero means we have more than one non-mini-buffer-only frame.
1449 Not guaranteed to be accurate except while parsing
1450 frame-title-format. */
1451 int f_multiple_frames;
1452
1453 Lisp_Object f_Vglobal_mode_string;
1454
1455 /* List of variables (symbols) which hold markers for overlay arrows.
1456 The symbols on this list are examined during redisplay to determine
1457 where to display overlay arrows. */
1458 Lisp_Object f_Voverlay_arrow_variable_list;
1459
1460 /* Marker for where to display an arrow on top of the buffer text. */
1461 Lisp_Object f_Voverlay_arrow_position;
1462
1463 /* String to display for the arrow. Only used on terminal frames. */
1464 Lisp_Object f_Voverlay_arrow_string;
1465
1466 /* Like mode-line-format, but for the title bar on a visible frame. */
1467 Lisp_Object f_Vframe_title_format;
1468
1469 /* Like mode-line-format, but for the title bar on an iconified frame. */
1470 Lisp_Object f_Vicon_title_format;
1471
1472 /* List of functions to call when a window's size changes. These
1473 functions get one arg, a frame on which one or more windows' sizes
1474 have changed. */
1475 Lisp_Object f_Vwindow_size_change_functions;
1476
1477 Lisp_Object f_Vmenu_bar_update_hook;
1478
1479 /* Nonzero means highlight the region even in nonselected windows. */
1480 int f_highlight_nonselected_windows;
1481
1482 /* If cursor motion alone moves point off frame, try scrolling this
1483 many lines up or down if that will bring it back. */
1484 EMACS_INT f_emacs_scroll_step;
1485
1486 /* Nonzero means scroll just far enough to bring point back on the
1487 screen, when appropriate. */
1488 EMACS_INT f_scroll_conservatively;
1489
1490 /* Recenter the window whenever point gets within this many lines of
1491 the top or bottom of the window. This value is translated into a
1492 pixel value by multiplying it with FRAME_LINE_HEIGHT, which means
1493 that there is really a fixed pixel height scroll margin. */
1494 EMACS_INT f_scroll_margin;
1495
1496 /* Zero means display the mode-line/header-line/menu-bar in the default face
1497 (this slightly odd definition is for compatibility with previous versions
1498 of emacs), non-zero means display them using their respective faces.
1499
1500 This variable is deprecated. */
1501 int f_mode_line_inverse_video;
1502
1503 /* Maximum buffer size for which to display line numbers. */
1504 Lisp_Object f_Vline_number_display_limit;
1505
1506 /* Line width to consider when repositioning for line number display. */
1507 EMACS_INT f_line_number_display_limit_width;
1508
1509 /* Number of lines to keep in the message log buffer. t means
1510 infinite. nil means don't log at all. */
1511 Lisp_Object f_Vmessage_log_max;
1512
1513 int f_inhibit_menubar_update;
1514
1515 /* When evaluating expressions from menu bar items (enable conditions,
1516 for instance), this is the frame they are being processed for. */
1517 Lisp_Object f_Vmenu_updating_frame;
1518
1519 /* Maximum height for resizing mini-windows. Either a float
1520 specifying a fraction of the available height, or an integer
1521 specifying a number of lines. */
1522 Lisp_Object f_Vmax_mini_window_height;
1523
1524 /* Non-zero means messages should be displayed with truncated
1525 lines instead of being continued. */
1526 int f_message_truncate_lines;
1527
1528 /* How to blink the default frame cursor off. */
1529 Lisp_Object f_Vblink_cursor_alist;
1530
1531 /* Variables to turn off display optimizations from Lisp. */
1532 int f_inhibit_try_window_id;
1533 int f_inhibit_try_window_reusing;
1534
1535 int f_inhibit_try_cursor_movement;
1536
1537 /* Non-zero means automatically scroll windows horizontally to make
1538 point visible. */
1539 int f_automatic_hscrolling_p;
1540
1541 /* How close to the margin can point get before the window is scrolled
1542 horizontally. */
1543 EMACS_INT f_hscroll_margin;
1544
1545 /* How much to scroll horizontally when point is inside the above margin. */
1546 Lisp_Object f_Vhscroll_step;
1547
1548 /* The variable `resize-mini-windows'. If nil, don't resize
1549 mini-windows. If t, always resize them to fit the text they
1550 display. If `grow-only', let mini-windows grow only until they
1551 become empty. */
1552 Lisp_Object f_Vresize_mini_windows;
1553
1554 /* Space between overline and text. */
1555 EMACS_INT f_overline_margin;
1556
1557 /* Require underline to be at least this many screen pixels below baseline
1558 This to avoid underline "merging" with the base of letters at small
1559 font sizes, particularly when x_use_underline_position_properties is on. */
1560 EMACS_INT f_underline_minimum_offset;
1561
1562 /* Non-zero means don't free realized faces. Bound while freeing
1563 realized faces is dangerous because glyph matrices might still
1564 reference them. */
1565 int f_inhibit_free_realized_faces;
1566
1567 /* Non-zero means we're allowed to display a hourglass pointer. */
1568 int f_display_hourglass_p;
1569
1570 /* Number of seconds to wait before displaying an hourglass cursor. */
1571 Lisp_Object f_Vhourglass_delay;
1572
1573 /* Char-table to control the display of glyphless characters. */
1574 Lisp_Object f_Vglyphless_char_display;
1575
1576 EMACS_INT f_debug_end_pos;
1577
1578 /* Default stipple pattern used on monochrome displays. This stipple
1579 pattern is used on monochrome displays instead of shades of gray
1580 for a face background color. See `set-face-stipple' for possible
1581 values for this variable. */
1582 Lisp_Object f_Vface_default_stipple;
1583
1584 Lisp_Object f_Vscalable_fonts_allowed;
1585
1586 /* List of regular expressions that matches names of fonts to ignore. */
1587 Lisp_Object f_Vface_ignored_fonts;
1588
1589 /* Alist of font name patterns vs the rescaling factor. */
1590 Lisp_Object f_Vface_font_rescale_alist;
1591
1592 /* Maximum number of fonts to consider in font_list. If not an
1593 integer > 0, DEFAULT_FONT_LIST_LIMIT is used instead. */
1594 Lisp_Object f_Vfont_list_limit;
1595
1596 /* Alist of global face definitions. Each element is of the form
1597 (FACE . LFACE) where FACE is a symbol naming a face and LFACE
1598 is a Lisp vector of face attributes. These faces are used
1599 to initialize faces for new frames. */
1600 Lisp_Object f_Vface_new_frame_defaults;
1601
1602 /* Alist of face remappings. Each element is of the form:
1603 (FACE REPLACEMENT...) which causes display of the face FACE to use
1604 REPLACEMENT... instead. REPLACEMENT... is interpreted the same way
1605 the value of a `face' text property is: it may be (1) A face name,
1606 (2) A list of face names, (3) A property-list of face attribute/value
1607 pairs, or (4) A list of face names intermixed with lists containing
1608 face attribute/value pairs.
1609
1610 Multiple entries in REPLACEMENT... are merged together to form the final
1611 result, with faces or attributes earlier in the list taking precedence
1612 over those that are later.
1613
1614 Face-name remapping cycles are suppressed; recursive references use
1615 the underlying face instead of the remapped face. */
1616 Lisp_Object f_Vface_remapping_alist;
1617
1618 /* An alist of defined terminal colors and their RGB values. */
1619 Lisp_Object f_Vtty_defined_color_alist;
1620
1621 /* LessTif/Motif version info. */
1622 Lisp_Object f_Vmotif_version_string;
1623
1624 /* GTK+ version info */
1625 Lisp_Object f_Vgtk_version_string;
1626
1627 /* Non-zero means prompt with the old GTK file selection dialog. */
1628 int f_x_gtk_use_old_file_dialog;
1629
1630 /* If non-zero, by default show hidden files in the GTK file chooser. */
1631 int f_x_gtk_show_hidden_files;
1632
1633 /* If non-zero, don't show additional help text in the GTK file chooser. */
1634 int f_x_gtk_file_dialog_help_text;
1635
1636 /* If non-zero, don't collapse to tool bar when it is detached. */
1637 int f_x_gtk_whole_detached_tool_bar;
1638
1639 /* If non-zero, use Gtk+ tooltips. */
1640 int f_x_gtk_use_system_tooltips;
1641
1642 /* The background and shape of the mouse pointer, and shape when not
1643 over text or in the modeline. */
1644
1645 /* The shape when over mouse-sensitive text. */
1646
1647 /* If non-nil, the pointer shape to indicate that windows can be
1648 dragged horizontally. */
1649
1650 /* Color of chars displayed in cursor box. */
1651
1652 /* Non nil if no window manager is in use. */
1653
1654 /* Regexp matching a font name whose width is the same as `PIXEL_SIZE'. */
1655
1656 /* Maximum size for tooltips; a cons (COLUMNS . ROWS). */
1657
1658 Lisp_Object f_Vx_lost_selection_functions;
1659
1660 Lisp_Object f_Vx_sent_selection_functions;
1661
1662 /* This is an alist whose CARs are selection-types (whose names are the same
1663 as the names of X Atoms) and whose CDRs are the names of Lisp functions to
1664 call to convert the given Emacs selection value to a string representing
1665 the given selection type. This is for Lisp-level extension of the emacs
1666 selection handling. */
1667 Lisp_Object f_Vselection_converter_alist;
1668
1669 /* If the selection owner takes too long to reply to a selection request,
1670 we give up on it. This is in milliseconds (0 = no timeout.) */
1671 EMACS_INT f_x_selection_timeout;
1672
1673 int f_use_system_font;
1674
1675 Lisp_Object f_Vxft_settings;
1676
1677 /* The client session id for this session as a lisp object. */
1678 Lisp_Object f_Vx_session_id;
1679
1680 /* The id we had the previous session. This is only available if we
1681 have been started by the session manager with SMID_OPT. */
1682 Lisp_Object f_Vx_session_previous_id;
1683
1684 /* Non-nil means Emacs uses toolkit scroll bars. */
1685
1686 /* Non-zero means make use of UNDERLINE_POSITION font properties. */
1687
1688 /* Non-zero means to draw the underline at the same place as the descent line. */
1689
1690 /* Non-zero means to not move point as a result of clicking on a
1691 frame to focus it (when focus-follows-mouse is nil). */
1692 int f_x_mouse_click_focus_ignore_position;
1693
1694 /* The keysyms to use for the various modifiers. */
1695 Lisp_Object f_Vx_alt_keysym;
1696 Lisp_Object f_Vx_hyper_keysym;
1697 Lisp_Object f_Vx_meta_keysym;
1698 Lisp_Object f_Vx_super_keysym;
1699
1700 Lisp_Object f_Vx_keysym_table;
1701
1702 /* Lisp communications */
1703 Lisp_Object f_ns_input_file, f_ns_input_font, f_ns_input_fontsize,
1704 f_ns_input_line;
1705 Lisp_Object f_ns_input_color, f_ns_input_text, f_ns_working_text;
1706 Lisp_Object f_ns_input_spi_name, f_ns_input_spi_arg;
1707
1708 /* Specifies which emacs modifier should be generated when NS receives
1709 the Alternate modifier. May be Qnone or any of the modifier lisp symbols.
1710 */
1711 Lisp_Object f_ns_alternate_modifier;
1712
1713 /* Specifies which emacs modifier should be generated when NS receives
1714 the right Alternate modifier. Has same values as ns_alternate_modifier
1715 plus the value Qleft which means whatever value ns_alternate_modifier has.
1716 */
1717 Lisp_Object f_ns_right_alternate_modifier;
1718
1719 /* Specifies which emacs modifier should be generated when NS receives
1720 the Command modifier. May be any of the modifier lisp symbols. */
1721 Lisp_Object f_ns_command_modifier;
1722
1723 /* Specifies which emacs modifier should be generated when NS receives
1724 the right Command modifier. Has same values as ns_command_modifier plus
1725 the value Qleft which means whatever value ns_command_modifier has. */
1726 Lisp_Object f_ns_right_command_modifier;
1727
1728 /* Specifies which emacs modifier should be generated when NS receives
1729 the Control modifier. May be any of the modifier lisp symbols. */
1730 Lisp_Object f_ns_control_modifier;
1731
1732 /* Specifies which emacs modifier should be generated when NS receives
1733 the right Control modifier. Has same values as ns_control_modifier plus
1734 the value Qleft which means whatever value ns_control_modifier has. */
1735 Lisp_Object f_ns_right_control_modifier;
1736
1737 /* Specifies which emacs modifier should be generated when NS receives
1738 the Function modifier (laptops). May be any of the modifier lisp symbols.
1739 */
1740 Lisp_Object f_ns_function_modifier;
1741
1742 /* Control via default 'GSFontAntiAlias' on OS X and GNUstep. */
1743 Lisp_Object f_ns_antialias_text;
1744
1745 /* Confirm on exit. */
1746 Lisp_Object f_ns_confirm_quit;
1747
1748 /* Alist of elements (REGEXP . IMAGE) for images of icons associated
1749 to frames.*/
1750 Lisp_Object f_Vns_icon_type_alist;
1751
1752 /* Toolkit version support. */
1753 Lisp_Object f_Vns_version_string;
1754
1755 Lisp_Object f_Vns_sent_selection_hooks;
1756 Lisp_Object f_Vns_lost_selection_hooks;
1757
1758 /* This is an association list whose elements are of the form
1759 ( SELECTION-NAME SELECTION-VALUE SELECTION-TIMESTAMP FRAME)
1760 SELECTION-NAME is a lisp symbol, whose name is the name of an X Atom.
1761 SELECTION-VALUE is the value that emacs owns for that selection.
1762 It may be any kind of Lisp object.
1763 SELECTION-TIMESTAMP is the time at which emacs began owning this
1764 selection, as a cons of two 16-bit numbers (making a 32 bit time.)
1765 FRAME is the frame for which we made the selection.
1766 If there is an entry in this alist, then it can be assumed that Emacs owns
1767 that selection.
1768 The only (eq) parts of this list that are visible from Lisp are the
1769 selection-values. */
1770 Lisp_Object f_Vselection_alist;
1771
1772 Lisp_Object f_Vns_reg_to_script;
1773
1774
1775};
1776
1777extern struct emacs_globals globals;
1778
1779#define Vafter_change_functions \
1780 globals.f_Vafter_change_functions
1781#define Vafter_init_time \
1782 globals.f_Vafter_init_time
1783#define Vafter_insert_file_functions \
1784 globals.f_Vafter_insert_file_functions
1785#define Vafter_load_alist \
1786 globals.f_Vafter_load_alist
1787#define Valternate_fontname_alist \
1788 globals.f_Valternate_fontname_alist
1789#define Vauto_composition_function \
1790 globals.f_Vauto_composition_function
1791#define Vauto_composition_mode \
1792 globals.f_Vauto_composition_mode
1793#define Vauto_fill_chars \
1794 globals.f_Vauto_fill_chars
1795#define Vauto_resize_tool_bars \
1796 globals.f_Vauto_resize_tool_bars
1797#define Vauto_save_include_big_deletions \
1798 globals.f_Vauto_save_include_big_deletions
1799#define Vauto_save_list_file_name \
1800 globals.f_Vauto_save_list_file_name
1801#define Vauto_save_timeout \
1802 globals.f_Vauto_save_timeout
1803#define Vauto_save_visited_file_name \
1804 globals.f_Vauto_save_visited_file_name
1805#define Vbefore_change_functions \
1806 globals.f_Vbefore_change_functions
1807#define Vbefore_init_time \
1808 globals.f_Vbefore_init_time
1809#define Vblink_cursor_alist \
1810 globals.f_Vblink_cursor_alist
1811#define Vbuffer_access_fontified_property \
1812 globals.f_Vbuffer_access_fontified_property
1813#define Vbuffer_access_fontify_functions \
1814 globals.f_Vbuffer_access_fontify_functions
1815#define Vbuild_files \
1816 globals.f_Vbuild_files
1817#define Vbyte_boolean_vars \
1818 globals.f_Vbyte_boolean_vars
1819#define Vbyte_code_meter \
1820 globals.f_Vbyte_code_meter
1821#define Vbytecomp_version_regexp \
1822 globals.f_Vbytecomp_version_regexp
1823#define Vchange_major_mode_hook \
1824 globals.f_Vchange_major_mode_hook
1825#define Vchar_direction_table \
1826 globals.f_Vchar_direction_table
1827#define Vchar_property_alias_alist \
1828 globals.f_Vchar_property_alias_alist
1829#define Vchar_script_table \
1830 globals.f_Vchar_script_table
1831#define Vchar_width_table \
1832 globals.f_Vchar_width_table
1833#define Vcharset_list \
1834 globals.f_Vcharset_list
1835#define Vcharset_map_path \
1836 globals.f_Vcharset_map_path
1837#define Vcharset_revision_table \
1838 globals.f_Vcharset_revision_table
1839#define Vcode_conversion_map_vector \
1840 globals.f_Vcode_conversion_map_vector
1841#define Vcoding_category_list \
1842 globals.f_Vcoding_category_list
1843#define Vcoding_system_alist \
1844 globals.f_Vcoding_system_alist
1845#define Vcoding_system_for_read \
1846 globals.f_Vcoding_system_for_read
1847#define Vcoding_system_for_write \
1848 globals.f_Vcoding_system_for_write
1849#define Vcoding_system_list \
1850 globals.f_Vcoding_system_list
1851#define Vcombine_after_change_calls \
1852 globals.f_Vcombine_after_change_calls
1853#define Vcommand_debug_status \
1854 globals.f_Vcommand_debug_status
1855#define Vcommand_error_function \
1856 globals.f_Vcommand_error_function
1857#define Vcommand_history \
1858 globals.f_Vcommand_history
1859#define Vcommand_hook_internal \
1860 globals.f_Vcommand_hook_internal
1861#define Vcommand_line_args \
1862 globals.f_Vcommand_line_args
1863#define Vcompletion_ignored_extensions \
1864 globals.f_Vcompletion_ignored_extensions
1865#define Vcompletion_regexp_list \
1866 globals.f_Vcompletion_regexp_list
1867#define Vcompose_chars_after_function \
1868 globals.f_Vcompose_chars_after_function
1869#define Vcomposition_function_table \
1870 globals.f_Vcomposition_function_table
1871#define Vconfigure_info_directory \
1872 globals.f_Vconfigure_info_directory
1873#define Vcurrent_iso639_language \
1874 globals.f_Vcurrent_iso639_language
1875#define Vcurrent_load_list \
1876 globals.f_Vcurrent_load_list
1877#define Vcurrent_prefix_arg \
1878 globals.f_Vcurrent_prefix_arg
1879#define Vdata_directory \
1880 globals.f_Vdata_directory
1881#define Vdbus_debug \
1882 globals.f_Vdbus_debug
1883#define Vdbus_registered_buses \
1884 globals.f_Vdbus_registered_buses
1885#define Vdbus_registered_objects_table \
1886 globals.f_Vdbus_registered_objects_table
1887#define Vdeactivate_mark \
1888 globals.f_Vdeactivate_mark
1889#define Vdebug_ignored_errors \
1890 globals.f_Vdebug_ignored_errors
1891#define Vdebug_on_error \
1892 globals.f_Vdebug_on_error
1893#define Vdebug_on_signal \
1894 globals.f_Vdebug_on_signal
1895#define Vdebugger \
1896 globals.f_Vdebugger
1897#define Vdefault_file_name_coding_system \
1898 globals.f_Vdefault_file_name_coding_system
1899#define Vdefault_frame_alist \
1900 globals.f_Vdefault_frame_alist
1901#define Vdefault_frame_scroll_bars \
1902 globals.f_Vdefault_frame_scroll_bars
1903#define Vdefault_process_coding_system \
1904 globals.f_Vdefault_process_coding_system
1905#define Vdefault_text_properties \
1906 globals.f_Vdefault_text_properties
1907#define Vdeferred_action_function \
1908 globals.f_Vdeferred_action_function
1909#define Vdeferred_action_list \
1910 globals.f_Vdeferred_action_list
1911#define Vdefine_key_rebound_commands \
1912 globals.f_Vdefine_key_rebound_commands
1913#define Vdelete_frame_functions \
1914 globals.f_Vdelete_frame_functions
1915#define Vdelete_terminal_functions \
1916 globals.f_Vdelete_terminal_functions
1917#define Vdisable_point_adjustment \
1918 globals.f_Vdisable_point_adjustment
1919#define Vdisplay_pixels_per_inch \
1920 globals.f_Vdisplay_pixels_per_inch
1921#define Vdoc_directory \
1922 globals.f_Vdoc_directory
1923#define Vdoc_file_name \
1924 globals.f_Vdoc_file_name
1925#define Vdos_display_scancodes \
1926 globals.f_Vdos_display_scancodes
1927#define Vdos_unsupported_char_glyph \
1928 globals.f_Vdos_unsupported_char_glyph
1929#define Vdos_version \
1930 globals.f_Vdos_version
1931#define Vdos_windows_version \
1932 globals.f_Vdos_windows_version
1933#define Vdouble_click_time \
1934 globals.f_Vdouble_click_time
1935#define Vdynamic_library_alist \
1936 globals.f_Vdynamic_library_alist
1937#define Vecho_keystrokes \
1938 globals.f_Vecho_keystrokes
1939#define Vemacs_copyright \
1940 globals.f_Vemacs_copyright
1941#define Vemacs_version \
1942 globals.f_Vemacs_version
1943#define Vemulation_mode_map_alists \
1944 globals.f_Vemulation_mode_map_alists
1945#define Venable_character_translation \
1946 globals.f_Venable_character_translation
1947#define Venable_disabled_menus_and_buttons \
1948 globals.f_Venable_disabled_menus_and_buttons
1949#define Veval_buffer_list \
1950 globals.f_Veval_buffer_list
1951#define Vexec_directory \
1952 globals.f_Vexec_directory
1953#define Vexec_path \
1954 globals.f_Vexec_path
1955#define Vexec_suffixes \
1956 globals.f_Vexec_suffixes
1957#define Vkbd_macro_termination_hook \
1958 globals.f_Vkbd_macro_termination_hook
1959#define Vexecuting_kbd_macro \
1960 globals.f_Vexecuting_kbd_macro
1961#define Vface_default_stipple \
1962 globals.f_Vface_default_stipple
1963#define Vface_font_rescale_alist \
1964 globals.f_Vface_font_rescale_alist
1965#define Vface_ignored_fonts \
1966 globals.f_Vface_ignored_fonts
1967#define Vface_new_frame_defaults \
1968 globals.f_Vface_new_frame_defaults
1969#define Vface_remapping_alist \
1970 globals.f_Vface_remapping_alist
1971#define Vfeatures \
1972 globals.f_Vfeatures
1973#define Vfile_coding_system_alist \
1974 globals.f_Vfile_coding_system_alist
1975#define Vfile_name_coding_system \
1976 globals.f_Vfile_name_coding_system
1977#define Vfile_name_handler_alist \
1978 globals.f_Vfile_name_handler_alist
1979#define Vfind_word_boundary_function_table \
1980 globals.f_Vfind_word_boundary_function_table
1981#define Vfirst_change_hook \
1982 globals.f_Vfirst_change_hook
1983#define Vfloat_output_format \
1984 globals.f_Vfloat_output_format
1985#define Vfont_ccl_encoder_alist \
1986 globals.f_Vfont_ccl_encoder_alist
1987#define Vfont_encoding_alist \
1988 globals.f_Vfont_encoding_alist
1989#define Vfont_encoding_charset_alist \
1990 globals.f_Vfont_encoding_charset_alist
1991#define Vfont_list_limit \
1992 globals.f_Vfont_list_limit
1993#define Vfont_log \
1994 globals.f_Vfont_log
1995#define Vfont_slant_table \
1996 globals.f_Vfont_slant_table
1997#define Vfont_weight_table \
1998 globals.f_Vfont_weight_table
1999#define Vfont_width_table \
2000 globals.f_Vfont_width_table
2001#define Vfontification_functions \
2002 globals.f_Vfontification_functions
2003#define Vfontset_alias_alist \
2004 globals.f_Vfontset_alias_alist
2005#define Vframe_alpha_lower_limit \
2006 globals.f_Vframe_alpha_lower_limit
2007#define Vframe_title_format \
2008 globals.f_Vframe_title_format
2009#define Vfringe_bitmaps \
2010 globals.f_Vfringe_bitmaps
2011#define Vfunction_key_map \
2012 globals.f_Vfunction_key_map
2013#define Vgc_cons_percentage \
2014 globals.f_Vgc_cons_percentage
2015#define Vgc_elapsed \
2016 globals.f_Vgc_elapsed
2017#define Vglobal_disable_point_adjustment \
2018 globals.f_Vglobal_disable_point_adjustment
2019#define Vglobal_mode_string \
2020 globals.f_Vglobal_mode_string
2021#define Vglyph_table \
2022 globals.f_Vglyph_table
2023#define Vglyphless_char_display \
2024 globals.f_Vglyphless_char_display
2025#define Vgtk_version_string \
2026 globals.f_Vgtk_version_string
2027#define Vhelp_char \
2028 globals.f_Vhelp_char
2029#define Vhelp_event_list \
2030 globals.f_Vhelp_event_list
2031#define Vhelp_form \
2032 globals.f_Vhelp_form
2033#define Vhistory_add_new_input \
2034 globals.f_Vhistory_add_new_input
2035#define Vhistory_length \
2036 globals.f_Vhistory_length
2037#define Vhourglass_delay \
2038 globals.f_Vhourglass_delay
2039#define Vhscroll_step \
2040 globals.f_Vhscroll_step
2041#define Vicon_title_format \
2042 globals.f_Vicon_title_format
2043#define Vignore_relative_composition \
2044 globals.f_Vignore_relative_composition
2045#define Vimage_cache_eviction_delay \
2046 globals.f_Vimage_cache_eviction_delay
2047#define Vimage_types \
2048 globals.f_Vimage_types
2049#define Vimagemagick_render_type \
2050 globals.f_Vimagemagick_render_type
2051#define Vinhibit_changing_match_data \
2052 globals.f_Vinhibit_changing_match_data
2053#define Vinhibit_field_text_motion \
2054 globals.f_Vinhibit_field_text_motion
2055#define Vinhibit_file_name_handlers \
2056 globals.f_Vinhibit_file_name_handlers
2057#define Vinhibit_file_name_operation \
2058 globals.f_Vinhibit_file_name_operation
2059#define Vinhibit_point_motion_hooks \
2060 globals.f_Vinhibit_point_motion_hooks
2061#define Vinhibit_quit \
2062 globals.f_Vinhibit_quit
2063#define Vinhibit_read_only \
2064 globals.f_Vinhibit_read_only
2065#define Vinhibit_redisplay \
2066 globals.f_Vinhibit_redisplay
2067#define Vinitial_environment \
2068 globals.f_Vinitial_environment
2069#define Vinitial_window_system \
2070 globals.f_Vinitial_window_system
2071#define Vinput_method_function \
2072 globals.f_Vinput_method_function
2073#define Vinput_method_previous_message \
2074 globals.f_Vinput_method_previous_message
2075#define Vinstallation_directory \
2076 globals.f_Vinstallation_directory
2077#define Vinvocation_directory \
2078 globals.f_Vinvocation_directory
2079#define Vinvocation_name \
2080 globals.f_Vinvocation_name
2081#define Vkey_translation_map \
2082 globals.f_Vkey_translation_map
2083#define Vkill_buffer_query_functions \
2084 globals.f_Vkill_buffer_query_functions
2085#define Vkill_emacs_hook \
2086 globals.f_Vkill_emacs_hook
2087#define Vlast_code_conversion_error \
2088 globals.f_Vlast_code_conversion_error
2089#define Vlast_coding_system_used \
2090 globals.f_Vlast_coding_system_used
2091#define Vlast_event_frame \
2092 globals.f_Vlast_event_frame
2093#define Vlatin_extra_code_table \
2094 globals.f_Vlatin_extra_code_table
2095#define Vline_number_display_limit \
2096 globals.f_Vline_number_display_limit
2097#define Vline_prefix \
2098 globals.f_Vline_prefix
2099#define Vload_file_name \
2100 globals.f_Vload_file_name
2101#define Vload_file_rep_suffixes \
2102 globals.f_Vload_file_rep_suffixes
2103#define Vload_history \
2104 globals.f_Vload_history
2105#define Vload_path \
2106 globals.f_Vload_path
2107#define Vload_read_function \
2108 globals.f_Vload_read_function
2109#define Vload_source_file_function \
2110 globals.f_Vload_source_file_function
2111#define Vload_suffixes \
2112 globals.f_Vload_suffixes
2113#define Vlocale_coding_system \
2114 globals.f_Vlocale_coding_system
2115#define Vlucid_menu_bar_dirty_flag \
2116 globals.f_Vlucid_menu_bar_dirty_flag
2117#define Vmacro_declaration_function \
2118 globals.f_Vmacro_declaration_function
2119#define Vmake_pointer_invisible \
2120 globals.f_Vmake_pointer_invisible
2121#define Vmark_even_if_inactive \
2122 globals.f_Vmark_even_if_inactive
2123#define Vmax_image_size \
2124 globals.f_Vmax_image_size
2125#define Vmax_mini_window_height \
2126 globals.f_Vmax_mini_window_height
2127#define Vmemory_full \
2128 globals.f_Vmemory_full
2129#define Vmemory_signal_data \
2130 globals.f_Vmemory_signal_data
2131#define Vmenu_bar_final_items \
2132 globals.f_Vmenu_bar_final_items
2133#define Vmenu_bar_mode \
2134 globals.f_Vmenu_bar_mode
2135#define Vmenu_bar_update_hook \
2136 globals.f_Vmenu_bar_update_hook
2137#define Vmenu_updating_frame \
2138 globals.f_Vmenu_updating_frame
2139#define Vmessage_log_max \
2140 globals.f_Vmessage_log_max
2141#define Vminibuf_scroll_window \
2142 globals.f_Vminibuf_scroll_window
2143#define Vminibuffer_completing_file_name \
2144 globals.f_Vminibuffer_completing_file_name
2145#define Vminibuffer_completion_confirm \
2146 globals.f_Vminibuffer_completion_confirm
2147#define Vminibuffer_completion_predicate \
2148 globals.f_Vminibuffer_completion_predicate
2149#define Vminibuffer_completion_table \
2150 globals.f_Vminibuffer_completion_table
2151#define Vminibuffer_exit_hook \
2152 globals.f_Vminibuffer_exit_hook
2153#define Vminibuffer_help_form \
2154 globals.f_Vminibuffer_help_form
2155#define Vminibuffer_history_position \
2156 globals.f_Vminibuffer_history_position
2157#define Vminibuffer_history_variable \
2158 globals.f_Vminibuffer_history_variable
2159#define Vminibuffer_local_completion_map \
2160 globals.f_Vminibuffer_local_completion_map
2161#define Vminibuffer_local_filename_completion_map \
2162 globals.f_Vminibuffer_local_filename_completion_map
2163#define Vminibuffer_local_filename_must_match_map \
2164 globals.f_Vminibuffer_local_filename_must_match_map
2165#define Vminibuffer_local_map \
2166 globals.f_Vminibuffer_local_map
2167#define Vminibuffer_local_must_match_map \
2168 globals.f_Vminibuffer_local_must_match_map
2169#define Vminibuffer_local_ns_map \
2170 globals.f_Vminibuffer_local_ns_map
2171#define Vminibuffer_message_timeout \
2172 globals.f_Vminibuffer_message_timeout
2173#define Vminibuffer_prompt_properties \
2174 globals.f_Vminibuffer_prompt_properties
2175#define Vminibuffer_setup_hook \
2176 globals.f_Vminibuffer_setup_hook
2177#define Vminor_mode_map_alist \
2178 globals.f_Vminor_mode_map_alist
2179#define Vminor_mode_overriding_map_alist \
2180 globals.f_Vminor_mode_overriding_map_alist
2181#define Vmost_negative_fixnum \
2182 globals.f_Vmost_negative_fixnum
2183#define Vmost_positive_fixnum \
2184 globals.f_Vmost_positive_fixnum
2185#define Vmotif_version_string \
2186 globals.f_Vmotif_version_string
2187#define Vmouse_autoselect_window \
2188 globals.f_Vmouse_autoselect_window
2189#define Vmouse_highlight \
2190 globals.f_Vmouse_highlight
2191#define Vmouse_leave_buffer_hook \
2192 globals.f_Vmouse_leave_buffer_hook
2193#define Vmouse_position_function \
2194 globals.f_Vmouse_position_function
2195#define Vnetwork_coding_system_alist \
2196 globals.f_Vnetwork_coding_system_alist
2197#define Vnext_selection_coding_system \
2198 globals.f_Vnext_selection_coding_system
2199#define Vnobreak_char_display \
2200 globals.f_Vnobreak_char_display
2201#define Vobarray \
2202 globals.f_Vobarray
2203#define Vold_style_backquotes \
2204 globals.f_Vold_style_backquotes
2205#define Voperating_system_release \
2206 globals.f_Voperating_system_release
2207#define Votf_script_alist \
2208 globals.f_Votf_script_alist
2209#define Vother_window_scroll_buffer \
2210 globals.f_Vother_window_scroll_buffer
2211#define Voverflow_newline_into_fringe \
2212 globals.f_Voverflow_newline_into_fringe
2213#define Voverlay_arrow_position \
2214 globals.f_Voverlay_arrow_position
2215#define Voverlay_arrow_string \
2216 globals.f_Voverlay_arrow_string
2217#define Voverlay_arrow_variable_list \
2218 globals.f_Voverlay_arrow_variable_list
2219#define Voverriding_local_map \
2220 globals.f_Voverriding_local_map
2221#define Voverriding_local_map_menu_flag \
2222 globals.f_Voverriding_local_map_menu_flag
2223#define Vpath_separator \
2224 globals.f_Vpath_separator
2225#define Vpost_command_hook \
2226 globals.f_Vpost_command_hook
2227#define Vpost_gc_hook \
2228 globals.f_Vpost_gc_hook
2229#define Vpost_self_insert_hook \
2230 globals.f_Vpost_self_insert_hook
2231#define Vpre_command_hook \
2232 globals.f_Vpre_command_hook
2233#define Vprefix_help_command \
2234 globals.f_Vprefix_help_command
2235#define Vpreloaded_file_list \
2236 globals.f_Vpreloaded_file_list
2237#define Vprevious_system_messages_locale \
2238 globals.f_Vprevious_system_messages_locale
2239#define Vprevious_system_time_locale \
2240 globals.f_Vprevious_system_time_locale
2241#define Vprint_charset_text_property \
2242 globals.f_Vprint_charset_text_property
2243#define Vprint_circle \
2244 globals.f_Vprint_circle
2245#define Vprint_continuous_numbering \
2246 globals.f_Vprint_continuous_numbering
2247#define Vprint_gensym \
2248 globals.f_Vprint_gensym
2249#define Vprint_length \
2250 globals.f_Vprint_length
2251#define Vprint_level \
2252 globals.f_Vprint_level
2253#define Vprint_number_table \
2254 globals.f_Vprint_number_table
2255#define Vprintable_chars \
2256 globals.f_Vprintable_chars
2257#define Vprocess_adaptive_read_buffering \
2258 globals.f_Vprocess_adaptive_read_buffering
2259#define Vprocess_coding_system_alist \
2260 globals.f_Vprocess_coding_system_alist
2261#define Vprocess_connection_type \
2262 globals.f_Vprocess_connection_type
2263#define Vprocess_environment \
2264 globals.f_Vprocess_environment
2265#define Vpurify_flag \
2266 globals.f_Vpurify_flag
2267#define Vquit_flag \
2268 globals.f_Vquit_flag
2269#define Vread_buffer_function \
2270 globals.f_Vread_buffer_function
2271#define Vread_expression_history \
2272 globals.f_Vread_expression_history
2273#define Vread_circle \
2274 globals.f_Vread_circle
2275#define Vread_expression_map \
2276 globals.f_Vread_expression_map
2277#define Vread_symbol_positions_list \
2278 globals.f_Vread_symbol_positions_list
2279#define Vread_with_symbol_positions \
2280 globals.f_Vread_with_symbol_positions
2281#define Vrecenter_redisplay \
2282 globals.f_Vrecenter_redisplay
2283#define Vredisplay_end_trigger_functions \
2284 globals.f_Vredisplay_end_trigger_functions
2285#define Vredisplay_preemption_period \
2286 globals.f_Vredisplay_preemption_period
2287#define Vresize_mini_windows \
2288 globals.f_Vresize_mini_windows
2289#define Vresume_tty_functions \
2290 globals.f_Vresume_tty_functions
2291#define Vring_bell_function \
2292 globals.f_Vring_bell_function
2293#define Vsaved_region_selection \
2294 globals.f_Vsaved_region_selection
2295#define Vscalable_fonts_allowed \
2296 globals.f_Vscalable_fonts_allowed
2297#define Vscript_representative_chars \
2298 globals.f_Vscript_representative_chars
2299#define Vscroll_preserve_screen_position \
2300 globals.f_Vscroll_preserve_screen_position
2301#define Vsearch_spaces_regexp \
2302 globals.f_Vsearch_spaces_regexp
2303#define Vselect_active_regions \
2304 globals.f_Vselect_active_regions
2305#define Vselect_safe_coding_system_function \
2306 globals.f_Vselect_safe_coding_system_function
2307#define Vselection_coding_system \
2308 globals.f_Vselection_coding_system
2309#define Vselection_converter_alist \
2310 globals.f_Vselection_converter_alist
2311#define Vset_auto_coding_function \
2312 globals.f_Vset_auto_coding_function
2313#define Vshared_game_score_directory \
2314 globals.f_Vshared_game_score_directory
2315#define Vshell_file_name \
2316 globals.f_Vshell_file_name
2317#define Vshow_help_function \
2318 globals.f_Vshow_help_function
2319#define Vshow_trailing_whitespace \
2320 globals.f_Vshow_trailing_whitespace
2321#define Vsignal_hook_function \
2322 globals.f_Vsignal_hook_function
2323#define Vsource_directory \
2324 globals.f_Vsource_directory
2325#define Vspecial_event_map \
2326 globals.f_Vspecial_event_map
2327#define Vstandard_display_table \
2328 globals.f_Vstandard_display_table
2329#define Vstandard_input \
2330 globals.f_Vstandard_input
2331#define Vstandard_output \
2332 globals.f_Vstandard_output
2333#define Vstandard_translation_table_for_decode \
2334 globals.f_Vstandard_translation_table_for_decode
2335#define Vstandard_translation_table_for_encode \
2336 globals.f_Vstandard_translation_table_for_encode
2337#define Vsuggest_key_bindings \
2338 globals.f_Vsuggest_key_bindings
2339#define Vsuspend_tty_functions \
2340 globals.f_Vsuspend_tty_functions
2341#define Vsystem_configuration \
2342 globals.f_Vsystem_configuration
2343#define Vsystem_configuration_options \
2344 globals.f_Vsystem_configuration_options
2345#define Vsystem_messages_locale \
2346 globals.f_Vsystem_messages_locale
2347#define Vsystem_name \
2348 globals.f_Vsystem_name
2349#define Vsystem_time_locale \
2350 globals.f_Vsystem_time_locale
2351#define Vsystem_type \
2352 globals.f_Vsystem_type
2353#define Vtemp_buffer_show_function \
2354 globals.f_Vtemp_buffer_show_function
2355#define Vtemporary_file_directory \
2356 globals.f_Vtemporary_file_directory
2357#define Vterminal_frame \
2358 globals.f_Vterminal_frame
2359#define Vtext_property_default_nonsticky \
2360 globals.f_Vtext_property_default_nonsticky
2361#define Vthis_command \
2362 globals.f_Vthis_command
2363#define Vthis_command_keys_shift_translated \
2364 globals.f_Vthis_command_keys_shift_translated
2365#define Vthis_original_command \
2366 globals.f_Vthis_original_command
2367#define Vthrow_on_input \
2368 globals.f_Vthrow_on_input
2369#define Vtimer_idle_list \
2370 globals.f_Vtimer_idle_list
2371#define Vtimer_list \
2372 globals.f_Vtimer_list
2373#define Vtool_bar_border \
2374 globals.f_Vtool_bar_border
2375#define Vtool_bar_button_margin \
2376 globals.f_Vtool_bar_button_margin
2377#define Vtool_bar_mode \
2378 globals.f_Vtool_bar_mode
2379#define Vtool_bar_separator_image_expression \
2380 globals.f_Vtool_bar_separator_image_expression
2381#define Vtool_bar_style \
2382 globals.f_Vtool_bar_style
2383#define Vtop_level \
2384 globals.f_Vtop_level
2385#define Vtransient_mark_mode \
2386 globals.f_Vtransient_mark_mode
2387#define Vtranslation_hash_table_vector \
2388 globals.f_Vtranslation_hash_table_vector
2389#define Vtranslation_table_for_input \
2390 globals.f_Vtranslation_table_for_input
2391#define Vtranslation_table_vector \
2392 globals.f_Vtranslation_table_vector
2393#define Vtruncate_partial_width_windows \
2394 globals.f_Vtruncate_partial_width_windows
2395#define Vtty_defined_color_alist \
2396 globals.f_Vtty_defined_color_alist
2397#define Vtty_erase_char \
2398 globals.f_Vtty_erase_char
2399#define Vundo_outer_limit \
2400 globals.f_Vundo_outer_limit
2401#define Vundo_outer_limit_function \
2402 globals.f_Vundo_outer_limit_function
2403#define Vunicode_category_table \
2404 globals.f_Vunicode_category_table
2405#define Vunread_command_events \
2406 globals.f_Vunread_command_events
2407#define Vunread_input_method_events \
2408 globals.f_Vunread_input_method_events
2409#define Vunread_post_input_method_events \
2410 globals.f_Vunread_post_input_method_events
2411#define Vuse_default_ascent \
2412 globals.f_Vuse_default_ascent
2413#define Vuser_full_name \
2414 globals.f_Vuser_full_name
2415#define Vuser_init_file \
2416 globals.f_Vuser_init_file
2417#define Vuser_login_name \
2418 globals.f_Vuser_login_name
2419#define Vuser_real_login_name \
2420 globals.f_Vuser_real_login_name
2421#define Vvalues \
2422 globals.f_Vvalues
2423#define Vvertical_centering_font_regexp \
2424 globals.f_Vvertical_centering_font_regexp
2425#define Vvoid_text_area_pointer \
2426 globals.f_Vvoid_text_area_pointer
2427#define Vw32_alt_is_meta \
2428 globals.f_Vw32_alt_is_meta
2429#define Vw32_apps_modifier \
2430 globals.f_Vw32_apps_modifier
2431#define Vw32_bdf_filename_alist \
2432 globals.f_Vw32_bdf_filename_alist
2433#define Vw32_capslock_is_shiftlock \
2434 globals.f_Vw32_capslock_is_shiftlock
2435#define Vw32_charset_info_alist \
2436 globals.f_Vw32_charset_info_alist
2437#define Vw32_color_map \
2438 globals.f_Vw32_color_map
2439#define Vw32_downcase_file_names \
2440 globals.f_Vw32_downcase_file_names
2441#define Vw32_enable_caps_lock \
2442 globals.f_Vw32_enable_caps_lock
2443#define Vw32_enable_num_lock \
2444 globals.f_Vw32_enable_num_lock
2445#define Vw32_enable_palette \
2446 globals.f_Vw32_enable_palette
2447#define Vw32_generate_fake_inodes \
2448 globals.f_Vw32_generate_fake_inodes
2449#define Vw32_get_true_file_attributes \
2450 globals.f_Vw32_get_true_file_attributes
2451#define Vw32_grab_focus_on_raise \
2452 globals.f_Vw32_grab_focus_on_raise
2453#define Vw32_lwindow_modifier \
2454 globals.f_Vw32_lwindow_modifier
2455#define Vw32_pass_alt_to_system \
2456 globals.f_Vw32_pass_alt_to_system
2457#define Vw32_pass_lwindow_to_system \
2458 globals.f_Vw32_pass_lwindow_to_system
2459#define Vw32_pass_rwindow_to_system \
2460 globals.f_Vw32_pass_rwindow_to_system
2461#define Vw32_phantom_key_code \
2462 globals.f_Vw32_phantom_key_code
2463#define Vw32_quote_process_args \
2464 globals.f_Vw32_quote_process_args
2465#define Vw32_recognize_altgr \
2466 globals.f_Vw32_recognize_altgr
2467#define Vw32_rwindow_modifier \
2468 globals.f_Vw32_rwindow_modifier
2469#define Vw32_scroll_lock_modifier \
2470 globals.f_Vw32_scroll_lock_modifier
2471#define Vw32_start_process_inherit_error_mode \
2472 globals.f_Vw32_start_process_inherit_error_mode
2473#define Vw32_start_process_share_console \
2474 globals.f_Vw32_start_process_share_console
2475#define Vw32_start_process_show_window \
2476 globals.f_Vw32_start_process_show_window
2477#define Vw32_swap_mouse_buttons \
2478 globals.f_Vw32_swap_mouse_buttons
2479#define Vwhere_is_preferred_modifier \
2480 globals.f_Vwhere_is_preferred_modifier
2481#define Vwindow_configuration_change_hook \
2482 globals.f_Vwindow_configuration_change_hook
2483#define Vwindow_point_insertion_type \
2484 globals.f_Vwindow_point_insertion_type
2485#define Vwindow_scroll_functions \
2486 globals.f_Vwindow_scroll_functions
2487#define Vwindow_size_change_functions \
2488 globals.f_Vwindow_size_change_functions
2489#define Vwindow_system_version \
2490 globals.f_Vwindow_system_version
2491#define Vwindow_text_change_functions \
2492 globals.f_Vwindow_text_change_functions
2493#define Vword_combining_categories \
2494 globals.f_Vword_combining_categories
2495#define Vword_separating_categories \
2496 globals.f_Vword_separating_categories
2497#define Vwrap_prefix \
2498 globals.f_Vwrap_prefix
2499#define Vwrite_region_annotate_functions \
2500 globals.f_Vwrite_region_annotate_functions
2501#define Vwrite_region_annotations_so_far \
2502 globals.f_Vwrite_region_annotations_so_far
2503#define Vwrite_region_post_annotation_function \
2504 globals.f_Vwrite_region_post_annotation_function
2505#define Vx_alt_keysym \
2506 globals.f_Vx_alt_keysym
2507#define Vx_bitmap_file_path \
2508 globals.f_Vx_bitmap_file_path
2509#define Vx_cursor_fore_pixel \
2510 globals.f_Vx_cursor_fore_pixel
2511#define Vx_hourglass_pointer_shape \
2512 globals.f_Vx_hourglass_pointer_shape
2513#define Vx_hyper_keysym \
2514 globals.f_Vx_hyper_keysym
2515#define Vx_keysym_table \
2516 globals.f_Vx_keysym_table
2517#define Vx_lost_selection_functions \
2518 globals.f_Vx_lost_selection_functions
2519#define Vx_max_tooltip_size \
2520 globals.f_Vx_max_tooltip_size
2521#define Vx_meta_keysym \
2522 globals.f_Vx_meta_keysym
2523#define Vx_mode_pointer_shape \
2524 globals.f_Vx_mode_pointer_shape
2525#define Vx_no_window_manager \
2526 globals.f_Vx_no_window_manager
2527#define Vx_nontext_pointer_shape \
2528 globals.f_Vx_nontext_pointer_shape
2529#define Vx_pixel_size_width_font_regexp \
2530 globals.f_Vx_pixel_size_width_font_regexp
2531#define Vx_pointer_shape \
2532 globals.f_Vx_pointer_shape
2533#define Vx_resource_class \
2534 globals.f_Vx_resource_class
2535#define Vx_resource_name \
2536 globals.f_Vx_resource_name
2537#define Vx_sensitive_text_pointer_shape \
2538 globals.f_Vx_sensitive_text_pointer_shape
2539#define Vx_sent_selection_functions \
2540 globals.f_Vx_sent_selection_functions
2541#define Vx_session_id \
2542 globals.f_Vx_session_id
2543#define Vx_session_previous_id \
2544 globals.f_Vx_session_previous_id
2545#define Vx_super_keysym \
2546 globals.f_Vx_super_keysym
2547#define Vx_toolkit_scroll_bars \
2548 globals.f_Vx_toolkit_scroll_bars
2549#define Vx_window_horizontal_drag_shape \
2550 globals.f_Vx_window_horizontal_drag_shape
2551#define Vxft_settings \
2552 globals.f_Vxft_settings
2553#define auto_raise_tool_bar_buttons_p \
2554 globals.f_auto_raise_tool_bar_buttons_p
2555#define auto_save_interval \
2556 globals.f_auto_save_interval
2557#define auto_window_vscroll_p \
2558 globals.f_auto_window_vscroll_p
2559#define automatic_hscrolling_p \
2560 globals.f_automatic_hscrolling_p
2561#define baud_rate \
2562 globals.f_baud_rate
2563#define byte_debug_flag \
2564 globals.f_byte_debug_flag
2565#define byte_metering_on \
2566 globals.f_byte_metering_on
2567#define cannot_suspend \
2568 globals.f_cannot_suspend
2569#define check_markers_debug_flag \
2570 globals.f_check_markers_debug_flag
2571#define coding_system_require_warning \
2572 globals.f_coding_system_require_warning
2573#define completion_ignore_case \
2574 globals.f_completion_ignore_case
2575#define cons_cells_consed \
2576 globals.f_cons_cells_consed
2577#define cross_disabled_images \
2578 globals.f_cross_disabled_images
2579#define cursor_in_echo_area \
2580 globals.f_cursor_in_echo_area
2581#define debug_end_pos \
2582 globals.f_debug_end_pos
2583#define debug_on_next_call \
2584 globals.f_debug_on_next_call
2585#define debug_on_quit \
2586 globals.f_debug_on_quit
2587#define debugger_may_continue \
2588 globals.f_debugger_may_continue
2589#define delete_by_moving_to_trash \
2590 globals.f_delete_by_moving_to_trash
2591#define delete_exited_processes \
2592 globals.f_delete_exited_processes
2593#define display_hourglass_p \
2594 globals.f_display_hourglass_p
2595#define do_mouse_tracking \
2596 globals.f_do_mouse_tracking
2597#define dos_codepage \
2598 globals.f_dos_codepage
2599#define dos_country_code \
2600 globals.f_dos_country_code
2601#define dos_decimal_point \
2602 globals.f_dos_decimal_point
2603#define dos_hyper_key \
2604 globals.f_dos_hyper_key
2605#define dos_keyboard_layout \
2606 globals.f_dos_keyboard_layout
2607#define dos_keypad_mode \
2608 globals.f_dos_keypad_mode
2609#define dos_super_key \
2610 globals.f_dos_super_key
2611#define dos_timezone_offset \
2612 globals.f_dos_timezone_offset
2613#define double_click_fuzz \
2614 globals.f_double_click_fuzz
2615#define emacs_scroll_step \
2616 globals.f_emacs_scroll_step
2617#define enable_recursive_minibuffers \
2618 globals.f_enable_recursive_minibuffers
2619#define eol_mnemonic_dos \
2620 globals.f_eol_mnemonic_dos
2621#define eol_mnemonic_mac \
2622 globals.f_eol_mnemonic_mac
2623#define eol_mnemonic_undecided \
2624 globals.f_eol_mnemonic_undecided
2625#define eol_mnemonic_unix \
2626 globals.f_eol_mnemonic_unix
2627#define executing_kbd_macro_index \
2628 globals.f_executing_kbd_macro_index
2629#define extra_keyboard_modifiers \
2630 globals.f_extra_keyboard_modifiers
2631#define floats_consed \
2632 globals.f_floats_consed
2633#define focus_follows_mouse \
2634 globals.f_focus_follows_mouse
2635#define force_load_messages \
2636 globals.f_force_load_messages
2637#define garbage_collection_messages \
2638 globals.f_garbage_collection_messages
2639#define gc_cons_threshold \
2640 globals.f_gc_cons_threshold
2641#define gcs_done \
2642 globals.f_gcs_done
2643#define highlight_nonselected_windows \
2644 globals.f_highlight_nonselected_windows
2645#define history_delete_duplicates \
2646 globals.f_history_delete_duplicates
2647#define hscroll_margin \
2648 globals.f_hscroll_margin
2649#define indent_tabs_mode \
2650 globals.f_indent_tabs_mode
2651#define inherit_process_coding_system \
2652 globals.f_inherit_process_coding_system
2653#define inhibit_eol_conversion \
2654 globals.f_inhibit_eol_conversion
2655#define inhibit_eval_during_redisplay \
2656 globals.f_inhibit_eval_during_redisplay
2657#define inhibit_free_realized_faces \
2658 globals.f_inhibit_free_realized_faces
2659#define inhibit_iso_escape_detection \
2660 globals.f_inhibit_iso_escape_detection
2661#define inhibit_load_charset_map \
2662 globals.f_inhibit_load_charset_map
2663#define inhibit_local_menu_bar_menus \
2664 globals.f_inhibit_local_menu_bar_menus
2665#define inhibit_menubar_update \
2666 globals.f_inhibit_menubar_update
2667#define inhibit_modification_hooks \
2668 globals.f_inhibit_modification_hooks
2669#define inhibit_null_byte_detection \
2670 globals.f_inhibit_null_byte_detection
2671#define inhibit_try_cursor_movement \
2672 globals.f_inhibit_try_cursor_movement
2673#define inhibit_try_window_id \
2674 globals.f_inhibit_try_window_id
2675#define inhibit_try_window_reusing \
2676 globals.f_inhibit_try_window_reusing
2677#define inhibit_x_resources \
2678 globals.f_inhibit_x_resources
2679#define intervals_consed \
2680 globals.f_intervals_consed
2681#define inverse_video \
2682 globals.f_inverse_video
2683#define last_command_event \
2684 globals.f_last_command_event
2685#define last_input_event \
2686 globals.f_last_input_event
2687#define last_nonmenu_event \
2688 globals.f_last_nonmenu_event
2689#define line_number_display_limit_width \
2690 globals.f_line_number_display_limit_width
2691#define load_convert_to_unibyte \
2692 globals.f_load_convert_to_unibyte
2693#define load_dangerous_libraries \
2694 globals.f_load_dangerous_libraries
2695#define load_force_doc_strings \
2696 globals.f_load_force_doc_strings
2697#define load_in_progress \
2698 globals.f_load_in_progress
2699#define make_cursor_line_fully_visible_p \
2700 globals.f_make_cursor_line_fully_visible_p
2701#define max_lisp_eval_depth \
2702 globals.f_max_lisp_eval_depth
2703#define max_specpdl_size \
2704 globals.f_max_specpdl_size
2705#define menu_prompt_more_char \
2706 globals.f_menu_prompt_more_char
2707#define menu_prompting \
2708 globals.f_menu_prompting
2709#define message_truncate_lines \
2710 globals.f_message_truncate_lines
2711#define meta_prefix_char \
2712 globals.f_meta_prefix_char
2713#define minibuffer_allow_text_properties \
2714 globals.f_minibuffer_allow_text_properties
2715#define minibuffer_auto_raise \
2716 globals.f_minibuffer_auto_raise
2717#define misc_objects_consed \
2718 globals.f_misc_objects_consed
2719#define mode_line_in_non_selected_windows \
2720 globals.f_mode_line_in_non_selected_windows
2721#define mode_line_inverse_video \
2722 globals.f_mode_line_inverse_video
2723#define multibyte_syntax_as_symbol \
2724 globals.f_multibyte_syntax_as_symbol
2725#define multiple_frames \
2726 globals.f_multiple_frames
2727#define next_screen_context_lines \
2728 globals.f_next_screen_context_lines
2729#define no_redraw_on_reenter \
2730 globals.f_no_redraw_on_reenter
2731#define noninteractive1 \
2732 globals.f_noninteractive1
2733#define num_input_keys \
2734 globals.f_num_input_keys
2735#define num_nonmacro_input_events \
2736 globals.f_num_nonmacro_input_events
2737#define open_paren_in_column_0_is_defun_start \
2738 globals.f_open_paren_in_column_0_is_defun_start
2739#define overline_margin \
2740 globals.f_overline_margin
2741#define parse_sexp_ignore_comments \
2742 globals.f_parse_sexp_ignore_comments
2743#define parse_sexp_lookup_properties \
2744 globals.f_parse_sexp_lookup_properties
2745#define polling_period \
2746 globals.f_polling_period
2747#define print_escape_multibyte \
2748 globals.f_print_escape_multibyte
2749#define print_escape_newlines \
2750 globals.f_print_escape_newlines
2751#define print_escape_nonascii \
2752 globals.f_print_escape_nonascii
2753#define print_quoted \
2754 globals.f_print_quoted
2755#define pure_bytes_used \
2756 globals.f_pure_bytes_used
2757#define read_buffer_completion_ignore_case \
2758 globals.f_read_buffer_completion_ignore_case
2759#define redisplay_dont_pause \
2760 globals.f_redisplay_dont_pause
2761#define scroll_conservatively \
2762 globals.f_scroll_conservatively
2763#define scroll_margin \
2764 globals.f_scroll_margin
2765#define string_chars_consed \
2766 globals.f_string_chars_consed
2767#define strings_consed \
2768 globals.f_strings_consed
2769#define symbols_consed \
2770 globals.f_symbols_consed
2771#define system_uses_terminfo \
2772 globals.f_system_uses_terminfo
2773#define tool_bar_button_relief \
2774 globals.f_tool_bar_button_relief
2775#define tool_bar_max_label_size \
2776 globals.f_tool_bar_max_label_size
2777#define underline_minimum_offset \
2778 globals.f_underline_minimum_offset
2779#define undo_inhibit_record_point \
2780 globals.f_undo_inhibit_record_point
2781#define undo_limit \
2782 globals.f_undo_limit
2783#define undo_strong_limit \
2784 globals.f_undo_strong_limit
2785#define unibyte_display_via_language_environment \
2786 globals.f_unibyte_display_via_language_environment
2787#define unread_command_char \
2788 globals.f_unread_command_char
2789#define use_dialog_box \
2790 globals.f_use_dialog_box
2791#define use_file_dialog \
2792 globals.f_use_file_dialog
2793#define use_system_font \
2794 globals.f_use_system_font
2795#define vector_cells_consed \
2796 globals.f_vector_cells_consed
2797#define visible_bell \
2798 globals.f_visible_bell
2799#define visible_cursor \
2800 globals.f_visible_cursor
2801#define w32_ansi_code_page \
2802 globals.f_w32_ansi_code_page
2803#define w32_enable_synthesized_fonts \
2804 globals.f_w32_enable_synthesized_fonts
2805#define w32_mouse_button_tolerance \
2806 globals.f_w32_mouse_button_tolerance
2807#define w32_mouse_move_interval \
2808 globals.f_w32_mouse_move_interval
2809#define w32_num_mouse_buttons \
2810 globals.f_w32_num_mouse_buttons
2811#define w32_pass_extra_mouse_buttons_to_system \
2812 globals.f_w32_pass_extra_mouse_buttons_to_system
2813#define w32_pass_multimedia_buttons_to_system \
2814 globals.f_w32_pass_multimedia_buttons_to_system
2815#define w32_pipe_read_delay \
2816 globals.f_w32_pipe_read_delay
2817#define w32_quit_key \
2818 globals.f_w32_quit_key
2819#define w32_strict_fontnames \
2820 globals.f_w32_strict_fontnames
2821#define w32_strict_painting \
2822 globals.f_w32_strict_painting
2823#define w32_use_full_screen_buffer \
2824 globals.f_w32_use_full_screen_buffer
2825#define w32_use_visible_system_caret \
2826 globals.f_w32_use_visible_system_caret
2827#define window_min_height \
2828 globals.f_window_min_height
2829#define window_min_width \
2830 globals.f_window_min_width
2831#define words_include_escapes \
2832 globals.f_words_include_escapes
2833#define write_region_inhibit_fsync \
2834 globals.f_write_region_inhibit_fsync
2835#define x_gtk_file_dialog_help_text \
2836 globals.f_x_gtk_file_dialog_help_text
2837#define x_gtk_show_hidden_files \
2838 globals.f_x_gtk_show_hidden_files
2839#define x_gtk_use_old_file_dialog \
2840 globals.f_x_gtk_use_old_file_dialog
2841#define x_gtk_use_system_tooltips \
2842 globals.f_x_gtk_use_system_tooltips
2843#define x_gtk_whole_detached_tool_bar \
2844 globals.f_x_gtk_whole_detached_tool_bar
2845#define x_mouse_click_focus_ignore_position \
2846 globals.f_x_mouse_click_focus_ignore_position
2847#define x_selection_timeout \
2848 globals.f_x_selection_timeout
2849#define x_stretch_cursor_p \
2850 globals.f_x_stretch_cursor_p
2851#define x_underline_at_descent_line \
2852 globals.f_x_underline_at_descent_line
2853#define x_use_underline_position_properties \
2854 globals.f_x_use_underline_position_properties
2855#define ns_input_file \
2856 globals.f_ns_input_file
2857#define ns_input_font \
2858 globals.f_ns_input_font
2859#define ns_input_fontsize \
2860 globals.f_ns_input_fontsize
2861#define ns_input_line \
2862 globals.f_ns_input_line
2863#define ns_input_color \
2864 globals.f_ns_input_color
2865#define ns_input_text \
2866 globals.f_ns_input_text
2867#define ns_working_text \
2868 globals.f_ns_working_text
2869#define ns_input_spi_name \
2870 globals.f_ns_input_spi_name
2871#define ns_input_spi_arg \
2872 globals.f_ns_input_spi_arg
2873#define ns_alternate_modifier \
2874 globals.f_ns_alternate_modifier
2875#define ns_right_alternate_modifier \
2876 globals.f_ns_right_alternate_modifier
2877#define ns_command_modifier \
2878 globals.f_ns_command_modifier
2879#define ns_right_command_modifier \
2880 globals.f_ns_right_command_modifier
2881#define ns_control_modifier \
2882 globals.f_ns_control_modifier
2883#define ns_right_control_modifier \
2884 globals.f_ns_right_control_modifier
2885#define ns_function_modifier \
2886 globals.f_ns_function_modifier
2887#define ns_antialias_text \
2888 globals.f_ns_antialias_text
2889#define ns_confirm_quit \
2890 globals.f_ns_confirm_quit
2891#define Vns_icon_type_alist \
2892 globals.f_Vns_icon_type_alist
2893#define Vns_version_string \
2894 globals.f_Vns_version_string
2895#define Vns_sent_selection_hooks \
2896 globals.f_Vns_sent_selection_hooks
2897#define Vns_lost_selection_hooks \
2898 globals.f_Vns_lost_selection_hooks
2899#define Vselection_alist \
2900 globals.f_Vselection_alist
2901#define Vns_reg_to_script \
2902 globals.f_Vns_reg_to_script
diff --git a/src/image.c b/src/image.c
index 10038eecd85..f4a50e92ab1 100644
--- a/src/image.c
+++ b/src/image.c
@@ -1896,7 +1896,7 @@ mark_image_cache (struct image_cache *c)
1896#ifdef HAVE_NTGUI 1896#ifdef HAVE_NTGUI
1897 1897
1898/* Macro for defining functions that will be loaded from image DLLs. */ 1898/* Macro for defining functions that will be loaded from image DLLs. */
1899#define DEF_IMGLIB_FN(func,args) int (FAR CDECL *fn_##func)args 1899#define DEF_IMGLIB_FN(rettype,func,args) rettype (FAR CDECL *fn_##func)args
1900 1900
1901/* Macro for loading those image functions from the library. */ 1901/* Macro for loading those image functions from the library. */
1902#define LOAD_IMGLIB_FN(lib,func) { \ 1902#define LOAD_IMGLIB_FN(lib,func) { \
@@ -2226,7 +2226,7 @@ static int xbm_load_image (struct frame *f, struct image *img,
2226static int xbm_image_p (Lisp_Object object); 2226static int xbm_image_p (Lisp_Object object);
2227static int xbm_read_bitmap_data (struct frame *f, 2227static int xbm_read_bitmap_data (struct frame *f,
2228 unsigned char *, unsigned char *, 2228 unsigned char *, unsigned char *,
2229 int *, int *, unsigned char **, int); 2229 int *, int *, char **, int);
2230static int xbm_file_p (Lisp_Object); 2230static int xbm_file_p (Lisp_Object);
2231 2231
2232 2232
@@ -2614,7 +2614,7 @@ Create_Pixmap_From_Bitmap_Data (struct frame *f, struct image *img, char *data,
2614 2614
2615static int 2615static int
2616xbm_read_bitmap_data (struct frame *f, unsigned char *contents, unsigned char *end, 2616xbm_read_bitmap_data (struct frame *f, unsigned char *contents, unsigned char *end,
2617 int *width, int *height, unsigned char **data, 2617 int *width, int *height, char **data,
2618 int inhibit_image_error) 2618 int inhibit_image_error)
2619{ 2619{
2620 unsigned char *s = contents; 2620 unsigned char *s = contents;
@@ -2622,7 +2622,7 @@ xbm_read_bitmap_data (struct frame *f, unsigned char *contents, unsigned char *e
2622 int padding_p = 0; 2622 int padding_p = 0;
2623 int v10 = 0; 2623 int v10 = 0;
2624 int bytes_per_line, i, nbytes; 2624 int bytes_per_line, i, nbytes;
2625 unsigned char *p; 2625 char *p;
2626 int value; 2626 int value;
2627 int LA1; 2627 int LA1;
2628 2628
@@ -2706,7 +2706,7 @@ xbm_read_bitmap_data (struct frame *f, unsigned char *contents, unsigned char *e
2706 2706
2707 bytes_per_line = (*width + 7) / 8 + padding_p; 2707 bytes_per_line = (*width + 7) / 8 + padding_p;
2708 nbytes = bytes_per_line * *height; 2708 nbytes = bytes_per_line * *height;
2709 p = *data = (unsigned char *) xmalloc (nbytes); 2709 p = *data = (char *) xmalloc (nbytes);
2710 2710
2711 if (v10) 2711 if (v10)
2712 { 2712 {
@@ -2768,7 +2768,7 @@ xbm_load_image (struct frame *f, struct image *img, unsigned char *contents,
2768 unsigned char *end) 2768 unsigned char *end)
2769{ 2769{
2770 int rc; 2770 int rc;
2771 unsigned char *data; 2771 char *data;
2772 int success_p = 0; 2772 int success_p = 0;
2773 2773
2774 rc = xbm_read_bitmap_data (f, contents, end, &img->width, &img->height, 2774 rc = xbm_read_bitmap_data (f, contents, end, &img->width, &img->height,
@@ -2936,7 +2936,7 @@ xbm_load (struct frame *f, struct image *img)
2936 else if (STRINGP (data)) 2936 else if (STRINGP (data))
2937 bits = SSDATA (data); 2937 bits = SSDATA (data);
2938 else 2938 else
2939 bits = XBOOL_VECTOR (data)->data; 2939 bits = (char *) XBOOL_VECTOR (data)->data;
2940 2940
2941#ifdef WINDOWSNT 2941#ifdef WINDOWSNT
2942 { 2942 {
@@ -3251,12 +3251,12 @@ xpm_free_colors (Display *dpy, Colormap cmap, Pixel *pixels, int npixels, void *
3251 3251
3252/* XPM library details. */ 3252/* XPM library details. */
3253 3253
3254DEF_IMGLIB_FN (XpmFreeAttributes, (XpmAttributes *)); 3254DEF_IMGLIB_FN (void, XpmFreeAttributes, (XpmAttributes *));
3255DEF_IMGLIB_FN (XpmCreateImageFromBuffer, (Display *, char *, xpm_XImage **, 3255DEF_IMGLIB_FN (int, XpmCreateImageFromBuffer, (Display *, char *, xpm_XImage **,
3256 xpm_XImage **, XpmAttributes *)); 3256 xpm_XImage **, XpmAttributes *));
3257DEF_IMGLIB_FN (XpmReadFileToImage, (Display *, char *, xpm_XImage **, 3257DEF_IMGLIB_FN (int, XpmReadFileToImage, (Display *, char *, xpm_XImage **,
3258 xpm_XImage **, XpmAttributes *)); 3258 xpm_XImage **, XpmAttributes *));
3259DEF_IMGLIB_FN (XImageFree, (xpm_XImage *)); 3259DEF_IMGLIB_FN (void, XImageFree, (xpm_XImage *));
3260 3260
3261static int 3261static int
3262init_xpm_functions (Lisp_Object libraries) 3262init_xpm_functions (Lisp_Object libraries)
@@ -3906,7 +3906,7 @@ xpm_load_image (struct frame *f,
3906 3906
3907 while (num_colors-- > 0) 3907 while (num_colors-- > 0)
3908 { 3908 {
3909 unsigned char *color, *max_color; 3909 char *color, *max_color;
3910 int key, next_key, max_key = 0; 3910 int key, next_key, max_key = 0;
3911 Lisp_Object symbol_color = Qnil, color_val; 3911 Lisp_Object symbol_color = Qnil, color_val;
3912 XColor cdef; 3912 XColor cdef;
@@ -3958,7 +3958,7 @@ xpm_load_image (struct frame *f,
3958 3958
3959 if (CONSP (specified_color) && STRINGP (XCDR (specified_color))) 3959 if (CONSP (specified_color) && STRINGP (XCDR (specified_color)))
3960 { 3960 {
3961 if (xstrcasecmp (SDATA (XCDR (specified_color)), "None") == 0) 3961 if (xstrcasecmp (SSDATA (XCDR (specified_color)), "None") == 0)
3962 color_val = Qt; 3962 color_val = Qt;
3963 else if (x_defined_color (f, SDATA (XCDR (specified_color)), 3963 else if (x_defined_color (f, SDATA (XCDR (specified_color)),
3964 &cdef, 0)) 3964 &cdef, 0))
@@ -5419,31 +5419,36 @@ png_image_p (Lisp_Object object)
5419#ifdef HAVE_NTGUI 5419#ifdef HAVE_NTGUI
5420/* PNG library details. */ 5420/* PNG library details. */
5421 5421
5422DEF_IMGLIB_FN (png_get_io_ptr, (png_structp)); 5422DEF_IMGLIB_FN (png_voidp, png_get_io_ptr, (png_structp));
5423DEF_IMGLIB_FN (png_sig_cmp, (png_bytep, png_size_t, png_size_t)); 5423DEF_IMGLIB_FN (int, png_sig_cmp, (png_bytep, png_size_t, png_size_t));
5424DEF_IMGLIB_FN (png_create_read_struct, (png_const_charp, png_voidp, 5424DEF_IMGLIB_FN (png_structp, png_create_read_struct, (png_const_charp, png_voidp,
5425 png_error_ptr, png_error_ptr)); 5425 png_error_ptr, png_error_ptr));
5426DEF_IMGLIB_FN (png_create_info_struct, (png_structp)); 5426DEF_IMGLIB_FN (png_infop, png_create_info_struct, (png_structp));
5427DEF_IMGLIB_FN (png_destroy_read_struct, (png_structpp, png_infopp, png_infopp)); 5427DEF_IMGLIB_FN (void, png_destroy_read_struct, (png_structpp, png_infopp, png_infopp));
5428DEF_IMGLIB_FN (png_set_read_fn, (png_structp, png_voidp, png_rw_ptr)); 5428DEF_IMGLIB_FN (void, png_set_read_fn, (png_structp, png_voidp, png_rw_ptr));
5429DEF_IMGLIB_FN (png_set_sig_bytes, (png_structp, int)); 5429DEF_IMGLIB_FN (void, png_set_sig_bytes, (png_structp, int));
5430DEF_IMGLIB_FN (png_read_info, (png_structp, png_infop)); 5430DEF_IMGLIB_FN (void, png_read_info, (png_structp, png_infop));
5431DEF_IMGLIB_FN (png_get_IHDR, (png_structp, png_infop, 5431DEF_IMGLIB_FN (png_uint_32, png_get_IHDR, (png_structp, png_infop,
5432 png_uint_32 *, png_uint_32 *, 5432 png_uint_32 *, png_uint_32 *,
5433 int *, int *, int *, int *, int *)); 5433 int *, int *, int *, int *, int *));
5434DEF_IMGLIB_FN (png_get_valid, (png_structp, png_infop, png_uint_32)); 5434DEF_IMGLIB_FN (png_uint_32, png_get_valid, (png_structp, png_infop, png_uint_32));
5435DEF_IMGLIB_FN (png_set_strip_16, (png_structp)); 5435DEF_IMGLIB_FN (void, png_set_strip_16, (png_structp));
5436DEF_IMGLIB_FN (png_set_expand, (png_structp)); 5436DEF_IMGLIB_FN (void, png_set_expand, (png_structp));
5437DEF_IMGLIB_FN (png_set_gray_to_rgb, (png_structp)); 5437DEF_IMGLIB_FN (void, png_set_gray_to_rgb, (png_structp));
5438DEF_IMGLIB_FN (png_set_background, (png_structp, png_color_16p, 5438DEF_IMGLIB_FN (void, png_set_background, (png_structp, png_color_16p,
5439 int, int, double)); 5439 int, int, double));
5440DEF_IMGLIB_FN (png_get_bKGD, (png_structp, png_infop, png_color_16p *)); 5440DEF_IMGLIB_FN (png_uint_32, png_get_bKGD, (png_structp, png_infop, png_color_16p *));
5441DEF_IMGLIB_FN (png_read_update_info, (png_structp, png_infop)); 5441DEF_IMGLIB_FN (void, png_read_update_info, (png_structp, png_infop));
5442DEF_IMGLIB_FN (png_get_channels, (png_structp, png_infop)); 5442DEF_IMGLIB_FN (png_byte, png_get_channels, (png_structp, png_infop));
5443DEF_IMGLIB_FN (png_get_rowbytes, (png_structp, png_infop)); 5443DEF_IMGLIB_FN (png_size_t, png_get_rowbytes, (png_structp, png_infop));
5444DEF_IMGLIB_FN (png_read_image, (png_structp, png_bytepp)); 5444DEF_IMGLIB_FN (void, png_read_image, (png_structp, png_bytepp));
5445DEF_IMGLIB_FN (png_read_end, (png_structp, png_infop)); 5445DEF_IMGLIB_FN (void, png_read_end, (png_structp, png_infop));
5446DEF_IMGLIB_FN (png_error, (png_structp, png_const_charp)); 5446DEF_IMGLIB_FN (void, png_error, (png_structp, png_const_charp));
5447
5448#if (PNG_LIBPNG_VER >= 10500)
5449DEF_IMGLIB_FN (void, png_longjmp, (png_structp, int));
5450DEF_IMGLIB_FN (jmp_buf *, png_set_longjmp_fn, (png_structp, png_longjmp_ptr, size_t));
5451#endif /* libpng version >= 1.5 */
5447 5452
5448static int 5453static int
5449init_png_functions (Lisp_Object libraries) 5454init_png_functions (Lisp_Object libraries)
@@ -5475,6 +5480,12 @@ init_png_functions (Lisp_Object libraries)
5475 LOAD_IMGLIB_FN (library, png_read_image); 5480 LOAD_IMGLIB_FN (library, png_read_image);
5476 LOAD_IMGLIB_FN (library, png_read_end); 5481 LOAD_IMGLIB_FN (library, png_read_end);
5477 LOAD_IMGLIB_FN (library, png_error); 5482 LOAD_IMGLIB_FN (library, png_error);
5483
5484#if (PNG_LIBPNG_VER >= 10500)
5485 LOAD_IMGLIB_FN (library, png_longjmp);
5486 LOAD_IMGLIB_FN (library, png_set_longjmp_fn);
5487#endif /* libpng version >= 1.5 */
5488
5478 return 1; 5489 return 1;
5479} 5490}
5480#else 5491#else
@@ -5501,8 +5512,24 @@ init_png_functions (Lisp_Object libraries)
5501#define fn_png_read_end png_read_end 5512#define fn_png_read_end png_read_end
5502#define fn_png_error png_error 5513#define fn_png_error png_error
5503 5514
5515#if (PNG_LIBPNG_VER >= 10500)
5516#define fn_png_longjmp png_longjmp
5517#define fn_png_set_longjmp_fn png_set_longjmp_fn
5518#endif /* libpng version >= 1.5 */
5519
5504#endif /* HAVE_NTGUI */ 5520#endif /* HAVE_NTGUI */
5505 5521
5522
5523#if (PNG_LIBPNG_VER < 10500)
5524#define PNG_LONGJMP(ptr) (longjmp ((ptr)->jmpbuf, 1))
5525#define PNG_JMPBUF(ptr) ((ptr)->jmpbuf)
5526#else
5527/* In libpng version 1.5, the jmpbuf member is hidden. (Bug#7908) */
5528#define PNG_LONGJMP(ptr) (fn_png_longjmp ((ptr), 1))
5529#define PNG_JMPBUF(ptr) \
5530 (*fn_png_set_longjmp_fn((ptr), longjmp, sizeof (jmp_buf)))
5531#endif
5532
5506/* Error and warning handlers installed when the PNG library 5533/* Error and warning handlers installed when the PNG library
5507 is initialized. */ 5534 is initialized. */
5508 5535
@@ -5513,7 +5540,7 @@ my_png_error (png_struct *png_ptr, const char *msg)
5513 /* Avoid compiler warning about deprecated direct access to 5540 /* Avoid compiler warning about deprecated direct access to
5514 png_ptr's fields in libpng versions 1.4.x. */ 5541 png_ptr's fields in libpng versions 1.4.x. */
5515 image_error ("PNG error: %s", build_string (msg), Qnil); 5542 image_error ("PNG error: %s", build_string (msg), Qnil);
5516 longjmp (png_ptr->jmpbuf, 1); 5543 PNG_LONGJMP (png_ptr);
5517} 5544}
5518 5545
5519 5546
@@ -5644,19 +5671,17 @@ png_load (struct frame *f, struct image *img)
5644 tbr.bytes += sizeof (sig); 5671 tbr.bytes += sizeof (sig);
5645 } 5672 }
5646 5673
5647 /* Initialize read and info structs for PNG lib. Casting return 5674 /* Initialize read and info structs for PNG lib. */
5648 value avoids a GCC warning on W32. */ 5675 png_ptr = fn_png_create_read_struct (PNG_LIBPNG_VER_STRING,
5649 png_ptr = (png_structp)fn_png_create_read_struct (PNG_LIBPNG_VER_STRING, 5676 NULL, my_png_error,
5650 NULL, my_png_error, 5677 my_png_warning);
5651 my_png_warning);
5652 if (!png_ptr) 5678 if (!png_ptr)
5653 { 5679 {
5654 if (fp) fclose (fp); 5680 if (fp) fclose (fp);
5655 return 0; 5681 return 0;
5656 } 5682 }
5657 5683
5658 /* Casting return value avoids a GCC warning on W32. */ 5684 info_ptr = fn_png_create_info_struct (png_ptr);
5659 info_ptr = (png_infop)fn_png_create_info_struct (png_ptr);
5660 if (!info_ptr) 5685 if (!info_ptr)
5661 { 5686 {
5662 fn_png_destroy_read_struct (&png_ptr, NULL, NULL); 5687 fn_png_destroy_read_struct (&png_ptr, NULL, NULL);
@@ -5664,8 +5689,7 @@ png_load (struct frame *f, struct image *img)
5664 return 0; 5689 return 0;
5665 } 5690 }
5666 5691
5667 /* Casting return value avoids a GCC warning on W32. */ 5692 end_info = fn_png_create_info_struct (png_ptr);
5668 end_info = (png_infop)fn_png_create_info_struct (png_ptr);
5669 if (!end_info) 5693 if (!end_info)
5670 { 5694 {
5671 fn_png_destroy_read_struct (&png_ptr, &info_ptr, NULL); 5695 fn_png_destroy_read_struct (&png_ptr, &info_ptr, NULL);
@@ -5675,7 +5699,7 @@ png_load (struct frame *f, struct image *img)
5675 5699
5676 /* Set error jump-back. We come back here when the PNG library 5700 /* Set error jump-back. We come back here when the PNG library
5677 detects an error. */ 5701 detects an error. */
5678 if (setjmp (png_ptr->jmpbuf)) 5702 if (setjmp (PNG_JMPBUF (png_ptr)))
5679 { 5703 {
5680 error: 5704 error:
5681 if (png_ptr) 5705 if (png_ptr)
@@ -6028,14 +6052,14 @@ jpeg_image_p (Lisp_Object object)
6028#ifdef HAVE_NTGUI 6052#ifdef HAVE_NTGUI
6029 6053
6030/* JPEG library details. */ 6054/* JPEG library details. */
6031DEF_IMGLIB_FN (jpeg_CreateDecompress, (j_decompress_ptr, int, size_t)); 6055DEF_IMGLIB_FN (void, jpeg_CreateDecompress, (j_decompress_ptr, int, size_t));
6032DEF_IMGLIB_FN (jpeg_start_decompress, (j_decompress_ptr)); 6056DEF_IMGLIB_FN (boolean, jpeg_start_decompress, (j_decompress_ptr));
6033DEF_IMGLIB_FN (jpeg_finish_decompress, (j_decompress_ptr)); 6057DEF_IMGLIB_FN (boolean, jpeg_finish_decompress, (j_decompress_ptr));
6034DEF_IMGLIB_FN (jpeg_destroy_decompress, (j_decompress_ptr)); 6058DEF_IMGLIB_FN (void, jpeg_destroy_decompress, (j_decompress_ptr));
6035DEF_IMGLIB_FN (jpeg_read_header, (j_decompress_ptr, boolean)); 6059DEF_IMGLIB_FN (int, jpeg_read_header, (j_decompress_ptr, boolean));
6036DEF_IMGLIB_FN (jpeg_read_scanlines, (j_decompress_ptr, JSAMPARRAY, JDIMENSION)); 6060DEF_IMGLIB_FN (JDIMENSION, jpeg_read_scanlines, (j_decompress_ptr, JSAMPARRAY, JDIMENSION));
6037DEF_IMGLIB_FN (jpeg_std_error, (struct jpeg_error_mgr *)); 6061DEF_IMGLIB_FN (struct jpeg_error_mgr *, jpeg_std_error, (struct jpeg_error_mgr *));
6038DEF_IMGLIB_FN (jpeg_resync_to_restart, (j_decompress_ptr, int)); 6062DEF_IMGLIB_FN (boolean, jpeg_resync_to_restart, (j_decompress_ptr, int));
6039 6063
6040static int 6064static int
6041init_jpeg_functions (Lisp_Object libraries) 6065init_jpeg_functions (Lisp_Object libraries)
@@ -6335,9 +6359,8 @@ jpeg_load (struct frame *f, struct image *img)
6335 } 6359 }
6336 6360
6337 /* Customize libjpeg's error handling to call my_error_exit when an 6361 /* Customize libjpeg's error handling to call my_error_exit when an
6338 error is detected. This function will perform a longjmp. 6362 error is detected. This function will perform a longjmp. */
6339 Casting return value avoids a GCC warning on W32. */ 6363 cinfo.err = fn_jpeg_std_error (&mgr.pub);
6340 cinfo.err = (struct jpeg_error_mgr *)fn_jpeg_std_error (&mgr.pub);
6341 mgr.pub.error_exit = my_error_exit; 6364 mgr.pub.error_exit = my_error_exit;
6342 6365
6343 if ((rc = setjmp (mgr.setjmp_buffer)) != 0) 6366 if ((rc = setjmp (mgr.setjmp_buffer)) != 0)
@@ -6561,17 +6584,17 @@ tiff_image_p (Lisp_Object object)
6561#ifdef HAVE_NTGUI 6584#ifdef HAVE_NTGUI
6562 6585
6563/* TIFF library details. */ 6586/* TIFF library details. */
6564DEF_IMGLIB_FN (TIFFSetErrorHandler, (TIFFErrorHandler)); 6587DEF_IMGLIB_FN (TIFFErrorHandler, TIFFSetErrorHandler, (TIFFErrorHandler));
6565DEF_IMGLIB_FN (TIFFSetWarningHandler, (TIFFErrorHandler)); 6588DEF_IMGLIB_FN (TIFFErrorHandler, TIFFSetWarningHandler, (TIFFErrorHandler));
6566DEF_IMGLIB_FN (TIFFOpen, (const char *, const char *)); 6589DEF_IMGLIB_FN (TIFF *, TIFFOpen, (const char *, const char *));
6567DEF_IMGLIB_FN (TIFFClientOpen, (const char *, const char *, thandle_t, 6590DEF_IMGLIB_FN (TIFF *, TIFFClientOpen, (const char *, const char *, thandle_t,
6568 TIFFReadWriteProc, TIFFReadWriteProc, 6591 TIFFReadWriteProc, TIFFReadWriteProc,
6569 TIFFSeekProc, TIFFCloseProc, TIFFSizeProc, 6592 TIFFSeekProc, TIFFCloseProc, TIFFSizeProc,
6570 TIFFMapFileProc, TIFFUnmapFileProc)); 6593 TIFFMapFileProc, TIFFUnmapFileProc));
6571DEF_IMGLIB_FN (TIFFGetField, (TIFF *, ttag_t, ...)); 6594DEF_IMGLIB_FN (int, TIFFGetField, (TIFF *, ttag_t, ...));
6572DEF_IMGLIB_FN (TIFFReadRGBAImage, (TIFF *, uint32, uint32, uint32 *, int)); 6595DEF_IMGLIB_FN (int, TIFFReadRGBAImage, (TIFF *, uint32, uint32, uint32 *, int));
6573DEF_IMGLIB_FN (TIFFClose, (TIFF *)); 6596DEF_IMGLIB_FN (void, TIFFClose, (TIFF *));
6574DEF_IMGLIB_FN (TIFFSetDirectory, (TIFF *, tdir_t)); 6597DEF_IMGLIB_FN (int, TIFFSetDirectory, (TIFF *, tdir_t));
6575 6598
6576static int 6599static int
6577init_tiff_functions (Lisp_Object libraries) 6600init_tiff_functions (Lisp_Object libraries)
@@ -6754,9 +6777,8 @@ tiff_load (struct frame *f, struct image *img)
6754 return 0; 6777 return 0;
6755 } 6778 }
6756 6779
6757 /* Try to open the image file. Casting return value avoids a 6780 /* Try to open the image file. */
6758 GCC warning on W32. */ 6781 tiff = fn_TIFFOpen (SSDATA (file), "r");
6759 tiff = (TIFF *)fn_TIFFOpen (SSDATA (file), "r");
6760 if (tiff == NULL) 6782 if (tiff == NULL)
6761 { 6783 {
6762 image_error ("Cannot open `%s'", file, Qnil); 6784 image_error ("Cannot open `%s'", file, Qnil);
@@ -6776,16 +6798,14 @@ tiff_load (struct frame *f, struct image *img)
6776 memsrc.len = SBYTES (specified_data); 6798 memsrc.len = SBYTES (specified_data);
6777 memsrc.index = 0; 6799 memsrc.index = 0;
6778 6800
6779 /* Casting arguments return value avoids a GCC warning on W32. */ 6801 tiff = fn_TIFFClientOpen ("memory_source", "r", (thandle_t)&memsrc,
6780 tiff = (TIFF *)fn_TIFFClientOpen ("memory_source", "r", 6802 (TIFFReadWriteProc) tiff_read_from_memory,
6781 (thandle_t) &memsrc, 6803 (TIFFReadWriteProc) tiff_write_from_memory,
6782 (TIFFReadWriteProc) tiff_read_from_memory, 6804 tiff_seek_in_memory,
6783 (TIFFReadWriteProc) tiff_write_from_memory, 6805 tiff_close_memory,
6784 tiff_seek_in_memory, 6806 tiff_size_of_memory,
6785 tiff_close_memory, 6807 tiff_mmap_memory,
6786 tiff_size_of_memory, 6808 tiff_unmap_memory);
6787 tiff_mmap_memory,
6788 tiff_unmap_memory);
6789 6809
6790 if (!tiff) 6810 if (!tiff)
6791 { 6811 {
@@ -7014,10 +7034,10 @@ gif_image_p (Lisp_Object object)
7014#ifdef HAVE_NTGUI 7034#ifdef HAVE_NTGUI
7015 7035
7016/* GIF library details. */ 7036/* GIF library details. */
7017DEF_IMGLIB_FN (DGifCloseFile, (GifFileType *)); 7037DEF_IMGLIB_FN (int, DGifCloseFile, (GifFileType *));
7018DEF_IMGLIB_FN (DGifSlurp, (GifFileType *)); 7038DEF_IMGLIB_FN (int, DGifSlurp, (GifFileType *));
7019DEF_IMGLIB_FN (DGifOpen, (void *, InputFunc)); 7039DEF_IMGLIB_FN (GifFileType *, DGifOpen, (void *, InputFunc));
7020DEF_IMGLIB_FN (DGifOpenFileName, (const char *)); 7040DEF_IMGLIB_FN (GifFileType *, DGifOpenFileName, (const char *));
7021 7041
7022static int 7042static int
7023init_gif_functions (Lisp_Object libraries) 7043init_gif_functions (Lisp_Object libraries)
@@ -7110,9 +7130,8 @@ gif_load (struct frame *f, struct image *img)
7110 return 0; 7130 return 0;
7111 } 7131 }
7112 7132
7113 /* Open the GIF file. Casting return value avoids a GCC warning 7133 /* Open the GIF file. */
7114 on W32. */ 7134 gif = fn_DGifOpenFileName (SDATA (file));
7115 gif = (GifFileType *)fn_DGifOpenFileName (SDATA (file));
7116 if (gif == NULL) 7135 if (gif == NULL)
7117 { 7136 {
7118 image_error ("Cannot open `%s'", file, Qnil); 7137 image_error ("Cannot open `%s'", file, Qnil);
@@ -7133,8 +7152,7 @@ gif_load (struct frame *f, struct image *img)
7133 memsrc.len = SBYTES (specified_data); 7152 memsrc.len = SBYTES (specified_data);
7134 memsrc.index = 0; 7153 memsrc.index = 0;
7135 7154
7136 /* Casting return value avoids a GCC warning on W32. */ 7155 gif = fn_DGifOpen (&memsrc, gif_read_from_memory);
7137 gif = (GifFileType *) fn_DGifOpen (&memsrc, gif_read_from_memory);
7138 if (!gif) 7156 if (!gif)
7139 { 7157 {
7140 image_error ("Cannot open memory source `%s'", img->spec, Qnil); 7158 image_error ("Cannot open memory source `%s'", img->spec, Qnil);
@@ -7982,25 +8000,25 @@ svg_image_p (Lisp_Object object)
7982#ifdef HAVE_NTGUI 8000#ifdef HAVE_NTGUI
7983 8001
7984/* SVG library functions. */ 8002/* SVG library functions. */
7985DEF_IMGLIB_FN (rsvg_handle_new); 8003DEF_IMGLIB_FN (RsvgHandle *, rsvg_handle_new);
7986DEF_IMGLIB_FN (rsvg_handle_get_dimensions); 8004DEF_IMGLIB_FN (void, rsvg_handle_get_dimensions);
7987DEF_IMGLIB_FN (rsvg_handle_write); 8005DEF_IMGLIB_FN (gboolean, rsvg_handle_write);
7988DEF_IMGLIB_FN (rsvg_handle_close); 8006DEF_IMGLIB_FN (gboolean, rsvg_handle_close);
7989DEF_IMGLIB_FN (rsvg_handle_get_pixbuf); 8007DEF_IMGLIB_FN (GdkPixbuf *, rsvg_handle_get_pixbuf);
7990DEF_IMGLIB_FN (rsvg_handle_free); 8008DEF_IMGLIB_FN (void, rsvg_handle_free);
7991 8009
7992DEF_IMGLIB_FN (gdk_pixbuf_get_width); 8010DEF_IMGLIB_FN (int, gdk_pixbuf_get_width);
7993DEF_IMGLIB_FN (gdk_pixbuf_get_height); 8011DEF_IMGLIB_FN (int, gdk_pixbuf_get_height);
7994DEF_IMGLIB_FN (gdk_pixbuf_get_pixels); 8012DEF_IMGLIB_FN (guchar *, gdk_pixbuf_get_pixels);
7995DEF_IMGLIB_FN (gdk_pixbuf_get_rowstride); 8013DEF_IMGLIB_FN (int, gdk_pixbuf_get_rowstride);
7996DEF_IMGLIB_FN (gdk_pixbuf_get_colorspace); 8014DEF_IMGLIB_FN (GdkColorspace, gdk_pixbuf_get_colorspace);
7997DEF_IMGLIB_FN (gdk_pixbuf_get_n_channels); 8015DEF_IMGLIB_FN (int, gdk_pixbuf_get_n_channels);
7998DEF_IMGLIB_FN (gdk_pixbuf_get_has_alpha); 8016DEF_IMGLIB_FN (gboolean, gdk_pixbuf_get_has_alpha);
7999DEF_IMGLIB_FN (gdk_pixbuf_get_bits_per_sample); 8017DEF_IMGLIB_FN (int, gdk_pixbuf_get_bits_per_sample);
8000 8018
8001DEF_IMGLIB_FN (g_type_init); 8019DEF_IMGLIB_FN (void, g_type_init);
8002DEF_IMGLIB_FN (g_object_unref); 8020DEF_IMGLIB_FN (void, g_object_unref);
8003DEF_IMGLIB_FN (g_error_free); 8021DEF_IMGLIB_FN (void, g_error_free);
8004 8022
8005Lisp_Object Qgdk_pixbuf, Qglib, Qgobject; 8023Lisp_Object Qgdk_pixbuf, Qglib, Qgobject;
8006 8024
@@ -8147,7 +8165,7 @@ svg_load_image (struct frame *f, /* Pointer to emacs frame structure. *
8147 gnome type library functions. */ 8165 gnome type library functions. */
8148 fn_g_type_init (); 8166 fn_g_type_init ();
8149 /* Make a handle to a new rsvg object. */ 8167 /* Make a handle to a new rsvg object. */
8150 rsvg_handle = (RsvgHandle *) fn_rsvg_handle_new (); 8168 rsvg_handle = fn_rsvg_handle_new ();
8151 8169
8152 /* Parse the contents argument and fill in the rsvg_handle. */ 8170 /* Parse the contents argument and fill in the rsvg_handle. */
8153 fn_rsvg_handle_write (rsvg_handle, contents, size, &error); 8171 fn_rsvg_handle_write (rsvg_handle, contents, size, &error);
@@ -8167,14 +8185,14 @@ svg_load_image (struct frame *f, /* Pointer to emacs frame structure. *
8167 8185
8168 /* We can now get a valid pixel buffer from the svg file, if all 8186 /* We can now get a valid pixel buffer from the svg file, if all
8169 went ok. */ 8187 went ok. */
8170 pixbuf = (GdkPixbuf *) fn_rsvg_handle_get_pixbuf (rsvg_handle); 8188 pixbuf = fn_rsvg_handle_get_pixbuf (rsvg_handle);
8171 if (!pixbuf) goto rsvg_error; 8189 if (!pixbuf) goto rsvg_error;
8172 fn_g_object_unref (rsvg_handle); 8190 fn_g_object_unref (rsvg_handle);
8173 8191
8174 /* Extract some meta data from the svg handle. */ 8192 /* Extract some meta data from the svg handle. */
8175 width = fn_gdk_pixbuf_get_width (pixbuf); 8193 width = fn_gdk_pixbuf_get_width (pixbuf);
8176 height = fn_gdk_pixbuf_get_height (pixbuf); 8194 height = fn_gdk_pixbuf_get_height (pixbuf);
8177 pixels = (const guint8 *) fn_gdk_pixbuf_get_pixels (pixbuf); 8195 pixels = fn_gdk_pixbuf_get_pixels (pixbuf);
8178 rowstride = fn_gdk_pixbuf_get_rowstride (pixbuf); 8196 rowstride = fn_gdk_pixbuf_get_rowstride (pixbuf);
8179 8197
8180 /* Validate the svg meta data. */ 8198 /* Validate the svg meta data. */
diff --git a/src/indent.c b/src/indent.c
index b40cb9f50b6..84ce140c5ba 100644
--- a/src/indent.c
+++ b/src/indent.c
@@ -1250,7 +1250,7 @@ compute_motion (EMACS_INT from, EMACS_INT fromvpos, EMACS_INT fromhpos, int did_
1250 unsigned char *ovstr; 1250 unsigned char *ovstr;
1251 EMACS_INT ovlen = overlay_strings (pos, win, &ovstr); 1251 EMACS_INT ovlen = overlay_strings (pos, win, &ovstr);
1252 hpos += ((multibyte && ovlen > 0) 1252 hpos += ((multibyte && ovlen > 0)
1253 ? strwidth (ovstr, ovlen) : ovlen); 1253 ? strwidth ((char *) ovstr, ovlen) : ovlen);
1254 } 1254 }
1255 did_motion = 0; 1255 did_motion = 0;
1256 1256
diff --git a/src/insdel.c b/src/insdel.c
index 8923a9e12e5..db76f770dad 100644
--- a/src/insdel.c
+++ b/src/insdel.c
@@ -668,11 +668,11 @@ count_size_as_multibyte (const unsigned char *ptr, EMACS_INT nbytes)
668 prepare_to_modify_buffer could relocate the text. */ 668 prepare_to_modify_buffer could relocate the text. */
669 669
670void 670void
671insert (const unsigned char *string, EMACS_INT nbytes) 671insert (const char *string, EMACS_INT nbytes)
672{ 672{
673 if (nbytes > 0) 673 if (nbytes > 0)
674 { 674 {
675 EMACS_INT len = chars_in_text (string, nbytes), opoint; 675 EMACS_INT len = chars_in_text ((unsigned char *) string, nbytes), opoint;
676 insert_1_both (string, len, nbytes, 0, 1, 0); 676 insert_1_both (string, len, nbytes, 0, 1, 0);
677 opoint = PT - len; 677 opoint = PT - len;
678 signal_after_change (opoint, 0, len); 678 signal_after_change (opoint, 0, len);
@@ -683,11 +683,11 @@ insert (const unsigned char *string, EMACS_INT nbytes)
683/* Likewise, but inherit text properties from neighboring characters. */ 683/* Likewise, but inherit text properties from neighboring characters. */
684 684
685void 685void
686insert_and_inherit (const unsigned char *string, EMACS_INT nbytes) 686insert_and_inherit (const char *string, EMACS_INT nbytes)
687{ 687{
688 if (nbytes > 0) 688 if (nbytes > 0)
689 { 689 {
690 EMACS_INT len = chars_in_text (string, nbytes), opoint; 690 EMACS_INT len = chars_in_text ((unsigned char *) string, nbytes), opoint;
691 insert_1_both (string, len, nbytes, 1, 1, 0); 691 insert_1_both (string, len, nbytes, 1, 1, 0);
692 opoint = PT - len; 692 opoint = PT - len;
693 signal_after_change (opoint, 0, len); 693 signal_after_change (opoint, 0, len);
@@ -711,7 +711,7 @@ insert_char (int c)
711 str[0] = c; 711 str[0] = c;
712 } 712 }
713 713
714 insert (str, len); 714 insert ((char *) str, len);
715} 715}
716 716
717/* Insert the null-terminated string S before point. */ 717/* Insert the null-terminated string S before point. */
@@ -728,11 +728,11 @@ insert_string (const char *s)
728 since gc could happen and relocate it. */ 728 since gc could happen and relocate it. */
729 729
730void 730void
731insert_before_markers (const unsigned char *string, EMACS_INT nbytes) 731insert_before_markers (const char *string, EMACS_INT nbytes)
732{ 732{
733 if (nbytes > 0) 733 if (nbytes > 0)
734 { 734 {
735 EMACS_INT len = chars_in_text (string, nbytes), opoint; 735 EMACS_INT len = chars_in_text ((unsigned char *) string, nbytes), opoint;
736 insert_1_both (string, len, nbytes, 0, 1, 1); 736 insert_1_both (string, len, nbytes, 0, 1, 1);
737 opoint = PT - len; 737 opoint = PT - len;
738 signal_after_change (opoint, 0, len); 738 signal_after_change (opoint, 0, len);
@@ -743,12 +743,12 @@ insert_before_markers (const unsigned char *string, EMACS_INT nbytes)
743/* Likewise, but inherit text properties from neighboring characters. */ 743/* Likewise, but inherit text properties from neighboring characters. */
744 744
745void 745void
746insert_before_markers_and_inherit (const unsigned char *string, 746insert_before_markers_and_inherit (const char *string,
747 EMACS_INT nbytes) 747 EMACS_INT nbytes)
748{ 748{
749 if (nbytes > 0) 749 if (nbytes > 0)
750 { 750 {
751 EMACS_INT len = chars_in_text (string, nbytes), opoint; 751 EMACS_INT len = chars_in_text ((unsigned char *) string, nbytes), opoint;
752 insert_1_both (string, len, nbytes, 1, 1, 1); 752 insert_1_both (string, len, nbytes, 1, 1, 1);
753 opoint = PT - len; 753 opoint = PT - len;
754 signal_after_change (opoint, 0, len); 754 signal_after_change (opoint, 0, len);
@@ -759,11 +759,11 @@ insert_before_markers_and_inherit (const unsigned char *string,
759/* Subroutine used by the insert functions above. */ 759/* Subroutine used by the insert functions above. */
760 760
761void 761void
762insert_1 (const unsigned char *string, EMACS_INT nbytes, 762insert_1 (const char *string, EMACS_INT nbytes,
763 int inherit, int prepare, int before_markers) 763 int inherit, int prepare, int before_markers)
764{ 764{
765 insert_1_both (string, chars_in_text (string, nbytes), nbytes, 765 insert_1_both (string, chars_in_text ((unsigned char *) string, nbytes),
766 inherit, prepare, before_markers); 766 nbytes, inherit, prepare, before_markers);
767} 767}
768 768
769 769
@@ -884,7 +884,7 @@ count_combining_after (const unsigned char *string,
884 are the same as in insert_1. */ 884 are the same as in insert_1. */
885 885
886void 886void
887insert_1_both (const unsigned char *string, 887insert_1_both (const char *string,
888 EMACS_INT nchars, EMACS_INT nbytes, 888 EMACS_INT nchars, EMACS_INT nbytes,
889 int inherit, int prepare, int before_markers) 889 int inherit, int prepare, int before_markers)
890{ 890{
@@ -2382,4 +2382,3 @@ as well as hooks attached to text properties and overlays. */);
2382 2382
2383 defsubr (&Scombine_after_change_execute); 2383 defsubr (&Scombine_after_change_execute);
2384} 2384}
2385
diff --git a/src/keyboard.c b/src/keyboard.c
index badc785b1c1..eb586183f08 100644
--- a/src/keyboard.c
+++ b/src/keyboard.c
@@ -483,7 +483,7 @@ echo_char (Lisp_Object c)
483 ptr = buffer + offset; 483 ptr = buffer + offset;
484 } 484 }
485 485
486 ptr += copy_text (SDATA (name), ptr, nbytes, 486 ptr += copy_text (SDATA (name), (unsigned char *) ptr, nbytes,
487 STRING_MULTIBYTE (name), 1); 487 STRING_MULTIBYTE (name), 1);
488 } 488 }
489 489
@@ -6518,7 +6518,7 @@ parse_solitary_modifier (Lisp_Object symbol)
6518 6518
6519#define MULTI_LETTER_MOD(BIT, NAME, LEN) \ 6519#define MULTI_LETTER_MOD(BIT, NAME, LEN) \
6520 if (LEN == SBYTES (name) \ 6520 if (LEN == SBYTES (name) \
6521 && ! strncmp (SDATA (name), NAME, LEN)) \ 6521 && ! strncmp (SSDATA (name), NAME, LEN)) \
6522 return BIT; 6522 return BIT;
6523 6523
6524 case 'A': 6524 case 'A':
@@ -6949,7 +6949,7 @@ tty_read_avail_input (struct terminal *terminal,
6949 NREAD is set to the number of chars read. */ 6949 NREAD is set to the number of chars read. */
6950 do 6950 do
6951 { 6951 {
6952 nread = emacs_read (fileno (tty->input), cbuf, n_to_read); 6952 nread = emacs_read (fileno (tty->input), (char *) cbuf, n_to_read);
6953 /* POSIX infers that processes which are not in the session leader's 6953 /* POSIX infers that processes which are not in the session leader's
6954 process group won't get SIGHUP's at logout time. BSDI adheres to 6954 process group won't get SIGHUP's at logout time. BSDI adheres to
6955 this part standard and returns -1 from read (0) with errno==EIO 6955 this part standard and returns -1 from read (0) with errno==EIO
diff --git a/src/keymap.c b/src/keymap.c
index 1e6b76a4642..8ee4f41bd6f 100644
--- a/src/keymap.c
+++ b/src/keymap.c
@@ -584,7 +584,8 @@ map_keymap_char_table_item (Lisp_Object args, Lisp_Object key, Lisp_Object val)
584{ 584{
585 if (!NILP (val)) 585 if (!NILP (val))
586 { 586 {
587 map_keymap_function_t fun = XSAVE_VALUE (XCAR (args))->pointer; 587 map_keymap_function_t fun =
588 (map_keymap_function_t) XSAVE_VALUE (XCAR (args))->pointer;
588 args = XCDR (args); 589 args = XCDR (args);
589 /* If the key is a range, make a copy since map_char_table modifies 590 /* If the key is a range, make a copy since map_char_table modifies
590 it in place. */ 591 it in place. */
@@ -629,7 +630,7 @@ map_keymap_internal (Lisp_Object map,
629 else if (CHAR_TABLE_P (binding)) 630 else if (CHAR_TABLE_P (binding))
630 { 631 {
631 map_char_table (map_keymap_char_table_item, Qnil, binding, 632 map_char_table (map_keymap_char_table_item, Qnil, binding,
632 Fcons (make_save_value (fun, 0), 633 Fcons (make_save_value ((void *) fun, 0),
633 Fcons (make_save_value (data, 0), 634 Fcons (make_save_value (data, 0),
634 args))); 635 args)));
635 } 636 }
@@ -2474,7 +2475,7 @@ See Info node `(elisp)Describing Characters' for examples. */)
2474 (Lisp_Object character) 2475 (Lisp_Object character)
2475{ 2476{
2476 /* Currently MAX_MULTIBYTE_LENGTH is 4 (< 6). */ 2477 /* Currently MAX_MULTIBYTE_LENGTH is 4 (< 6). */
2477 unsigned char str[6]; 2478 char str[6];
2478 int c; 2479 int c;
2479 2480
2480 CHECK_NUMBER (character); 2481 CHECK_NUMBER (character);
@@ -2482,7 +2483,7 @@ See Info node `(elisp)Describing Characters' for examples. */)
2482 c = XINT (character); 2483 c = XINT (character);
2483 if (!ASCII_CHAR_P (c)) 2484 if (!ASCII_CHAR_P (c))
2484 { 2485 {
2485 int len = CHAR_STRING (c, str); 2486 int len = CHAR_STRING (c, (unsigned char *) str);
2486 2487
2487 return make_multibyte_string (str, 1, len); 2488 return make_multibyte_string (str, 1, len);
2488 } 2489 }
@@ -3975,4 +3976,3 @@ keys_of_keymap (void)
3975 initial_define_key (global_map, 033, "ESC-prefix"); 3976 initial_define_key (global_map, 033, "ESC-prefix");
3976 initial_define_key (global_map, Ctl ('X'), "Control-X-prefix"); 3977 initial_define_key (global_map, Ctl ('X'), "Control-X-prefix");
3977} 3978}
3978
diff --git a/src/lisp.h b/src/lisp.h
index 67efda398a2..906736bacad 100644
--- a/src/lisp.h
+++ b/src/lisp.h
@@ -2581,10 +2581,10 @@ extern int count_combining_before (const unsigned char *,
2581 EMACS_INT, EMACS_INT, EMACS_INT); 2581 EMACS_INT, EMACS_INT, EMACS_INT);
2582extern int count_combining_after (const unsigned char *, 2582extern int count_combining_after (const unsigned char *,
2583 EMACS_INT, EMACS_INT, EMACS_INT); 2583 EMACS_INT, EMACS_INT, EMACS_INT);
2584extern void insert (const unsigned char *, EMACS_INT); 2584extern void insert (const char *, EMACS_INT);
2585extern void insert_and_inherit (const unsigned char *, EMACS_INT); 2585extern void insert_and_inherit (const char *, EMACS_INT);
2586extern void insert_1 (const unsigned char *, EMACS_INT, int, int, int); 2586extern void insert_1 (const char *, EMACS_INT, int, int, int);
2587extern void insert_1_both (const unsigned char *, EMACS_INT, EMACS_INT, 2587extern void insert_1_both (const char *, EMACS_INT, EMACS_INT,
2588 int, int, int); 2588 int, int, int);
2589extern void insert_from_gap (EMACS_INT, EMACS_INT); 2589extern void insert_from_gap (EMACS_INT, EMACS_INT);
2590extern void insert_from_string (Lisp_Object, EMACS_INT, EMACS_INT, 2590extern void insert_from_string (Lisp_Object, EMACS_INT, EMACS_INT,
@@ -2592,9 +2592,8 @@ extern void insert_from_string (Lisp_Object, EMACS_INT, EMACS_INT,
2592extern void insert_from_buffer (struct buffer *, EMACS_INT, EMACS_INT, int); 2592extern void insert_from_buffer (struct buffer *, EMACS_INT, EMACS_INT, int);
2593extern void insert_char (int); 2593extern void insert_char (int);
2594extern void insert_string (const char *); 2594extern void insert_string (const char *);
2595extern void insert_before_markers (const unsigned char *, EMACS_INT); 2595extern void insert_before_markers (const char *, EMACS_INT);
2596extern void insert_before_markers_and_inherit (const unsigned char *, 2596extern void insert_before_markers_and_inherit (const char *, EMACS_INT);
2597 EMACS_INT);
2598extern void insert_from_string_before_markers (Lisp_Object, EMACS_INT, 2597extern void insert_from_string_before_markers (Lisp_Object, EMACS_INT,
2599 EMACS_INT, EMACS_INT, 2598 EMACS_INT, EMACS_INT,
2600 EMACS_INT, int); 2599 EMACS_INT, int);
@@ -2816,7 +2815,7 @@ extern void print_error_message (Lisp_Object, Lisp_Object, const char *,
2816extern Lisp_Object internal_with_output_to_temp_buffer 2815extern Lisp_Object internal_with_output_to_temp_buffer
2817 (const char *, Lisp_Object (*) (Lisp_Object), Lisp_Object); 2816 (const char *, Lisp_Object (*) (Lisp_Object), Lisp_Object);
2818#define FLOAT_TO_STRING_BUFSIZE 350 2817#define FLOAT_TO_STRING_BUFSIZE 350
2819extern void float_to_string (unsigned char *, double); 2818extern void float_to_string (char *, double);
2820extern void syms_of_print (void); 2819extern void syms_of_print (void);
2821 2820
2822/* Defined in doprnt.c */ 2821/* Defined in doprnt.c */
diff --git a/src/lread.c b/src/lread.c
index c4ae8313525..02b2fa39075 100644
--- a/src/lread.c
+++ b/src/lread.c
@@ -97,9 +97,6 @@ Lisp_Object read_objects;
97 This is set to 1 by read1 temporarily while handling #@NUMBER. */ 97 This is set to 1 by read1 temporarily while handling #@NUMBER. */
98static int load_each_byte; 98static int load_each_byte;
99 99
100/* If non-nil `readevalloop' evaluates code in a lexical environment. */
101Lisp_Object Vlexical_binding;
102
103/* List of descriptors now open for Fload. */ 100/* List of descriptors now open for Fload. */
104static Lisp_Object load_descriptor_list; 101static Lisp_Object load_descriptor_list;
105 102
@@ -2904,7 +2901,8 @@ read1 (register Lisp_Object readcharfun, int *pch, int first_in_list)
2904 ; 2901 ;
2905 else if (force_singlebyte) 2902 else if (force_singlebyte)
2906 { 2903 {
2907 nchars = str_as_unibyte (read_buffer, p - read_buffer); 2904 nchars = str_as_unibyte ((unsigned char *) read_buffer,
2905 p - read_buffer);
2908 p = read_buffer + nchars; 2906 p = read_buffer + nchars;
2909 } 2907 }
2910 else 2908 else
@@ -2974,7 +2972,7 @@ read1 (register Lisp_Object readcharfun, int *pch, int first_in_list)
2974 } 2972 }
2975 2973
2976 if (multibyte) 2974 if (multibyte)
2977 p += CHAR_STRING (c, p); 2975 p += CHAR_STRING (c, (unsigned char *) p);
2978 else 2976 else
2979 *p++ = c; 2977 *p++ = c;
2980 c = READCHAR; 2978 c = READCHAR;
@@ -3083,7 +3081,9 @@ read1 (register Lisp_Object readcharfun, int *pch, int first_in_list)
3083 Lisp_Object name, result; 3081 Lisp_Object name, result;
3084 EMACS_INT nbytes = p - read_buffer; 3082 EMACS_INT nbytes = p - read_buffer;
3085 EMACS_INT nchars 3083 EMACS_INT nchars
3086 = (multibyte ? multibyte_chars_in_text (read_buffer, nbytes) 3084 = (multibyte
3085 ? multibyte_chars_in_text ((unsigned char *) read_buffer,
3086 nbytes)
3087 : nbytes); 3087 : nbytes);
3088 3088
3089 if (uninterned_symbol && ! NILP (Vpurify_flag)) 3089 if (uninterned_symbol && ! NILP (Vpurify_flag))
@@ -3596,7 +3596,7 @@ Lisp_Object initial_obarray;
3596 3596
3597int oblookup_last_bucket_number; 3597int oblookup_last_bucket_number;
3598 3598
3599static int hash_string (const unsigned char *ptr, int len); 3599static int hash_string (const char *ptr, int len);
3600 3600
3601/* Get an error if OBARRAY is not an obarray. 3601/* Get an error if OBARRAY is not an obarray.
3602 If it is one, return it. */ 3602 If it is one, return it. */
@@ -3854,10 +3854,10 @@ oblookup (Lisp_Object obarray, register const char *ptr, EMACS_INT size, EMACS_I
3854} 3854}
3855 3855
3856static int 3856static int
3857hash_string (const unsigned char *ptr, int len) 3857hash_string (const char *ptr, int len)
3858{ 3858{
3859 register const unsigned char *p = ptr; 3859 register const char *p = ptr;
3860 register const unsigned char *end = p + len; 3860 register const char *end = p + len;
3861 register unsigned char c; 3861 register unsigned char c;
3862 register int hash = 0; 3862 register int hash = 0;
3863 3863
diff --git a/src/makefile.w32-in b/src/makefile.w32-in
index ad21419ca7f..ce4b9f35de8 100644
--- a/src/makefile.w32-in
+++ b/src/makefile.w32-in
@@ -113,7 +113,6 @@ OBJ2 = $(BLD)/sysdep.$(O) \
113 $(BLD)/textprop.$(O) \ 113 $(BLD)/textprop.$(O) \
114 $(BLD)/vm-limit.$(O) \ 114 $(BLD)/vm-limit.$(O) \
115 $(BLD)/region-cache.$(O) \ 115 $(BLD)/region-cache.$(O) \
116 $(BLD)/strftime.$(O) \
117 $(BLD)/bidi.$(O) \ 116 $(BLD)/bidi.$(O) \
118 $(BLD)/charset.$(O) \ 117 $(BLD)/charset.$(O) \
119 $(BLD)/character.$(O) \ 118 $(BLD)/character.$(O) \
@@ -204,6 +203,38 @@ make-buildobj-SH:
204 echo $(OBJ2) '\' >> buildobj.h 203 echo $(OBJ2) '\' >> buildobj.h
205 echo '$(DQUOTE)' >> buildobj.h 204 echo '$(DQUOTE)' >> buildobj.h
206 205
206GLOBAL_SOURCES = dosfns.c msdos.c \
207 xterm.c xfns.c xmenu.c xselect.c xrdb.c xsmfns.c fringe.c image.c \
208 fontset.c menu.c dbusbind.c \
209 w32.c w32console.c w32fns.c w32heap.c w32inevt.c \
210 w32menu.c w32proc.c w32reg.c w32select.c w32term.c w32xfns.c \
211 font.c w32font.c w32uniscribe.c \
212 dispnew.c frame.c scroll.c xdisp.c window.c bidi.c \
213 charset.c coding.c category.c ccl.c character.c chartab.c \
214 cm.c term.c terminal.c xfaces.c \
215 emacs.c keyboard.c macros.c keymap.c sysdep.c \
216 buffer.c filelock.c insdel.c marker.c \
217 minibuf.c fileio.c dired.c filemode.c \
218 cmds.c casetab.c casefiddle.c indent.c search.c regex.c undo.c \
219 alloc.c data.c doc.c editfns.c callint.c \
220 eval.c floatfns.c fns.c print.c lread.c \
221 syntax.c bytecode.c \
222 process.c callproc.c unexw32.c \
223 region-cache.c sound.c atimer.c \
224 doprnt.c intervals.c textprop.c composite.c md5.c
225SOME_MACHINE_OBJECTS = dosfns.o msdos.o \
226 xterm.o xfns.o xmenu.o xselect.o xrdb.o xsmfns.o dbusbind.o
227obj = $(GLOBAL_SOURCES:.c=.o)
228
229globals.h: gl-stamp
230
231gl-stamp: ../lib-src/$(BLD)/make-docfile.exe $(GLOBAL_SOURCES)
232 - $(DEL) gl-tmp
233 "../lib-src/$(BLD)/make-docfile" -d . -g $(SOME_MACHINE_OBJECTS) $(obj) > gl-tmp
234 cmd /c "fc /b gl-tmp globals.h >nul 2>&1 || $(CP) gl-tmp globals.h"
235 - $(DEL) gl-tmp
236 echo timestamp > $@
237
207bootstrap: bootstrap-emacs 238bootstrap: bootstrap-emacs
208 239
209# 240#
@@ -280,7 +311,7 @@ clean:
280 - $(DEL) "s/*.h~" "m/*.h~" 311 - $(DEL) "s/*.h~" "m/*.h~"
281 - $(DEL) $(COMPILER_TEMP_FILES) 312 - $(DEL) $(COMPILER_TEMP_FILES)
282 - $(DEL_TREE) $(OBJDIR) 313 - $(DEL_TREE) $(OBJDIR)
283 - $(DEL) stamp_BLD 314 - $(DEL) stamp_BLD gl-stamp globals.h
284 - $(DEL) buildobj.h 315 - $(DEL) buildobj.h
285 316
286distclean: cleanall 317distclean: cleanall
@@ -348,13 +379,15 @@ CONFIG_H = $(EMACS_ROOT)/src/s/ms-w32.h \
348 $(EMACS_ROOT)/src/m/intel386.h \ 379 $(EMACS_ROOT)/src/m/intel386.h \
349 $(EMACS_ROOT)/src/config.h \ 380 $(EMACS_ROOT)/src/config.h \
350 $(EMACS_ROOT)/nt/inc/sys/stat.h 381 $(EMACS_ROOT)/nt/inc/sys/stat.h
382LISP_H = $(SRC)/lisp.h $(SRC)/globals.h
383PROCESS_H = $(SRC)/process.h $(SRC)/gnutls.h
351 384
352$(BLD)/alloc.$(O) : \ 385$(BLD)/alloc.$(O) : \
353 $(SRC)/alloc.c \ 386 $(SRC)/alloc.c \
354 $(CONFIG_H) \ 387 $(CONFIG_H) \
355 $(EMACS_ROOT)/nt/inc/unistd.h \ 388 $(EMACS_ROOT)/nt/inc/unistd.h \
356 $(EMACS_ROOT)/nt/inc/sys/time.h \ 389 $(EMACS_ROOT)/nt/inc/sys/time.h \
357 $(SRC)/lisp.h \ 390 $(LISP_H) \
358 $(SRC)/atimer.h \ 391 $(SRC)/atimer.h \
359 $(SRC)/blockinput.h \ 392 $(SRC)/blockinput.h \
360 $(SRC)/buffer.h \ 393 $(SRC)/buffer.h \
@@ -365,7 +398,7 @@ $(BLD)/alloc.$(O) : \
365 $(SRC)/frame.h \ 398 $(SRC)/frame.h \
366 $(SRC)/intervals.h \ 399 $(SRC)/intervals.h \
367 $(SRC)/keyboard.h \ 400 $(SRC)/keyboard.h \
368 $(SRC)/process.h \ 401 $(PROCESS_H) \
369 $(SRC)/puresize.h \ 402 $(SRC)/puresize.h \
370 $(SRC)/syssignal.h \ 403 $(SRC)/syssignal.h \
371 $(SRC)/systime.h \ 404 $(SRC)/systime.h \
@@ -379,7 +412,7 @@ $(BLD)/atimer.$(O) : \
379 $(CONFIG_H) \ 412 $(CONFIG_H) \
380 $(EMACS_ROOT)/nt/inc/unistd.h \ 413 $(EMACS_ROOT)/nt/inc/unistd.h \
381 $(EMACS_ROOT)/nt/inc/sys/time.h \ 414 $(EMACS_ROOT)/nt/inc/sys/time.h \
382 $(SRC)/lisp.h \ 415 $(LISP_H) \
383 $(SRC)/atimer.h \ 416 $(SRC)/atimer.h \
384 $(SRC)/blockinput.h \ 417 $(SRC)/blockinput.h \
385 $(SRC)/syssignal.h \ 418 $(SRC)/syssignal.h \
@@ -388,7 +421,7 @@ $(BLD)/atimer.$(O) : \
388$(BLD)/bidi.$(O) : \ 421$(BLD)/bidi.$(O) : \
389 $(SRC)/bidi.c \ 422 $(SRC)/bidi.c \
390 $(CONFIG_H) \ 423 $(CONFIG_H) \
391 $(SRC)/lisp.h \ 424 $(LISP_H) \
392 $(SRC)/bidimirror.h \ 425 $(SRC)/bidimirror.h \
393 $(SRC)/biditype.h \ 426 $(SRC)/biditype.h \
394 $(SRC)/buffer.h \ 427 $(SRC)/buffer.h \
@@ -402,7 +435,7 @@ $(BLD)/buffer.$(O) : \
402 $(EMACS_ROOT)/nt/inc/unistd.h \ 435 $(EMACS_ROOT)/nt/inc/unistd.h \
403 $(EMACS_ROOT)/nt/inc/sys/param.h \ 436 $(EMACS_ROOT)/nt/inc/sys/param.h \
404 $(EMACS_ROOT)/nt/inc/sys/time.h \ 437 $(EMACS_ROOT)/nt/inc/sys/time.h \
405 $(SRC)/lisp.h \ 438 $(LISP_H) \
406 $(SRC)/atimer.h \ 439 $(SRC)/atimer.h \
407 $(SRC)/blockinput.h \ 440 $(SRC)/blockinput.h \
408 $(SRC)/buffer.h \ 441 $(SRC)/buffer.h \
@@ -424,7 +457,7 @@ $(BLD)/buffer.$(O) : \
424$(BLD)/bytecode.$(O) : \ 457$(BLD)/bytecode.$(O) : \
425 $(SRC)/bytecode.c \ 458 $(SRC)/bytecode.c \
426 $(CONFIG_H) \ 459 $(CONFIG_H) \
427 $(SRC)/lisp.h \ 460 $(LISP_H) \
428 $(SRC)/buffer.h \ 461 $(SRC)/buffer.h \
429 $(SRC)/character.h \ 462 $(SRC)/character.h \
430 $(SRC)/dispextern.h \ 463 $(SRC)/dispextern.h \
@@ -436,7 +469,7 @@ $(BLD)/callint.$(O) : \
436 $(SRC)/callint.c \ 469 $(SRC)/callint.c \
437 $(CONFIG_H) \ 470 $(CONFIG_H) \
438 $(EMACS_ROOT)/nt/inc/sys/time.h \ 471 $(EMACS_ROOT)/nt/inc/sys/time.h \
439 $(SRC)/lisp.h \ 472 $(LISP_H) \
440 $(SRC)/buffer.h \ 473 $(SRC)/buffer.h \
441 $(SRC)/coding.h \ 474 $(SRC)/coding.h \
442 $(SRC)/commands.h \ 475 $(SRC)/commands.h \
@@ -454,7 +487,7 @@ $(BLD)/callproc.$(O) : \
454 $(EMACS_ROOT)/nt/inc/unistd.h \ 487 $(EMACS_ROOT)/nt/inc/unistd.h \
455 $(EMACS_ROOT)/nt/inc/sys/file.h \ 488 $(EMACS_ROOT)/nt/inc/sys/file.h \
456 $(EMACS_ROOT)/nt/inc/sys/time.h \ 489 $(EMACS_ROOT)/nt/inc/sys/time.h \
457 $(SRC)/lisp.h \ 490 $(LISP_H) \
458 $(SRC)/atimer.h \ 491 $(SRC)/atimer.h \
459 $(SRC)/blockinput.h \ 492 $(SRC)/blockinput.h \
460 $(SRC)/buffer.h \ 493 $(SRC)/buffer.h \
@@ -466,7 +499,7 @@ $(BLD)/callproc.$(O) : \
466 $(SRC)/dispextern.h \ 499 $(SRC)/dispextern.h \
467 $(SRC)/epaths.h \ 500 $(SRC)/epaths.h \
468 $(SRC)/frame.h \ 501 $(SRC)/frame.h \
469 $(SRC)/process.h \ 502 $(PROCESS_H) \
470 $(SRC)/syssignal.h \ 503 $(SRC)/syssignal.h \
471 $(SRC)/systime.h \ 504 $(SRC)/systime.h \
472 $(SRC)/systty.h \ 505 $(SRC)/systty.h \
@@ -477,7 +510,7 @@ $(BLD)/callproc.$(O) : \
477$(BLD)/casefiddle.$(O) : \ 510$(BLD)/casefiddle.$(O) : \
478 $(SRC)/casefiddle.c \ 511 $(SRC)/casefiddle.c \
479 $(CONFIG_H) \ 512 $(CONFIG_H) \
480 $(SRC)/lisp.h \ 513 $(LISP_H) \
481 $(SRC)/buffer.h \ 514 $(SRC)/buffer.h \
482 $(SRC)/character.h \ 515 $(SRC)/character.h \
483 $(SRC)/commands.h \ 516 $(SRC)/commands.h \
@@ -488,14 +521,14 @@ $(BLD)/casefiddle.$(O) : \
488$(BLD)/casetab.$(O) : \ 521$(BLD)/casetab.$(O) : \
489 $(SRC)/casetab.c \ 522 $(SRC)/casetab.c \
490 $(CONFIG_H) \ 523 $(CONFIG_H) \
491 $(SRC)/lisp.h \ 524 $(LISP_H) \
492 $(SRC)/buffer.h \ 525 $(SRC)/buffer.h \
493 $(SRC)/character.h 526 $(SRC)/character.h
494 527
495$(BLD)/category.$(O) : \ 528$(BLD)/category.$(O) : \
496 $(SRC)/category.c \ 529 $(SRC)/category.c \
497 $(CONFIG_H) \ 530 $(CONFIG_H) \
498 $(SRC)/lisp.h \ 531 $(LISP_H) \
499 $(SRC)/buffer.h \ 532 $(SRC)/buffer.h \
500 $(SRC)/category.h \ 533 $(SRC)/category.h \
501 $(SRC)/character.h \ 534 $(SRC)/character.h \
@@ -505,7 +538,7 @@ $(BLD)/category.$(O) : \
505$(BLD)/ccl.$(O) : \ 538$(BLD)/ccl.$(O) : \
506 $(SRC)/ccl.c \ 539 $(SRC)/ccl.c \
507 $(CONFIG_H) \ 540 $(CONFIG_H) \
508 $(SRC)/lisp.h \ 541 $(LISP_H) \
509 $(SRC)/ccl.h \ 542 $(SRC)/ccl.h \
510 $(SRC)/character.h \ 543 $(SRC)/character.h \
511 $(SRC)/charset.h \ 544 $(SRC)/charset.h \
@@ -515,7 +548,7 @@ $(BLD)/ccl.$(O) : \
515$(BLD)/character.$(O) : \ 548$(BLD)/character.$(O) : \
516 $(SRC)/character.c \ 549 $(SRC)/character.c \
517 $(CONFIG_H) \ 550 $(CONFIG_H) \
518 $(SRC)/lisp.h \ 551 $(LISP_H) \
519 $(SRC)/buffer.h \ 552 $(SRC)/buffer.h \
520 $(SRC)/character.h \ 553 $(SRC)/character.h \
521 $(SRC)/charset.h \ 554 $(SRC)/charset.h \
@@ -526,7 +559,7 @@ $(BLD)/charset.$(O) : \
526 $(SRC)/charset.c \ 559 $(SRC)/charset.c \
527 $(CONFIG_H) \ 560 $(CONFIG_H) \
528 $(EMACS_ROOT)/nt/inc/unistd.h \ 561 $(EMACS_ROOT)/nt/inc/unistd.h \
529 $(SRC)/lisp.h \ 562 $(LISP_H) \
530 $(SRC)/buffer.h \ 563 $(SRC)/buffer.h \
531 $(SRC)/character.h \ 564 $(SRC)/character.h \
532 $(SRC)/charset.h \ 565 $(SRC)/charset.h \
@@ -537,7 +570,7 @@ $(BLD)/charset.$(O) : \
537$(BLD)/chartab.$(O) : \ 570$(BLD)/chartab.$(O) : \
538 $(SRC)/chartab.c \ 571 $(SRC)/chartab.c \
539 $(CONFIG_H) \ 572 $(CONFIG_H) \
540 $(SRC)/lisp.h \ 573 $(LISP_H) \
541 $(SRC)/ccl.h \ 574 $(SRC)/ccl.h \
542 $(SRC)/character.h \ 575 $(SRC)/character.h \
543 $(SRC)/charset.h 576 $(SRC)/charset.h
@@ -546,7 +579,7 @@ $(BLD)/cmds.$(O) : \
546 $(SRC)/cmds.c \ 579 $(SRC)/cmds.c \
547 $(CONFIG_H) \ 580 $(CONFIG_H) \
548 $(EMACS_ROOT)/nt/inc/sys/time.h \ 581 $(EMACS_ROOT)/nt/inc/sys/time.h \
549 $(SRC)/lisp.h \ 582 $(LISP_H) \
550 $(SRC)/buffer.h \ 583 $(SRC)/buffer.h \
551 $(SRC)/character.h \ 584 $(SRC)/character.h \
552 $(SRC)/coding.h \ 585 $(SRC)/coding.h \
@@ -564,7 +597,7 @@ $(BLD)/cmds.$(O) : \
564$(BLD)/coding.$(O) : \ 597$(BLD)/coding.$(O) : \
565 $(SRC)/coding.c \ 598 $(SRC)/coding.c \
566 $(CONFIG_H) \ 599 $(CONFIG_H) \
567 $(SRC)/lisp.h \ 600 $(LISP_H) \
568 $(SRC)/buffer.h \ 601 $(SRC)/buffer.h \
569 $(SRC)/ccl.h \ 602 $(SRC)/ccl.h \
570 $(SRC)/character.h \ 603 $(SRC)/character.h \
@@ -580,7 +613,7 @@ $(BLD)/coding.$(O) : \
580$(BLD)/composite.$(O) : \ 613$(BLD)/composite.$(O) : \
581 $(SRC)/composite.c \ 614 $(SRC)/composite.c \
582 $(CONFIG_H) \ 615 $(CONFIG_H) \
583 $(SRC)/lisp.h \ 616 $(LISP_H) \
584 $(SRC)/buffer.h \ 617 $(SRC)/buffer.h \
585 $(SRC)/ccl.h \ 618 $(SRC)/ccl.h \
586 $(SRC)/character.h \ 619 $(SRC)/character.h \
@@ -598,7 +631,7 @@ $(BLD)/data.$(O) : \
598 $(SRC)/data.c \ 631 $(SRC)/data.c \
599 $(CONFIG_H) \ 632 $(CONFIG_H) \
600 $(EMACS_ROOT)/nt/inc/sys/time.h \ 633 $(EMACS_ROOT)/nt/inc/sys/time.h \
601 $(SRC)/lisp.h \ 634 $(LISP_H) \
602 $(SRC)/buffer.h \ 635 $(SRC)/buffer.h \
603 $(SRC)/ccl.h \ 636 $(SRC)/ccl.h \
604 $(SRC)/character.h \ 637 $(SRC)/character.h \
@@ -622,7 +655,7 @@ $(BLD)/dired.$(O) : \
622 $(EMACS_ROOT)/nt/inc/unistd.h \ 655 $(EMACS_ROOT)/nt/inc/unistd.h \
623 $(EMACS_ROOT)/nt/inc/sys/dir.h \ 656 $(EMACS_ROOT)/nt/inc/sys/dir.h \
624 $(EMACS_ROOT)/nt/inc/sys/time.h \ 657 $(EMACS_ROOT)/nt/inc/sys/time.h \
625 $(SRC)/lisp.h \ 658 $(LISP_H) \
626 $(SRC)/atimer.h \ 659 $(SRC)/atimer.h \
627 $(SRC)/blockinput.h \ 660 $(SRC)/blockinput.h \
628 $(SRC)/buffer.h \ 661 $(SRC)/buffer.h \
@@ -640,7 +673,7 @@ $(BLD)/dispnew.$(O) : \
640 $(CONFIG_H) \ 673 $(CONFIG_H) \
641 $(EMACS_ROOT)/nt/inc/unistd.h \ 674 $(EMACS_ROOT)/nt/inc/unistd.h \
642 $(EMACS_ROOT)/nt/inc/sys/time.h \ 675 $(EMACS_ROOT)/nt/inc/sys/time.h \
643 $(SRC)/lisp.h \ 676 $(LISP_H) \
644 $(SRC)/atimer.h \ 677 $(SRC)/atimer.h \
645 $(SRC)/blockinput.h \ 678 $(SRC)/blockinput.h \
646 $(SRC)/buffer.h \ 679 $(SRC)/buffer.h \
@@ -655,7 +688,7 @@ $(BLD)/dispnew.$(O) : \
655 $(SRC)/indent.h \ 688 $(SRC)/indent.h \
656 $(SRC)/intervals.h \ 689 $(SRC)/intervals.h \
657 $(SRC)/keyboard.h \ 690 $(SRC)/keyboard.h \
658 $(SRC)/process.h \ 691 $(PROCESS_H) \
659 $(SRC)/syssignal.h \ 692 $(SRC)/syssignal.h \
660 $(SRC)/systime.h \ 693 $(SRC)/systime.h \
661 $(SRC)/termchar.h \ 694 $(SRC)/termchar.h \
@@ -672,7 +705,7 @@ $(BLD)/doc.$(O) : \
672 $(EMACS_ROOT)/nt/inc/unistd.h \ 705 $(EMACS_ROOT)/nt/inc/unistd.h \
673 $(EMACS_ROOT)/nt/inc/sys/file.h \ 706 $(EMACS_ROOT)/nt/inc/sys/file.h \
674 $(EMACS_ROOT)/nt/inc/sys/time.h \ 707 $(EMACS_ROOT)/nt/inc/sys/time.h \
675 $(SRC)/lisp.h \ 708 $(LISP_H) \
676 $(SRC)/buffer.h \ 709 $(SRC)/buffer.h \
677 $(SRC)/character.h \ 710 $(SRC)/character.h \
678 $(SRC)/coding.h \ 711 $(SRC)/coding.h \
@@ -685,7 +718,7 @@ $(BLD)/doprnt.$(O) : \
685 $(SRC)/doprnt.c \ 718 $(SRC)/doprnt.c \
686 $(CONFIG_H) \ 719 $(CONFIG_H) \
687 $(EMACS_ROOT)/nt/inc/unistd.h \ 720 $(EMACS_ROOT)/nt/inc/unistd.h \
688 $(SRC)/lisp.h \ 721 $(LISP_H) \
689 $(SRC)/character.h 722 $(SRC)/character.h
690 723
691$(BLD)/editfns.$(O) : \ 724$(BLD)/editfns.$(O) : \
@@ -694,7 +727,8 @@ $(BLD)/editfns.$(O) : \
694 $(EMACS_ROOT)/nt/inc/pwd.h \ 727 $(EMACS_ROOT)/nt/inc/pwd.h \
695 $(EMACS_ROOT)/nt/inc/unistd.h \ 728 $(EMACS_ROOT)/nt/inc/unistd.h \
696 $(EMACS_ROOT)/nt/inc/sys/time.h \ 729 $(EMACS_ROOT)/nt/inc/sys/time.h \
697 $(SRC)/lisp.h \ 730 $(EMACS_ROOT)/lib/strftime.h \
731 $(LISP_H) \
698 $(SRC)/atimer.h \ 732 $(SRC)/atimer.h \
699 $(SRC)/blockinput.h \ 733 $(SRC)/blockinput.h \
700 $(SRC)/buffer.h \ 734 $(SRC)/buffer.h \
@@ -714,7 +748,7 @@ $(BLD)/emacs.$(O) : \
714 $(EMACS_ROOT)/nt/inc/unistd.h \ 748 $(EMACS_ROOT)/nt/inc/unistd.h \
715 $(EMACS_ROOT)/nt/inc/sys/file.h \ 749 $(EMACS_ROOT)/nt/inc/sys/file.h \
716 $(EMACS_ROOT)/nt/inc/sys/time.h \ 750 $(EMACS_ROOT)/nt/inc/sys/time.h \
717 $(SRC)/lisp.h \ 751 $(LISP_H) \
718 $(SRC)/atimer.h \ 752 $(SRC)/atimer.h \
719 $(SRC)/blockinput.h \ 753 $(SRC)/blockinput.h \
720 $(SRC)/buffer.h \ 754 $(SRC)/buffer.h \
@@ -723,10 +757,11 @@ $(BLD)/emacs.$(O) : \
723 $(SRC)/composite.h \ 757 $(SRC)/composite.h \
724 $(SRC)/dispextern.h \ 758 $(SRC)/dispextern.h \
725 $(SRC)/frame.h \ 759 $(SRC)/frame.h \
760 $(SRC)/gnutls.h \
726 $(SRC)/intervals.h \ 761 $(SRC)/intervals.h \
727 $(SRC)/keyboard.h \ 762 $(SRC)/keyboard.h \
728 $(SRC)/keymap.h \ 763 $(SRC)/keymap.h \
729 $(SRC)/process.h \ 764 $(PROCESS_H) \
730 $(SRC)/syssignal.h \ 765 $(SRC)/syssignal.h \
731 $(SRC)/systime.h \ 766 $(SRC)/systime.h \
732 $(SRC)/systty.h \ 767 $(SRC)/systty.h \
@@ -740,7 +775,7 @@ $(BLD)/eval.$(O) : \
740 $(SRC)/eval.c \ 775 $(SRC)/eval.c \
741 $(CONFIG_H) \ 776 $(CONFIG_H) \
742 $(EMACS_ROOT)/nt/inc/sys/time.h \ 777 $(EMACS_ROOT)/nt/inc/sys/time.h \
743 $(SRC)/lisp.h \ 778 $(LISP_H) \
744 $(SRC)/atimer.h \ 779 $(SRC)/atimer.h \
745 $(SRC)/blockinput.h \ 780 $(SRC)/blockinput.h \
746 $(SRC)/coding.h \ 781 $(SRC)/coding.h \
@@ -758,7 +793,7 @@ $(BLD)/fileio.$(O) : \
758 $(EMACS_ROOT)/nt/inc/pwd.h \ 793 $(EMACS_ROOT)/nt/inc/pwd.h \
759 $(EMACS_ROOT)/nt/inc/unistd.h \ 794 $(EMACS_ROOT)/nt/inc/unistd.h \
760 $(EMACS_ROOT)/nt/inc/sys/time.h \ 795 $(EMACS_ROOT)/nt/inc/sys/time.h \
761 $(SRC)/lisp.h \ 796 $(LISP_H) \
762 $(SRC)/atimer.h \ 797 $(SRC)/atimer.h \
763 $(SRC)/blockinput.h \ 798 $(SRC)/blockinput.h \
764 $(SRC)/buffer.h \ 799 $(SRC)/buffer.h \
@@ -780,7 +815,7 @@ $(BLD)/filelock.$(O) : \
780 $(EMACS_ROOT)/nt/inc/unistd.h \ 815 $(EMACS_ROOT)/nt/inc/unistd.h \
781 $(EMACS_ROOT)/nt/inc/sys/file.h \ 816 $(EMACS_ROOT)/nt/inc/sys/file.h \
782 $(EMACS_ROOT)/nt/inc/sys/time.h \ 817 $(EMACS_ROOT)/nt/inc/sys/time.h \
783 $(SRC)/lisp.h \ 818 $(LISP_H) \
784 $(SRC)/buffer.h \ 819 $(SRC)/buffer.h \
785 $(SRC)/character.h \ 820 $(SRC)/character.h \
786 $(SRC)/coding.h \ 821 $(SRC)/coding.h \
@@ -798,7 +833,7 @@ $(BLD)/firstfile.$(O) : \
798$(BLD)/floatfns.$(O) : \ 833$(BLD)/floatfns.$(O) : \
799 $(SRC)/floatfns.c \ 834 $(SRC)/floatfns.c \
800 $(CONFIG_H) \ 835 $(CONFIG_H) \
801 $(SRC)/lisp.h \ 836 $(LISP_H) \
802 $(SRC)/syssignal.h 837 $(SRC)/syssignal.h
803 838
804$(BLD)/fns.$(O) : \ 839$(BLD)/fns.$(O) : \
@@ -808,7 +843,7 @@ $(BLD)/fns.$(O) : \
808 $(EMACS_ROOT)/nt/inc/nl_types.h \ 843 $(EMACS_ROOT)/nt/inc/nl_types.h \
809 $(EMACS_ROOT)/nt/inc/unistd.h \ 844 $(EMACS_ROOT)/nt/inc/unistd.h \
810 $(EMACS_ROOT)/nt/inc/sys/time.h \ 845 $(EMACS_ROOT)/nt/inc/sys/time.h \
811 $(SRC)/lisp.h \ 846 $(LISP_H) \
812 $(SRC)/atimer.h \ 847 $(SRC)/atimer.h \
813 $(SRC)/blockinput.h \ 848 $(SRC)/blockinput.h \
814 $(SRC)/buffer.h \ 849 $(SRC)/buffer.h \
@@ -829,7 +864,7 @@ $(BLD)/fns.$(O) : \
829$(BLD)/font.$(O) : \ 864$(BLD)/font.$(O) : \
830 $(SRC)/font.c \ 865 $(SRC)/font.c \
831 $(CONFIG_H) \ 866 $(CONFIG_H) \
832 $(SRC)/lisp.h \ 867 $(LISP_H) \
833 $(SRC)/buffer.h \ 868 $(SRC)/buffer.h \
834 $(SRC)/ccl.h \ 869 $(SRC)/ccl.h \
835 $(SRC)/character.h \ 870 $(SRC)/character.h \
@@ -847,7 +882,7 @@ $(BLD)/fontset.$(O) : \
847 $(SRC)/fontset.c \ 882 $(SRC)/fontset.c \
848 $(CONFIG_H) \ 883 $(CONFIG_H) \
849 $(EMACS_ROOT)/nt/inc/sys/time.h \ 884 $(EMACS_ROOT)/nt/inc/sys/time.h \
850 $(SRC)/lisp.h \ 885 $(LISP_H) \
851 $(SRC)/atimer.h \ 886 $(SRC)/atimer.h \
852 $(SRC)/blockinput.h \ 887 $(SRC)/blockinput.h \
853 $(SRC)/buffer.h \ 888 $(SRC)/buffer.h \
@@ -872,7 +907,7 @@ $(BLD)/frame.$(O) : \
872 $(SRC)/frame.c \ 907 $(SRC)/frame.c \
873 $(CONFIG_H) \ 908 $(CONFIG_H) \
874 $(EMACS_ROOT)/nt/inc/sys/time.h \ 909 $(EMACS_ROOT)/nt/inc/sys/time.h \
875 $(SRC)/lisp.h \ 910 $(LISP_H) \
876 $(SRC)/atimer.h \ 911 $(SRC)/atimer.h \
877 $(SRC)/blockinput.h \ 912 $(SRC)/blockinput.h \
878 $(SRC)/buffer.h \ 913 $(SRC)/buffer.h \
@@ -897,7 +932,7 @@ $(BLD)/fringe.$(O) : \
897 $(SRC)/fringe.c \ 932 $(SRC)/fringe.c \
898 $(CONFIG_H) \ 933 $(CONFIG_H) \
899 $(EMACS_ROOT)/nt/inc/sys/time.h \ 934 $(EMACS_ROOT)/nt/inc/sys/time.h \
900 $(SRC)/lisp.h \ 935 $(LISP_H) \
901 $(SRC)/atimer.h \ 936 $(SRC)/atimer.h \
902 $(SRC)/blockinput.h \ 937 $(SRC)/blockinput.h \
903 $(SRC)/buffer.h \ 938 $(SRC)/buffer.h \
@@ -919,7 +954,7 @@ $(BLD)/image.$(O) : \
919 $(CONFIG_H) \ 954 $(CONFIG_H) \
920 $(EMACS_ROOT)/nt/inc/unistd.h \ 955 $(EMACS_ROOT)/nt/inc/unistd.h \
921 $(EMACS_ROOT)/nt/inc/sys/time.h \ 956 $(EMACS_ROOT)/nt/inc/sys/time.h \
922 $(SRC)/lisp.h \ 957 $(LISP_H) \
923 $(SRC)/atimer.h \ 958 $(SRC)/atimer.h \
924 $(SRC)/blockinput.h \ 959 $(SRC)/blockinput.h \
925 $(SRC)/ccl.h \ 960 $(SRC)/ccl.h \
@@ -940,7 +975,7 @@ $(BLD)/indent.$(O) : \
940 $(SRC)/indent.c \ 975 $(SRC)/indent.c \
941 $(CONFIG_H) \ 976 $(CONFIG_H) \
942 $(EMACS_ROOT)/nt/inc/sys/time.h \ 977 $(EMACS_ROOT)/nt/inc/sys/time.h \
943 $(SRC)/lisp.h \ 978 $(LISP_H) \
944 $(SRC)/buffer.h \ 979 $(SRC)/buffer.h \
945 $(SRC)/category.h \ 980 $(SRC)/category.h \
946 $(SRC)/character.h \ 981 $(SRC)/character.h \
@@ -963,7 +998,7 @@ $(BLD)/insdel.$(O) : \
963 $(SRC)/insdel.c \ 998 $(SRC)/insdel.c \
964 $(CONFIG_H) \ 999 $(CONFIG_H) \
965 $(EMACS_ROOT)/nt/inc/sys/time.h \ 1000 $(EMACS_ROOT)/nt/inc/sys/time.h \
966 $(SRC)/lisp.h \ 1001 $(LISP_H) \
967 $(SRC)/atimer.h \ 1002 $(SRC)/atimer.h \
968 $(SRC)/blockinput.h \ 1003 $(SRC)/blockinput.h \
969 $(SRC)/buffer.h \ 1004 $(SRC)/buffer.h \
@@ -980,7 +1015,7 @@ $(BLD)/intervals.$(O) : \
980 $(SRC)/intervals.c \ 1015 $(SRC)/intervals.c \
981 $(CONFIG_H) \ 1016 $(CONFIG_H) \
982 $(EMACS_ROOT)/nt/inc/sys/time.h \ 1017 $(EMACS_ROOT)/nt/inc/sys/time.h \
983 $(SRC)/lisp.h \ 1018 $(LISP_H) \
984 $(SRC)/buffer.h \ 1019 $(SRC)/buffer.h \
985 $(SRC)/coding.h \ 1020 $(SRC)/coding.h \
986 $(SRC)/composite.h \ 1021 $(SRC)/composite.h \
@@ -998,7 +1033,7 @@ $(BLD)/keyboard.$(O) : \
998 $(EMACS_ROOT)/nt/inc/unistd.h \ 1033 $(EMACS_ROOT)/nt/inc/unistd.h \
999 $(EMACS_ROOT)/nt/inc/sys/ioctl.h \ 1034 $(EMACS_ROOT)/nt/inc/sys/ioctl.h \
1000 $(EMACS_ROOT)/nt/inc/sys/time.h \ 1035 $(EMACS_ROOT)/nt/inc/sys/time.h \
1001 $(SRC)/lisp.h \ 1036 $(LISP_H) \
1002 $(SRC)/atimer.h \ 1037 $(SRC)/atimer.h \
1003 $(SRC)/blockinput.h \ 1038 $(SRC)/blockinput.h \
1004 $(SRC)/buffer.h \ 1039 $(SRC)/buffer.h \
@@ -1013,7 +1048,7 @@ $(BLD)/keyboard.$(O) : \
1013 $(SRC)/keyboard.h \ 1048 $(SRC)/keyboard.h \
1014 $(SRC)/keymap.h \ 1049 $(SRC)/keymap.h \
1015 $(SRC)/macros.h \ 1050 $(SRC)/macros.h \
1016 $(SRC)/process.h \ 1051 $(PROCESS_H) \
1017 $(SRC)/puresize.h \ 1052 $(SRC)/puresize.h \
1018 $(SRC)/syntax.h \ 1053 $(SRC)/syntax.h \
1019 $(SRC)/syssignal.h \ 1054 $(SRC)/syssignal.h \
@@ -1029,7 +1064,7 @@ $(BLD)/keymap.$(O) : \
1029 $(SRC)/keymap.c \ 1064 $(SRC)/keymap.c \
1030 $(CONFIG_H) \ 1065 $(CONFIG_H) \
1031 $(EMACS_ROOT)/nt/inc/sys/time.h \ 1066 $(EMACS_ROOT)/nt/inc/sys/time.h \
1032 $(SRC)/lisp.h \ 1067 $(LISP_H) \
1033 $(SRC)/atimer.h \ 1068 $(SRC)/atimer.h \
1034 $(SRC)/blockinput.h \ 1069 $(SRC)/blockinput.h \
1035 $(SRC)/buffer.h \ 1070 $(SRC)/buffer.h \
@@ -1059,7 +1094,7 @@ $(BLD)/lread.$(O) : \
1059 $(EMACS_ROOT)/nt/inc/unistd.h \ 1094 $(EMACS_ROOT)/nt/inc/unistd.h \
1060 $(EMACS_ROOT)/nt/inc/sys/file.h \ 1095 $(EMACS_ROOT)/nt/inc/sys/file.h \
1061 $(EMACS_ROOT)/nt/inc/sys/time.h \ 1096 $(EMACS_ROOT)/nt/inc/sys/time.h \
1062 $(SRC)/lisp.h \ 1097 $(LISP_H) \
1063 $(SRC)/atimer.h \ 1098 $(SRC)/atimer.h \
1064 $(SRC)/blockinput.h \ 1099 $(SRC)/blockinput.h \
1065 $(SRC)/buffer.h \ 1100 $(SRC)/buffer.h \
@@ -1081,7 +1116,7 @@ $(BLD)/macros.$(O) : \
1081 $(SRC)/macros.c \ 1116 $(SRC)/macros.c \
1082 $(CONFIG_H) \ 1117 $(CONFIG_H) \
1083 $(EMACS_ROOT)/nt/inc/sys/time.h \ 1118 $(EMACS_ROOT)/nt/inc/sys/time.h \
1084 $(SRC)/lisp.h \ 1119 $(LISP_H) \
1085 $(SRC)/buffer.h \ 1120 $(SRC)/buffer.h \
1086 $(SRC)/coding.h \ 1121 $(SRC)/coding.h \
1087 $(SRC)/commands.h \ 1122 $(SRC)/commands.h \
@@ -1096,7 +1131,7 @@ $(BLD)/macros.$(O) : \
1096$(BLD)/marker.$(O) : \ 1131$(BLD)/marker.$(O) : \
1097 $(SRC)/marker.c \ 1132 $(SRC)/marker.c \
1098 $(CONFIG_H) \ 1133 $(CONFIG_H) \
1099 $(SRC)/lisp.h \ 1134 $(LISP_H) \
1100 $(SRC)/buffer.h \ 1135 $(SRC)/buffer.h \
1101 $(SRC)/character.h 1136 $(SRC)/character.h
1102 1137
@@ -1109,7 +1144,7 @@ $(BLD)/menu.$(O) : \
1109 $(SRC)/menu.c \ 1144 $(SRC)/menu.c \
1110 $(CONFIG_H) \ 1145 $(CONFIG_H) \
1111 $(EMACS_ROOT)/nt/inc/sys/time.h \ 1146 $(EMACS_ROOT)/nt/inc/sys/time.h \
1112 $(SRC)/lisp.h \ 1147 $(LISP_H) \
1113 $(SRC)/atimer.h \ 1148 $(SRC)/atimer.h \
1114 $(SRC)/blockinput.h \ 1149 $(SRC)/blockinput.h \
1115 $(SRC)/coding.h \ 1150 $(SRC)/coding.h \
@@ -1129,7 +1164,7 @@ $(BLD)/minibuf.$(O) : \
1129 $(SRC)/minibuf.c \ 1164 $(SRC)/minibuf.c \
1130 $(CONFIG_H) \ 1165 $(CONFIG_H) \
1131 $(EMACS_ROOT)/nt/inc/sys/time.h \ 1166 $(EMACS_ROOT)/nt/inc/sys/time.h \
1132 $(SRC)/lisp.h \ 1167 $(LISP_H) \
1133 $(SRC)/buffer.h \ 1168 $(SRC)/buffer.h \
1134 $(SRC)/character.h \ 1169 $(SRC)/character.h \
1135 $(SRC)/coding.h \ 1170 $(SRC)/coding.h \
@@ -1155,12 +1190,12 @@ $(BLD)/w32.$(O) : \
1155 $(EMACS_ROOT)/nt/inc/sys/file.h \ 1190 $(EMACS_ROOT)/nt/inc/sys/file.h \
1156 $(EMACS_ROOT)/nt/inc/sys/socket.h \ 1191 $(EMACS_ROOT)/nt/inc/sys/socket.h \
1157 $(EMACS_ROOT)/nt/inc/sys/time.h \ 1192 $(EMACS_ROOT)/nt/inc/sys/time.h \
1158 $(SRC)/lisp.h \ 1193 $(LISP_H) \
1159 $(SRC)/coding.h \ 1194 $(SRC)/coding.h \
1160 $(SRC)/composite.h \ 1195 $(SRC)/composite.h \
1161 $(SRC)/dispextern.h \ 1196 $(SRC)/dispextern.h \
1162 $(SRC)/ndir.h \ 1197 $(SRC)/ndir.h \
1163 $(SRC)/process.h \ 1198 $(PROCESS_H) \
1164 $(SRC)/systime.h \ 1199 $(SRC)/systime.h \
1165 $(SRC)/w32.h \ 1200 $(SRC)/w32.h \
1166 $(SRC)/w32gui.h \ 1201 $(SRC)/w32gui.h \
@@ -1169,14 +1204,14 @@ $(BLD)/w32.$(O) : \
1169$(BLD)/w32heap.$(O) : \ 1204$(BLD)/w32heap.$(O) : \
1170 $(SRC)/w32heap.c \ 1205 $(SRC)/w32heap.c \
1171 $(CONFIG_H) \ 1206 $(CONFIG_H) \
1172 $(SRC)/lisp.h \ 1207 $(LISP_H) \
1173 $(SRC)/w32heap.h 1208 $(SRC)/w32heap.h
1174 1209
1175$(BLD)/w32inevt.$(O) : \ 1210$(BLD)/w32inevt.$(O) : \
1176 $(SRC)/w32inevt.c \ 1211 $(SRC)/w32inevt.c \
1177 $(CONFIG_H) \ 1212 $(CONFIG_H) \
1178 $(EMACS_ROOT)/nt/inc/sys/time.h \ 1213 $(EMACS_ROOT)/nt/inc/sys/time.h \
1179 $(SRC)/lisp.h \ 1214 $(LISP_H) \
1180 $(SRC)/atimer.h \ 1215 $(SRC)/atimer.h \
1181 $(SRC)/blockinput.h \ 1216 $(SRC)/blockinput.h \
1182 $(SRC)/coding.h \ 1217 $(SRC)/coding.h \
@@ -1198,12 +1233,12 @@ $(BLD)/w32proc.$(O) : \
1198 $(EMACS_ROOT)/nt/inc/unistd.h \ 1233 $(EMACS_ROOT)/nt/inc/unistd.h \
1199 $(EMACS_ROOT)/nt/inc/sys/file.h \ 1234 $(EMACS_ROOT)/nt/inc/sys/file.h \
1200 $(EMACS_ROOT)/nt/inc/sys/time.h \ 1235 $(EMACS_ROOT)/nt/inc/sys/time.h \
1201 $(SRC)/lisp.h \ 1236 $(LISP_H) \
1202 $(SRC)/character.h \ 1237 $(SRC)/character.h \
1203 $(SRC)/coding.h \ 1238 $(SRC)/coding.h \
1204 $(SRC)/composite.h \ 1239 $(SRC)/composite.h \
1205 $(SRC)/dispextern.h \ 1240 $(SRC)/dispextern.h \
1206 $(SRC)/process.h \ 1241 $(PROCESS_H) \
1207 $(SRC)/syssignal.h \ 1242 $(SRC)/syssignal.h \
1208 $(SRC)/systime.h \ 1243 $(SRC)/systime.h \
1209 $(SRC)/syswait.h \ 1244 $(SRC)/syswait.h \
@@ -1215,7 +1250,7 @@ $(BLD)/w32proc.$(O) : \
1215$(BLD)/w32console.$(O) : \ 1250$(BLD)/w32console.$(O) : \
1216 $(SRC)/w32console.c \ 1251 $(SRC)/w32console.c \
1217 $(CONFIG_H) \ 1252 $(CONFIG_H) \
1218 $(SRC)/lisp.h \ 1253 $(LISP_H) \
1219 $(SRC)/character.h \ 1254 $(SRC)/character.h \
1220 $(SRC)/coding.h \ 1255 $(SRC)/coding.h \
1221 $(SRC)/composite.h \ 1256 $(SRC)/composite.h \
@@ -1232,7 +1267,9 @@ $(BLD)/print.$(O) : \
1232 $(CONFIG_H) \ 1267 $(CONFIG_H) \
1233 $(EMACS_ROOT)/nt/inc/unistd.h \ 1268 $(EMACS_ROOT)/nt/inc/unistd.h \
1234 $(EMACS_ROOT)/nt/inc/sys/time.h \ 1269 $(EMACS_ROOT)/nt/inc/sys/time.h \
1235 $(SRC)/lisp.h \ 1270 $(EMACS_ROOT)/lib/ftoastr.h \
1271 $(EMACS_ROOT)/lib/intprops.h \
1272 $(LISP_H) \
1236 $(SRC)/atimer.h \ 1273 $(SRC)/atimer.h \
1237 $(SRC)/blockinput.h \ 1274 $(SRC)/blockinput.h \
1238 $(SRC)/buffer.h \ 1275 $(SRC)/buffer.h \
@@ -1246,7 +1283,7 @@ $(BLD)/print.$(O) : \
1246 $(SRC)/frame.h \ 1283 $(SRC)/frame.h \
1247 $(SRC)/intervals.h \ 1284 $(SRC)/intervals.h \
1248 $(SRC)/keyboard.h \ 1285 $(SRC)/keyboard.h \
1249 $(SRC)/process.h \ 1286 $(PROCESS_H) \
1250 $(SRC)/systime.h \ 1287 $(SRC)/systime.h \
1251 $(SRC)/termchar.h \ 1288 $(SRC)/termchar.h \
1252 $(SRC)/termhooks.h \ 1289 $(SRC)/termhooks.h \
@@ -1263,7 +1300,7 @@ $(BLD)/process.$(O) : \
1263 $(EMACS_ROOT)/nt/inc/sys/file.h \ 1300 $(EMACS_ROOT)/nt/inc/sys/file.h \
1264 $(EMACS_ROOT)/nt/inc/sys/socket.h \ 1301 $(EMACS_ROOT)/nt/inc/sys/socket.h \
1265 $(EMACS_ROOT)/nt/inc/sys/time.h \ 1302 $(EMACS_ROOT)/nt/inc/sys/time.h \
1266 $(SRC)/lisp.h \ 1303 $(LISP_H) \
1267 $(SRC)/atimer.h \ 1304 $(SRC)/atimer.h \
1268 $(SRC)/blockinput.h \ 1305 $(SRC)/blockinput.h \
1269 $(SRC)/buffer.h \ 1306 $(SRC)/buffer.h \
@@ -1274,7 +1311,7 @@ $(BLD)/process.$(O) : \
1274 $(SRC)/dispextern.h \ 1311 $(SRC)/dispextern.h \
1275 $(SRC)/frame.h \ 1312 $(SRC)/frame.h \
1276 $(SRC)/keyboard.h \ 1313 $(SRC)/keyboard.h \
1277 $(SRC)/process.h \ 1314 $(PROCESS_H) \
1278 $(SRC)/sysselect.h \ 1315 $(SRC)/sysselect.h \
1279 $(SRC)/syssignal.h \ 1316 $(SRC)/syssignal.h \
1280 $(SRC)/systime.h \ 1317 $(SRC)/systime.h \
@@ -1291,7 +1328,7 @@ $(BLD)/ralloc.$(O) : \
1291 $(CONFIG_H) \ 1328 $(CONFIG_H) \
1292 $(EMACS_ROOT)/nt/inc/unistd.h \ 1329 $(EMACS_ROOT)/nt/inc/unistd.h \
1293 $(EMACS_ROOT)/nt/inc/sys/time.h \ 1330 $(EMACS_ROOT)/nt/inc/sys/time.h \
1294 $(SRC)/lisp.h \ 1331 $(LISP_H) \
1295 $(SRC)/atimer.h \ 1332 $(SRC)/atimer.h \
1296 $(SRC)/blockinput.h \ 1333 $(SRC)/blockinput.h \
1297 $(SRC)/getpagesize.h \ 1334 $(SRC)/getpagesize.h \
@@ -1300,7 +1337,7 @@ $(BLD)/ralloc.$(O) : \
1300$(BLD)/regex.$(O) : \ 1337$(BLD)/regex.$(O) : \
1301 $(SRC)/regex.c \ 1338 $(SRC)/regex.c \
1302 $(CONFIG_H) \ 1339 $(CONFIG_H) \
1303 $(SRC)/lisp.h \ 1340 $(LISP_H) \
1304 $(SRC)/buffer.h \ 1341 $(SRC)/buffer.h \
1305 $(SRC)/category.h \ 1342 $(SRC)/category.h \
1306 $(SRC)/character.h \ 1343 $(SRC)/character.h \
@@ -1310,7 +1347,7 @@ $(BLD)/regex.$(O) : \
1310$(BLD)/region-cache.$(O) : \ 1347$(BLD)/region-cache.$(O) : \
1311 $(SRC)/region-cache.c \ 1348 $(SRC)/region-cache.c \
1312 $(CONFIG_H) \ 1349 $(CONFIG_H) \
1313 $(SRC)/lisp.h \ 1350 $(LISP_H) \
1314 $(SRC)/buffer.h \ 1351 $(SRC)/buffer.h \
1315 $(SRC)/region-cache.h 1352 $(SRC)/region-cache.h
1316 1353
@@ -1318,7 +1355,7 @@ $(BLD)/scroll.$(O) : \
1318 $(SRC)/scroll.c \ 1355 $(SRC)/scroll.c \
1319 $(CONFIG_H) \ 1356 $(CONFIG_H) \
1320 $(EMACS_ROOT)/nt/inc/sys/time.h \ 1357 $(EMACS_ROOT)/nt/inc/sys/time.h \
1321 $(SRC)/lisp.h \ 1358 $(LISP_H) \
1322 $(SRC)/coding.h \ 1359 $(SRC)/coding.h \
1323 $(SRC)/composite.h \ 1360 $(SRC)/composite.h \
1324 $(SRC)/dispextern.h \ 1361 $(SRC)/dispextern.h \
@@ -1334,7 +1371,7 @@ $(BLD)/search.$(O) : \
1334 $(SRC)/search.c \ 1371 $(SRC)/search.c \
1335 $(CONFIG_H) \ 1372 $(CONFIG_H) \
1336 $(EMACS_ROOT)/nt/inc/sys/time.h \ 1373 $(EMACS_ROOT)/nt/inc/sys/time.h \
1337 $(SRC)/lisp.h \ 1374 $(LISP_H) \
1338 $(SRC)/atimer.h \ 1375 $(SRC)/atimer.h \
1339 $(SRC)/blockinput.h \ 1376 $(SRC)/blockinput.h \
1340 $(SRC)/buffer.h \ 1377 $(SRC)/buffer.h \
@@ -1356,22 +1393,17 @@ $(BLD)/sound.$(O) : \
1356 $(CONFIG_H) \ 1393 $(CONFIG_H) \
1357 $(EMACS_ROOT)/nt/inc/unistd.h \ 1394 $(EMACS_ROOT)/nt/inc/unistd.h \
1358 $(EMACS_ROOT)/nt/inc/sys/time.h \ 1395 $(EMACS_ROOT)/nt/inc/sys/time.h \
1359 $(SRC)/lisp.h \ 1396 $(LISP_H) \
1360 $(SRC)/atimer.h \ 1397 $(SRC)/atimer.h \
1361 $(SRC)/dispextern.h \ 1398 $(SRC)/dispextern.h \
1362 $(SRC)/syssignal.h \ 1399 $(SRC)/syssignal.h \
1363 $(SRC)/systime.h \ 1400 $(SRC)/systime.h \
1364 $(SRC)/w32gui.h 1401 $(SRC)/w32gui.h
1365 1402
1366$(BLD)/strftime.$(O) : \
1367 $(SRC)/strftime.c \
1368 $(CONFIG_H) \
1369 $(EMACS_ROOT)/nt/inc/sys/time.h
1370
1371$(BLD)/syntax.$(O) : \ 1403$(BLD)/syntax.$(O) : \
1372 $(SRC)/syntax.c \ 1404 $(SRC)/syntax.c \
1373 $(CONFIG_H) \ 1405 $(CONFIG_H) \
1374 $(SRC)/lisp.h \ 1406 $(LISP_H) \
1375 $(SRC)/buffer.h \ 1407 $(SRC)/buffer.h \
1376 $(SRC)/category.h \ 1408 $(SRC)/category.h \
1377 $(SRC)/character.h \ 1409 $(SRC)/character.h \
@@ -1394,7 +1426,8 @@ $(BLD)/sysdep.$(O) : \
1394 $(EMACS_ROOT)/nt/inc/sys/file.h \ 1426 $(EMACS_ROOT)/nt/inc/sys/file.h \
1395 $(EMACS_ROOT)/nt/inc/sys/socket.h \ 1427 $(EMACS_ROOT)/nt/inc/sys/socket.h \
1396 $(EMACS_ROOT)/nt/inc/sys/time.h \ 1428 $(EMACS_ROOT)/nt/inc/sys/time.h \
1397 $(SRC)/lisp.h \ 1429 $(EMACS_ROOT)/lib/ignore-value.h \
1430 $(LISP_H) \
1398 $(SRC)/atimer.h \ 1431 $(SRC)/atimer.h \
1399 $(SRC)/blockinput.h \ 1432 $(SRC)/blockinput.h \
1400 $(SRC)/cm.h \ 1433 $(SRC)/cm.h \
@@ -1403,7 +1436,7 @@ $(BLD)/sysdep.$(O) : \
1403 $(SRC)/dispextern.h \ 1436 $(SRC)/dispextern.h \
1404 $(SRC)/frame.h \ 1437 $(SRC)/frame.h \
1405 $(SRC)/keyboard.h \ 1438 $(SRC)/keyboard.h \
1406 $(SRC)/process.h \ 1439 $(PROCESS_H) \
1407 $(SRC)/sysselect.h \ 1440 $(SRC)/sysselect.h \
1408 $(SRC)/syssignal.h \ 1441 $(SRC)/syssignal.h \
1409 $(SRC)/systime.h \ 1442 $(SRC)/systime.h \
@@ -1422,7 +1455,7 @@ $(BLD)/term.$(O) : \
1422 $(EMACS_ROOT)/nt/inc/unistd.h \ 1455 $(EMACS_ROOT)/nt/inc/unistd.h \
1423 $(EMACS_ROOT)/nt/inc/sys/file.h \ 1456 $(EMACS_ROOT)/nt/inc/sys/file.h \
1424 $(EMACS_ROOT)/nt/inc/sys/time.h \ 1457 $(EMACS_ROOT)/nt/inc/sys/time.h \
1425 $(SRC)/lisp.h \ 1458 $(LISP_H) \
1426 $(SRC)/atimer.h \ 1459 $(SRC)/atimer.h \
1427 $(SRC)/blockinput.h \ 1460 $(SRC)/blockinput.h \
1428 $(SRC)/buffer.h \ 1461 $(SRC)/buffer.h \
@@ -1450,7 +1483,7 @@ $(BLD)/terminal.$(O) : \
1450 $(SRC)/terminal.c \ 1483 $(SRC)/terminal.c \
1451 $(CONFIG_H) \ 1484 $(CONFIG_H) \
1452 $(EMACS_ROOT)/nt/inc/sys/time.h \ 1485 $(EMACS_ROOT)/nt/inc/sys/time.h \
1453 $(SRC)/lisp.h \ 1486 $(LISP_H) \
1454 $(SRC)/charset.h \ 1487 $(SRC)/charset.h \
1455 $(SRC)/coding.h \ 1488 $(SRC)/coding.h \
1456 $(SRC)/composite.h \ 1489 $(SRC)/composite.h \
@@ -1465,7 +1498,7 @@ $(BLD)/terminal.$(O) : \
1465$(BLD)/textprop.$(O) : \ 1498$(BLD)/textprop.$(O) : \
1466 $(SRC)/textprop.c \ 1499 $(SRC)/textprop.c \
1467 $(CONFIG_H) \ 1500 $(CONFIG_H) \
1468 $(SRC)/lisp.h \ 1501 $(LISP_H) \
1469 $(SRC)/buffer.h \ 1502 $(SRC)/buffer.h \
1470 $(SRC)/composite.h \ 1503 $(SRC)/composite.h \
1471 $(SRC)/dispextern.h \ 1504 $(SRC)/dispextern.h \
@@ -1476,12 +1509,12 @@ $(BLD)/textprop.$(O) : \
1476$(BLD)/tparam.$(O) : \ 1509$(BLD)/tparam.$(O) : \
1477 $(SRC)/tparam.c \ 1510 $(SRC)/tparam.c \
1478 $(CONFIG_H) \ 1511 $(CONFIG_H) \
1479 $(SRC)/lisp.h 1512 $(LISP_H)
1480 1513
1481$(BLD)/undo.$(O) : \ 1514$(BLD)/undo.$(O) : \
1482 $(SRC)/undo.c \ 1515 $(SRC)/undo.c \
1483 $(CONFIG_H) \ 1516 $(CONFIG_H) \
1484 $(SRC)/lisp.h \ 1517 $(LISP_H) \
1485 $(SRC)/buffer.h \ 1518 $(SRC)/buffer.h \
1486 $(SRC)/commands.h \ 1519 $(SRC)/commands.h \
1487 $(SRC)/dispextern.h \ 1520 $(SRC)/dispextern.h \
@@ -1496,14 +1529,14 @@ $(BLD)/unexw32.$(O) : \
1496$(BLD)/vm-limit.$(O) : \ 1529$(BLD)/vm-limit.$(O) : \
1497 $(SRC)/vm-limit.c \ 1530 $(SRC)/vm-limit.c \
1498 $(CONFIG_H) \ 1531 $(CONFIG_H) \
1499 $(SRC)/lisp.h \ 1532 $(LISP_H) \
1500 $(SRC)/mem-limits.h 1533 $(SRC)/mem-limits.h
1501 1534
1502$(BLD)/window.$(O) : \ 1535$(BLD)/window.$(O) : \
1503 $(SRC)/window.c \ 1536 $(SRC)/window.c \
1504 $(CONFIG_H) \ 1537 $(CONFIG_H) \
1505 $(EMACS_ROOT)/nt/inc/sys/time.h \ 1538 $(EMACS_ROOT)/nt/inc/sys/time.h \
1506 $(SRC)/lisp.h \ 1539 $(LISP_H) \
1507 $(SRC)/atimer.h \ 1540 $(SRC)/atimer.h \
1508 $(SRC)/blockinput.h \ 1541 $(SRC)/blockinput.h \
1509 $(SRC)/buffer.h \ 1542 $(SRC)/buffer.h \
@@ -1529,7 +1562,7 @@ $(BLD)/xdisp.$(O) : \
1529 $(CONFIG_H) \ 1562 $(CONFIG_H) \
1530 $(EMACS_ROOT)/nt/inc/unistd.h \ 1563 $(EMACS_ROOT)/nt/inc/unistd.h \
1531 $(EMACS_ROOT)/nt/inc/sys/time.h \ 1564 $(EMACS_ROOT)/nt/inc/sys/time.h \
1532 $(SRC)/lisp.h \ 1565 $(LISP_H) \
1533 $(SRC)/atimer.h \ 1566 $(SRC)/atimer.h \
1534 $(SRC)/blockinput.h \ 1567 $(SRC)/blockinput.h \
1535 $(SRC)/buffer.h \ 1568 $(SRC)/buffer.h \
@@ -1549,7 +1582,7 @@ $(BLD)/xdisp.$(O) : \
1549 $(SRC)/keyboard.h \ 1582 $(SRC)/keyboard.h \
1550 $(SRC)/keymap.h \ 1583 $(SRC)/keymap.h \
1551 $(SRC)/macros.h \ 1584 $(SRC)/macros.h \
1552 $(SRC)/process.h \ 1585 $(PROCESS_H) \
1553 $(SRC)/region-cache.h \ 1586 $(SRC)/region-cache.h \
1554 $(SRC)/systime.h \ 1587 $(SRC)/systime.h \
1555 $(SRC)/termchar.h \ 1588 $(SRC)/termchar.h \
@@ -1563,7 +1596,7 @@ $(BLD)/xfaces.$(O) : \
1563 $(SRC)/xfaces.c \ 1596 $(SRC)/xfaces.c \
1564 $(CONFIG_H) \ 1597 $(CONFIG_H) \
1565 $(EMACS_ROOT)/nt/inc/sys/time.h \ 1598 $(EMACS_ROOT)/nt/inc/sys/time.h \
1566 $(SRC)/lisp.h \ 1599 $(LISP_H) \
1567 $(SRC)/atimer.h \ 1600 $(SRC)/atimer.h \
1568 $(SRC)/blockinput.h \ 1601 $(SRC)/blockinput.h \
1569 $(SRC)/buffer.h \ 1602 $(SRC)/buffer.h \
@@ -1589,7 +1622,7 @@ $(BLD)/w32fns.$(O) : \
1589 $(SRC)/w32fns.c \ 1622 $(SRC)/w32fns.c \
1590 $(CONFIG_H) \ 1623 $(CONFIG_H) \
1591 $(EMACS_ROOT)/nt/inc/sys/time.h \ 1624 $(EMACS_ROOT)/nt/inc/sys/time.h \
1592 $(SRC)/lisp.h \ 1625 $(LISP_H) \
1593 $(SRC)/atimer.h \ 1626 $(SRC)/atimer.h \
1594 $(SRC)/blockinput.h \ 1627 $(SRC)/blockinput.h \
1595 $(SRC)/buffer.h \ 1628 $(SRC)/buffer.h \
@@ -1618,7 +1651,7 @@ $(BLD)/w32menu.$(O) : \
1618 $(SRC)/w32menu.c \ 1651 $(SRC)/w32menu.c \
1619 $(CONFIG_H) \ 1652 $(CONFIG_H) \
1620 $(EMACS_ROOT)/nt/inc/sys/time.h \ 1653 $(EMACS_ROOT)/nt/inc/sys/time.h \
1621 $(SRC)/lisp.h \ 1654 $(LISP_H) \
1622 $(SRC)/atimer.h \ 1655 $(SRC)/atimer.h \
1623 $(SRC)/blockinput.h \ 1656 $(SRC)/blockinput.h \
1624 $(SRC)/buffer.h \ 1657 $(SRC)/buffer.h \
@@ -1642,7 +1675,7 @@ $(BLD)/w32term.$(O) : \
1642 $(CONFIG_H) \ 1675 $(CONFIG_H) \
1643 $(EMACS_ROOT)/nt/inc/unistd.h \ 1676 $(EMACS_ROOT)/nt/inc/unistd.h \
1644 $(EMACS_ROOT)/nt/inc/sys/time.h \ 1677 $(EMACS_ROOT)/nt/inc/sys/time.h \
1645 $(SRC)/lisp.h \ 1678 $(LISP_H) \
1646 $(SRC)/atimer.h \ 1679 $(SRC)/atimer.h \
1647 $(SRC)/blockinput.h \ 1680 $(SRC)/blockinput.h \
1648 $(SRC)/buffer.h \ 1681 $(SRC)/buffer.h \
@@ -1659,7 +1692,7 @@ $(BLD)/w32term.$(O) : \
1659 $(SRC)/intervals.h \ 1692 $(SRC)/intervals.h \
1660 $(SRC)/keyboard.h \ 1693 $(SRC)/keyboard.h \
1661 $(SRC)/keymap.h \ 1694 $(SRC)/keymap.h \
1662 $(SRC)/process.h \ 1695 $(PROCESS_H) \
1663 $(SRC)/systime.h \ 1696 $(SRC)/systime.h \
1664 $(SRC)/systty.h \ 1697 $(SRC)/systty.h \
1665 $(SRC)/termchar.h \ 1698 $(SRC)/termchar.h \
@@ -1675,7 +1708,7 @@ $(BLD)/w32select.$(O) : \
1675 $(SRC)/w32select.c \ 1708 $(SRC)/w32select.c \
1676 $(CONFIG_H) \ 1709 $(CONFIG_H) \
1677 $(EMACS_ROOT)/nt/inc/sys/time.h \ 1710 $(EMACS_ROOT)/nt/inc/sys/time.h \
1678 $(SRC)/lisp.h \ 1711 $(LISP_H) \
1679 $(SRC)/atimer.h \ 1712 $(SRC)/atimer.h \
1680 $(SRC)/blockinput.h \ 1713 $(SRC)/blockinput.h \
1681 $(SRC)/character.h \ 1714 $(SRC)/character.h \
@@ -1692,7 +1725,7 @@ $(BLD)/w32reg.$(O) : \
1692 $(SRC)/w32reg.c \ 1725 $(SRC)/w32reg.c \
1693 $(CONFIG_H) \ 1726 $(CONFIG_H) \
1694 $(EMACS_ROOT)/nt/inc/sys/time.h \ 1727 $(EMACS_ROOT)/nt/inc/sys/time.h \
1695 $(SRC)/lisp.h \ 1728 $(LISP_H) \
1696 $(SRC)/atimer.h \ 1729 $(SRC)/atimer.h \
1697 $(SRC)/blockinput.h \ 1730 $(SRC)/blockinput.h \
1698 $(SRC)/systime.h \ 1731 $(SRC)/systime.h \
@@ -1703,7 +1736,7 @@ $(BLD)/w32xfns.$(O) : \
1703 $(SRC)/w32xfns.c \ 1736 $(SRC)/w32xfns.c \
1704 $(CONFIG_H) \ 1737 $(CONFIG_H) \
1705 $(EMACS_ROOT)/nt/inc/sys/time.h \ 1738 $(EMACS_ROOT)/nt/inc/sys/time.h \
1706 $(SRC)/lisp.h \ 1739 $(LISP_H) \
1707 $(SRC)/atimer.h \ 1740 $(SRC)/atimer.h \
1708 $(SRC)/blockinput.h \ 1741 $(SRC)/blockinput.h \
1709 $(SRC)/charset.h \ 1742 $(SRC)/charset.h \
@@ -1720,7 +1753,7 @@ $(BLD)/w32xfns.$(O) : \
1720$(BLD)/w32font.$(O) : \ 1753$(BLD)/w32font.$(O) : \
1721 $(SRC)/w32font.c \ 1754 $(SRC)/w32font.c \
1722 $(CONFIG_H) \ 1755 $(CONFIG_H) \
1723 $(SRC)/lisp.h \ 1756 $(LISP_H) \
1724 $(SRC)/ccl.h \ 1757 $(SRC)/ccl.h \
1725 $(SRC)/character.h \ 1758 $(SRC)/character.h \
1726 $(SRC)/charset.h \ 1759 $(SRC)/charset.h \
@@ -1737,7 +1770,7 @@ $(BLD)/w32font.$(O) : \
1737$(BLD)/w32uniscribe.$(O) : \ 1770$(BLD)/w32uniscribe.$(O) : \
1738 $(SRC)/w32uniscribe.c \ 1771 $(SRC)/w32uniscribe.c \
1739 $(CONFIG_H) \ 1772 $(CONFIG_H) \
1740 $(SRC)/lisp.h \ 1773 $(LISP_H) \
1741 $(SRC)/ccl.h \ 1774 $(SRC)/ccl.h \
1742 $(SRC)/character.h \ 1775 $(SRC)/character.h \
1743 $(SRC)/charset.h \ 1776 $(SRC)/charset.h \
diff --git a/src/minibuf.c b/src/minibuf.c
index a19a650d008..67b4e824561 100644
--- a/src/minibuf.c
+++ b/src/minibuf.c
@@ -1092,7 +1092,7 @@ function, instead of the usual behavior. */)
1092 (Lisp_Object prompt, Lisp_Object def, Lisp_Object require_match) 1092 (Lisp_Object prompt, Lisp_Object def, Lisp_Object require_match)
1093{ 1093{
1094 Lisp_Object args[4], result; 1094 Lisp_Object args[4], result;
1095 unsigned char *s; 1095 char *s;
1096 int len; 1096 int len;
1097 int count = SPECPDL_INDEX (); 1097 int count = SPECPDL_INDEX ();
1098 1098
@@ -1114,7 +1114,7 @@ function, instead of the usual behavior. */)
1114 1114
1115 if (STRINGP (prompt)) 1115 if (STRINGP (prompt))
1116 { 1116 {
1117 s = SDATA (prompt); 1117 s = SSDATA (prompt);
1118 len = strlen (s); 1118 len = strlen (s);
1119 if (len >= 2 && s[len - 2] == ':' && s[len - 1] == ' ') 1119 if (len >= 2 && s[len - 2] == ':' && s[len - 1] == ' ')
1120 len = len - 2; 1120 len = len - 2;
diff --git a/src/nsselect.m b/src/nsselect.m
index 299a24e4a8c..950fb1f1f14 100644
--- a/src/nsselect.m
+++ b/src/nsselect.m
@@ -39,6 +39,8 @@ GNUstep port and post-20 update by Adrian Robert (arobert@cogsci.ucsd.edu)
39 39
40Lisp_Object QCLIPBOARD, QSECONDARY, QTEXT, QFILE_NAME; 40Lisp_Object QCLIPBOARD, QSECONDARY, QTEXT, QFILE_NAME;
41 41
42static Lisp_Object Vselection_alist;
43
42static Lisp_Object Qforeign_selection; 44static Lisp_Object Qforeign_selection;
43 45
44/* NSGeneralPboard is pretty much analogous to X11 CLIPBOARD */ 46/* NSGeneralPboard is pretty much analogous to X11 CLIPBOARD */
diff --git a/src/print.c b/src/print.c
index 170ccc7fa84..2c4762047ac 100644
--- a/src/print.c
+++ b/src/print.c
@@ -177,9 +177,9 @@ int print_output_debug_flag EXTERNALLY_VISIBLE = 1;
177 { \ 177 { \
178 unsigned char *temp \ 178 unsigned char *temp \
179 = (unsigned char *) alloca (print_buffer_pos + 1); \ 179 = (unsigned char *) alloca (print_buffer_pos + 1); \
180 copy_text (print_buffer, temp, print_buffer_pos_byte, \ 180 copy_text ((unsigned char *) print_buffer, temp, \
181 1, 0); \ 181 print_buffer_pos_byte, 1, 0); \
182 insert_1_both (temp, print_buffer_pos, \ 182 insert_1_both ((char *) temp, print_buffer_pos, \
183 print_buffer_pos, 0, 1, 0); \ 183 print_buffer_pos, 0, 1, 0); \
184 } \ 184 } \
185 else \ 185 else \
@@ -254,7 +254,7 @@ printchar (unsigned int ch, Lisp_Object fun)
254 254
255 setup_echo_area_for_printing (multibyte_p); 255 setup_echo_area_for_printing (multibyte_p);
256 insert_char (ch); 256 insert_char (ch);
257 message_dolog (str, len, 0, multibyte_p); 257 message_dolog ((char *) str, len, 0, multibyte_p);
258 } 258 }
259 } 259 }
260} 260}
@@ -317,7 +317,8 @@ strout (const char *ptr, EMACS_INT size, EMACS_INT size_byte,
317 int len; 317 int len;
318 for (i = 0; i < size_byte; i += len) 318 for (i = 0; i < size_byte; i += len)
319 { 319 {
320 int ch = STRING_CHAR_AND_LENGTH (ptr + i, len); 320 int ch = STRING_CHAR_AND_LENGTH ((const unsigned char *) ptr + i,
321 len);
321 insert_char (ch); 322 insert_char (ch);
322 } 323 }
323 } 324 }
@@ -343,7 +344,8 @@ strout (const char *ptr, EMACS_INT size, EMACS_INT size_byte,
343 corresponding character code before handing it to 344 corresponding character code before handing it to
344 PRINTCHAR. */ 345 PRINTCHAR. */
345 int len; 346 int len;
346 int ch = STRING_CHAR_AND_LENGTH (ptr + i, len); 347 int ch = STRING_CHAR_AND_LENGTH ((const unsigned char *) ptr + i,
348 len);
347 PRINTCHAR (ch); 349 PRINTCHAR (ch);
348 i += len; 350 i += len;
349 } 351 }
@@ -1016,9 +1018,9 @@ print_error_message (Lisp_Object data, Lisp_Object stream, const char *context,
1016 */ 1018 */
1017 1019
1018void 1020void
1019float_to_string (unsigned char *buf, double data) 1021float_to_string (char *buf, double data)
1020{ 1022{
1021 unsigned char *cp; 1023 char *cp;
1022 int width; 1024 int width;
1023 1025
1024 /* Check for plus infinity in a way that won't lose 1026 /* Check for plus infinity in a way that won't lose
@@ -1067,7 +1069,7 @@ float_to_string (unsigned char *buf, double data)
1067 /* Check that the spec we have is fully valid. 1069 /* Check that the spec we have is fully valid.
1068 This means not only valid for printf, 1070 This means not only valid for printf,
1069 but meant for floats, and reasonable. */ 1071 but meant for floats, and reasonable. */
1070 cp = SDATA (Vfloat_output_format); 1072 cp = SSDATA (Vfloat_output_format);
1071 1073
1072 if (cp[0] != '%') 1074 if (cp[0] != '%')
1073 goto lose; 1075 goto lose;
@@ -1519,7 +1521,7 @@ print_object (Lisp_Object obj, register Lisp_Object printcharfun, int escapeflag
1519 For a char code that could be in a unibyte string, 1521 For a char code that could be in a unibyte string,
1520 when found in a multibyte string, always use a hex escape 1522 when found in a multibyte string, always use a hex escape
1521 so it reads back as multibyte. */ 1523 so it reads back as multibyte. */
1522 unsigned char outbuf[50]; 1524 char outbuf[50];
1523 1525
1524 if (CHAR_BYTE8_P (c)) 1526 if (CHAR_BYTE8_P (c))
1525 sprintf (outbuf, "\\%03o", CHAR_TO_BYTE8 (c)); 1527 sprintf (outbuf, "\\%03o", CHAR_TO_BYTE8 (c));
@@ -1538,7 +1540,7 @@ print_object (Lisp_Object obj, register Lisp_Object printcharfun, int escapeflag
1538 or when explicitly requested, 1540 or when explicitly requested,
1539 print single-byte non-ASCII string chars 1541 print single-byte non-ASCII string chars
1540 using octal escapes. */ 1542 using octal escapes. */
1541 unsigned char outbuf[5]; 1543 char outbuf[5];
1542 sprintf (outbuf, "\\%03o", c); 1544 sprintf (outbuf, "\\%03o", c);
1543 strout (outbuf, -1, -1, printcharfun, 0); 1545 strout (outbuf, -1, -1, printcharfun, 0);
1544 } 1546 }
diff --git a/src/process.c b/src/process.c
index ca29145bfd4..80e70e49f8e 100644
--- a/src/process.c
+++ b/src/process.c
@@ -5287,7 +5287,7 @@ read_process_output (Lisp_Object proc, register int channel)
5287 save the match data in a special nonrecursive fashion. */ 5287 save the match data in a special nonrecursive fashion. */
5288 running_asynch_code = 1; 5288 running_asynch_code = 1;
5289 5289
5290 decode_coding_c_string (coding, chars, nbytes, Qt); 5290 decode_coding_c_string (coding, (unsigned char *) chars, nbytes, Qt);
5291 text = coding->dst_object; 5291 text = coding->dst_object;
5292 Vlast_coding_system_used = CODING_ID_NAME (coding->id); 5292 Vlast_coding_system_used = CODING_ID_NAME (coding->id);
5293 /* A new coding system might be found. */ 5293 /* A new coding system might be found. */
@@ -5391,7 +5391,7 @@ read_process_output (Lisp_Object proc, register int channel)
5391 if (! (BEGV <= PT && PT <= ZV)) 5391 if (! (BEGV <= PT && PT <= ZV))
5392 Fwiden (); 5392 Fwiden ();
5393 5393
5394 decode_coding_c_string (coding, chars, nbytes, Qt); 5394 decode_coding_c_string (coding, (unsigned char *) chars, nbytes, Qt);
5395 text = coding->dst_object; 5395 text = coding->dst_object;
5396 Vlast_coding_system_used = CODING_ID_NAME (coding->id); 5396 Vlast_coding_system_used = CODING_ID_NAME (coding->id);
5397 /* A new coding system might be found. See the comment in the 5397 /* A new coding system might be found. See the comment in the
@@ -5495,7 +5495,7 @@ send_process_trap (int ignore)
5495 This function can evaluate Lisp code and can garbage collect. */ 5495 This function can evaluate Lisp code and can garbage collect. */
5496 5496
5497static void 5497static void
5498send_process (volatile Lisp_Object proc, const unsigned char *volatile buf, 5498send_process (volatile Lisp_Object proc, const char *volatile buf,
5499 volatile EMACS_INT len, volatile Lisp_Object object) 5499 volatile EMACS_INT len, volatile Lisp_Object object)
5500{ 5500{
5501 /* Use volatile to protect variables from being clobbered by longjmp. */ 5501 /* Use volatile to protect variables from being clobbered by longjmp. */
@@ -5573,7 +5573,7 @@ send_process (volatile Lisp_Object proc, const unsigned char *volatile buf,
5573 set_buffer_internal (XBUFFER (object)); 5573 set_buffer_internal (XBUFFER (object));
5574 save_pt = PT, save_pt_byte = PT_BYTE; 5574 save_pt = PT, save_pt_byte = PT_BYTE;
5575 5575
5576 from_byte = PTR_BYTE_POS (buf); 5576 from_byte = PTR_BYTE_POS ((unsigned char *) buf);
5577 from = BYTE_TO_CHAR (from_byte); 5577 from = BYTE_TO_CHAR (from_byte);
5578 to = BYTE_TO_CHAR (from_byte + len); 5578 to = BYTE_TO_CHAR (from_byte + len);
5579 TEMP_SET_PT_BOTH (from, from_byte); 5579 TEMP_SET_PT_BOTH (from, from_byte);
@@ -5595,7 +5595,7 @@ send_process (volatile Lisp_Object proc, const unsigned char *volatile buf,
5595 5595
5596 len = coding->produced; 5596 len = coding->produced;
5597 object = coding->dst_object; 5597 object = coding->dst_object;
5598 buf = SDATA (object); 5598 buf = SSDATA (object);
5599 } 5599 }
5600 5600
5601 if (pty_max_bytes == 0) 5601 if (pty_max_bytes == 0)
@@ -5629,7 +5629,7 @@ send_process (volatile Lisp_Object proc, const unsigned char *volatile buf,
5629#ifdef DATAGRAM_SOCKETS 5629#ifdef DATAGRAM_SOCKETS
5630 if (DATAGRAM_CHAN_P (outfd)) 5630 if (DATAGRAM_CHAN_P (outfd))
5631 { 5631 {
5632 rv = sendto (outfd, (char *) buf, this, 5632 rv = sendto (outfd, buf, this,
5633 0, datagram_address[outfd].sa, 5633 0, datagram_address[outfd].sa,
5634 datagram_address[outfd].len); 5634 datagram_address[outfd].len);
5635 if (rv < 0 && errno == EMSGSIZE) 5635 if (rv < 0 && errno == EMSGSIZE)
@@ -5646,10 +5646,10 @@ send_process (volatile Lisp_Object proc, const unsigned char *volatile buf,
5646 if (XPROCESS (proc)->gnutls_p) 5646 if (XPROCESS (proc)->gnutls_p)
5647 rv = emacs_gnutls_write (outfd, 5647 rv = emacs_gnutls_write (outfd,
5648 XPROCESS (proc), 5648 XPROCESS (proc),
5649 (char *) buf, this); 5649 buf, this);
5650 else 5650 else
5651#endif 5651#endif
5652 rv = emacs_write (outfd, (char *) buf, this); 5652 rv = emacs_write (outfd, buf, this);
5653#ifdef ADAPTIVE_READ_BUFFERING 5653#ifdef ADAPTIVE_READ_BUFFERING
5654 if (p->read_output_delay > 0 5654 if (p->read_output_delay > 0
5655 && p->adaptive_read_buffering == 1) 5655 && p->adaptive_read_buffering == 1)
@@ -5706,9 +5706,10 @@ send_process (volatile Lisp_Object proc, const unsigned char *volatile buf,
5706 /* Running filters might relocate buffers or strings. 5706 /* Running filters might relocate buffers or strings.
5707 Arrange to relocate BUF. */ 5707 Arrange to relocate BUF. */
5708 if (BUFFERP (object)) 5708 if (BUFFERP (object))
5709 offset = BUF_PTR_BYTE_POS (XBUFFER (object), buf); 5709 offset = BUF_PTR_BYTE_POS (XBUFFER (object),
5710 (unsigned char *) buf);
5710 else if (STRINGP (object)) 5711 else if (STRINGP (object))
5711 offset = buf - SDATA (object); 5712 offset = buf - SSDATA (object);
5712 5713
5713#ifdef EMACS_HAS_USECS 5714#ifdef EMACS_HAS_USECS
5714 wait_reading_process_output (0, 20000, 0, 0, Qnil, NULL, 0); 5715 wait_reading_process_output (0, 20000, 0, 0, Qnil, NULL, 0);
@@ -5717,9 +5718,10 @@ send_process (volatile Lisp_Object proc, const unsigned char *volatile buf,
5717#endif 5718#endif
5718 5719
5719 if (BUFFERP (object)) 5720 if (BUFFERP (object))
5720 buf = BUF_BYTE_ADDRESS (XBUFFER (object), offset); 5721 buf = (char *) BUF_BYTE_ADDRESS (XBUFFER (object),
5722 offset);
5721 else if (STRINGP (object)) 5723 else if (STRINGP (object))
5722 buf = offset + SDATA (object); 5724 buf = offset + SSDATA (object);
5723 5725
5724 rv = 0; 5726 rv = 0;
5725 } 5727 }
@@ -5770,7 +5772,7 @@ Output from processes can arrive in between bunches. */)
5770 5772
5771 start1 = CHAR_TO_BYTE (XINT (start)); 5773 start1 = CHAR_TO_BYTE (XINT (start));
5772 end1 = CHAR_TO_BYTE (XINT (end)); 5774 end1 = CHAR_TO_BYTE (XINT (end));
5773 send_process (proc, BYTE_POS_ADDR (start1), end1 - start1, 5775 send_process (proc, (char *) BYTE_POS_ADDR (start1), end1 - start1,
5774 Fcurrent_buffer ()); 5776 Fcurrent_buffer ());
5775 5777
5776 return Qnil; 5778 return Qnil;
@@ -5789,7 +5791,7 @@ Output from processes can arrive in between bunches. */)
5789 Lisp_Object proc; 5791 Lisp_Object proc;
5790 CHECK_STRING (string); 5792 CHECK_STRING (string);
5791 proc = get_process (process); 5793 proc = get_process (process);
5792 send_process (proc, SDATA (string), 5794 send_process (proc, SSDATA (string),
5793 SBYTES (string), string); 5795 SBYTES (string), string);
5794 return Qnil; 5796 return Qnil;
5795} 5797}
@@ -6168,10 +6170,10 @@ SIGCODE may be an integer, or a symbol whose name is a signal name. */)
6168 ; 6170 ;
6169 else 6171 else
6170 { 6172 {
6171 unsigned char *name; 6173 char *name;
6172 6174
6173 CHECK_SYMBOL (sigcode); 6175 CHECK_SYMBOL (sigcode);
6174 name = SDATA (SYMBOL_NAME (sigcode)); 6176 name = SSDATA (SYMBOL_NAME (sigcode));
6175 6177
6176 if (!strncmp (name, "SIG", 3) || !strncmp (name, "sig", 3)) 6178 if (!strncmp (name, "SIG", 3) || !strncmp (name, "sig", 3))
6177 name += 3; 6179 name += 3;
diff --git a/src/ralloc.c b/src/ralloc.c
index ee8493b89a4..9c601a0ac24 100644
--- a/src/ralloc.c
+++ b/src/ralloc.c
@@ -648,7 +648,7 @@ resize_bloc (bloc_ptr bloc, SIZE size)
648 else 648 else
649 { 649 {
650 memmove (bloc->new_data, bloc->data, old_size); 650 memmove (bloc->new_data, bloc->data, old_size);
651 memset (bloc->new_data + old_size, 0, size - old_size); 651 memset ((char *) bloc->new_data + old_size, 0, size - old_size);
652 *bloc->variable = bloc->data = bloc->new_data; 652 *bloc->variable = bloc->data = bloc->new_data;
653 } 653 }
654 } 654 }
@@ -1259,4 +1259,3 @@ r_alloc_init (void)
1259 1259
1260 use_relocatable_buffers = 1; 1260 use_relocatable_buffers = 1;
1261} 1261}
1262
diff --git a/src/regex.c b/src/regex.c
index cb6edc2e356..9284be95ffb 100644
--- a/src/regex.c
+++ b/src/regex.c
@@ -2118,7 +2118,7 @@ struct range_table_work_area
2118re_wctype_t 2118re_wctype_t
2119re_wctype (const re_char *str) 2119re_wctype (const re_char *str)
2120{ 2120{
2121 const char *string = str; 2121 const char *string = (const char *) str;
2122 if (STREQ (string, "alnum")) return RECC_ALNUM; 2122 if (STREQ (string, "alnum")) return RECC_ALNUM;
2123 else if (STREQ (string, "alpha")) return RECC_ALPHA; 2123 else if (STREQ (string, "alpha")) return RECC_ALPHA;
2124 else if (STREQ (string, "word")) return RECC_WORD; 2124 else if (STREQ (string, "word")) return RECC_WORD;
@@ -2700,7 +2700,7 @@ regex_compile (const re_char *pattern, size_t size, reg_syntax_t syntax, struct
2700 main_pend = pend; 2700 main_pend = pend;
2701 main_pattern = pattern; 2701 main_pattern = pattern;
2702 p = pattern = whitespace_regexp; 2702 p = pattern = whitespace_regexp;
2703 pend = p + strlen (p); 2703 pend = p + strlen ((const char *) p);
2704 break; 2704 break;
2705 } 2705 }
2706 2706
diff --git a/src/s/ms-w32.h b/src/s/ms-w32.h
index d247cf866f9..4c3b84dfe4c 100644
--- a/src/s/ms-w32.h
+++ b/src/s/ms-w32.h
@@ -159,7 +159,6 @@ struct sigaction {
159#undef HAVE_SETPGID 159#undef HAVE_SETPGID
160#undef HAVE_GETCWD 160#undef HAVE_GETCWD
161#define HAVE_SHUTDOWN 1 161#define HAVE_SHUTDOWN 1
162#define HAVE_STRFTIME 1
163 162
164#define LOCALTIME_CACHE 163#define LOCALTIME_CACHE
165#define HAVE_INET_SOCKETS 1 164#define HAVE_INET_SOCKETS 1
diff --git a/src/search.c b/src/search.c
index c0f8d8067e6..09dae0ed0f5 100644
--- a/src/search.c
+++ b/src/search.c
@@ -2705,7 +2705,7 @@ since only regular expressions have distinguished subexpressions. */)
2705 idx = c - '0'; 2705 idx = c - '0';
2706 } 2706 }
2707 else if (c == '\\') 2707 else if (c == '\\')
2708 add_len = 1, add_stuff = "\\"; 2708 add_len = 1, add_stuff = (unsigned char *) "\\";
2709 else 2709 else
2710 { 2710 {
2711 xfree (substed); 2711 xfree (substed);
@@ -2755,10 +2755,11 @@ since only regular expressions have distinguished subexpressions. */)
2755 EMACS_INT nchars = 2755 EMACS_INT nchars =
2756 multibyte_chars_in_text (substed, substed_len); 2756 multibyte_chars_in_text (substed, substed_len);
2757 2757
2758 newtext = make_multibyte_string (substed, nchars, substed_len); 2758 newtext = make_multibyte_string ((char *) substed, nchars,
2759 substed_len);
2759 } 2760 }
2760 else 2761 else
2761 newtext = make_unibyte_string (substed, substed_len); 2762 newtext = make_unibyte_string ((char *) substed, substed_len);
2762 } 2763 }
2763 xfree (substed); 2764 xfree (substed);
2764 } 2765 }
@@ -3145,17 +3146,17 @@ DEFUN ("regexp-quote", Fregexp_quote, Sregexp_quote, 1, 1, 0,
3145 doc: /* Return a regexp string which matches exactly STRING and nothing else. */) 3146 doc: /* Return a regexp string which matches exactly STRING and nothing else. */)
3146 (Lisp_Object string) 3147 (Lisp_Object string)
3147{ 3148{
3148 register unsigned char *in, *out, *end; 3149 register char *in, *out, *end;
3149 register unsigned char *temp; 3150 register char *temp;
3150 int backslashes_added = 0; 3151 int backslashes_added = 0;
3151 3152
3152 CHECK_STRING (string); 3153 CHECK_STRING (string);
3153 3154
3154 temp = (unsigned char *) alloca (SBYTES (string) * 2); 3155 temp = (char *) alloca (SBYTES (string) * 2);
3155 3156
3156 /* Now copy the data into the new string, inserting escapes. */ 3157 /* Now copy the data into the new string, inserting escapes. */
3157 3158
3158 in = SDATA (string); 3159 in = SSDATA (string);
3159 end = in + SBYTES (string); 3160 end = in + SBYTES (string);
3160 out = temp; 3161 out = temp;
3161 3162
diff --git a/src/sysdep.c b/src/sysdep.c
index 5f82d2d534c..5760d0224eb 100644
--- a/src/sysdep.c
+++ b/src/sysdep.c
@@ -31,6 +31,8 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
31#endif /* HAVE_LIMITS_H */ 31#endif /* HAVE_LIMITS_H */
32#include <unistd.h> 32#include <unistd.h>
33 33
34#include <ignore-value.h>
35
34#include "lisp.h" 36#include "lisp.h"
35#include "sysselect.h" 37#include "sysselect.h"
36#include "blockinput.h" 38#include "blockinput.h"
@@ -263,7 +265,7 @@ void
263init_baud_rate (int fd) 265init_baud_rate (int fd)
264{ 266{
265 int emacs_ospeed; 267 int emacs_ospeed;
266 268
267 if (noninteractive) 269 if (noninteractive)
268 emacs_ospeed = 0; 270 emacs_ospeed = 0;
269 else 271 else
@@ -546,8 +548,13 @@ sys_subshell (void)
546 sh = "sh"; 548 sh = "sh";
547 549
548 /* Use our buffer's default directory for the subshell. */ 550 /* Use our buffer's default directory for the subshell. */
549 if (str) 551 if (str && chdir ((char *) str) != 0)
550 chdir ((char *) str); 552 {
553#ifndef DOS_NT
554 ignore_value (write (1, "Can't chdir\n", 12));
555 _exit (1);
556#endif
557 }
551 558
552 close_process_descs (); /* Close Emacs's pipes/ptys */ 559 close_process_descs (); /* Close Emacs's pipes/ptys */
553 560
@@ -565,7 +572,7 @@ sys_subshell (void)
565 setenv ("PWD", str, 1); 572 setenv ("PWD", str, 1);
566 } 573 }
567 st = system (sh); 574 st = system (sh);
568 chdir (oldwd); 575 chdir (oldwd); /* FIXME: Do the right thing on chdir failure. */
569 if (epwd) 576 if (epwd)
570 putenv (old_pwd); /* restore previous value */ 577 putenv (old_pwd); /* restore previous value */
571 } 578 }
@@ -573,12 +580,12 @@ sys_subshell (void)
573#ifdef WINDOWSNT 580#ifdef WINDOWSNT
574 /* Waits for process completion */ 581 /* Waits for process completion */
575 pid = _spawnlp (_P_WAIT, sh, sh, NULL); 582 pid = _spawnlp (_P_WAIT, sh, sh, NULL);
576 chdir (oldwd); 583 chdir (oldwd); /* FIXME: Do the right thing on chdir failure. */
577 if (pid == -1) 584 if (pid == -1)
578 write (1, "Can't execute subshell", 22); 585 write (1, "Can't execute subshell", 22);
579#else /* not WINDOWSNT */ 586#else /* not WINDOWSNT */
580 execlp (sh, sh, (char *) 0); 587 execlp (sh, sh, (char *) 0);
581 write (1, "Can't execute subshell", 22); 588 ignore_value (write (1, "Can't execute subshell", 22));
582 _exit (1); 589 _exit (1);
583#endif /* not WINDOWSNT */ 590#endif /* not WINDOWSNT */
584#endif /* not MSDOS */ 591#endif /* not MSDOS */
@@ -3058,4 +3065,3 @@ system_process_attributes (Lisp_Object pid)
3058} 3065}
3059 3066
3060#endif /* !defined (WINDOWSNT) */ 3067#endif /* !defined (WINDOWSNT) */
3061
diff --git a/src/window.c b/src/window.c
index 41eed893d6a..abf01758c3f 100644
--- a/src/window.c
+++ b/src/window.c
@@ -3589,7 +3589,7 @@ Note that the main editor command loop selects the buffer of the
3589selected window before each command. */) 3589selected window before each command. */)
3590 (register Lisp_Object window, Lisp_Object norecord) 3590 (register Lisp_Object window, Lisp_Object norecord)
3591{ 3591{
3592 select_window (window, norecord, 0); 3592 return select_window (window, norecord, 0);
3593} 3593}
3594 3594
3595static Lisp_Object 3595static Lisp_Object
diff --git a/src/xdisp.c b/src/xdisp.c
index 5f86a594968..630c1dcda85 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -773,7 +773,7 @@ static void reconsider_clip_changes (struct window *, struct buffer *);
773static int text_outside_line_unchanged_p (struct window *, 773static int text_outside_line_unchanged_p (struct window *,
774 EMACS_INT, EMACS_INT); 774 EMACS_INT, EMACS_INT);
775static void store_mode_line_noprop_char (char); 775static void store_mode_line_noprop_char (char);
776static int store_mode_line_noprop (const unsigned char *, int, int); 776static int store_mode_line_noprop (const char *, int, int);
777static void handle_stop (struct it *); 777static void handle_stop (struct it *);
778static void handle_stop_backwards (struct it *, EMACS_INT); 778static void handle_stop_backwards (struct it *, EMACS_INT);
779static int single_display_spec_intangible_p (Lisp_Object); 779static int single_display_spec_intangible_p (Lisp_Object);
@@ -831,7 +831,7 @@ static const char *decode_mode_spec (struct window *, int, int, int,
831static void display_menu_bar (struct window *); 831static void display_menu_bar (struct window *);
832static int display_count_lines (EMACS_INT, EMACS_INT, EMACS_INT, int, 832static int display_count_lines (EMACS_INT, EMACS_INT, EMACS_INT, int,
833 EMACS_INT *); 833 EMACS_INT *);
834static int display_string (const unsigned char *, Lisp_Object, Lisp_Object, 834static int display_string (const char *, Lisp_Object, Lisp_Object,
835 EMACS_INT, EMACS_INT, struct it *, int, int, int, int); 835 EMACS_INT, EMACS_INT, struct it *, int, int, int, int);
836static void compute_line_metrics (struct it *); 836static void compute_line_metrics (struct it *);
837static void run_redisplay_end_trigger_hook (struct it *); 837static void run_redisplay_end_trigger_hook (struct it *);
@@ -854,7 +854,7 @@ static int next_element_from_stretch (struct it *);
854static void load_overlay_strings (struct it *, EMACS_INT); 854static void load_overlay_strings (struct it *, EMACS_INT);
855static int init_from_display_pos (struct it *, struct window *, 855static int init_from_display_pos (struct it *, struct window *,
856 struct display_pos *); 856 struct display_pos *);
857static void reseat_to_string (struct it *, const unsigned char *, 857static void reseat_to_string (struct it *, const char *,
858 Lisp_Object, EMACS_INT, EMACS_INT, int, int); 858 Lisp_Object, EMACS_INT, EMACS_INT, int, int);
859static enum move_it_result 859static enum move_it_result
860 move_it_in_display_line_to (struct it *, EMACS_INT, int, 860 move_it_in_display_line_to (struct it *, EMACS_INT, int,
@@ -869,8 +869,8 @@ static int forward_to_next_line_start (struct it *, int *);
869static struct text_pos string_pos_nchars_ahead (struct text_pos, 869static struct text_pos string_pos_nchars_ahead (struct text_pos,
870 Lisp_Object, EMACS_INT); 870 Lisp_Object, EMACS_INT);
871static struct text_pos string_pos (EMACS_INT, Lisp_Object); 871static struct text_pos string_pos (EMACS_INT, Lisp_Object);
872static struct text_pos c_string_pos (EMACS_INT, const unsigned char *, int); 872static struct text_pos c_string_pos (EMACS_INT, const char *, int);
873static EMACS_INT number_of_chars (const unsigned char *, int); 873static EMACS_INT number_of_chars (const char *, int);
874static void compute_stop_pos (struct it *); 874static void compute_stop_pos (struct it *);
875static void compute_string_pos (struct text_pos *, struct text_pos, 875static void compute_string_pos (struct text_pos *, struct text_pos,
876 Lisp_Object); 876 Lisp_Object);
@@ -1383,7 +1383,7 @@ string_pos (EMACS_INT charpos, Lisp_Object string)
1383 means recognize multibyte characters. */ 1383 means recognize multibyte characters. */
1384 1384
1385static struct text_pos 1385static struct text_pos
1386c_string_pos (EMACS_INT charpos, const unsigned char *s, int multibyte_p) 1386c_string_pos (EMACS_INT charpos, const char *s, int multibyte_p)
1387{ 1387{
1388 struct text_pos pos; 1388 struct text_pos pos;
1389 1389
@@ -1397,7 +1397,7 @@ c_string_pos (EMACS_INT charpos, const unsigned char *s, int multibyte_p)
1397 SET_TEXT_POS (pos, 0, 0); 1397 SET_TEXT_POS (pos, 0, 0);
1398 while (charpos--) 1398 while (charpos--)
1399 { 1399 {
1400 string_char_and_length (s, &len); 1400 string_char_and_length ((const unsigned char *) s, &len);
1401 s += len; 1401 s += len;
1402 CHARPOS (pos) += 1; 1402 CHARPOS (pos) += 1;
1403 BYTEPOS (pos) += len; 1403 BYTEPOS (pos) += len;
@@ -1414,7 +1414,7 @@ c_string_pos (EMACS_INT charpos, const unsigned char *s, int multibyte_p)
1414 non-zero means recognize multibyte characters. */ 1414 non-zero means recognize multibyte characters. */
1415 1415
1416static EMACS_INT 1416static EMACS_INT
1417number_of_chars (const unsigned char *s, int multibyte_p) 1417number_of_chars (const char *s, int multibyte_p)
1418{ 1418{
1419 EMACS_INT nchars; 1419 EMACS_INT nchars;
1420 1420
@@ -1422,7 +1422,7 @@ number_of_chars (const unsigned char *s, int multibyte_p)
1422 { 1422 {
1423 EMACS_INT rest = strlen (s); 1423 EMACS_INT rest = strlen (s);
1424 int len; 1424 int len;
1425 unsigned char *p = (unsigned char *) s; 1425 const unsigned char *p = (const unsigned char *) s;
1426 1426
1427 for (nchars = 0; rest > 0; ++nchars) 1427 for (nchars = 0; rest > 0; ++nchars)
1428 { 1428 {
@@ -3172,7 +3172,7 @@ handle_fontified_prop (struct it *it)
3172 specbind (Qfontification_functions, Qnil); 3172 specbind (Qfontification_functions, Qnil);
3173 3173
3174 xassert (it->end_charpos == ZV); 3174 xassert (it->end_charpos == ZV);
3175 3175
3176 if (!CONSP (val) || EQ (XCAR (val), Qlambda)) 3176 if (!CONSP (val) || EQ (XCAR (val), Qlambda))
3177 safe_call1 (val, pos); 3177 safe_call1 (val, pos);
3178 else 3178 else
@@ -3218,7 +3218,7 @@ handle_fontified_prop (struct it *it)
3218 as is/was done in grep.el where some escapes sequences are turned 3218 as is/was done in grep.el where some escapes sequences are turned
3219 into face properties (bug#7876). */ 3219 into face properties (bug#7876). */
3220 it->end_charpos = ZV; 3220 it->end_charpos = ZV;
3221 3221
3222 /* Return HANDLED_RECOMPUTE_PROPS only if function fontified 3222 /* Return HANDLED_RECOMPUTE_PROPS only if function fontified
3223 something. This avoids an endless loop if they failed to 3223 something. This avoids an endless loop if they failed to
3224 fontify the text for which reason ever. */ 3224 fontify the text for which reason ever. */
@@ -5442,7 +5442,7 @@ reseat_1 (struct it *it, struct text_pos pos, int set_stop_p)
5442 calling this function. */ 5442 calling this function. */
5443 5443
5444static void 5444static void
5445reseat_to_string (struct it *it, const unsigned char *s, Lisp_Object string, 5445reseat_to_string (struct it *it, const char *s, Lisp_Object string,
5446 EMACS_INT charpos, EMACS_INT precision, int field_width, 5446 EMACS_INT charpos, EMACS_INT precision, int field_width,
5447 int multibyte) 5447 int multibyte)
5448{ 5448{
@@ -5474,7 +5474,7 @@ reseat_to_string (struct it *it, const unsigned char *s, Lisp_Object string,
5474 } 5474 }
5475 else 5475 else
5476 { 5476 {
5477 it->s = s; 5477 it->s = (const unsigned char *) s;
5478 it->string = Qnil; 5478 it->string = Qnil;
5479 5479
5480 /* Note that we use IT->current.pos, not it->current.string_pos, 5480 /* Note that we use IT->current.pos, not it->current.string_pos,
@@ -7884,6 +7884,8 @@ message_log_maybe_newline (void)
7884void 7884void
7885message_dolog (const char *m, EMACS_INT nbytes, int nlflag, int multibyte) 7885message_dolog (const char *m, EMACS_INT nbytes, int nlflag, int multibyte)
7886{ 7886{
7887 const unsigned char *msg = (const unsigned char *) m;
7888
7887 if (!NILP (Vmemory_full)) 7889 if (!NILP (Vmemory_full))
7888 return; 7890 return;
7889 7891
@@ -7928,13 +7930,13 @@ message_dolog (const char *m, EMACS_INT nbytes, int nlflag, int multibyte)
7928 { 7930 {
7929 EMACS_INT i; 7931 EMACS_INT i;
7930 int c, char_bytes; 7932 int c, char_bytes;
7931 unsigned char work[1]; 7933 char work[1];
7932 7934
7933 /* Convert a multibyte string to single-byte 7935 /* Convert a multibyte string to single-byte
7934 for the *Message* buffer. */ 7936 for the *Message* buffer. */
7935 for (i = 0; i < nbytes; i += char_bytes) 7937 for (i = 0; i < nbytes; i += char_bytes)
7936 { 7938 {
7937 c = string_char_and_length (m + i, &char_bytes); 7939 c = string_char_and_length (msg + i, &char_bytes);
7938 work[0] = (ASCII_CHAR_P (c) 7940 work[0] = (ASCII_CHAR_P (c)
7939 ? c 7941 ? c
7940 : multibyte_char_to_unibyte (c, Qnil)); 7942 : multibyte_char_to_unibyte (c, Qnil));
@@ -7946,7 +7948,6 @@ message_dolog (const char *m, EMACS_INT nbytes, int nlflag, int multibyte)
7946 { 7948 {
7947 EMACS_INT i; 7949 EMACS_INT i;
7948 int c, char_bytes; 7950 int c, char_bytes;
7949 unsigned char *msg = (unsigned char *) m;
7950 unsigned char str[MAX_MULTIBYTE_LENGTH]; 7951 unsigned char str[MAX_MULTIBYTE_LENGTH];
7951 /* Convert a single-byte string to multibyte 7952 /* Convert a single-byte string to multibyte
7952 for the *Message* buffer. */ 7953 for the *Message* buffer. */
@@ -7955,7 +7956,7 @@ message_dolog (const char *m, EMACS_INT nbytes, int nlflag, int multibyte)
7955 c = msg[i]; 7956 c = msg[i];
7956 MAKE_CHAR_MULTIBYTE (c); 7957 MAKE_CHAR_MULTIBYTE (c);
7957 char_bytes = CHAR_STRING (c, str); 7958 char_bytes = CHAR_STRING (c, str);
7958 insert_1_both (str, 1, char_bytes, 1, 0, 0); 7959 insert_1_both ((char *) str, 1, char_bytes, 1, 0, 0);
7959 } 7960 }
7960 } 7961 }
7961 else if (nbytes) 7962 else if (nbytes)
@@ -8079,7 +8080,7 @@ message_log_check_duplicate (EMACS_INT prev_bol, EMACS_INT prev_bol_byte,
8079 int n = 0; 8080 int n = 0;
8080 while (*p1 >= '0' && *p1 <= '9') 8081 while (*p1 >= '0' && *p1 <= '9')
8081 n = n * 10 + *p1++ - '0'; 8082 n = n * 10 + *p1++ - '0';
8082 if (strncmp (p1, " times]\n", 8) == 0) 8083 if (strncmp ((char *) p1, " times]\n", 8) == 0)
8083 return n+1; 8084 return n+1;
8084 } 8085 }
8085 return 0; 8086 return 0;
@@ -9154,6 +9155,7 @@ static int
9154set_message_1 (EMACS_INT a1, Lisp_Object a2, EMACS_INT nbytes, EMACS_INT multibyte_p) 9155set_message_1 (EMACS_INT a1, Lisp_Object a2, EMACS_INT nbytes, EMACS_INT multibyte_p)
9155{ 9156{
9156 const char *s = (const char *) a1; 9157 const char *s = (const char *) a1;
9158 const unsigned char *msg = (const unsigned char *) s;
9157 Lisp_Object string = a2; 9159 Lisp_Object string = a2;
9158 9160
9159 /* Change multibyteness of the echo buffer appropriately. */ 9161 /* Change multibyteness of the echo buffer appropriately. */
@@ -9191,12 +9193,12 @@ set_message_1 (EMACS_INT a1, Lisp_Object a2, EMACS_INT nbytes, EMACS_INT multiby
9191 /* Convert from multi-byte to single-byte. */ 9193 /* Convert from multi-byte to single-byte. */
9192 EMACS_INT i; 9194 EMACS_INT i;
9193 int c, n; 9195 int c, n;
9194 unsigned char work[1]; 9196 char work[1];
9195 9197
9196 /* Convert a multibyte string to single-byte. */ 9198 /* Convert a multibyte string to single-byte. */
9197 for (i = 0; i < nbytes; i += n) 9199 for (i = 0; i < nbytes; i += n)
9198 { 9200 {
9199 c = string_char_and_length (s + i, &n); 9201 c = string_char_and_length (msg + i, &n);
9200 work[0] = (ASCII_CHAR_P (c) 9202 work[0] = (ASCII_CHAR_P (c)
9201 ? c 9203 ? c
9202 : multibyte_char_to_unibyte (c, Qnil)); 9204 : multibyte_char_to_unibyte (c, Qnil));
@@ -9209,7 +9211,6 @@ set_message_1 (EMACS_INT a1, Lisp_Object a2, EMACS_INT nbytes, EMACS_INT multiby
9209 /* Convert from single-byte to multi-byte. */ 9211 /* Convert from single-byte to multi-byte. */
9210 EMACS_INT i; 9212 EMACS_INT i;
9211 int c, n; 9213 int c, n;
9212 const unsigned char *msg = (const unsigned char *) s;
9213 unsigned char str[MAX_MULTIBYTE_LENGTH]; 9214 unsigned char str[MAX_MULTIBYTE_LENGTH];
9214 9215
9215 /* Convert a single-byte string to multibyte. */ 9216 /* Convert a single-byte string to multibyte. */
@@ -9218,7 +9219,7 @@ set_message_1 (EMACS_INT a1, Lisp_Object a2, EMACS_INT nbytes, EMACS_INT multiby
9218 c = msg[i]; 9219 c = msg[i];
9219 MAKE_CHAR_MULTIBYTE (c); 9220 MAKE_CHAR_MULTIBYTE (c);
9220 n = CHAR_STRING (c, str); 9221 n = CHAR_STRING (c, str);
9221 insert_1_both (str, 1, n, 1, 0, 0); 9222 insert_1_both ((char *) str, 1, n, 1, 0, 0);
9222 } 9223 }
9223 } 9224 }
9224 else 9225 else
@@ -9517,7 +9518,7 @@ store_mode_line_noprop_char (char c)
9517 9518
9518 9519
9519/* Store part of a frame title in mode_line_noprop_buf, beginning at 9520/* Store part of a frame title in mode_line_noprop_buf, beginning at
9520 mode_line_noprop_ptr. STR is the string to store. Do not copy 9521 mode_line_noprop_ptr. STRING is the string to store. Do not copy
9521 characters that yield more columns than PRECISION; PRECISION <= 0 9522 characters that yield more columns than PRECISION; PRECISION <= 0
9522 means copy the whole string. Pad with spaces until FIELD_WIDTH 9523 means copy the whole string. Pad with spaces until FIELD_WIDTH
9523 number of characters have been copied; FIELD_WIDTH <= 0 means don't 9524 number of characters have been copied; FIELD_WIDTH <= 0 means don't
@@ -9525,13 +9526,14 @@ store_mode_line_noprop_char (char c)
9525 frame title. */ 9526 frame title. */
9526 9527
9527static int 9528static int
9528store_mode_line_noprop (const unsigned char *str, int field_width, int precision) 9529store_mode_line_noprop (const char *string, int field_width, int precision)
9529{ 9530{
9531 const unsigned char *str = (const unsigned char *) string;
9530 int n = 0; 9532 int n = 0;
9531 EMACS_INT dummy, nbytes; 9533 EMACS_INT dummy, nbytes;
9532 9534
9533 /* Copy at most PRECISION chars from STR. */ 9535 /* Copy at most PRECISION chars from STR. */
9534 nbytes = strlen (str); 9536 nbytes = strlen (string);
9535 n += c_string_width (str, nbytes, precision, &dummy, &nbytes); 9537 n += c_string_width (str, nbytes, precision, &dummy, &nbytes);
9536 while (nbytes--) 9538 while (nbytes--)
9537 store_mode_line_noprop_char (*str++); 9539 store_mode_line_noprop_char (*str++);
@@ -18396,7 +18398,7 @@ display_mode_element (struct it *it, int depth, int field_width, int precision,
18396 { 18398 {
18397 case MODE_LINE_NOPROP: 18399 case MODE_LINE_NOPROP:
18398 case MODE_LINE_TITLE: 18400 case MODE_LINE_TITLE:
18399 n += store_mode_line_noprop (SDATA (elt), -1, prec); 18401 n += store_mode_line_noprop (SSDATA (elt), -1, prec);
18400 break; 18402 break;
18401 case MODE_LINE_STRING: 18403 case MODE_LINE_STRING:
18402 n += store_mode_line_string (NULL, elt, 1, 0, prec, Qnil); 18404 n += store_mode_line_string (NULL, elt, 1, 0, prec, Qnil);
@@ -18440,7 +18442,7 @@ display_mode_element (struct it *it, int depth, int field_width, int precision,
18440 { 18442 {
18441 case MODE_LINE_NOPROP: 18443 case MODE_LINE_NOPROP:
18442 case MODE_LINE_TITLE: 18444 case MODE_LINE_TITLE:
18443 n += store_mode_line_noprop (SDATA (elt) + last_offset, 0, prec); 18445 n += store_mode_line_noprop (SSDATA (elt) + last_offset, 0, prec);
18444 break; 18446 break;
18445 case MODE_LINE_STRING: 18447 case MODE_LINE_STRING:
18446 { 18448 {
@@ -18495,7 +18497,7 @@ display_mode_element (struct it *it, int depth, int field_width, int precision,
18495 { 18497 {
18496 int multibyte; 18498 int multibyte;
18497 EMACS_INT bytepos, charpos; 18499 EMACS_INT bytepos, charpos;
18498 const unsigned char *spec; 18500 const char *spec;
18499 Lisp_Object string; 18501 Lisp_Object string;
18500 18502
18501 bytepos = percent_position; 18503 bytepos = percent_position;
@@ -19746,7 +19748,7 @@ display_count_lines (EMACS_INT start, EMACS_INT start_byte,
19746 Value is the number of columns displayed. */ 19748 Value is the number of columns displayed. */
19747 19749
19748static int 19750static int
19749display_string (const unsigned char *string, Lisp_Object lisp_string, Lisp_Object face_string, 19751display_string (const char *string, Lisp_Object lisp_string, Lisp_Object face_string,
19750 EMACS_INT face_string_pos, EMACS_INT start, struct it *it, 19752 EMACS_INT face_string_pos, EMACS_INT start, struct it *it,
19751 int field_width, int precision, int max_x, int multibyte) 19753 int field_width, int precision, int max_x, int multibyte)
19752{ 19754{
diff --git a/src/xfaces.c b/src/xfaces.c
index f1d21c098f0..82ad0b9aeb6 100644
--- a/src/xfaces.c
+++ b/src/xfaces.c
@@ -716,12 +716,14 @@ x_free_gc (struct frame *f, GC gc)
716 are in ISO8859-1. */ 716 are in ISO8859-1. */
717 717
718int 718int
719xstrcasecmp (const unsigned char *s1, const unsigned char *s2) 719xstrcasecmp (const char *s1, const char *s2)
720{ 720{
721 while (*s1 && *s2) 721 while (*s1 && *s2)
722 { 722 {
723 unsigned char c1 = tolower (*s1); 723 unsigned char b1 = *s1;
724 unsigned char c2 = tolower (*s2); 724 unsigned char b2 = *s2;
725 unsigned char c1 = tolower (b1);
726 unsigned char c2 = tolower (b2);
725 if (c1 != c2) 727 if (c1 != c2)
726 return c1 < c2 ? -1 : 1; 728 return c1 < c2 ? -1 : 1;
727 ++s1, ++s2; 729 ++s1, ++s2;
@@ -2897,7 +2899,7 @@ FRAME 0 means change the face on all frames, and change the default
2897 { 2899 {
2898 /* The default face must have an absolute size. */ 2900 /* The default face must have an absolute size. */
2899 if (!INTEGERP (value) || XINT (value) <= 0) 2901 if (!INTEGERP (value) || XINT (value) <= 0)
2900 signal_error ("Invalid default face height", value); 2902 signal_error ("Default face height not absolute and positive", value);
2901 } 2903 }
2902 else 2904 else
2903 { 2905 {
@@ -2907,7 +2909,7 @@ FRAME 0 means change the face on all frames, and change the default
2907 make_number (10), 2909 make_number (10),
2908 Qnil); 2910 Qnil);
2909 if (!INTEGERP (test) || XINT (test) <= 0) 2911 if (!INTEGERP (test) || XINT (test) <= 0)
2910 signal_error ("Invalid face height", value); 2912 signal_error ("Face height does not produce a positive integer", value);
2911 } 2913 }
2912 } 2914 }
2913 2915
@@ -3466,13 +3468,13 @@ face_boolean_x_resource_value (Lisp_Object value, int signal_p)
3466 3468
3467 xassert (STRINGP (value)); 3469 xassert (STRINGP (value));
3468 3470
3469 if (xstrcasecmp (SDATA (value), "on") == 0 3471 if (xstrcasecmp (SSDATA (value), "on") == 0
3470 || xstrcasecmp (SDATA (value), "true") == 0) 3472 || xstrcasecmp (SSDATA (value), "true") == 0)
3471 result = Qt; 3473 result = Qt;
3472 else if (xstrcasecmp (SDATA (value), "off") == 0 3474 else if (xstrcasecmp (SSDATA (value), "off") == 0
3473 || xstrcasecmp (SDATA (value), "false") == 0) 3475 || xstrcasecmp (SSDATA (value), "false") == 0)
3474 result = Qnil; 3476 result = Qnil;
3475 else if (xstrcasecmp (SDATA (value), "unspecified") == 0) 3477 else if (xstrcasecmp (SSDATA (value), "unspecified") == 0)
3476 result = Qunspecified; 3478 result = Qunspecified;
3477 else if (signal_p) 3479 else if (signal_p)
3478 signal_error ("Invalid face attribute value from X resource", value); 3480 signal_error ("Invalid face attribute value from X resource", value);
@@ -3491,7 +3493,7 @@ DEFUN ("internal-set-lisp-face-attribute-from-resource",
3491 CHECK_SYMBOL (attr); 3493 CHECK_SYMBOL (attr);
3492 CHECK_STRING (value); 3494 CHECK_STRING (value);
3493 3495
3494 if (xstrcasecmp (SDATA (value), "unspecified") == 0) 3496 if (xstrcasecmp (SSDATA (value), "unspecified") == 0)
3495 value = Qunspecified; 3497 value = Qunspecified;
3496 else if (EQ (attr, QCheight)) 3498 else if (EQ (attr, QCheight))
3497 { 3499 {
@@ -4051,10 +4053,10 @@ lface_same_font_attributes_p (Lisp_Object *lface1, Lisp_Object *lface2)
4051{ 4053{
4052 xassert (lface_fully_specified_p (lface1) 4054 xassert (lface_fully_specified_p (lface1)
4053 && lface_fully_specified_p (lface2)); 4055 && lface_fully_specified_p (lface2));
4054 return (xstrcasecmp (SDATA (lface1[LFACE_FAMILY_INDEX]), 4056 return (xstrcasecmp (SSDATA (lface1[LFACE_FAMILY_INDEX]),
4055 SDATA (lface2[LFACE_FAMILY_INDEX])) == 0 4057 SSDATA (lface2[LFACE_FAMILY_INDEX])) == 0
4056 && xstrcasecmp (SDATA (lface1[LFACE_FOUNDRY_INDEX]), 4058 && xstrcasecmp (SSDATA (lface1[LFACE_FOUNDRY_INDEX]),
4057 SDATA (lface2[LFACE_FOUNDRY_INDEX])) == 0 4059 SSDATA (lface2[LFACE_FOUNDRY_INDEX])) == 0
4058 && EQ (lface1[LFACE_HEIGHT_INDEX], lface2[LFACE_HEIGHT_INDEX]) 4060 && EQ (lface1[LFACE_HEIGHT_INDEX], lface2[LFACE_HEIGHT_INDEX])
4059 && EQ (lface1[LFACE_SWIDTH_INDEX], lface2[LFACE_SWIDTH_INDEX]) 4061 && EQ (lface1[LFACE_SWIDTH_INDEX], lface2[LFACE_SWIDTH_INDEX])
4060 && EQ (lface1[LFACE_WEIGHT_INDEX], lface2[LFACE_WEIGHT_INDEX]) 4062 && EQ (lface1[LFACE_WEIGHT_INDEX], lface2[LFACE_WEIGHT_INDEX])
@@ -4063,8 +4065,8 @@ lface_same_font_attributes_p (Lisp_Object *lface1, Lisp_Object *lface2)
4063 && (EQ (lface1[LFACE_FONTSET_INDEX], lface2[LFACE_FONTSET_INDEX]) 4065 && (EQ (lface1[LFACE_FONTSET_INDEX], lface2[LFACE_FONTSET_INDEX])
4064 || (STRINGP (lface1[LFACE_FONTSET_INDEX]) 4066 || (STRINGP (lface1[LFACE_FONTSET_INDEX])
4065 && STRINGP (lface2[LFACE_FONTSET_INDEX]) 4067 && STRINGP (lface2[LFACE_FONTSET_INDEX])
4066 && ! xstrcasecmp (SDATA (lface1[LFACE_FONTSET_INDEX]), 4068 && ! xstrcasecmp (SSDATA (lface1[LFACE_FONTSET_INDEX]),
4067 SDATA (lface2[LFACE_FONTSET_INDEX])))) 4069 SSDATA (lface2[LFACE_FONTSET_INDEX]))))
4068 ); 4070 );
4069} 4071}
4070 4072
diff --git a/src/xfns.c b/src/xfns.c
index f8ac7c3f760..ce2d91e0df1 100644
--- a/src/xfns.c
+++ b/src/xfns.c
@@ -4067,7 +4067,7 @@ terminate Emacs if we can't open the connection.
4067\(In the Nextstep version, the last two arguments are currently ignored.) */) 4067\(In the Nextstep version, the last two arguments are currently ignored.) */)
4068 (Lisp_Object display, Lisp_Object xrm_string, Lisp_Object must_succeed) 4068 (Lisp_Object display, Lisp_Object xrm_string, Lisp_Object must_succeed)
4069{ 4069{
4070 unsigned char *xrm_option; 4070 char *xrm_option;
4071 struct x_display_info *dpyinfo; 4071 struct x_display_info *dpyinfo;
4072 4072
4073 CHECK_STRING (display); 4073 CHECK_STRING (display);
@@ -4080,9 +4080,9 @@ terminate Emacs if we can't open the connection.
4080#endif 4080#endif
4081 4081
4082 if (! NILP (xrm_string)) 4082 if (! NILP (xrm_string))
4083 xrm_option = SDATA (xrm_string); 4083 xrm_option = SSDATA (xrm_string);
4084 else 4084 else
4085 xrm_option = (unsigned char *) 0; 4085 xrm_option = (char *) 0;
4086 4086
4087 validate_x_resource_name (); 4087 validate_x_resource_name ();
4088 4088
@@ -4394,7 +4394,7 @@ no value of TYPE (always string in the MS Windows case). */)
4394 } 4394 }
4395 4395
4396 if (NILP (vector_ret_p)) 4396 if (NILP (vector_ret_p))
4397 prop_value = make_string (tmp_data, size); 4397 prop_value = make_string ((char *) tmp_data, size);
4398 else 4398 else
4399 prop_value = x_property_data_to_lisp (f, 4399 prop_value = x_property_data_to_lisp (f,
4400 tmp_data, 4400 tmp_data,
diff --git a/src/xfont.c b/src/xfont.c
index 51b1c1c6ded..f8aace3663c 100644
--- a/src/xfont.c
+++ b/src/xfont.c
@@ -164,8 +164,8 @@ xfont_get_cache (FRAME_PTR f)
164static int 164static int
165compare_font_names (const void *name1, const void *name2) 165compare_font_names (const void *name1, const void *name2)
166{ 166{
167 return xstrcasecmp (*(const unsigned char **) name1, 167 return xstrcasecmp (*(const char **) name1,
168 *(const unsigned char **) name2); 168 *(const char **) name2);
169} 169}
170 170
171/* Decode XLFD as iso-8859-1 into OUTPUT, and return the byte length 171/* Decode XLFD as iso-8859-1 into OUTPUT, and return the byte length
@@ -182,7 +182,7 @@ xfont_decode_coding_xlfd (char *xlfd, int len, char *output)
182 while (*p0) 182 while (*p0)
183 { 183 {
184 c = *(unsigned char *) p0++; 184 c = *(unsigned char *) p0++;
185 p1 += CHAR_STRING (c, p1); 185 p1 += CHAR_STRING (c, (unsigned char *) p1);
186 if (--len == 0) 186 if (--len == 0)
187 break; 187 break;
188 } 188 }
diff --git a/src/xftfont.c b/src/xftfont.c
index e7eabc47c39..084ca735171 100644
--- a/src/xftfont.c
+++ b/src/xftfont.c
@@ -411,7 +411,11 @@ xftfont_open (FRAME_PTR f, Lisp_Object entity, int pixel_size)
411 ascii_printable[i] = ' ' + i; 411 ascii_printable[i] = ' ' + i;
412 } 412 }
413 BLOCK_INPUT; 413 BLOCK_INPUT;
414 if (spacing != FC_PROPORTIONAL && spacing != FC_DUAL) 414 if (spacing != FC_PROPORTIONAL
415#ifdef FC_DUAL
416 && spacing != FC_DUAL
417#endif /* FC_DUAL */
418 )
415 { 419 {
416 font->min_width = font->average_width = font->space_width 420 font->min_width = font->average_width = font->space_width
417 = xftfont->max_advance_width; 421 = xftfont->max_advance_width;
diff --git a/src/xmenu.c b/src/xmenu.c
index 8ab10be8fac..ad1a764eab8 100644
--- a/src/xmenu.c
+++ b/src/xmenu.c
@@ -1668,7 +1668,7 @@ xmenu_show (FRAME_PTR f, int x, int y, int for_click, int keymaps,
1668 { 1668 {
1669 /* Create a new pane. */ 1669 /* Create a new pane. */
1670 Lisp_Object pane_name, prefix; 1670 Lisp_Object pane_name, prefix;
1671 const char *pane_string; 1671 char *pane_string;
1672 1672
1673 pane_name = AREF (menu_items, i + MENU_ITEMS_PANE_NAME); 1673 pane_name = AREF (menu_items, i + MENU_ITEMS_PANE_NAME);
1674 prefix = AREF (menu_items, i + MENU_ITEMS_PANE_PREFIX); 1674 prefix = AREF (menu_items, i + MENU_ITEMS_PANE_PREFIX);
@@ -2016,7 +2016,7 @@ xdialog_show (FRAME_PTR f,
2016 representing the text label and buttons. */ 2016 representing the text label and buttons. */
2017 { 2017 {
2018 Lisp_Object pane_name, prefix; 2018 Lisp_Object pane_name, prefix;
2019 const char *pane_string; 2019 char *pane_string;
2020 pane_name = XVECTOR (menu_items)->contents[MENU_ITEMS_PANE_NAME]; 2020 pane_name = XVECTOR (menu_items)->contents[MENU_ITEMS_PANE_NAME];
2021 prefix = XVECTOR (menu_items)->contents[MENU_ITEMS_PANE_PREFIX]; 2021 prefix = XVECTOR (menu_items)->contents[MENU_ITEMS_PANE_PREFIX];
2022 pane_string = (NILP (pane_name) 2022 pane_string = (NILP (pane_name)
diff --git a/src/xml.c b/src/xml.c
index 16907d4b44a..12ef14e6b9f 100644
--- a/src/xml.c
+++ b/src/xml.c
@@ -32,7 +32,7 @@ Lisp_Object make_dom (xmlNode *node)
32{ 32{
33 if (node->type == XML_ELEMENT_NODE) 33 if (node->type == XML_ELEMENT_NODE)
34 { 34 {
35 Lisp_Object result = Fcons (intern (node->name), Qnil); 35 Lisp_Object result = Fcons (intern ((char *) node->name), Qnil);
36 xmlNode *child; 36 xmlNode *child;
37 xmlAttr *property; 37 xmlAttr *property;
38 Lisp_Object plist = Qnil; 38 Lisp_Object plist = Qnil;
@@ -44,8 +44,9 @@ Lisp_Object make_dom (xmlNode *node)
44 if (property->children && 44 if (property->children &&
45 property->children->content) 45 property->children->content)
46 { 46 {
47 plist = Fcons (Fcons (intern (property->name), 47 char *content = (char *) property->children->content;
48 build_string (property->children->content)), 48 plist = Fcons (Fcons (intern ((char *) property->name),
49 build_string (content)),
49 plist); 50 plist);
50 } 51 }
51 property = property->next; 52 property = property->next;
@@ -65,7 +66,7 @@ Lisp_Object make_dom (xmlNode *node)
65 else if (node->type == XML_TEXT_NODE || node->type == XML_CDATA_SECTION_NODE) 66 else if (node->type == XML_TEXT_NODE || node->type == XML_CDATA_SECTION_NODE)
66 { 67 {
67 if (node->content) 68 if (node->content)
68 return build_string (node->content); 69 return build_string ((char *) node->content);
69 else 70 else
70 return Qnil; 71 return Qnil;
71 } 72 }
@@ -102,13 +103,13 @@ parse_region (Lisp_Object start, Lisp_Object end, Lisp_Object base_url, int html
102 bytes = CHAR_TO_BYTE (iend) - CHAR_TO_BYTE (istart); 103 bytes = CHAR_TO_BYTE (iend) - CHAR_TO_BYTE (istart);
103 104
104 if (htmlp) 105 if (htmlp)
105 doc = htmlReadMemory (BYTE_POS_ADDR (CHAR_TO_BYTE (istart)), 106 doc = htmlReadMemory ((char *) BYTE_POS_ADDR (CHAR_TO_BYTE (istart)),
106 bytes, burl, "utf-8", 107 bytes, burl, "utf-8",
107 HTML_PARSE_RECOVER|HTML_PARSE_NONET| 108 HTML_PARSE_RECOVER|HTML_PARSE_NONET|
108 HTML_PARSE_NOWARNING|HTML_PARSE_NOERROR| 109 HTML_PARSE_NOWARNING|HTML_PARSE_NOERROR|
109 HTML_PARSE_NOBLANKS); 110 HTML_PARSE_NOBLANKS);
110 else 111 else
111 doc = xmlReadMemory (BYTE_POS_ADDR (CHAR_TO_BYTE (istart)), 112 doc = xmlReadMemory ((char *) BYTE_POS_ADDR (CHAR_TO_BYTE (istart)),
112 bytes, burl, "utf-8", 113 bytes, burl, "utf-8",
113 XML_PARSE_NONET|XML_PARSE_NOWARNING| 114 XML_PARSE_NONET|XML_PARSE_NOWARNING|
114 XML_PARSE_NOERROR); 115 XML_PARSE_NOERROR);
diff --git a/src/xselect.c b/src/xselect.c
index 96c8b9c4c47..a502a74f904 100644
--- a/src/xselect.c
+++ b/src/xselect.c
@@ -126,6 +126,20 @@ static Lisp_Object Qforeign_selection;
126/* Defined in keyboard.c. */ 126/* Defined in keyboard.c. */
127extern unsigned long last_event_timestamp; 127extern unsigned long last_event_timestamp;
128 128
129/* This is an association list whose elements are of the form
130 ( SELECTION-NAME SELECTION-VALUE SELECTION-TIMESTAMP FRAME)
131 SELECTION-NAME is a lisp symbol, whose name is the name of an X Atom.
132 SELECTION-VALUE is the value that emacs owns for that selection.
133 It may be any kind of Lisp object.
134 SELECTION-TIMESTAMP is the time at which emacs began owning this selection,
135 as a cons of two 16-bit numbers (making a 32 bit time.)
136 FRAME is the frame for which we made the selection.
137 If there is an entry in this alist, then it can be assumed that Emacs owns
138 that selection.
139 The only (eq) parts of this list that are visible from Lisp are the
140 selection-values. */
141static Lisp_Object Vselection_alist;
142
129 143
130 144
131/* Define a queue to save up SELECTION_REQUEST_EVENT events for later 145/* Define a queue to save up SELECTION_REQUEST_EVENT events for later
diff --git a/src/xsmfns.c b/src/xsmfns.c
index 15db459e149..825cec451d9 100644
--- a/src/xsmfns.c
+++ b/src/xsmfns.c
@@ -38,6 +38,8 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
38#include "termhooks.h" 38#include "termhooks.h"
39#include "termopts.h" 39#include "termopts.h"
40#include "xterm.h" 40#include "xterm.h"
41#include "process.h"
42#include "keyboard.h"
41 43
42/* This is the event used when SAVE_SESSION_EVENT occurs. */ 44/* This is the event used when SAVE_SESSION_EVENT occurs. */
43 45
@@ -82,28 +84,20 @@ static void
82ice_connection_closed (void) 84ice_connection_closed (void)
83{ 85{
84 if (ice_fd >= 0) 86 if (ice_fd >= 0)
85 delete_keyboard_wait_descriptor (ice_fd); 87 delete_read_fd (ice_fd);
86 ice_fd = -1; 88 ice_fd = -1;
87} 89}
88 90
89 91
90/* Handle any messages from the session manager. If no connection is 92/* Handle any messages from the session manager. If no connection is
91 open to a session manager, just return 0. 93 open to a session manager, just return. */
92 Otherwise returns 1 if SAVE_SESSION_EVENT is stored in buffer BUFP. */
93 94
94int 95static void
95x_session_check_input (struct input_event *bufp) 96x_session_check_input (int fd, void *data, int for_read)
96{ 97{
97 SELECT_TYPE read_fds;
98 EMACS_TIME tmout;
99 int ret; 98 int ret;
100 99
101 if (ice_fd == -1) return 0; 100 if (ice_fd == -1) return;
102 FD_ZERO (&read_fds);
103 FD_SET (ice_fd, &read_fds);
104
105 tmout.tv_sec = 0;
106 tmout.tv_usec = 0;
107 101
108 /* Reset this so wo can check kind after callbacks have been called by 102 /* Reset this so wo can check kind after callbacks have been called by
109 IceProcessMessages. The smc_interact_CB sets the kind to 103 IceProcessMessages. The smc_interact_CB sets the kind to
@@ -111,33 +105,21 @@ x_session_check_input (struct input_event *bufp)
111 will be called. */ 105 will be called. */
112 emacs_event.kind = NO_EVENT; 106 emacs_event.kind = NO_EVENT;
113 107
114 ret = select (ice_fd+1, &read_fds, 108 ret = IceProcessMessages (SmcGetIceConnection (smc_conn),
115 (SELECT_TYPE *)0, (SELECT_TYPE *)0, &tmout); 109 (IceReplyWaitInfo *)0, (Bool *)0);
116 110 if (ret != IceProcessMessagesSuccess)
117 if (ret < 0)
118 { 111 {
112 /* Either IO error or Connection closed. */
113 if (ret == IceProcessMessagesIOError)
114 IceCloseConnection (SmcGetIceConnection (smc_conn));
115
119 ice_connection_closed (); 116 ice_connection_closed ();
120 } 117 }
121 else if (ret > 0 && FD_ISSET (ice_fd, &read_fds))
122 {
123 ret = IceProcessMessages (SmcGetIceConnection (smc_conn),
124 (IceReplyWaitInfo *)0, (Bool *)0);
125 if (ret != IceProcessMessagesSuccess)
126 {
127 /* Either IO error or Connection closed. */
128 if (ret == IceProcessMessagesIOError)
129 IceCloseConnection (SmcGetIceConnection (smc_conn));
130
131 ice_connection_closed ();
132 }
133 }
134 118
135 /* Check if smc_interact_CB was called and we shall generate a 119 /* Check if smc_interact_CB was called and we shall generate a
136 SAVE_SESSION_EVENT. */ 120 SAVE_SESSION_EVENT. */
137 if (emacs_event.kind != NO_EVENT) 121 if (emacs_event.kind != NO_EVENT)
138 memcpy (bufp, &emacs_event, sizeof (struct input_event)); 122 kbd_buffer_store_event (&emacs_event);
139
140 return emacs_event.kind != NO_EVENT ? 1 : 0;
141} 123}
142 124
143/* Return non-zero if we have a connection to a session manager. */ 125/* Return non-zero if we have a connection to a session manager. */
@@ -181,11 +163,11 @@ smc_save_yourself_CB (SmcConn smcConn,
181 SmProp *props[NR_PROPS]; 163 SmProp *props[NR_PROPS];
182 SmProp prop_ptr[NR_PROPS]; 164 SmProp prop_ptr[NR_PROPS];
183 165
184 SmPropValue values[20]; 166 SmPropValue values[20], *vp;
185 int val_idx = 0; 167 int val_idx = 0, vp_idx = 0;
186 int props_idx = 0; 168 int props_idx = 0;
187 int i; 169 int i;
188 char *cwd = NULL; 170 char *cwd = get_current_dir_name ();
189 char *smid_opt, *chdir_opt = NULL; 171 char *smid_opt, *chdir_opt = NULL;
190 172
191 /* How to start a new instance of Emacs. */ 173 /* How to start a new instance of Emacs. */
@@ -208,40 +190,6 @@ smc_save_yourself_CB (SmcConn smcConn,
208 props[props_idx]->vals[0].value = SDATA (Vinvocation_name); 190 props[props_idx]->vals[0].value = SDATA (Vinvocation_name);
209 ++props_idx; 191 ++props_idx;
210 192
211 /* How to restart Emacs. */
212 props[props_idx] = &prop_ptr[props_idx];
213 props[props_idx]->name = xstrdup (SmRestartCommand);
214 props[props_idx]->type = xstrdup (SmLISTofARRAY8);
215 /* /path/to/emacs, --smid=xxx --no-splash --chdir=dir */
216 props[props_idx]->num_vals = 4;
217 props[props_idx]->vals = &values[val_idx];
218 props[props_idx]->vals[0].length = strlen (emacs_program);
219 props[props_idx]->vals[0].value = emacs_program;
220
221 smid_opt = xmalloc (strlen (SMID_OPT) + strlen (client_id) + 1);
222 strcpy (smid_opt, SMID_OPT);
223 strcat (smid_opt, client_id);
224
225 props[props_idx]->vals[1].length = strlen (smid_opt);
226 props[props_idx]->vals[1].value = smid_opt;
227
228 props[props_idx]->vals[2].length = strlen (NOSPLASH_OPT);
229 props[props_idx]->vals[2].value = NOSPLASH_OPT;
230
231 cwd = get_current_dir_name ();
232 if (cwd)
233 {
234 chdir_opt = xmalloc (strlen (CHDIR_OPT) + strlen (cwd) + 1);
235 strcpy (chdir_opt, CHDIR_OPT);
236 strcat (chdir_opt, cwd);
237
238 props[props_idx]->vals[3].length = strlen (chdir_opt);
239 props[props_idx]->vals[3].value = chdir_opt;
240 }
241
242 val_idx += cwd ? 4 : 3;
243 ++props_idx;
244
245 /* User id. */ 193 /* User id. */
246 props[props_idx] = &prop_ptr[props_idx]; 194 props[props_idx] = &prop_ptr[props_idx];
247 props[props_idx]->name = xstrdup (SmUserID); 195 props[props_idx]->name = xstrdup (SmUserID);
@@ -266,12 +214,53 @@ smc_save_yourself_CB (SmcConn smcConn,
266 } 214 }
267 215
268 216
217 /* How to restart Emacs. */
218 props[props_idx] = &prop_ptr[props_idx];
219 props[props_idx]->name = xstrdup (SmRestartCommand);
220 props[props_idx]->type = xstrdup (SmLISTofARRAY8);
221 /* /path/to/emacs, --smid=xxx --no-splash --chdir=dir ... */
222 i = 3 + initial_argc;
223 props[props_idx]->num_vals = i;
224 vp = (SmPropValue *) xmalloc (i * sizeof(*vp));
225 props[props_idx]->vals = vp;
226 props[props_idx]->vals[vp_idx].length = strlen (emacs_program);
227 props[props_idx]->vals[vp_idx++].value = emacs_program;
228
229 smid_opt = xmalloc (strlen (SMID_OPT) + strlen (client_id) + 1);
230 strcpy (smid_opt, SMID_OPT);
231 strcat (smid_opt, client_id);
232
233 props[props_idx]->vals[vp_idx].length = strlen (smid_opt);
234 props[props_idx]->vals[vp_idx++].value = smid_opt;
235
236 props[props_idx]->vals[vp_idx].length = strlen (NOSPLASH_OPT);
237 props[props_idx]->vals[vp_idx++].value = NOSPLASH_OPT;
238
239 if (cwd)
240 {
241 chdir_opt = xmalloc (strlen (CHDIR_OPT) + strlen (cwd) + 1);
242 strcpy (chdir_opt, CHDIR_OPT);
243 strcat (chdir_opt, cwd);
244
245 props[props_idx]->vals[vp_idx].length = strlen (chdir_opt);
246 props[props_idx]->vals[vp_idx++].value = chdir_opt;
247 }
248
249 for (i = 1; i < initial_argc; ++i)
250 {
251 props[props_idx]->vals[vp_idx].length = strlen (initial_argv[i]);
252 props[props_idx]->vals[vp_idx++].value = initial_argv[i];
253 }
254
255 ++props_idx;
256
269 SmcSetProperties (smcConn, props_idx, props); 257 SmcSetProperties (smcConn, props_idx, props);
270 258
271 xfree (smid_opt); 259 xfree (smid_opt);
272 xfree (chdir_opt); 260 xfree (chdir_opt);
261 xfree (cwd);
262 xfree (vp);
273 263
274 free (cwd);
275 for (i = 0; i < props_idx; ++i) 264 for (i = 0; i < props_idx; ++i)
276 { 265 {
277 xfree (props[i]->type); 266 xfree (props[i]->type);
@@ -355,7 +344,8 @@ ice_io_error_handler (IceConn iceConn)
355 uses ICE as it transport protocol. */ 344 uses ICE as it transport protocol. */
356 345
357static void 346static void
358ice_conn_watch_CB (IceConn iceConn, IcePointer clientData, int opening, IcePointer *watchData) 347ice_conn_watch_CB (IceConn iceConn, IcePointer clientData,
348 int opening, IcePointer *watchData)
359{ 349{
360 if (! opening) 350 if (! opening)
361 { 351 {
@@ -364,16 +354,7 @@ ice_conn_watch_CB (IceConn iceConn, IcePointer clientData, int opening, IcePoint
364 } 354 }
365 355
366 ice_fd = IceConnectionNumber (iceConn); 356 ice_fd = IceConnectionNumber (iceConn);
367#ifdef F_SETOWN 357 add_read_fd (ice_fd, x_session_check_input, NULL);
368 fcntl (ice_fd, F_SETOWN, getpid ());
369#endif /* ! defined (F_SETOWN) */
370
371#ifdef SIGIO
372 if (interrupt_input)
373 init_sigio (ice_fd);
374#endif /* ! defined (SIGIO) */
375
376 add_keyboard_wait_descriptor (ice_fd);
377} 358}
378 359
379/* Create the client leader window. */ 360/* Create the client leader window. */
diff --git a/src/xterm.c b/src/xterm.c
index b6e596b854a..31f002fa05c 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -797,15 +797,15 @@ x_draw_fringe_bitmap (struct window *w, struct glyph_row *row, struct draw_fring
797 797
798 if (p->which) 798 if (p->which)
799 { 799 {
800 unsigned char *bits; 800 char *bits;
801 Pixmap pixmap, clipmask = (Pixmap) 0; 801 Pixmap pixmap, clipmask = (Pixmap) 0;
802 int depth = DefaultDepthOfScreen (FRAME_X_SCREEN (f)); 802 int depth = DefaultDepthOfScreen (FRAME_X_SCREEN (f));
803 XGCValues gcv; 803 XGCValues gcv;
804 804
805 if (p->wd > 8) 805 if (p->wd > 8)
806 bits = (unsigned char *)(p->bits + p->dh); 806 bits = (char *) (p->bits + p->dh);
807 else 807 else
808 bits = (unsigned char *)p->bits + p->dh; 808 bits = (char *) p->bits + p->dh;
809 809
810 /* Draw the bitmap. I believe these small pixmaps can be cached 810 /* Draw the bitmap. I believe these small pixmaps can be cached
811 by the server. */ 811 by the server. */
@@ -1706,7 +1706,7 @@ x_alloc_nearest_color_1 (Display *dpy, Colormap cmap, XColor *color)
1706 a least-squares matching, which is what X uses for closest 1706 a least-squares matching, which is what X uses for closest
1707 color matching with StaticColor visuals. */ 1707 color matching with StaticColor visuals. */
1708 int nearest, i; 1708 int nearest, i;
1709 unsigned long nearest_delta = ~0; 1709 unsigned long nearest_delta = ~ (unsigned long) 0;
1710 int ncells; 1710 int ncells;
1711 const XColor *cells = x_color_cells (dpy, &ncells); 1711 const XColor *cells = x_color_cells (dpy, &ncells);
1712 1712
@@ -6320,7 +6320,7 @@ handle_one_xevent (struct x_display_info *dpyinfo, XEvent *eventp, int *finish,
6320 6320
6321 coding_system = Vlocale_coding_system; 6321 coding_system = Vlocale_coding_system;
6322 nbytes = XmbLookupString (FRAME_XIC (f), 6322 nbytes = XmbLookupString (FRAME_XIC (f),
6323 &event.xkey, copy_bufptr, 6323 &event.xkey, (char *) copy_bufptr,
6324 copy_bufsiz, &keysym, 6324 copy_bufsiz, &keysym,
6325 &status_return); 6325 &status_return);
6326 if (status_return == XBufferOverflow) 6326 if (status_return == XBufferOverflow)
@@ -6328,7 +6328,7 @@ handle_one_xevent (struct x_display_info *dpyinfo, XEvent *eventp, int *finish,
6328 copy_bufsiz = nbytes + 1; 6328 copy_bufsiz = nbytes + 1;
6329 copy_bufptr = (unsigned char *) alloca (copy_bufsiz); 6329 copy_bufptr = (unsigned char *) alloca (copy_bufsiz);
6330 nbytes = XmbLookupString (FRAME_XIC (f), 6330 nbytes = XmbLookupString (FRAME_XIC (f),
6331 &event.xkey, copy_bufptr, 6331 &event.xkey, (char *) copy_bufptr,
6332 copy_bufsiz, &keysym, 6332 copy_bufsiz, &keysym,
6333 &status_return); 6333 &status_return);
6334 } 6334 }
@@ -6345,11 +6345,11 @@ handle_one_xevent (struct x_display_info *dpyinfo, XEvent *eventp, int *finish,
6345 abort (); 6345 abort ();
6346 } 6346 }
6347 else 6347 else
6348 nbytes = XLookupString (&event.xkey, copy_bufptr, 6348 nbytes = XLookupString (&event.xkey, (char *) copy_bufptr,
6349 copy_bufsiz, &keysym, 6349 copy_bufsiz, &keysym,
6350 &compose_status); 6350 &compose_status);
6351#else 6351#else
6352 nbytes = XLookupString (&event.xkey, copy_bufptr, 6352 nbytes = XLookupString (&event.xkey, (char *) copy_bufptr,
6353 copy_bufsiz, &keysym, 6353 copy_bufsiz, &keysym,
6354 &compose_status); 6354 &compose_status);
6355#endif 6355#endif
@@ -7036,23 +7036,6 @@ XTread_socket (struct terminal *terminal, int expected, struct input_event *hold
7036 7036
7037 ++handling_signal; 7037 ++handling_signal;
7038 7038
7039#ifdef HAVE_X_SM
7040 /* Only check session manager input for the primary display. */
7041 if (terminal->id == 1 && x_session_have_connection ())
7042 {
7043 struct input_event inev;
7044 BLOCK_INPUT;
7045 /* We don't need to EVENT_INIT (inev) here, as
7046 x_session_check_input copies an entire input_event. */
7047 if (x_session_check_input (&inev))
7048 {
7049 kbd_buffer_store_event_hold (&inev, hold_quit);
7050 count++;
7051 }
7052 UNBLOCK_INPUT;
7053 }
7054#endif
7055
7056 /* For debugging, this gives a way to fake an I/O error. */ 7039 /* For debugging, this gives a way to fake an I/O error. */
7057 if (terminal->display_info.x == XTread_socket_fake_io_error) 7040 if (terminal->display_info.x == XTread_socket_fake_io_error)
7058 { 7041 {
@@ -7462,7 +7445,7 @@ x_bitmap_icon (struct frame *f, Lisp_Object file)
7462 /* If all else fails, use the (black and white) xbm image. */ 7445 /* If all else fails, use the (black and white) xbm image. */
7463 if (rc == -1) 7446 if (rc == -1)
7464 { 7447 {
7465 rc = x_create_bitmap_from_data (f, gnu_xbm_bits, 7448 rc = x_create_bitmap_from_data (f, (char *) gnu_xbm_bits,
7466 gnu_xbm_width, gnu_xbm_height); 7449 gnu_xbm_width, gnu_xbm_height);
7467 if (rc == -1) 7450 if (rc == -1)
7468 return 1; 7451 return 1;
@@ -7711,12 +7694,6 @@ x_connection_closed (Display *dpy, const char *error_message)
7711 strcpy (error_msg, error_message); 7694 strcpy (error_msg, error_message);
7712 handling_signal = 0; 7695 handling_signal = 0;
7713 7696
7714 /* Prevent being called recursively because of an error condition
7715 below. Otherwise, we might end up with printing ``can't find per
7716 display information'' in the recursive call instead of printing
7717 the original message here. */
7718 x_catch_errors (dpy);
7719
7720 /* Inhibit redisplay while frames are being deleted. */ 7697 /* Inhibit redisplay while frames are being deleted. */
7721 specbind (Qinhibit_redisplay, Qt); 7698 specbind (Qinhibit_redisplay, Qt);
7722 7699
@@ -7759,26 +7736,9 @@ x_connection_closed (Display *dpy, const char *error_message)
7759 first place, so don't try to close it. */ 7736 first place, so don't try to close it. */
7760 if (dpyinfo) 7737 if (dpyinfo)
7761 { 7738 {
7762#ifdef USE_X_TOOLKIT 7739 /* We can not call XtCloseDisplay here because it calls XSync.
7763 /* We have to close the display to inform Xt that it doesn't 7740 XSync inside the error handler apparently hangs Emacs. On
7764 exist anymore. If we don't, Xt will continue to wait for 7741 current Xt versions, this isn't needed either. */
7765 events from the display. As a consequence, a sequence of
7766
7767 M-x make-frame-on-display RET :1 RET
7768 ...kill the new frame, so that we get an IO error...
7769 M-x make-frame-on-display RET :1 RET
7770
7771 will indefinitely wait in Xt for events for display `:1',
7772 opened in the first call to make-frame-on-display.
7773
7774 Closing the display is reported to lead to a bus error on
7775 OpenWindows in certain situations. I suspect that is a bug
7776 in OpenWindows. I don't know how to circumvent it here. */
7777 fatal_error_signal_hook = x_fatal_error_signal;
7778 XtCloseDisplay (dpy);
7779 fatal_error_signal_hook = NULL;
7780#endif /* USE_X_TOOLKIT */
7781
7782#ifdef USE_GTK 7742#ifdef USE_GTK
7783 /* A long-standing GTK bug prevents proper disconnect handling 7743 /* A long-standing GTK bug prevents proper disconnect handling
7784 (https://bugzilla.gnome.org/show_bug.cgi?id=85715). Once, 7744 (https://bugzilla.gnome.org/show_bug.cgi?id=85715). Once,
@@ -7809,8 +7769,6 @@ For details, see etc/PROBLEMS.\n",
7809 } 7769 }
7810 } 7770 }
7811 7771
7812 x_uncatch_errors ();
7813
7814 if (terminal_list == 0) 7772 if (terminal_list == 0)
7815 { 7773 {
7816 fprintf (stderr, "%s\n", error_msg); 7774 fprintf (stderr, "%s\n", error_msg);
@@ -9750,17 +9708,13 @@ static int x_timeout_atimer_activated_flag;
9750 9708
9751static int x_initialized; 9709static int x_initialized;
9752 9710
9753#ifdef HAVE_X_SM
9754static int x_session_initialized;
9755#endif
9756
9757/* Test whether two display-name strings agree up to the dot that separates 9711/* Test whether two display-name strings agree up to the dot that separates
9758 the screen number from the server number. */ 9712 the screen number from the server number. */
9759static int 9713static int
9760same_x_server (const char *name1, const char *name2) 9714same_x_server (const char *name1, const char *name2)
9761{ 9715{
9762 int seen_colon = 0; 9716 int seen_colon = 0;
9763 const unsigned char *system_name = SDATA (Vsystem_name); 9717 const char *system_name = SSDATA (Vsystem_name);
9764 int system_name_length = strlen (system_name); 9718 int system_name_length = strlen (system_name);
9765 int length_until_period = 0; 9719 int length_until_period = 0;
9766 9720
@@ -9874,7 +9828,7 @@ x_term_init (Lisp_Object display_name, char *xrm_option, char *resource_name)
9874 } 9828 }
9875 9829
9876 if (! x_display_ok (SSDATA (display_name))) 9830 if (! x_display_ok (SSDATA (display_name)))
9877 error ("Display %s can't be opened", SDATA (display_name)); 9831 error ("Display %s can't be opened", SSDATA (display_name));
9878 9832
9879#ifdef USE_GTK 9833#ifdef USE_GTK
9880 { 9834 {
@@ -9886,7 +9840,7 @@ x_term_init (Lisp_Object display_name, char *xrm_option, char *resource_name)
9886 9840
9887 if (x_initialized++ > 1) 9841 if (x_initialized++ > 1)
9888 { 9842 {
9889 xg_display_open (SDATA (display_name), &dpy); 9843 xg_display_open (SSDATA (display_name), &dpy);
9890 } 9844 }
9891 else 9845 else
9892 { 9846 {
@@ -9902,7 +9856,7 @@ x_term_init (Lisp_Object display_name, char *xrm_option, char *resource_name)
9902 if (! NILP (display_name)) 9856 if (! NILP (display_name))
9903 { 9857 {
9904 argv[argc++] = display_opt; 9858 argv[argc++] = display_opt;
9905 argv[argc++] = SDATA (display_name); 9859 argv[argc++] = SSDATA (display_name);
9906 } 9860 }
9907 9861
9908 argv[argc++] = name_opt; 9862 argv[argc++] = name_opt;
@@ -9935,7 +9889,7 @@ x_term_init (Lisp_Object display_name, char *xrm_option, char *resource_name)
9935 abs_file = Fexpand_file_name (s, Qnil); 9889 abs_file = Fexpand_file_name (s, Qnil);
9936 9890
9937 if (! NILP (abs_file) && !NILP (Ffile_readable_p (abs_file))) 9891 if (! NILP (abs_file) && !NILP (Ffile_readable_p (abs_file)))
9938 gtk_rc_parse (SDATA (abs_file)); 9892 gtk_rc_parse (SSDATA (abs_file));
9939 } 9893 }
9940 9894
9941 XSetErrorHandler (x_error_handler); 9895 XSetErrorHandler (x_error_handler);
@@ -9979,7 +9933,7 @@ x_term_init (Lisp_Object display_name, char *xrm_option, char *resource_name)
9979 9933
9980#else /* not USE_X_TOOLKIT */ 9934#else /* not USE_X_TOOLKIT */
9981 XSetLocaleModifiers (""); 9935 XSetLocaleModifiers ("");
9982 dpy = XOpenDisplay (SDATA (display_name)); 9936 dpy = XOpenDisplay (SSDATA (display_name));
9983#endif /* not USE_X_TOOLKIT */ 9937#endif /* not USE_X_TOOLKIT */
9984#endif /* not USE_GTK*/ 9938#endif /* not USE_GTK*/
9985 9939
@@ -10078,7 +10032,7 @@ x_term_init (Lisp_Object display_name, char *xrm_option, char *resource_name)
10078 + SBYTES (Vsystem_name) 10032 + SBYTES (Vsystem_name)
10079 + 2); 10033 + 2);
10080 sprintf (dpyinfo->x_id_name, "%s@%s", 10034 sprintf (dpyinfo->x_id_name, "%s@%s",
10081 SDATA (Vinvocation_name), SDATA (Vsystem_name)); 10035 SSDATA (Vinvocation_name), SSDATA (Vsystem_name));
10082 10036
10083 /* Figure out which modifier bits mean what. */ 10037 /* Figure out which modifier bits mean what. */
10084 x_find_modifier_meanings (dpyinfo); 10038 x_find_modifier_meanings (dpyinfo);
@@ -10672,9 +10626,6 @@ x_initialize (void)
10672 last_tool_bar_item = -1; 10626 last_tool_bar_item = -1;
10673 any_help_event_p = 0; 10627 any_help_event_p = 0;
10674 ignore_next_mouse_click_timeout = 0; 10628 ignore_next_mouse_click_timeout = 0;
10675#ifdef HAVE_X_SM
10676 x_session_initialized = 0;
10677#endif
10678 10629
10679#ifdef USE_GTK 10630#ifdef USE_GTK
10680 current_count = -1; 10631 current_count = -1;
diff --git a/src/xterm.h b/src/xterm.h
index 4775655a7ff..48d68557796 100644
--- a/src/xterm.h
+++ b/src/xterm.h
@@ -1076,7 +1076,6 @@ extern void widget_store_internal_border (Widget);
1076/* Defined in xsmfns.c */ 1076/* Defined in xsmfns.c */
1077#ifdef HAVE_X_SM 1077#ifdef HAVE_X_SM
1078extern void x_session_initialize (struct x_display_info *dpyinfo); 1078extern void x_session_initialize (struct x_display_info *dpyinfo);
1079extern int x_session_check_input (struct input_event *bufp);
1080extern int x_session_have_connection (void); 1079extern int x_session_have_connection (void);
1081extern void x_session_close (void); 1080extern void x_session_close (void);
1082#endif 1081#endif