XEmacs 21.4.22.
[chise/xemacs-chise.git.1] / src / ChangeLog
1 2008-12-28  Vin Shelton  <acs@xemacs.org>
2
3         * XEmacs 21.4.22 is released
4
5 2008-12-27  Vin Shelton  <acs@xemacs.org>
6
7         * syswindows.h: Don't define wide character interfaces for Cygwin
8         1.7 and up.
9
10 2008-03-05  Dominique Quatravaux  <domq@cpan.org>
11
12         * glyphs-gtk.c: Fixed compilation under gcc 4.x.
13
14 2008-11-01  Stephen J. Turnbull  <stephen@xemacs.org>
15
16         * regex.c (re_search_2): Fix at_dot by changing charpos to bytepos.
17         From Julian Bradfield <18654.1143.304851.782755@krk.inf.ed.ac.uk>.
18
19 2008-12-25  Vin Shelton  <acs@xemacs.org>
20
21         * mule-ccl.c (ccl_driver): Fix off-by-one error.
22         By Julian Bradfield in
23         <18691.16568.526264.972026@krk.inf.ed.ac.uk>.
24
25         * mule-ccl.c (ccl_driver): 
26
27 2007-10-07  Vin Shelton  <acs@xemacs.org>
28
29         * XEmacs 21.4.21 is released
30
31 2007-08-14  Marcus Crestani  <crestani@xemacs.org>
32
33         * s/sol2.h: Fix for GCC lossage not needed with SunOS 5.10.
34
35 2007-02-17  Stephen J. Turnbull  <stephen@xemacs.org>
36
37         * glyphs-eimage.c (png_instantiate_unwind): Avoid recursion.
38         (png_instantiate): Initialize setjmp_buffer early, and avoid
39         recursive entry to error handler.
40
41 2007-06-23  Stephen J. Turnbull  <stephen@xemacs.org>
42
43         * linuxplay.c (linux_play_data_or_file): More 64-bit tweaking, and
44         a typo fix.
45
46 2007-05-12  Aidan Kehoe  <kehoea@parhasard.net>
47
48         * event-Xt.c (x_reset_modifier_mapping):
49         * event-gtk.c (gtk_reset_modifier_mapping):
50         Zero out the device's modifier map once we've freed it, to prevent
51         a double free on a re-entrant call. 
52
53 2007-05-17  Vin Shelton  <acs@xemacs.org>
54
55         * linuxplay.c (linux_play_data_or_file): Fix playing sound on
56         64-bit linux.  Patch from Hans de Graaff.
57
58 2007-05-02  Vin Shelton  <acs@xemacs.org>
59
60         * dumper.c (pdump): Don't close pdump_fd (already closed by
61         fclose() call.  Patch from Steve Higham.
62         * callproc.c (Fold_call_process_internal): Don't close fd1 if it's
63         already closed.  Patch inspired by Steve Higham.
64
65 2007-05-01  Vin Shelton  <acs@xemacs.org>
66
67         * nt.c (mswindows_stat): Tie _S_IEXEC permission to read access.
68         (mswindows_fstat): Ditto.
69         * sysfile.h: Under Windows, define X_OK to be the same as R_OK.
70
71 2007-02-08  Adrian Aichner  <adrian@xemacs.org>
72
73         * postgresql.c: Update Steve Baur's email address by his request.
74         * postgresql.h: Ditto.
75
76 2007-01-04  Vin Shelton  <acs@xemacs.org>
77
78         * fileio.c (check_writable): Check old-style readonly bit only for
79         non-directories.
80
81 2006-12-25  Benson I. Margulies  <benson@dchbk.us>
82
83         * src/fileio.c (check_writable): 
84         Cope with the fact that the read-only attribute trumps Windows NTFS
85         ACLS.
86
87
88 2006-12-09  Vin Shelton  <acs@xemacs.org>
89
90         * XEmacs 21.4.20 is released
91
92 2006-12-08  Nelson Ferreira  <njsf@sxemacs.org>
93
94         * src/fns.c (XMALLOC_OR_ALLOCA,free_malloced_ptr,XMALLOC_UNBIND):
95         relocated the definitions to be used sooner in file.
96         (concat,plists_differ,mapcar1,Fmapconcat,Fmapcar): Use
97         XMALLOC_OR_ALLOCA macro instead of alloca to prevent stack
98         overflow.
99
100 2006-11-29  Aidan Kehoe  <kehoea@parhasard.net>
101
102         * sound.c (init_native_sound):
103         Only X11 and GTK devices can possibly not be on the console of the
104         associated machine. Fixes a crash when init_native_sound is called
105         on a msprinter device. 
106
107 2006-11-14  Stephen J. Turnbull  <stephen@xemacs.org>
108
109         * buffer.c (buffer-file-name): Document invariant.
110         (buffer-file-truename): Sync wording to buffer-file-name.
111         Thanks to Nelson Ferreira <nelson.ferreira@ieee.org> for report
112         and discussion.
113
114 2006-11-19  Benson Margulies  <benson@dchbk.us>
115
116         * fileio.c: Add code to use full Win32 API to check for write
117         access.  Win32 has the general design policy that you aren't
118         supposed to ask this question, since security checks change
119         depending on asynchronous processes.  Nonetheless, there is a way,
120         by acting as if we are a server doing interpretive access
121         control.
122
123 2006-07-31  Aidan Kehoe <kehoea@parhasard.net>
124
125         * bytecode.c: Use xnew_array instead of alloca.
126
127 2006-07-04  Vin Shelton  <acs@xemacs.org>
128
129         * redisplay-msw.c: Fix tiny, but crucial typo.
130
131 2006-06-22  Jerry James  <james@xemacs.org>
132
133         * EmacsShell-sub.c (ChangeManaged):
134         * device-x.c (x_IO_error_handler): Do not dereference d if it is
135         NULL.
136         * dgif_lib.c (DGifCloseFile): Do not dereference GifFile before
137         checking if it is NULL.  Also fix a memory leak.
138         * dialog-x.c (dbox_selection_callback): Ensure f is non-NULL, then
139         dereference it, not the other way around.
140         * dumper.c (pdump_register_object): Fix off-by-one array bounds
141         overflow check.
142         * dumper.c (pdump_register_struct): Ditto.
143         * editfns.c (Ftemp_directory): Don't let a copy from (long) path
144         to (short) warnpath overflow warnpath.
145         * extents.c (detach_all_extents): Call extent_list_delete_all with
146         a non-NULL parameter only.
147         * glyphs-widget.c (widget_query_geometry): Guard against possibly
148         NULL width and height.
149         * input-method-xlib.c (XIM_SetGeometry): Do not dereference f or
150         xic before checking if they are NULL.
151         * keymap.c (where_is_recursive_mapper): Don't throw away the newly
152         allocated array.
153         * md5.c (Fmd5): Check whether Lstream_read encountered an error.
154         * nas.c (Err): Fix a memory leak.
155         * redisplay-gtk.c (gtk_output_display_block): Fix a Dynarr leak.
156         Don't create the buffer if there is nothing to do.
157         * redisplay-msw.c (mswindows_output_display_block): Ditto.
158         * redisplay-output.c (redisplay_output_layout): Ditto.
159         * redisplay-tty.c (tty_output_display_block): Ditto.
160         * redisplay-x.c (x_output_display_block): Ditto.
161         * scrollbar-gtk.c (gtk_free_scrollbar_instance): Do not
162         dereference instance->scrollbar_data if it is NULL.
163         * scrollbar-x.c (x_free_scrollbar_instance): Ditto.
164         * scrollbar-msw.c (mswindows_free_scrollbar_instance): Ditto, but
165         for sb->scrollbar_data.
166         * sound.c (init_native_sound): Avoid a buffer overflow by
167         allocating a buffer with the appropriate size.
168
169 2006-05-08  Stephen J. Turnbull  <stephen@xemacs.org>
170
171         * EmacsShell-sub.c (RootGeometryManager):
172         Change garbage to useful messages under DEBUG_GEOMETRY_MANAGEMENT.
173         Based on a suggestion by Francois L'Archeveque.
174
175 2006-03-21  Malcolm Purvis  <malcolmp@xemacs.org>
176
177         * regex.c: Bump INIT_FAILURE_ALLOC and re_max_failures to the
178         current values found in GNU Emacs.
179
180 2006-03-17  Vin Shelton  <acs@xemacs.org>
181
182         * dialog-msw.c (handle_directory_dialog_box): Don't declare
183         Q_title here.  LOCAL_FILE_FORMAT_TO_TSTR requires an lvalue.
184
185         * glyphs-msw.c (read_bitmap_data): change 'initialized' to
186         'hex_initialized' because it conflicts with 'initialized' in
187         lisp.h.
188
189 2006-01-28  Vin Shelton  <acs@xemacs.org>
190
191         * XEmacs 21.4.19 is released
192
193 2006-01-20  Rick Rankin <rrankin1424-xemacs@yahoo.com>
194
195         * sysdir.h: Workaround missing d_ino field from 'struct dirent'.
196
197 2005-12-24  Aidan Kehoe  <kehoea@parhasard.net>
198
199         * objects-gtk.c (MAX_FONT_COUNT): Increase MAX_FONT_COUNT from
200         5000 to INT_MAX.
201
202 2005-12-05  Dr. Volker Zell  <Dr.Volker.Zell@oracle.com>
203
204         * database.c: Suppress compiler warning under Cygwin.
205         * database.c: Removed __FreeBSD__ check, should be handled by
206         HAVE_U_xxx_T defines.
207
208 2005-12-18  Malcolm Purvis  <malcolmp@xemacs.org>
209
210         * console.c (stuff_buffered_input): Compile body only if
211         HAVE_TTY.
212
213 2005-05-10  Aidan Kehoe  <kehoea@parhasard.net>
214
215         * callproc.c: #include sysdir.h, so that any appropriate Mule
216         magic happens with the chdir() call when calling a subprocess. 
217
218 2005-12-06  Aidan Kehoe  <kehoea@parhasard.net>
219
220         * mule-ccl.c (POSSIBLE_LEADING_BYTE_P): Add.
221         * mule-ccl.c: Check that a character set exists before using it
222         to create a character. 
223
224 2005-12-06  Vin Shelton  <acs@xemacs.org>
225
226         * objects-x.c (MAX_FONT_COUNT): Increase MAX_FONT_COUNT from 5000
227         to INT_MAX.
228
229 2005-12-03  Vin Shelton <acs@xemacs.org>
230
231         * XEmacs 21.4.18 is released
232
233 2005-11-27  Kean Johnston <kean@armory.com>
234
235         * redisplay-tty.c (set_tty_modes):
236         (reset_tty_modes): disable auto-margins if the terminal supports
237         them.
238         (init_tty_for_redisplay): fix cursor shape.
239
240 2005-04-05  Aidan Kehoe  <kehoea@parhasard.net>
241
242         * mule-ccl.c (ccl_driver): Calculate the charset and position code
243         for control-1 characters properly, both when reading multibyte
244         characters and writing them. 
245
246 2005-03-12  Aidan Kehoe  <kehoea@parhasard.net>
247
248         * config.h.in: Make HAVE_XTREGISTERDRAWABLE available. 
249         * select-x.c (x_reply_selection_request): Use it; fix the bug we
250         were seeing with incremental selection transfer failing. 
251
252 2005-11-26  Vin Shelton  <acs@xemacs.org>
253
254         * callproc.c (Fold_call_process_internal): Create the buffer if it
255         does not already exist.  The original patch came from Ben Wing in
256         http://list-archive.xemacs.org/xemacs-patches/200205/msg00117.html
257
258 2002-05-13  Adrian Aichner  <adrian@xemacs.org>
259
260         * callproc.c: Process-related docstring improvements spurred by
261         Norbert Koch.
262
263 2005-11-25  Vin Shelton  <acs@xemacs.org>
264
265         * depend: Regenerated.
266
267 2005-07-11  Malcolm Purvis  <malcolmp@xemacs.org>
268
269         * glyphs-gtk.c:  Rename a local static variable because gcc 4.0
270         says it clashes with a global with the same name.
271
272 2005-07-11  Atanu Ghosh <atanu@icsi.berkeley.edu>
273
274         * sysdll.c (dll_open): Under MacOS X return NULL under the
275         filename is NULL.  Fixes problems finding local symbols under 10.4
276         (Tiger)
277
278 2005-11-15  Dr. Volker Zell  <Dr.Volker.Zell@oracle.com>
279         
280         * config.h.in: New HAVE_U_INT*_T defines.
281         
282         * database.c: Only use u_int*_t typedefs if not already
283         defined.
284
285 2005-04-07 15:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
286
287         * src/process-unix.c (unix_open_network_stream): moved
288           'portbuf' buffer out of an inner block as it is used in the
289           entire function. With gcc4, the stack may get corrupted
290           after leaving this block. This patches adjusts the size of
291           the used buffer also; static '128' bytes are far too much
292           currently and might not suffice for future architectures
293           (e.g. for 512 bit ones ;)). Instead of, use only the really
294           required space (max octets * ln(256)/ln(10) chars + space
295           for '\0' and the sign)
296
297 2005-04-08  Aidan Kehoe  <kehoea@parhasard.net>
298
299         * callproc.c: Include sysdir.h, so any necessary Mule processing
300         is done on the current directory name before starting a new
301         process.
302
303 2005-04-06  Stephen J. Turnbull  <stephen@xemacs.org>
304
305         * chartab.c (Fchar_table_p):
306         (Fget_range_char_table):
307         (Fput_char_table):
308         (Fmap_char_table):
309         Describe range representation and fix typo.
310
311 2005-02-12  Vin Shelton  <acs@xemacs.org>
312
313         * emacs.c (shut_down_emacs): Advise users to send email to the
314         xemacs-beta list instead of crashes@xemacs.org.
315
316 2005-02-03  David Evers  <extsw@appliedgenerics.com>
317
318         * process-unix.c (unix_send_process): Flush the last chunk, even
319         when the pipe is blocked.
320
321 2005-02-06  Vin Shelton <acs@xemacs.org>
322
323         * XEmacs 21.4.17 is released
324
325 2005-01-31  Ben Wing  <ben@xemacs.org>
326
327         * emacs.c:
328         Define assert_failed() always.
329         * lisp.h:
330         Always define ABORT().
331
332 2005-01-25  Ben Wing  <ben@xemacs.org>
333
334         * Makefile.in.in:
335         * Makefile.in.in (%.o):
336         Don't compile executable as Windows (-mwindows) under Cygwin.
337         Semi-recent changes to Cygwin's executable-startup handling make
338         it impossible to access the TTY this way.
339
340         Don't use special linker file under Cygwin (cygwin.sc) except
341         when non-PDUMP (even in this case it is highly questionable); you
342         get errors like
343
344       1 [main] temacs 1364 fhandler_console::fixup_after_exec: error opening input console handle after exec, errno 13, Win32 error 5
345    5820 [main] temacs 1364 fhandler_console::fixup_after_exec: error opening output console handle after exec, errno 13, Win32 error 5
346
347 2005-01-29  Ben Wing  <ben@xemacs.org>
348
349         Port this: 2003-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
350
351         * mule-charset.c (get_unallocated_leading_byte): Compiler quietus.
352
353 2005-01-29  Ben Wing  <ben@xemacs.org>
354
355         * bytecode.c (optimize_compiled_function):
356         * print.c (FROB):
357         * print.c (long_to_string):
358         Add casts to avoid warning.
359         
360         * glyphs-eimage.c:
361         Some really nasty hacks to allow TIFF and JPEG to both be compiled.
362         #### The better solution is to move the TIFF and JPEG code to
363         different files.
364         
365         * glyphs-msw.c (mswindows_xbm_instantiate):
366         Define __STDC__ to avoid problems with compface.h.
367         
368         * EmacsFrame.c (EmacsFrameRecomputeCellSize):
369         * EmacsShell-sub.c:
370         * EmacsShell-sub.c (ABORT):
371         * EmacsShell-sub.c (SuperClassRootGeometryManager):
372         * EmacsShell-sub.c (RootGeometryManager):
373         * EmacsShell.c:
374         * EmacsShell.c (ABORT):
375         * EmacsShell.c (EmacsShellUpdateSizeHints):
376         * alloc.c (free_lcrecord):
377         * alloca.c (i00afunc):
378         * buffer.c (delete_from_buffer_alist):
379         * buffer.c (MARKED_SLOT):
380         * bytecode.c (execute_rare_opcode):
381         * bytecode.c (optimize_byte_code):
382         * bytecode.c (Ffetch_bytecode):
383         * chartab.c (char_table_type_to_symbol):
384         * chartab.c (Freset_char_table):
385         * chartab.c (decode_char_table_range):
386         * chartab.c (Fget_range_char_table):
387         * chartab.c (check_valid_char_table_value):
388         * chartab.c (map_char_table):
389         * chartab.c (slow_map_char_table_fun):
390         * chartab.c (chartab_instantiate):
391         * cm.c (cmcheckmagic):
392         * console-msw.c (DHEADER):
393         * console.c (MARKED_SLOT):
394         * data.c (finish_marking_weak_lists):
395         * data.c (encode_weak_list_type):
396         * debug.h (DASSERT):
397         * device-gtk.c (gtk_init_device):
398         * device-msw.c (mswindows_get_default_margin):
399         * device-tty.c (tty_init_device):
400         * device-x.c (get_device_from_display):
401         * device-x.c (x_get_visual_depth):
402         * doprnt.c (parse_doprnt_spec):
403         * doprnt.c (get_doprnt_args):
404         * dumper.c (pdump_get_indirect_count):
405         * dumper.c (pdump_register_sub):
406         * dumper.c (pdump_register_object):
407         * dumper.c (pdump_register_struct):
408         * dumper.c (pdump_dump_data):
409         * dumper.c (pdump_reloc_one):
410         * elhash.c (print_hash_table):
411         * elhash.c (make_standard_lisp_hash_table):
412         * elhash.c (hash_table_instantiate):
413         * emacs.c:
414         * emacs.c (Fforce_debugging_signal):
415         * emacs.c (sort_args):
416         * emacs.c (main):
417         * emacs.c (assert_failed):
418         * eval.c (throw_or_bomb_out):
419         * eval.c (signal_1):
420         * eval.c (Fsignal):
421         * event-Xt.c:
422         * event-Xt.c (emacs_Xt_mapping_action):
423         * event-Xt.c (Xt_process_to_emacs_event):
424         * event-msw.c:
425         * event-stream.c (check_event_stream_ok):
426         * event-stream.c (Fadd_timeout):
427         * event-stream.c (Fadd_async_timeout):
428         * event-stream.c (Fdiscard_input):
429         * event-stream.c (execute_internal_event):
430         * event-stream.c (Frecent_keys):
431         * event-stream.c (extract_this_command_keys_nth_mouse_event):
432         * event-stream.c (lookup_command_event):
433         * event-unixoid.c (poll_fds_for_input):
434         * events.c:
435         * events.c (mark_event):
436         * events.c (event_equal):
437         * events.c (event_hash):
438         * events.c (Fmake_event):
439         * events.c (Fdeallocate_event):
440         * events.c (event_chain_find_previous):
441         * events.c (event_to_character):
442         * events.c (format_event_object):
443         * events.c (Fevent_type):
444         * events.c (event_pixel_translation):
445         * events.c (Fevent_properties):
446         * extents.c (extent_in_region_p):
447         * extents.c (print_extent):
448         * extents.c (process_extents_for_insertion_mapper):
449         * extents.c (report_extent_modification_mapper):
450         * extents.c (glyph_layout_to_symbol):
451         * faces.c (face_validate):
452         * file-coding.c (eol_type_to_symbol):
453         * file-coding.c (subsidiary_coding_system):
454         * file-coding.c (Fcoding_system_type):
455         * file-coding.c (Fcoding_system_property):
456         * file-coding.c (mule_decode):
457         * file-coding.c (mule_encode):
458         * file-coding.c (encode_coding_ucs4):
459         * file-coding.c (encode_coding_utf8):
460         * file-coding.c (parse_iso2022_esc):
461         * file-coding.c (encode_coding_iso2022):
462         * fileio.c:
463         * fns.c (concat):
464         * fns.c (Fsubseq):
465         * fns.c (mapcar1):
466         * fns.c (Fbase64_encode_region):
467         * fns.c (Fbase64_encode_string):
468         * fns.c (Fbase64_decode_region):
469         * fns.c (Fbase64_decode_string):
470         * font-lock.c (find_context):
471         * font-lock.c (context_to_symbol):
472         * frame-gtk.c (gtk_set_frame_pointer):
473         * frame-gtk.c (gtk_update_frame_external_traits):
474         * frame-x.c (x_wm_mark_shell_size_user_specified):
475         * frame-x.c (x_wm_mark_shell_position_user_specified):
476         * frame-x.c (x_wm_set_shell_iconic_p):
477         * frame-x.c (x_wm_set_cell_size):
478         * frame-x.c (x_wm_set_variable_size):
479         * frame-x.c (x_wm_store_class_hints):
480         * frame-x.c (x_wm_maybe_store_wm_command):
481         * frame-x.c (x_initialize_frame_size):
482         * frame-x.c (x_update_frame_external_traits):
483         * frame.c:
484         * frame.c (delete_frame_internal):
485         * frame.c (mouse_pixel_position_1):
486         * frame.c (change_frame_size_1):
487         * free-hook.c (check_free):
488         * free-hook.c (check_realloc):
489         * free-hook.c (note_block_input):
490         * free-hook.c (log_gcpro):
491         * gccache-gtk.c (gc_cache_lookup):
492         * glyphs-eimage.c (tiff_memory_write):
493         * glyphs-gtk.c (gtk_finalize_image_instance):
494         * glyphs-gtk.c (init_image_instance_from_gdk_pixmap):
495         * glyphs-gtk.c (init_image_instance_from_xbm_inline):
496         * glyphs-gtk.c (gtk_xpm_instantiate):
497         * glyphs-gtk.c (gtk_unmap_subwindow):
498         * glyphs-gtk.c (gtk_map_subwindow):
499         * glyphs-gtk.c (gtk_button_redisplay):
500         * glyphs-msw.c:
501         * glyphs-msw.c (init_image_instance_from_xbm_inline):
502         * glyphs-x.c (init_image_instance_from_xbm_inline):
503         * glyphs-x.c (extract_xpm_color_names):
504         * glyphs-x.c (x_xpm_instantiate):
505         * glyphs.c (get_image_instantiator_governing_domain):
506         * glyphs.c (print_image_instance):
507         * glyphs.c (image_instance_equal):
508         * glyphs.c (image_instance_hash):
509         * glyphs.c (encode_image_instance_type):
510         * glyphs.c (make_image_instance_1):
511         * glyphs.c (inherit_instantiate):
512         * glyphs.c (image_instantiate):
513         * glyphs.c (allocate_glyph):
514         * glyphs.c (Fglyph_type):
515         * glyphs.c (redisplay_subwindow):
516         * glyphs.c (display_table_entry):
517         * gtk-glue.c (xemacs_list_to_gtklist):
518         * gtk-glue.c (xemacs_gtklist_to_list):
519         * gtk-glue.c (xemacs_list_to_array):
520         * gutter.c (SET_GUTTER_WAS_VISIBLE_FLAG):
521         * gutter.c (gutter_was_visible):
522         * gutter.c (get_gutter_coords):
523         * input-method-xlib.c (get_XIM_input):
524         * insdel.c (bufpos_to_bytind_func):
525         * insdel.c (bytind_to_bufpos_func):
526         * insdel.c (move_gap):
527         * intl.c (x_get_composed_input):
528         * keymap.c (keymap_lookup_directly):
529         * keymap.c (keymap_delete_inverse_internal):
530         * keymap.c (ensure_meta_prefix_char_keymapp):
531         * keymap.c (accessible_keymaps_mapper_1):
532         * keymap.c (where_is_recursive_mapper):
533         * lisp.h:
534         * lisp.h (ABORT):
535         * lread.c (read_atom):
536         * lstream.c (Lstream_delete):
537         * lstream.c (make_lisp_buffer_stream_1):
538         * macros.c (pop_kbd_macro_event):
539         * malloc.c (malloc):
540         * malloc.c (free):
541         * marker.c (bi_marker_position):
542         * marker.c (set_bi_marker_position):
543         * menubar-gtk.c (menu_descriptor_to_widget_1):
544         * menubar-msw.c (prune_menubar):
545         * menubar-x.c (set_frame_menubar):
546         * mule-charset.c (get_unallocated_leading_byte):
547         * mule-charset.h (CHAR_LEADING_BYTE):
548         * native-gtk-toolbar.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
549         * nt.c (init_environment):
550         * nt.c (generate_inode_val):
551         * ntproc.c (delete_child):
552         * ntproc.c (_sys_read_ahead):
553         * ntproc.c (create_child):
554         * objects.c (color_instantiate):
555         * objects.c (font_instantiate):
556         * objects.c (face_boolean_instantiate):
557         * print.c (printing_major_badness):
558         * process-nt.c (nt_send_process):
559         * process-unix.c (unix_send_process):
560         * process.c (get_process):
561         * ralloc.c (obtain):
562         * ralloc.c (relinquish):
563         * ralloc.c (relocate_blocs):
564         * ralloc.c (resize_bloc):
565         * ralloc.c (r_alloc_free):
566         * ralloc.c (r_re_alloc):
567         * ralloc.c (r_alloc_thaw):
568         * ralloc.c (init_ralloc):
569         * ralloc.c (Free_Addr_Block):
570         * ralloc.c (r_alloc):
571         * redisplay-gtk.c (gtk_output_display_block):
572         * redisplay-msw.c (mswindows_output_display_block):
573         * redisplay-output.c (get_next_display_block):
574         * redisplay-output.c (get_cursor_size_and_location):
575         * redisplay-output.c (redisplay_output_layout):
576         * redisplay-output.c (redisplay_clear_region):
577         * redisplay-tty.c (tty_output_display_block):
578         * redisplay-x.c (x_output_display_block):
579         * redisplay.c (add_propagation_runes):
580         * redisplay.c (add_glyph_rune):
581         * redisplay.c (create_text_block):
582         * redisplay.c (add_margin_runes):
583         * redisplay.c (create_left_glyph_block):
584         * redisplay.c (create_right_glyph_block):
585         * redisplay.c (create_string_text_block):
586         * redisplay.c (regenerate_window):
587         * redisplay.c (REGEN_INC_FIND_START_END):
588         * redisplay.c (redisplay_frame):
589         * redisplay.c (point_in_line_start_cache):
590         * regex.c:
591         * regex.c (ABORT):
592         * regex.c (re_compile_fastmap):
593         * regex.c (re_match_2_internal):
594         * regex.c (regerror):
595         * scrollbar-gtk.c (gtk_scrollbar_loop):
596         * scrollbar-gtk.c (scrollbar_cb):
597         * scrollbar-gtk.c (gtk_update_frame_scrollbars):
598         * scrollbar-msw.c (mswindows_handle_scrollbar_event):
599         * scrollbar-x.c (x_update_scrollbar_instance_status):
600         * scrollbar-x.c (x_scrollbar_loop):
601         * scrollbar-x.c (x_update_frame_scrollbars):
602         * search.c (search_command):
603         * search.c (Fmatch_data):
604         * select-x.c (motif_clipboard_cb):
605         * signal.c (interrupt_signal):
606         * specifier.c (specifier_add_spec):
607         * specifier.c (specifier_instance_from_inst_list):
608         * specifier.c (specifier_instance):
609         * specifier.h:
610         * specifier.h (struct specifier_methods):
611         * strftime.c (add_num_time_t):
612         * sunplay.c (init_device):
613         * symbols.c (Fsetplist):
614         * symbols.c (do_symval_forwarding):
615         * symbols.c (store_symval_forwarding):
616         * symbols.c (Fset):
617         * symbols.c (Fbuilt_in_variable_type):
618         * symbols.c (decode_magic_handler_type):
619         * symbols.c (handler_type_from_function_symbol):
620         * syntax.c (update_syntax_cache):
621         * sysdep.c (init_baud_rate):
622         * toolbar-gtk.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
623         * toolbar-msw.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
624         * toolbar-x.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
625         * toolbar.c (get_toolbar_coords):
626         * ui-gtk.c (build_gtk_boxed):
627         * ui-gtk.c (describe_gtk_arg):
628         * ui-gtk.c (gtk_type_to_lisp):
629         * ui-gtk.c (lisp_to_gtk_type):
630         * ui-gtk.c (lisp_to_gtk_ret_type):
631         * ui-gtk.c (lisp_to_flag):
632         * unexnt.c (read_in_bss):
633         * unexnt.c (map_in_heap):
634         * window.c (real_window):
635         * window.c (window_display_lines):
636         * window.c (window_display_buffer):
637         * window.c (set_window_display_buffer):
638         * window.c (window_modeline_height):
639         * window.c (unshow_buffer):
640         * window.c (window_loop):
641         * window.c (Fget_lru_window):
642         * window.c (Fsplit_window):
643         * window.c (Fset_window_configuration):
644         * window.c (saved_window_index):
645         * xgccache.c (gc_cache_lookup):
646         abort() -> ABORT().  Eliminate preprocessor games with abort()
647         since it creates huge problems in VC7, solvable only by including
648         massive amounts of files in every compile (and not worth it).
649
650         * sysdep.c:
651         * sysproc.h:
652         Inclusion of process.h does not need to be before lisp.h any more.
653         Move later and remove comment about abort().
654
655 2005-01-26  Arnaud Giersch  <arnaud.giersch@free.fr>
656
657         * regex.c (re_match_2_internal):
658         Correctly initialize loop which clears uninitialized registers.
659
660 2005-01-28  Vin Shelton  <acs@xemacs.org>
661
662         * sheap.c (more_static_core): Applied Ben's version of the long
663         string patch.
664
665 2005-01-24  Vin Shelton  <acs@xemacs.org>
666
667         * sheap.c (more_static_core): Reformatted printf string so
668         gcc-3.3.3 will compile this on Cygwin.
669
670 2004-02-22  Stephen J. Turnbull  <stephen@xemacs.org>
671
672         * console.c (function_key_map): Reference `key-binding'.
673
674         * keymap.c (Vkey_translation_map): Improve docstring.
675
676 2004-03-30  Zajcev Evgeny  <zevlg@yandex.ru>
677
678         * window.c: Declare `allow_deletion_of_last_visible_frame' extern.
679         * window.c (window_loop): [fix] Take into account
680         `allow-deletion-of-last-visible-frame' variable.
681         * window.c (replace-buffer-in-windows): Ditto.
682
683 2004-12-15  Stephen J. Turnbull  <stephen@xemacs.org>
684
685         * EmacsManager.c (EmacsManagerChangeSize): Respect XtGeometryNo.
686
687 2005-01-20  Malcolm Purvis  <malcolmp@xemacs.org>
688
689         * event-gtk.c: Recognise AltGr as a valid modifier.
690
691 2005-01-12  Ville Skyttä  <scop@xemacs.org>
692
693         * console-x.h: #include X11/keysym.h before xintrinsic.h.
694
695 2005-01-13  Stephen J. Turnbull  <stephen@xemacs.org>
696
697         Fix backreference bug caught by test suite.
698
699         * regex.c (regex_compile):
700         Make backref duplicate internal register.
701
702 2005-01-13  Stephen J. Turnbull  <stephen@xemacs.org>
703
704         Documentation, code clarification, and warning suppression.
705         
706         * regex.c (regex_compile):
707         Improve comments.
708         (re_match_2_internal):
709         Improve comments and avoid redundant braces.  [Most of the big hunk
710         at l. 4710 is indentation; use diff -w to see the real changes.]
711         (alt_match_null_string_p):
712         (common_op_match_null_string_p):
713         Avoid shadowing global on Mac OS X 10.4, at least.
714
715 2004-09-08  Stephen J. Turnbull  <stephen@xemacs.org>
716
717         * regex.c (regcomp): Fix "unsigned comparison" warning (maybe
718         introduced with shy groups fix).  [Already applied, probably
719         with the second "fix shy groups" patch of 2004-10-07.] 
720
721 2005-01-10  Steve Youngs  <steve@sxemacs.org>
722
723         From Andrey Slusar <anrays@gmail.com>:
724
725         * unexelf.c: define `Elfw(type)' for FreeBSD alpha and amd64.
726
727 2004-11-21  Malcolm Purvis  <malcolmp@xemacs.org>
728
729         * Makefile (RECURSIVE_MAKE): Removed.
730         * Makefile (RECURSIVE_MAKE_ARGS): New.  The new method for
731         handling parallel builds.
732
733 2004-09-08  Malcolm Purvis  <malcolmp@xemacs.org>
734
735         * Makefile.in.in: Enable support for parallel builds.
736
737 2005-01-09  Steve Youngs  <steve@sxemacs.org>
738
739         From Andrey Slusar <anrays@gmail.com>:
740
741         * s/freebsd.h (LIBS_SYSTEM): Only set to "-lutil -lxpg4" if
742         FreeBSD version is >= 199701 _and_ < 600006.
743
744 2005-01-06  Zajcev Evgeny <zevlg@yandex.ru>
745
746         * scrollbar.c (compute_scrollbar_instance_usage):
747         Only call device method compute_scrollbar_instance_usage() if it
748         is defined.
749
750 2004-12-05  Vin Shelton <acs@xemacs.org>
751
752         * XEmacs 21.4.16 is released
753
754 2004-12-04  Vin Shelton  <acs@xemacs.org>
755
756         * depend: Regenerated.
757
758 2004-10-07  Stephen J. Turnbull  <stephen@xemacs.org>
759
760         * regex.c (re_match_2_internal): Map internal to external
761         registers.  Fixes bug identified by Steve Youngs 2004-09-30
762         <microsoft-free.87ekkjhj7t.fsf@youngs.au.com>.
763
764 2004-09-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
765
766         * buffer.c (Frecord_buffer): Make sure the argument is buffer
767         to fix a crash.  Also, check the buffer is live and it
768         really exists in buffer_list.  If the buffer is not in the list,
769         prepend it.
770
771 2004-09-08  Stephen J. Turnbull  <stephen@xemacs.org>
772
773         Fix shy groups by implementing recording of all groups for
774         repetition and backtracking.  Backport from 21.5.
775         
776         * regex.h (struct re_pattern_buffer): Add members re_ngroups,
777         external_to_internal_register, external_to_internal_register_size,
778         and update comments for re_nsub.
779
780         * regex.c (re_opcode_t): Update comments.
781         (print_compiled_pattern): Ouput external_to_internal_register,
782         external_to_internal_register_size, and re_ngroups for debugging.
783         (INIT_REG_TRANSLATE_SIZE): New manifest constant.
784         (regex_compile): Update header comment.
785         Ensure that all groups are recorded so that repeat matches and
786         backtracking work correctly.  Comment related warning for groups >
787         255.
788         (re_search_2): Construct map of API indexes (which count only
789         nonshy groups) to internal register numbers, and keep it updated.
790
791 2004-07-27  Malcolm Purvis  <malcolmp@xemacs.org>
792
793         * frame-gtk.c (gtk_make_frame_visible):
794         * frame-gtk.c (gtk_make_frame_invisible): Use map/unmap instead of
795         show/hide.  This is what X uses and is prevents previously hidden
796         widgets from suddenly reappearing.
797         * gtk-xemacs.c (gtk_xemacs_paint):
798         * gtk-xemacs.c (gtk_xemacs_draw):
799         * gtk-xemacs.c (gtk_xemacs_expose): Only operate if the widget is
800         drawable.
801         * scrollbar-gtk.c (gtk_update_scrollbar_instance_status): Force
802         size and location changes so that they can be seen before the next
803         idle event.  Without this rapid changes to scrollbar properties
804         are not seen.
805
806 2004-07-02  Malcolm Purvis  <malcolmp@xemacs.org>
807
808         * console-gtk.h:
809         * console-gtk.h (struct gtk_frame):
810         * console-gtk.h (FRAME_GTK_WIDGET_INSTANCE_HASH_TABLE):
811           Add hash tables track tab_control callback data.
812           Added #defines for GTK object data names.
813           Declaration of gtk_widget_to_frame().
814         * event-gtk.c (enqueue_gtk_dispatch_event) No longer static:
815         * frame-gtk.c (gtk_widget_to_frame): New.
816         * frame-gtk.c (gtk_create_widgets):
817         * frame-gtk.c (allocate_gtk_frame_struct):
818         * frame-gtk.c (gtk_mark_frame):
819         Manage frame callbakc hash tables.
820         * glyphs-gtk.c (gtk_map_subwindow): Fix size and moving bugs.
821         * glyphs-gtk.c (gtk_redisplay_widget): Use correct size for widgets.
822         * glyphs-gtk.c (gtk_widget_instantiate_1): Force reconsideration
823         of widget size.
824         * glyphs-gtk.c (gtk_widget_query_geometry): New
825         * glyphs-gtk.c (gtk_register_gui_item): New
826         * glyphs-gtk.c (gtk_add_tab_item): New
827         * glyphs-gtk.c (gtk_tab_control_callback): New
828         * glyphs-gtk.c (gtk_tab_control_instantiate): New
829         * glyphs-gtk.c (gtk_tab_control_redisplay): Set notebook page.
830         Use correct list when loading item.
831         * glyphs-gtk.c (image_instantiator_format_create_glyphs_gtk):
832         Register new methods.
833         * gtk-xemacs.c (gtk_xemacs_size_allocate): Use XEmacs size, not
834         default size, for widgets.
835         * gui-x.c:  Improved comment.
836         * menubar-gtk.c (__generic_button_callback): Use
837         gtk_widget_to_frame instead of __get_channel.
838         * scrollbar-gtk.c:
839         * ui-gtk.c: Use symbolic names for GTK object data.
840
841 2004-06-23  Ilya N. Golubev <gin@mo.msk.ru>
842
843         * s/usg5-4.h (NSIG): Define only inside emacs binary.
844
845 2002-03-04  Stephen J. Turnbull  <stephen@xemacs.org>
846
847         * fileio.c (Fwrite_region_internal): Document use of start == Qnil.
848
849 2004-06-16  Malcolm Purvis  <malcolmp@xemacs.org>
850
851         * malloc.c (morecore): siz is a long because in some architectures
852         (eg ia-64) an int cannot hold the address range.  Additional patch
853         from the SuSe distribution.
854
855 2004-06-13  Malcolm Purvis  <malcolmp@xemacs.org>
856
857         * emacs.c:
858         * malloc.c: lim_data is a long because in some architectures
859         (eg ia-64) an int cannot hold the address range.
860         * mem-limits.h: lim-data is a long.  Linux uses getrlimit()
861         instead of ulimit() because ulimit() always returns -1.
862
863 2004-06-09  Stephen J. Turnbull  <stephen@xemacs.org>
864
865         * search.c: Reenable an ansync semaphore.  Remove bogus comments.
866
867 2004-06-11  David Kastrup  <dak@gnu.org>
868
869         * search.c (match_limit): Don't flag an error if match-data
870         exceeding the allocated search_regs.num_regs gets requested, just
871         return Qnil.
872
873 2003-07-21  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
874
875         * glyphs-gtk.c (gtk_xpm_instantiate): Rewrite the XPM data to
876         replace symbolic color entries with the real colors specified in
877         xpm-color-symbols, before passing the XPM to gtk.
878         * glyphs-gtk.h: Use the generic pixmap_image_instance.mask for masks,
879         instead of a GTK specific field, so that it is used in by generic
880         code.
881
882 2004-05-05  Chuck Hines <chuck.hines@baesystems.com>
883
884        * dgif_lib.c (DGifSlurp): Changed do-while to while to stop
885         coredump from deref of NULL ptr (ExtData)
886
887 2004-04-19  Jerry James  <james@xemacs.org>
888
889         * data.c (sign_extend_lisp_int): Use INT_VALBITS instead of
890         VALBITS to compute the location of the sign bit.
891         * event-stream.c (Fcurrent_event_timestamp): Replace incorrect use
892         of VALBITS with EMACS_INT_MAX.
893         * events.c (Fevent_timestamp): Ditto.
894         * events.c (TIMESTAMP_HALFSPACE): Change VALBITS to INT_VALBITS to
895         compute the halfway point to timestamp wraparound.
896         * floatfns.c (float_to_int): Compare against EMACS_INT_MAX and
897         EMACS_INT_MIN instead of using VALBITS.
898         * floatfns.c (Flogb): Use EMACS_INT_MIN instead of building an
899         incorrect number with VALBITS.
900         * fns.c (Frandom): Correct number of integer bits in docstring.
901         Use INT_VALBITS instead of VALBITS to compute the denominator.
902         * sysdep.c (get_random): Use INT_VALBITS instead of VALBITS to
903         build random numbers.
904
905 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
906         * event-gtk.c:
907         * event-gtk.c (gtk_event_to_emacs_event):
908         * menubar-gtk.c:
909         * menubar-gtk.c (gtk_xemacs_menubar_class_init):
910         * menubar-gtk.c (gtk_xemacs_menubar_size_request):
911         * menubar-gtk.c (gtk_xemacs_accel_label_get_type):
912         * menubar-gtk.c (gtk_xemacs_set_accel_keys):
913         * menubar-gtk.c (__activate_menu):
914         * menubar-gtk.c (convert_underscores):
915         * menubar-gtk.c (remove_underscores):
916         * menubar-gtk.c (menu_convert):
917         * menubar-gtk.c (menu_descriptor_to_widget_1):
918         * menubar-gtk.c (menu_descriptor_to_widget):
919         * menubar-gtk.c (menu_can_reuse_widget):
920         * menubar-gtk.c (menu_create_menubar):
921         * menubar-gtk.c (gtk_popup_menu):
922         * menubar-gtk.c (Fgtk_build_xemacs_menu):
923         Added support for Gtk menu bar and menu item mnemonics.
924
925 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
926
927         * sysdll.c: (dll_function): Added support for finding symbols in
928         Darwin shared libraries as well in Darwin bundles.
929         * sysdll.c (image_for_address): New
930         * sysdll.c (my_find_image): New
931         * sysdll.c (search_linked_libs): New
932
933 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
934
935         * ui-gtk.c (__internal_callback_marshal): Marshalling data to
936         return to GTK requires a different API to marshalling data to use
937         as GTK parameters.
938         * ui-gtk.c (lisp_to_gtk_ret_type): New.
939
940 2004-03-08  Lutz Euler  <lutz.euler@freenet.de>
941
942         * lstream.c (Lstream_pseudo_close): Fix test for LSTREAM_FL_IS_OPEN.
943
944 2004-02-19  Stephen J. Turnbull  <stephen@xemacs.org>
945
946         * glyphs.c (process_image_string_instantiator):
947         (Fset_console_type_image_conversion_list):
948         Stop GCC from warning about shadowing of `exp'.
949
950         * redisplay-x.c (x_output_string): Fix unsigned lossage.
951
952 2004-02-19  Stephen J. Turnbull  <stephen@xemacs.org>
953
954         * regex.c (re_match_2_internal): Shut up GCC about syn1, syn2.
955
956 2004-02-03  Vin Shelton  <acs@xemacs.org>
957
958         * glyphs.c (image_instance_layout): Remove pointless assertion.
959         * regex.c (regex_grow_registers): Return type is void.
960
961 2004-02-02  Vin Shelton <acs@xemacs.org>
962
963         * XEmacs 21.4.15 is released
964
965 2004-01-30  Glynn Clements  <glynn.clements@virgin.net>
966
967         * device-x.c (x_error_handler): Don't call stderr_out
968
969 2003-11-07  Katsumi Yamaoka <yamaoka@jpl.org>
970
971         * buffer.c (other-buffer): Clarify documentation of order of
972         arguments for FSF Emacs.
973
974 2003-10-11  Olivier Galibert  <galibert@pobox.com>
975
976         * window.c (Fdelete_window): Dirty the mirror structure _before_
977         marking the window deleted.
978
979 2003-09-15  Jerry James  <james@xemacs.org>
980
981         * event-msw.c (debug_mswin_messages): Conditionally compile
982         messages missing from the Cygwin headers.
983
984 2003-06-16  Stephen J. Turnbull  <stephen@xemacs.org>
985
986         * data.c (eq_with_ebola_notice): Fix typo in comment.
987         (Ftrue_list_p): Improve docstring.
988
989 2003-10-13  Stephen J. Turnbull  <stephen@xemacs.org>
990
991         * frame-x.c (x_update_frame_external_traits): Fix XtSetArg idiom.
992
993 2003-09-27  Stephen J. Turnbull  <stephen@xemacs.org>
994
995         * search.c (trivial_regexp_p): Regexps containing "\{" are
996         nontrivial.  Thanks to Manfred Bartz for reporting the bug and
997         Stefan Monnier for suggesting a diagnosis.
998
999 2003-09-25  Stephen J. Turnbull  <stephen@xemacs.org>
1000
1001         * elhash.c (make-hash-table): Clarify use of :test #'equal.
1002
1003 2003-09-12  Stephen J. Turnbull  <stephen@xemacs.org>
1004
1005         * search.c (Fsearch_forward):
1006         (Fsearch_backward):
1007         Document negative count.
1008
1009 2003-09-13  Stephen J. Turnbull  <stephen@xemacs.org>
1010
1011         * regex.c (re_max_failures): Bump to 20000 for REGEX_MALLOC, too.
1012
1013 2003-09-13  Martin Buchholz  <martin@xemacs.org>
1014
1015         * s/sol2.h: Use OS_RELEASE=os_release_major*100+os_release_minor
1016
1017 2003-09-15  Vin Shelton  <acs@xemacs.org>
1018
1019         * .gdbinit (pobj): Remove Ilya's fix that was only intended for
1020         21.5.
1021
1022 2003-09-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
1023
1024         * regex.c (TRANSLATE_EXTENDED_UNSAFE): Remove.
1025         (re_search_2): Match the first byte of Bufbyte, not Emchar.
1026         (re_match_2_internal): Use TRANSLATE instead of
1027         TRANSLATE_EXTENDED_UNSAFE.  The latter was a hack to bypass
1028         non-ASCII char case conversion.
1029
1030 2003-09-08  Mike Sperber  <mike@xemacs.org>
1031
1032         * symbols.c (Fvariable_binding_locus): Add, as per suggestion from
1033         RMS at: http://article.gmane.org/gmane.emacs.pretest.bugs/1010
1034
1035 2003-06-14  Ilya N. Golubev  <gin@mo.msk.ru>
1036
1037        * .gdbinit (pobj): fix printing of symbol name.
1038
1039 2003-08-01  Ilya N. Golubev  <gin@mo.msk.ru>
1040
1041         * frame-x.c (x_layout_widgets): When resizing is about to cause
1042         frame size slip, mark it for redisplay.
1043
1044 2003-08-18  Jerry James  <james@xemacs.org>
1045
1046         * opaque.h: Remove unused (X)OPAQUE_MARKFUN definitions.
1047
1048 2003-09-03  Vin Shelton <acs@xemacs.org>
1049
1050         * XEmacs 21.4.14 is released
1051
1052 2003-08-15  Stephen J. Turnbull  <stephen@xemacs.org>
1053
1054         * config.h.in (REGEX_MALLOC): Make it configure'able.
1055
1056 2003-08-14  Andrew Begel  <abegel@CS.Berkeley.EDU>
1057
1058         * config.h.in: Add HAVE_DYLD to indicate Darwin/MacOSX dynamic
1059         linking.
1060         * sysdll.c (dll_init):
1061         * sysdll.c (dll_open):
1062         * sysdll.c (dll_close):
1063         * sysdll.c (dll_function):
1064         * sysdll.c (dll_variable):
1065         * sysdll.c (dll_error):
1066         Add support for loading bundles using Darwin/MacOSX
1067         native API.
1068
1069 2003-08-12  Stephen J. Turnbull  <stephen@xemacs.org>
1070
1071         * process.c (start-process-internal): Document coding systems.
1072
1073 2003-07-30  Jerry James  <james@xemacs.org>
1074
1075         * sysdll.c: configure sets HAVE_DLD_INIT, not HAVE_INIT_DLD.
1076
1077 2003-07-31  René Kyllingstad  <listmailxemacs@kyllingstad.com>
1078
1079         * event-msw.c (mswindows_enqueue_mouse_button_event):
1080         * event-msw.c (mswindows_wnd_proc):
1081           enqueue button event when scrollwheel event isn't handled by 
1082           mswindows_handle_mousewheel_event, such as when the scrollbars
1083           are not showing.
1084
1085 2003-07-29  Stephen J. Turnbull  <stephen@xemacs.org>
1086
1087         * EmacsFrame.c (emacsFrameClassRec): Motif groks not XtCompress*.
1088
1089 2003-03-24  Stephen J. Turnbull  <stephen@xemacs.org>
1090
1091         * database.c (Fopen_database): Don't use DB_AUTO_COMMIT.
1092
1093 2003-03-21  Stephen J. Turnbull  <stephen@xemacs.org>
1094
1095         * regex.c (re_match_2_internal): Fix matching degenerate word
1096         boundaries.
1097
1098 2003-05-25  XEmacs Build Bot <builds@cvs.xemacs.org>
1099
1100         * XEmacs 21.4.13 is released
1101
1102 2003-03-20  Stephen J. Turnbull  <stephen@xemacs.org>
1103
1104         * config.h.in (INTPTR_T_IN_CYGWIN_TYPES_H): 
1105         * lisp.h (<inttypes.h>):
1106         Cygwin defines these types in <cygwin/types.h>.  Don't duplicate
1107         the definition.
1108
1109 2003-03-15  Martin Buchholz  <martin@xemacs.org>
1110
1111         * dumper.c (pdump_load): Pdump'ed XEmacs can't find its .dmp file.
1112         Scenario: Prepend ~/bin to PATH; then `mkdir ~/bin/xemacs'
1113         Result: "temacs can only be run in -batch mode."
1114         Fix: Check xemacs executable candidate for directory-ness.
1115
1116 2003-03-03  Robert Pluim  <rpluim@bigfoot.com>
1117
1118         * database.c: Don't use the u_int8_t etc typedefs on FreeBSD,
1119           they conflict with <sys/types.h>.
1120
1121 2003-02-14  Martin Buchholz  <martin@xemacs.org>
1122
1123         * database.c: Berkeley DB wants __STDC__ to be defined.
1124
1125 2003-02-13  Martin Buchholz  <martin@xemacs.org>
1126
1127         * EmacsFrame.c: Use symbolic name `NotUseful' in lieu of `0'.
1128
1129 2003-02-01  Martin Buchholz  <martin@xemacs.org>
1130
1131         * process-unix.c (unix_send_process): Fix C++ compile error.
1132
1133 2003-02-25  Andrew Begel  <abegel@cs.berkeley.edu>
1134
1135         * Added .dylib as an acceptable shared library file extension
1136         * to support MacOSX.
1137
1138 2003-02-01  Martin Buchholz  <martin@xemacs.org>
1139
1140         * EmacsFrameP.h (EmacsFramePart):
1141         Kludge to allow compiling with Motif1, but linking with Motif2.
1142
1143 2003-01-28  Martin Buchholz  <martin@xemacs.org>
1144
1145         * config.h.in (_ALL_SOURCE): Guard against multiple definition.
1146
1147
1148 2003-02-23  Stephen J. Turnbull  <stephen@xemacs.org>
1149
1150         * config.h.in (DLSYM_NEEDS_UNDERSCORE): Define on darwin.
1151
1152 2003-02-06  Andrew Begel  <abegel@CS.Berkeley.EDU>
1153
1154         * sysdll.c: Included lisp.h to define needed alloca_array.
1155
1156 2003-02-13  Martin Buchholz  <martin@xemacs.org>
1157
1158         Make XEmacs redisplay 10 times faster.
1159         If, that is, you're using a slow X connection and MoveOpaque.
1160         Use compress_exposure = XtExposeCompressMaximal | XtExposeNoRegion.
1161         Use compress_motion = TRUE.
1162         * EmacsFrame.c (emacsFrameClassRec): 
1163         * EmacsShell-sub.c (EMACS_SHELL_CLASS_REC):
1164         * EmacsManager.c (emacsManagerClassRec):
1165         * xintrinsicp.h: Make sure XtExposeNoRegion is defined.
1166
1167 2003-01-30  Vin Shelton  <acs@xemacs.org>
1168
1169         * s/linux.h (ORDINARY_LINK): define ORDINARY_LINK for linux.
1170
1171 2003-01-17  Stephen J. Turnbull  <stephen@xemacs.org>
1172
1173         * glyphs-eimage.c (tiff_memory_seek): Lobotomize unsigned typedef.
1174         Patch by Martin Buchholz.
1175
1176 2003-01-16  Stephen J. Turnbull  <stephen@xemacs.org>
1177
1178         * glyphs-eimage.c (tiff_instantiate): Fix unsigned comparison.
1179         Thanks to icc for warning and Martin Buchholz for reporting.
1180
1181 2003-01-29  Vin Shelton <acs@xemacs.org>
1182
1183         Patch courtesy of Andrew Begel <abegel@cs.berkeley.edu>
1184
1185         * dynarr.c (Dynarr_realloc): memcpy copies number of bytes, so
1186         remember to multiply by the element size.
1187
1188 2003-01-15  Stephen J. Turnbull  <stephen@xemacs.org>
1189
1190         * XEmacs 21.4.12 "Portable Code" is released.
1191
1192 2003-01-14  Sergey Okhapkin <sos@prospect.com.ru>
1193
1194         * Makefile.in.in (ldflags): re-order sections for gcc 3.2.
1195         * s/cygwin.sc: new linker file.
1196
1197 2003-01-14  Stephen J. Turnbull  <stephen@xemacs.org>
1198
1199         Build fixes courtesy Martin Buchholz <martin@xemacs.org>:
1200
1201         * redisplay-x.c (x_output_string): Use X11-specified types.
1202         * syntax.c, syntax.h (SYNTAX_CODE): Use enum syntaxcode, not int.
1203         * emacs.c (__free_hook): Use typeof with Intel compiler.
1204         * config.h.in (alloca.h): Quick safe hack to please Intel compiler.
1205
1206 2003-01-08  Andy Piper  <andy@xemacs.org>
1207
1208         * unexcw.c (copy_executable_and_dump_data_section): Set the stack
1209         reserve size during unexec().
1210
1211 2003-01-07  Daiki Ueno  <daiki@xemacs.org>
1212
1213         * process-unix.c (unix_create_process): Don't let outchannel block.
1214
1215 2003-01-05  Rick Rankin  <rick_rankin@yahoo.com>
1216
1217         * emacs.c: Include "syswindows.h" when compiling under Cygwin.
1218         Needed for IsBadReadPtr().
1219
1220 2003-01-03  Stephen J. Turnbull  <stephen@xemacs.org>
1221
1222         * XEmacs 21.4.11 "Native Windows TTY Support" is released.
1223
1224 2002-12-14  Ben Wing  <ben@xemacs.org>
1225
1226         * callint.c: Declaration error.
1227         * dumper.c (pdump):
1228         * dumper.c (pdump_load): Warning fix.
1229         * process.c: GCPRO error.
1230         * glyphs.c (unmap_subwindow):
1231         * glyphs.c (map_subwindow): Parenthesizing errors with ! and &&.
1232         * event-stream.c (maybe_kbd_translate): Wrong argument to
1233         character_to_event().
1234
1235         * alloc.c (garbage_collect_1):
1236         * emacs.c:
1237         * emacs.c (debug_can_access_memory):
1238         * emacs.c (fatal_error_signal):
1239         * emacs.c (mswindows_handle_hardware_exceptions):
1240         * emacs.c (main_1):
1241         * emacs.c (main):
1242         * emacs.c (assert_failed):
1243         * emacs.c (syms_of_emacs):
1244         * lisp.h:
1245         * print.c:
1246         * print.c (std_handle_out_va):
1247         * print.c (write_string_to_stdio_stream):
1248         * print.c (write_fmt_string):
1249         * print.c (printing_badness):
1250         * print.c (printing_major_badness):
1251         * print.c (print_internal):
1252         * print.c (debug_print_no_newline):
1253         * print.c (debug_backtrace):
1254         Be more defensive in handling bad values when printing.  Add code
1255         from trunk involving inhibit_non_essential_printing_operations.
1256         When going down or in debug_print(), don't do external conversion
1257         and such and try really, really hard when printing to avoid core
1258         dumping.  Add force-debugging-signal, debug_break().
1259
1260 2002-12-12  Stephen J. Turnbull  <stephen@xemacs.org>
1261
1262         * dumper.c (pdump_load): Include sysdep.h; retry with truename.
1263         Analysis and original patch by Vin Shelton <acs@xemacs.org>.
1264
1265 2002-12-02  Greg Allen  <greg_allen@westlb-systems.co.uk>
1266
1267         * database.c: Fix open_database. Berkeley DB API has changed in
1268         4.1. see: http://www.sleepycat.com/docs/ref/upgrade.4.1/fop.html
1269
1270 2002-11-26  Stephen J. Turnbull  <stephen@xemacs.org>
1271
1272         * specifier.c (Fvalid_specifier_type_p): Typo in comment.
1273
1274 2002-11-13  Stephen J. Turnbull  <stephen@xemacs.org>
1275
1276         * event-Xt.c (Xt_timeout):
1277         (Xt_timeout_callback):
1278         (emacs_Xt_add_timeout):
1279         (emacs_Xt_remove_timeout):
1280         (Xt_timeout_to_emacs_event):
1281         Turn completed_timeouts from a stack into a queue.  Fixes
1282         deadlocks <15829.21626.171573.994716@sinisa.nasamreza.org>.
1283
1284 2002-11-07  Wolfram Gloger  <wg@malloc.de>
1285
1286         * alloc.c (reinit_alloc_once_early): Disable mmap in Doug Lea malloc.
1287         * emacs.c (main): Assert that mmap'd allocation is disabled.
1288
1289 2002-10-14  Andy Piper  <andy@xemacs.org>
1290
1291         * glyphs-widget.c (layout_query_geometry): add in fiddle
1292         factor. Include border text in width layout calculation.
1293         (layout_layout): use BORDER_FIDDLE_FACTOR instead of 10.
1294
1295 2002-11-02  Stephen J. Turnbull  <stephen@xemacs.org>
1296
1297         * XEmacs 21.4.10 "Military Intelligence" is released.
1298
1299 2002-10-17  Raymond Toy  <toy@rtp.ericsson.se>
1300
1301         * nas.c: Update for NAS 1.6 and later, from Jon Trulson.  Was
1302         using the NAS private array SoundFileInfo that no longer exists in
1303         NAS 1.6 and later.  Preserve backward compatibility with NAS 1.5a
1304         and earlier.  This is broken for some versions between 1.5a and
1305         1.5f.
1306
1307 2002-10-10  Stephen J. Turnbull  <stephen@xemacs.org>
1308
1309         * realpath.c (win32_readlink): Try to fix truename of wildcard bug.
1310
1311         * emacs.c (shut_down_emacs): Improve crash message.
1312
1313 2002-10-09  Stephen J. Turnbull  <stephen@xemacs.org>
1314
1315         * file-coding.c (determine_real_coding_system): Check for coding
1316         cookie in first LINES_TO_CHECK lines (currently 2).  Cater to
1317         shebangs and Python PEP 263.
1318
1319 2002-10-08  Andy Piper  <andy@xemacs.org>
1320
1321         * glyphs-widget.c (layout_query_geometry): only resize dynamically
1322         if static sizes haven't been set.
1323
1324 2002-08-30  Mike Alexander  <mta@arbortext.com>
1325
1326         * event-msw.c (winsock_closer): Use closesocket, not CloseHandle
1327         to close a socket.
1328
1329 2002-10-03  Stephen J. Turnbull  <stephen@xemacs.org>
1330
1331         * callproc.c (child_setup): 21.4 doesn't have retry_close.
1332
1333 2002-09-20  Mike Sperber <mike@xemacs.org>
1334
1335         (This partially gets back my patch from 2002-07-20 without the
1336         bug.)
1337         * callproc.c (child_setup): Remove Ben's comment noting confusion
1338         over the file descriptors >= 3: close_process_descs() doesn't
1339         close those.  Fix fd range to go up to MAXDESC-1 instead of 64.
1340         * process-unix.c (unix_create_process): Call
1341         begin_dont_check_for_quit to inhibit unwanted interaction (and
1342         thus breaking of X event synchronicity) in the child.
1343
1344 2002-09-26  Golubev I. N.  <gin@mo.msk.ru>
1345
1346         * frame-x.c (x_delete_frame): do not call XtDisplay on a destroyed
1347         widget.
1348
1349 2002-08-20  Ben Sigelman  <bhsigelm@cs.brown.edu>
1350
1351         * event-Xt.c (drain_X_queue): loop over while(XEventsQueued())
1352         instead of while(XtAppPending()&XtIMXEvent).  Upon a gdm logout,
1353         the xemacs process did not exit, but looped infinitely here.  This
1354         fixes that problem.
1355
1356 2002-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
1357
1358         * font-lock.c (SYNTAX_START_STYLE, SYNTAX_END_STYLE): Quiet GCC.
1359         (find_context): Improve comments.
1360
1361         * regex.c (re_compile_fastmap):  Gratuitous #ifdef comment fixes.
1362         (re_match_2): An XCHAR_TABLE operation was missing.
1363
1364         Many of the following changes were inspired by Andy Piper's (now
1365         obsolete) patch to make syntax-table text property lookup optional.
1366
1367         [Documentation]
1368
1369         * syntax.h (top level): Document semantics of syntax flags.
1370         * syntax.c (comstr_start, Fforward_comment): Improve comments.
1371         * syntax.c, syntax.h (top level): Document syntax cache better in
1372         comments.
1373
1374         [Instrument syntax caching (temporary change)]
1375
1376         * syntax.h (enum syntax_cache_statistics_functions, struct
1377         syntax_cache_statistics, SCS_STATISTICS_SET_FUNCTION,
1378         SYNTAX_CACHE_STATISTICS_COUNT_INIT): New types and macros.
1379         * syntax.c (scan_words, Fforward_comment, scan_lists,
1380         Fbackward_prefix_characters):
1381         * font-lock.c (find_context):
1382         Use them to instrument syntax caching. 
1383         * syntax.c (struct syntax_cache_statistics, scs_statistics,
1384         syntax_cache_statistics_function_names): New type and variables.
1385         * syntax.c (update_syntax_cache): Update and report statistics.
1386
1387         [Major syntax cache optimizations]
1388
1389         syntax.c (lookup_syntax_properties): Default off.
1390
1391         * syntax.h (UPDATE_SYNTAX_INTERNAL): New, implements UPDATE_SYNTAX*.
1392         * syntax.c (update_syntax_cache):
1393         Move init test from update_syntax_cache to UPDATE_SYNTAX_INTERNAL.
1394
1395         [Minor syntax cache optimizations and code clarifications]
1396
1397         * syntax.h (SYNTAX_COMMENT_BITS, SYNTAX_START_P, SYNTAX_END_P,
1398         SYNTAX_STYLES_MATCH_START_P, SYNTAX_STYLES_MATCH_1CHAR_P,
1399         SYNTAX_STYLES_MATCH_END_P, STYLE_FOUND_1CHAR_P, STYLE_FOUND_P,
1400         SYNTAX_COMMENT_MASK_END, SYNTAX_COMMENT_MASK_START,
1401         SYNTAX_COMMENT_1CHAR_MASK): Remove redundant argument `table'.
1402         (Code clarification.)
1403
1404         * syntax.c (scan_words, find_end_of_comment, scan_sexps_forward,
1405         scan_lists): Compute code from syncode, use Boolean macros instead
1406         of redundant masking operations.  (Code clarification; any decent
1407         compiler can do this optimization.)
1408
1409         * syntax.c (scan_lists): Rearrange switches (case Sstring_fence)
1410         for clarity.
1411
1412         * syntax.h, syntax.c (NEXT_SINGLE_PROPERTY_CHANGE,
1413         PREVIOUS_SINGLE_PROPERTY_CHANGE, update_syntax_cache): Conditionally
1414         use F*_single_property_change instead of F*_extent_change.
1415         Currently F*_single_property_change is _much_ less efficient.
1416
1417         * dired.c (Fdirectory_files): Qt not valid in syntax_cache.object.
1418         * syntax.h (SETUP_SYNTAX_CACHE_FOR_OBJECT):  Initialize
1419         syntax_cache.object properly, don't leave Qt or Qnil.
1420         (SYNTAX_CACHE_BYTE_TO_CHAR): Use SETUP_SYNTAX_CACHE_FOR_OBJECT.
1421         * syntax.c (update_syntax_cache): Use BUFFERP and STRINGP, not
1422         tests for Qt or Qnil.
1423
1424 2002-09-21  Stephen J. Turnbull  <stephen@xemacs.org>
1425
1426         * redisplay.c (point_in_line_start_cache): 
1427         * extents.c (print_extent_1):
1428         Fix warnings.
1429
1430         * extents.c (Fset_extent_property): Document `syntax-table' property.
1431
1432         * extents.h (Fnext_single_property_change): EXFUN it.
1433
1434 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
1435
1436         * search.c (clear_unused_search_regs): New static function.
1437         (search_buffer): 
1438         (simple_search): 
1439         (boyer_moore):
1440         Use it.  Fixes "stale match data" bug reported by Martin Stjernholm.
1441         Minor clarifications in comments.
1442
1443         * regex.c (re_match_2_internal): Ensure no stale submatches.
1444
1445 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
1446
1447         * event-Xt.c (enqueue_focus_event): Add missing prototype.
1448
1449 2002-08-29  Jerry James  <james@xemacs.org>
1450
1451         * lisp.h: structrures -> structures.
1452
1453 2002-06-03  Andy Piper  <andy@xemacs.org>
1454
1455         * frame.c (frame_conversion_internal): add conversion appropriate
1456         for setting frame dimensions in pixels.
1457
1458         * console.h (struct console_methods): add device-specific widget
1459         layout functions.
1460
1461         * emacs.c (main_1): initialize glyph vars.
1462
1463         * event-Xt.c (handle_focus_event_1): call handle_focus_event_2
1464         (handle_focus_event_2): new function. Allow focus to
1465         be set to a particular window and widget.
1466         (enqueue_focus_event): new function. Create a
1467         synthetic focus event.
1468         (emacs_Xt_handle_magic_event): call
1469         handle_focus_event_2.
1470
1471         * frame.c (Fset_frame_pixel_height): new function. Allow
1472         pixel-based sizing. Does the right thing on character-oriented
1473         displays.
1474         (Fset_frame_pixel_width): ditto.
1475         (Fset_frame_pixel_size): ditto.
1476         (syms_of_frame): declare.
1477
1478         * general-slots.h: add :vertically-justify and
1479         :horizontally-justify.
1480
1481         * glyphs-msw.c (xbm_create_bitmap_from_data): warning fix.
1482         (mswindows_widget_border_width): new function.
1483         (mswindows_combo_box_instantiate): set border widths.
1484         (console_type_create_glyphs_mswindows): declare.
1485
1486         * glyphs-widget.c:
1487         (check_valid_justification): allow vertical and horizontal
1488         justification.
1489         (widget_border_width): new function. Call device methods.
1490         (widget_instance_border_width): ditto.
1491         (logical_unit_height): new function. Determine the height of a
1492         logical-unit. Logical units are intended to provide grid-like
1493         layout for subcontrols in a layout. If the layout is
1494         :vertically-justify top then subcontrols will be positioned on
1495         logical-unit boundaries, thus allowing adjacent subcontrols to
1496         line up.
1497         (widget_logical_unit_height): ditto for widgets.
1498         (redisplay_widget): misc cleanup.
1499         (widget_spacing): new function. Call device specific
1500         methods. Intended to be the default gap between adjacent widgets.
1501         (widget_query_geometry): use new spacing functions to determine
1502         appropriate geometry.
1503         (initialize_widget_image_instance): initialize horizontal and
1504         vertical justification.
1505         (widget_instantiate): use logica-units where appropriate for
1506         sizing large widgets.
1507         (button_query_geometry): use widget_instance_border_width.
1508         (tree_view_query_geometry): ditto.
1509         (tab_control_query_geometry): ditto.
1510         (edit_field_query_geometry): new function.
1511         (layout_update): pick up :justify, :horizontally-justify and
1512         :vertically-justify none of which worked previously. :justify is
1513         used as a fallback for both horizontal and vertical justification.
1514         (layout_query_geometry): use logical units to size appropriately.
1515         (layout_layout): ditto.
1516         (Fwidget_logical_to_character_width): new function. Allow users to
1517         convert from logical units to characters so that frame sizes can
1518         be set appropriately.
1519         (Fwidget_logical_to_character_height): ditto.
1520         (syms_of_glyphs_widget): declare.
1521         (image_instantiator_edit_fields): add edit_field_query_geometry.
1522         (VALID_LAYOUT_KEYWORDS): declare :vertically-justify and
1523         :horizontally-justify.
1524         (specifier_vars_of_glyphs_widget): new function. Declare
1525         Vwidget_border_width which is not yet used.
1526
1527         * glyphs-x.c (x_map_subwindow): enqueue appropriate focus events.
1528         (x_widget_border_width): new function.
1529         (x_widget_instantiate): create a sensible name for widgets.
1530         (console_type_create_glyphs_x): declare x_widget_border_width.
1531
1532         * glyphs.h (DEFAULT_WIDGET_BORDER_WIDTH): new macro.
1533         (struct Lisp_Image_Instance): add :vertically-justify and
1534         :horizontally-justify.
1535         (LAYOUT_JUSTIFY_TOP): new.
1536         (IMAGE_INSTANCE_SUBWINDOW_H_JUSTIFY): new.
1537         (ROUND_UP): new macro. Round argument up to next integral
1538         interval.
1539
1540         * redisplay-output.c (redisplay_output_layout): misc formatting.
1541
1542         * symsinit.h: declare specifier_vars_of_glyphs_widget.
1543
1544 2002-08-23  Stephen J. Turnbull  <stephen@xemacs.org>
1545
1546         * XEmacs 21.4.9 "Informed Management" is released.
1547
1548 2002-08-19  Andy Piper  <andy@xemacs.org>
1549
1550         * fileio.c (Ffile_truename): on cygwin using win32 normalize to
1551         win32 format.
1552
1553         * realpath.c (xrealpath): normalize drive spec also so that dir
1554         sep chars are not mixed on cygwin.
1555
1556 2002-08-06  Jerry James  <james@xemacs.org>
1557
1558         * window.c (Fsplit_window): Count only half of the divider width
1559         against the left window when splitting horizontally. 
1560
1561 2002-06-24  Andy Piper  <andy@xemacs.org>
1562
1563         * toolbar-gtk.c (GTK_OUTPUT_BUTTONS_LOOP): output button if whole
1564         toolbar was cleared.
1565
1566         * toolbar-msw.c (mswindows_clear_frame_toolbars): new
1567         function. Split out from mswindows_output_frame_toolbars.
1568         (mswindows_output_frame_toolbars): move clear pieces to
1569         mswindows_output_frame_toolbars.
1570
1571         * toolbar-gtk.c (gtk_clear_frame_toolbars): new function. Split
1572         out from gtk_output_frame_toolbars.
1573         (gtk_output_frame_toolbars): move clear pieces to
1574         gtk_clear_frame_toolbars.
1575
1576         * toolbar-x.c (X_OUTPUT_BUTTONS_LOOP): always output buttons when
1577         the frame is cleared. How this ever worked before is a mystery.
1578         (x_output_frame_toolbars): Only output toolbars.
1579         (x_clear_frame_toolbars): new. Clear previous toolbar locations.
1580
1581         * gutter.c (update_gutter_geometry):
1582         Mark frame layout changed.
1583         (update_frame_gutter_geometry, update_frame_gutters):
1584         Respect frame_layout_changed.
1585
1586         * console.h (struct console_methods): add
1587         clear_frame_toolbars_method.
1588
1589         * redisplay.c (redisplay_frame): call
1590         update_frame_toolbars_geometry and re-order update_frame_toolbars.
1591
1592         * toolbar.h: declare update_frame_toolbars_geometry.
1593
1594         * toolbar.c (update_frame_toolbars_geometry): new function. Split
1595         out from update_frame_toolbars.  Call clear_frame_toolbars.
1596         (update_frame_toolbars): only output, do not change geometry.
1597
1598         * redisplay.c: add frame_layout_changed.
1599
1600         * redisplay.h: add frame_layout_changed.
1601         (CLASS_RESET_CHANGED_FLAGS): set it.
1602         (GLOBAL_RESET_CHANGED_FLAGS): ditto.
1603         (CLASS_REDISPLAY_FLAGS_CHANGEDP): test it.
1604         (GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto.
1605
1606         * device.h (struct device): add frame_layout_changed.
1607         (MARK_DEVICE_FRAME_LAYOUT_CHANGED): new.
1608
1609         * frame.h (struct frame): add frame_layout_changed.
1610         (MARK_FRAME_LAYOUT_CHANGED): new.
1611
1612 2002-06-30  Mike Alexander  <mta@arbortext.com>
1613
1614         * event-msw.c (mswindows_need_event): Don't wait for a new message
1615         if the queue is not empty.  Suggested by Paul Moore.
1616
1617 2002-06-12  Andy Piper  <andy@xemacs.org>
1618
1619         * frame-msw.c (msprinter_init_frame_3): calculate the frame size
1620         for printing on accurately.
1621
1622 2002-06-09  Rick Rankin <rick_rankin@yahoo.com>
1623
1624         * event-msw.c (mswindows_wnd_proc): Add a handler for the
1625         WM_ACTIVATE message. Make sure that the frame is visible if the
1626         window is visible. This seemss to fix the problem where XEmacs
1627         appears to freeze after switching desktops with certain virtual
1628         window managers.
1629         (debug_output_mswin_message): Added code to output message
1630         parameters for WM_WINDOWPOSCHANGED, 
1631         WM_WINDOWPOSCHANGING, WM_MOVE, and WM_SIZE messages.
1632
1633 2002-05-25  Andy Piper  <andy@xemacs.org>
1634
1635         * select-x.c (vars_of_select_x): Fix docstring of
1636         x-selection-strict-motif-ownership
1637
1638 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
1639
1640         * keymap.c (get_keymap):
1641         Add comment about do_autoload GCPROs own args.
1642
1643 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
1644
1645         * bytecode.c (execute_optimized_program): check_opcode ifdef
1646         ERROR_CHECK_BYTE_CODE.
1647
1648 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
1649
1650         Thanks to Ben Wing and Michael Sperber.
1651
1652         * eval.c (Fcommand_execute):
1653         (Feval):
1654         (Ffuncall):
1655         (Fmacroexpand_internal):
1656         (function_argcount):
1657         callint.c (Fcall_interactively):
1658         Add comment about do_autoload GCPROs own args.
1659
1660         * (do_autoload): GCPRO both args as well as local Lisp_Object.
1661
1662         * eval.c (Ffuncall): Extra braces to placate GCC.
1663
1664 2002-08-10  Stephen J. Turnbull  <stephen@xemacs.org>
1665
1666         * backtrace.h (grow_specpdl):
1667         (SPECPDL_RESERVE):
1668         * EmacsFrame.c (EmacsFrameSetValues):
1669         * eval.c (grow_specpdl):
1670         * ExternalShell.c (hack_event_masks_1):
1671         * glyphs-x.c (convert_EImage_to_XImage): 
1672         (x_finalize_image_instance):
1673         * ralloc.c (page_size):
1674         (r_alloc_sbrk):
1675         * xgccache.c (gc_cache_hash):
1676         Fix unsigned comparison warnings.
1677
1678 2002-07-29  Jerry James  <james@xemacs.org>
1679
1680         * lread.c (locate_file): Any nonnegative return value indicates
1681         success if MODE is nonnegative.
1682
1683 2002-08-03  Brian A Palmer  <bpalmer@rescomp.Stanford.EDU>
1684
1685         * emacs.c (Fsplit_string_by_char): Make 2nd arg SEPCHAR a required
1686         argument. 
1687
1688 2002-07-17  Stephen J. Turnbull  <stephen@xemacs.org>
1689
1690         * process-unix.c (unix_send_process): #ifdef the coding_stream member.
1691
1692         * dumper.c (pdump_get_indirect_count):
1693         (pdump_scan_by_alignment):
1694         (pdump_dump_root_struct_ptrs):
1695         (pdump_dump_rtables):
1696         (pdump_dump_root_objects):
1697         (pdump):
1698         * nas.c (WaveOpenDataForReading):
1699         * fns.c (print_bit_vector):
1700         * font-lock.c (SINGLE_SYNTAX_STYLE):
1701         * glyphs.c (check_for_ignored_expose):
1702         (find_matching_subwindow):
1703         * glyphs-eimage.c:
1704         * imgproc.c (get_histogram):
1705         * redisplay.c (point_in_line_start_cache):
1706         * redisplay-output.c (redisplay_unmap_subwindows):
1707         * symbols.c (defsymbol_massage_name_1):
1708         (defkeyword_massage_name):
1709         (deferror_massage_name_and_message):
1710         * redisplay-x.c (x_output_string): 
1711         * emacs.c (run_temacs_argv_size, run_temacs_args_size):
1712         * frame.h (struct frame):
1713         * filelock.c (current_lock_owner):
1714         * doprnt.c (emacs_doprnt_1):
1715         * lisp.h (struct Lisp_Bit_Vector):
1716         (DO_REALLOC):
1717         Fix warnings.
1718
1719 2002-02-13  Ben Wing  <ben@xemacs.org>
1720
1721         * event-stream.c (reset_key_echo):
1722         * event-stream.c (reset_this_command_keys):
1723         * event-stream.c (execute_command_event):
1724         If console is dead as a result of C-x 5 0, then post-command stuff
1725         needs to be careful and do only non-console-specific stuff.
1726
1727 2002-07-01  Mike Sperber <mike@xemacs.org>
1728
1729         * process-unix.c (unix_send_process): Mark coding_outstream as
1730         non-open upon SIGPIPE.
1731
1732         * event-stream.c (Fnext_event): Reorder switch cases to something
1733         that makes sense.
1734
1735 2001-08-13  Dmitry Astapov  <adept@umc.com.ua>
1736
1737         * event-Xt.c (maybe_define_x_key_as_self_inserting_character):
1738         Don't bogusly reinitialize ascii_character property.
1739
1740 2002-07-08  Mike Sperber <mike@xemacs.org>
1741
1742         * process.c (Fstart_process_internal): Do error checking before we
1743         fork off the child, so the child can't muck with the state of the
1744         parent.
1745
1746 2002-07-08  Mike Sperber <mike@xemacs.org>
1747
1748         * ralloc.c (init_ralloc): Allocate properly for pdump.
1749
1750 2002-06-12  Andy Piper  <andy@xemacs.org>
1751
1752         * glyphs.c (query_string_geometry): check the string.
1753
1754         * glyphs-widget.c (widget_logical_unit_height): cope with nil
1755         widget names.
1756
1757 2002-06-17  Jerry James  <james@xemacs.org>
1758
1759         * sysdll.c: Remove RTLD_GLOBAL initialization.
1760         * sysdll.c (dll_open): Do not use RTLD_GLOBAL.
1761
1762 2002-06-25  Stephen J. Turnbull  <stephen@xemacs.org>
1763
1764         * search.c (skip_chars): Port Ben's crash fix and efficiency patch.
1765
1766 2002-05-16  Mathias Grimmberger  <mgri@zaphod.sax.de>
1767
1768         * sysdep.c (sys_rename): Make sys_rename work for the case where
1769         Windows rename sets errno to EACCES if target file exists.
1770
1771 2002-05-21  Jonathan Harris  <jonathan@xemacs.org>
1772
1773         * device-msw.c (mswindows_handle_page_setup_dialog_box):
1774         Fix detection of metric units to work on Win95
1775
1776 2002-05-21  Stephen J. Turnbull  <stephen@xemacs.org>
1777
1778         * syswindows.h: #define LOCALE_RETURN_NUMBER.  Why, I don't know.
1779
1780 2002-04-25  Andy Piper  <andy@xemacs.org>
1781
1782         * redisplay.c (create_text_block): Remove extra comment trailer.
1783
1784 2002-04-24  Andy Piper  <andy@xemacs.org>
1785
1786         * redisplay.c (create_text_block): Don't actually add propagation
1787         data if the line ends after we have added a glyph.
1788
1789 2002-04-22  Andy Piper  <andy@xemacs.org>
1790
1791         * extents.c (extent_fragment_update): check for glyphs we have
1792         previously displayed.
1793         * extents.c (print_extent_1): warning removal.
1794         * extents.h: change prototype.
1795         * redisplay-output.c (redisplay_normalize_glyph_area): calculate
1796         widths correctly for wide glyphs.
1797         * redisplay.c (position_redisplay_data_type): add end_glyph_width.
1798         * redisplay.c (prop_type): add PROP_GLYPH.
1799         * redisplay.c (struct prop_block): add glyph type
1800         * redisplay.c (add_glyph_rune): when adding part of a glyph add it
1801         to the propagation data.
1802         * redisplay.c (create_text_block): if there is a glyph in the
1803         propagation data use it to salt extent_fragment_update.
1804         * redisplay.c (create_string_text_block): ditto.
1805
1806 2002-04-13  Nix  <nix@esperi.demon.co.uk>
1807
1808         * redisplay.h (struct rune): Add ascent, descent, and yoffset fields.
1809         * redisplay-output.c (compare_runes): Compare them.
1810         * redisplay.c: Update copyright date.
1811         * redisplay.c (pos_data): Add need_baseline_computation field.
1812         * redisplay.c (add_glyph_rune): Update ascent, descent, and
1813         need_baseline_computation; zero yoffset. Set max_pixmap_height
1814         for all pixmaps, not just automatically positioned ones.
1815         * redisplay.c (calculate_yoffset): New, compute yoffset values.
1816         * redisplay.c (calculate_baseline): New, compute textual baseline.
1817         * redisplay.c (add_glyph_rune): Call them.
1818         * redisplay.c (create_text_block): Likewise.
1819         * redisplay.c (create_overlay_glyph_block): Likewise.
1820         * redisplay.c (add_margin_runes): Likewise.
1821         * redisplay.c (create_string_text_block): Likewise. Fix tabdamage.
1822
1823         * redisplay.h: (redisplay_calculate_display_boxes): Change prototype.
1824         * redisplay-output.c (redisplay_calculate_display_boxes): Use yoffset.
1825         * redisplay-msw.c (mswindows_output_blank): Pass 0 as yoffset.
1826         * redisplay-msw.c (mswindows_output_string): Likewise.
1827         * redisplay-msw.c (mswindows_output_display_block): Pass yoffset.
1828         * redisplay-gtk.c (gtk_output_display_block): Likewise.
1829         * redisplay-x.c (x_output_display_block): Likewise.
1830
1831 2002-03-28  Ben Wing  <ben@xemacs.org>
1832
1833         * redisplay.c: Fixed bug in redisplay
1834         w.r.t. hscroll/truncation/continuation glyphs causing jumping up
1835         and down of the lines, since they're bigger than the line
1836         size. (It was seen most obviously when there's a horizontal scroll
1837         bar, e.g. do C-h a glyph or something like that.) The problem was
1838         that the glyph-contrib-p setting on glyphs was ignored even if it
1839         was set properly, which it wasn't until now.
1840
1841 2002-04-24  Andy Piper  <andy@xemacs.org>
1842
1843         * lisp.h (Dynarr_end): Fix definition.
1844
1845 2002-02-06  Adrian Aichner  <adrian@xemacs.org>
1846
1847         * redisplay.c (mark_redisplay): Remove call to
1848         update_frame_window_mirror.
1849
1850 2001-11-15  Andy Piper  <andy@xemacs.org>
1851
1852         * win32.c (Fmswindows_shell_execute): fix handling of URL's under
1853         cygwin (again).
1854
1855 2002-02-13  Andy Piper  <andy@xemacs.org>
1856
1857         * event-msw.c (mswindows_wnd_proc): only mark the frame visible if
1858         we did in fact enqueue the XM_MAPFRAME event.
1859
1860 2002-01-15  Adrian Aichner  <adrian@xemacs.org>
1861
1862         * event-msw.c (mswindows_wnd_proc): Add handling of WM_SHOWWINDOW
1863         to fix problem switching between virtual desktops under virtuawin
1864         virtual window manager.
1865
1866 2001-07-30  Adrian Aichner  <adrian@xemacs.org>
1867
1868         * event-msw.c: Typo fix.
1869         * event-msw.c (mswindows_wnd_proc): Set FRAME_VISIBLE_P after
1870         magic XM_MAPFRAME event has been sent.
1871
1872 2001-11-23  Andy Piper  <andy@xemacs.org>
1873
1874         * event-msw.c (mswindows_wnd_proc): Don't pump mousewheel events.
1875
1876 2001-11-21  Andy Piper  <andy@xemacs.org>
1877
1878         * scrollbar-msw.c (mswindows_handle_mousewheel_event): cope with
1879         mouse events outside the frame.
1880
1881 2002-03-20  Andy Piper  <andy@xemacs.org>
1882
1883         * menubar-msw.c (mswindows_popup_menu): warning removal.
1884         * dialog-msw.c (dialog_popped_down): ditto.
1885
1886 2001-12-11  Andy Piper  <andy@xemacs.org>
1887
1888         * dialog-msw.c (dialog_popped_down): new function. unset popup_up_p.
1889         * dialog-msw.c (mswindows_make_dialog_box_internal): set
1890         popup_up_p.
1891         * menubar-msw.c (unsafe_handle_wm_initmenupopup_1): ditto.
1892         * menubar-msw.c (mswindows_handle_wm_command): ditto.
1893         * menubar-msw.c (mswindows_popup_menu): ditto.
1894
1895 2001-10-29  Andy Piper  <andy@xemacs.org>
1896
1897         * dialog-msw.c (handle_directory_dialog_box): quit if the user
1898         cancels.
1899
1900 2002-01-03  Andy Piper  <andy@xemacs.org>
1901
1902         * realpath.c (ABS_LENGTH): dtrt for cygwin systems using drive
1903         letters.
1904         (xrealpath): ditto.
1905
1906 2002-03-29  Jonathan Harris  <jonathan@xemacs.org>
1907
1908         * device-msw.c (plist_get_margin): Add arg specifying mm or inches
1909         * device-msw.c (plist_set_margin): Fix multiplicand used for mm
1910         * device-msw.c (mswindows_handle_page_setup_dialog_box):
1911         Detect and handle case where machine is set up for metric units
1912
1913 2002-04-02  Andy Piper  <andy@xemacs.org>
1914
1915         * dired-msw.c (mswindows_get_files): 
1916         * nt.c (mswindows_stat): SetErrorMode() so that file errors are
1917         completely handled by XEmacs. Suggested by Thomas Vogler
1918         <mail@thomas-vogler.de>.
1919
1920 2001-11-14  Andy Piper  <andy@xemacs.org>
1921
1922         * nt.c (REG_ROOT): change registry key to XEmacs.
1923
1924 2002-04-27  Andy Piper  <andy@xemacs.org>
1925
1926         * glyphs-msw.c (mswindows_widget_instantiate): remove dead-code.
1927
1928 2002-04-26  Andy Piper  <andy@xemacs.org>
1929
1930         * glyphs-msw.c (mswindows_map_subwindow): observe :initial-focus
1931         behavior.
1932
1933 2002-03-14  Mike Alexander  <mta@arbortext.com>
1934
1935         * event-msw.c (mswindows_unwait_process): New, remove process from
1936         wait list
1937         * process-nt.c (nt_finalize_process_data): Call
1938         mswindows_unwait_process
1939         * console-msw.h: Declare mswindows_unwait_process
1940
1941 2002-05-14  Stephen J. Turnbull  <stephen@xemacs.org>
1942
1943         * editfns.c (Fdecode_time):
1944         (Fformat_time_string):
1945         Check for invalid time.  Thanks to Nick Pakoulin <npak@ispras.ru>.
1946         (make_time): Warning elimination (change arg name).
1947
1948 2001-11-24  Andy Piper  <andy@xemacs.org>
1949
1950         * window.c (Fsplit_window): Doc return type.
1951
1952 2002-04-01  Andy Piper  <andy@xemacs.org>
1953
1954         * emacs.c (Fkill_emacs): Only output message box in interactive
1955         mode.
1956
1957 2002-04-26  Andy Piper  <andy@xemacs.org>
1958  
1959         * config.h.in: pull in 21.5.x change to stop alloca warnings under
1960         cygwin.
1961
1962 2002-03-18  Gregory Steuck  <greg-xemacs-patch@nest.cx>
1963
1964         * unexelf.c:  Use ELFSIZE or define from _LP64 to indicate a 64
1965         bit platform.
1966
1967 2002-05-09  Stephen J. Turnbull  <stephen@xemacs.org>
1968
1969         * XEmacs 21.4.8 "Honest Recruiter" is released.
1970
1971 2002-05-07  Nix  <nix@esperi.demon.co.uk>
1972
1973         Supersedes 2002-04-17 patch.
1974
1975         * process.h (PROCESS_LIVE_P): Use the process status as
1976         evidence of health, not the state of the input stream.
1977         (PROCESS_READABLE_P): Say if the process is readable
1978         from. (It may be dead nonetheless.)
1979         (CHECK_READABLE_PROCESS): Test for that condition.
1980
1981         * process.c (create_process): Use PROCESS_READABLE_P.
1982         (read_process_output, set_process_filter): Likewise.
1983
1984         * process.c (Fprocess_input_coding_system): Use CHECK_READABLE_PROCESS.
1985         (Fset_process_input_coding_system, Fprocess_coding_system): Likewise.
1986
1987         This code is #if 0'd, this is not the time to add new functions:
1988
1989         * process.c (Fprocess_readable_p): Report readability status.
1990         * process.c (Qprocess_readable_p): New, associated symbol...
1991         * process.c (syms_of_process): ... initialize it.
1992
1993 2002-05-04  Stephen J. Turnbull  <stephen@xemacs.org>
1994
1995         * XEmacs 21.4.7 "Economic Science" is released.
1996
1997 2002-04-17  Nix  <nix@esperi.demon.co.uk>
1998
1999         * process.h (PROCESS_LIVE_P): Use the process status as
2000         evidence of health, not the state of the input stream.
2001
2002 2002-04-30  Charles G. Waldman <cgw@xemacs.org>
2003
2004         * sysdep.c (sys_siglist): change "signum" to "signal"
2005
2006 2001-04-21  Martin Buchholz  <martin@xemacs.org>
2007
2008         * s/darwin.h: New file.
2009         Thanks to Greg Parker <gparker@cs.stanford.edu>.
2010         
2011 2002-04-23  Andreas Jaeger  <aj@suse.de>
2012
2013         * s/linux.h (LIB_STANDARD): Define correctly for x86-64 and s390x
2014         which use lib64 for 64-bit libs.
2015         (START_FILES): Likewise.
2016
2017 2002-02-11  Mike Sperber  <mike@xemacs.org>
2018
2019         * device-x.c: 
2020         (x_IO_error_handler):
2021         (x_init_device): Temporarily keep device in static variable
2022         `device_being_initialized' so we can recover gracefully from
2023         internal XOpenDevice failure.  (XOpenDevice is documented to
2024         return NULL on failure, but sometimes calls the IO error handler
2025         instead.)
2026
2027 2002-01-31  John H. Palmieri  <palmieri@math.washington.edu>
2028
2029         * dired.c (Ffile_name_all_completions): Change documentation --
2030         remove reference to completion-ignored-extensions.
2031         * dired.c (vars_of_dired): Change documentation for
2032         completion-ignored-extensions -- remove reference to
2033         file-name-all-completions.
2034
2035 2002-03-06  Jerry James  <james@xemacs.org>
2036
2037         * emodules.c (emodules_load): Fix multiple loading of same module.
2038
2039 2002-01-25  Andrew Begel <abegel@cs.berkeley.edu>
2040         * sysdll.c (dll_open): Changed to use RTLD_NOW instead of
2041         RTLD_LAZY to avoid incorrect symbol binding when using nested
2042         shared libraries on Solaris.
2043
2044 2002-02-12  Stephen J. Turnbull  <stephen@xemacs.org>
2045
2046         * fileio.c (Ffind_file_name_handler): Improve docstring.
2047
2048 2002-01-20  Stephen J. Turnbull  <stephen@xemacs.org>
2049
2050         * fns.c (Fmapconcat): Improve docstring.
2051
2052 2002-01-03  Eric Gillespie, Jr.  <epg@pretzelnet.org>
2053
2054         * device-gtk.c: Add prototype for
2055         emacs_gtk_selection_clear_event_handle.
2056         (gtk_init_device): Call gtk_selection_add_target for CLIPBOARD
2057         selection.  Setup signal handler for "selection_clear_event"
2058         (emacs_gtk_selection_clear_event_handle).
2059
2060         * select-gtk.c (emacs_gtk_selection_clear_event_handle): Handle
2061         other applications owning the clipboard (based on
2062         x_handle_selection_clear).
2063
2064 2001-12-23  William M. Perry  <wmperry@gnu.org>
2065
2066         * menubar-gtk.c (gtk_popup_menu)  Add sanity checks, fix crash.
2067         
2068 2002-01-04  Martin Buchholz  <martin@xemacs.org>
2069
2070         * keymap.c (define_key_alternate_name): Parenthesize EQ.
2071
2072 2001-12-17  Stephen J. Turnbull  <stephen@xemacs.org>
2073
2074         * XEmacs 21.4.6 "Common Lisp" is released.
2075
2076 2001-12-16  Torsten Duwe  <duwe@caldera.de>
2077
2078         * search.c (Freplace_match): Add missing sub-expression functionality.
2079
2080         * buffer.c (decode_buffer): Add a check for pointer type to
2081         decode_buffer, before gcc's CSE optimization reorders a
2082         dereference in front of the allow_string test.
2083
2084 2001-11-16  Darryl Okahata  <darrylo@xemacs.org>
2085
2086         * window.c (window_loop): Fix bug that sometimes prevented
2087         window_loop() from iterating across multiple devices.  Also, at
2088         Ben's request, changed infloop-detecting code to abort() instead
2089         of silently terminating window_loop().
2090
2091 2001-11-21  Stephen J. Turnbull  <stephen@xemacs.org>
2092
2093         Based on analysis and patch by Simon Josefson <jas@extundo.com>.
2094         * editfns.c (make_time): New function.
2095         (Fencode_time): Use it instead of wasteful_word_to_lisp.
2096         * lisp.h (make_time): Prototype and comment it.
2097         * dired.c (wasteful_word_to_lisp): Deprecate.
2098         (Ffile_attributes): Use make_time() instead of wasteful_word_to_lisp().
2099
2100 2001-10-31  Kyle Jones  <kyle_jones@wonderworks.com>
2101
2102         * fileio.c (auto_save_1): Use current coding system, not
2103         escape-quoted.
2104
2105 2001-11-13  Ben Wing  <ben@xemacs.org>
2106
2107         * window.c:
2108         * window.c (window_truncation_on):
2109         * window.c (syms_of_window):
2110         truncate-partial-width-windows should respect the buffer being
2111         displayed, like other redisplay vars.
2112
2113 2001-11-13  Hirokazu FUKUI  <hfukui@sannet.ne.jp>
2114
2115         * event-stream.c (Fread_key_sequence): save current buffer.
2116
2117 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
2118
2119         * ntheap.c (_heap_init): Don't redefine in VS.NET (MSC >= 1300).
2120
2121 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
2122
2123         * alloc.c (lcrecord_stats): Add space for types defined in modules.
2124
2125 2001-10-26  Mike Alexander  <mta@arbortext.com>
2126
2127         * event-msw.c (slurper_free_shared_data_maybe): Free the pipe handle.
2128
2129 2001-10-25  Andy Piper  <andy@xemacs.org>
2130
2131         * ChangeLog:
2132         * dialog-msw.c (handle_directory_proc): new function.
2133          (handle_directory_dialog_box): new fucntion.
2134          (handle_file_dialog_box): use new directory dialog support.
2135          (mswindows_make_dialog_box_internal): ditto.
2136         * event-msw.c (mswindows_wnd_proc): minor fix to scrollbar event
2137         handling.
2138         (mswindows_find_frame): make global.
2139         * fileio.c (Fexpand_file_name): build fix.
2140         * general-slots.h: add Qdirectory.
2141         * scrollbar-msw.c (mswindows_handle_scrollbar_event): fix focus
2142         handling.
2143         * syswindows.h (LOCAL_TO_WIN32_FILE_FORMAT): fix problem with
2144         cygwin not leaving win32 paths unchanged.
2145         * win32.c (Fmswindows_cygwin_to_win32_path): new function. Use the
2146         cygwin runtime to do path conversion.
2147         (Fmswindows_shell_execute): fix cygwin handling of URLs.
2148         (syms_of_win32): add new function.
2149         * window.c (window_loop): build fix.
2150
2151 2001-10-15  Andy Piper  <andy@xemacs.org>
2152
2153         (Fmswindows_shell_execute): fix handling of URL's under cygwin.
2154
2155 2001-10-23  Stephen J. Turnbull  <stephen@xemacs.org>
2156
2157         * XEmacs 21.4.5 "Civil Service" is released.
2158
2159 2001-04-08  Danny Colascione  <qtmstr@optonline.net>
2160
2161         * glyphs-x.c: Force buffer-tab highlight update when moving the
2162         buffer, avoiding an ugly black border, used for keyboard focus
2163         indication, on a widget that can never have keyboard focus, the
2164         buffer tab.
2165
2166 2001-08-30  Daiki Ueno  <ueno@unixuser.org>
2167
2168         * process-unix.c (unix_open_multicast_group): Remove too much
2169         conversion between host and network byte order.
2170
2171 2001-09-10  Nix  <nix@esperi.demon.co.uk>
2172
2173         * src/buffer.c (kill_buffer): Undedicate windows showing BUF
2174         before replacing them.
2175
2176         * src/window.c (window_loop): Implement new UNDEDICATE_BUFFER
2177         operation.
2178
2179         * src/window.c (undedicate_windows): Use it.
2180         * src/window.h: Add prototype.
2181
2182 2001-09-17  Ben Wing  <ben@xemacs.org>
2183
2184         * fileio.c (normalize_filename):
2185         * fileio.c (Fexpand_file_name):
2186         Fix various C++ compile errors in Andy's recent code.
2187         
2188         * callint.c (Fcall_interactively):
2189         * editfns.c (Ftemp_directory):
2190         * editfns.c (Fuser_full_name):
2191         * emacs.c (argmatch):
2192         * lread.c (locate_file_map_suffixes):
2193         * redisplay-x.c (x_ring_bell):
2194         Fix sign-compare warnings.
2195         
2196 2001-09-08  Andy Piper  <andy@xemacs.org>
2197
2198         * fileio.c (normalize_filename): copied from nt.c
2199         * (Ffile_name_directory): enable win32 paths under cygwin.
2200         * (Ffile_name_nondirectory): ditto.
2201         * (directory_file_name): ditto.
2202         * (Fexpand_file_name): ditto.
2203         * (Ffile_truename): ditto.
2204         * (Fsubstitute_in_file_name): ditto.
2205         * (Ffile_name_absolute_p): ditto.
2206         * (Ffile_readable_p): ditto.
2207
2208 2001-09-08  Andy Piper  <andy@xemacs.org>
2209
2210         * device-msw.c (mswindows_finish_init_device): remove dde
2211         initialization.
2212         * device-msw.c (mswindows_init_dde): factor out from
2213         mswindows_finish_init_device()
2214         * device-msw.c (init_mswindows_very_early): new function
2215         initialize but don't enable dde.
2216         * emacs.c (main_1): call init_mswindows_very_early.
2217         * event-msw.c:
2218         * event-msw.c (mswindows_dde_callback): only execute when we are
2219         ready.
2220         * symsinit.h: declare init_mswindows_very_early.
2221
2222 2001-05-02  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
2223
2224         [sjt: This has been in 21.5 for months with no complaints.]
2225
2226         * console.h (struct console_methods): Added flags member.
2227         (CONSOLE_IMPLEMENTATION_FLAGS): Defined.
2228         (CONMETH_IMPL_FLAG):
2229         (CONSOLE_IMPL_FLAG): Macro to check implememntation flags.
2230         Defined XDEVIMPF_DONT_PREEMPT_REDISPLAY.
2231
2232         * device.c (window_system_pixelated_geometry): Use the above macros.
2233
2234         * device.h (DEVICE_IMPL_FLAG): Macro to check a device
2235         implememntation flag.
2236         * device.h (DEVICE_DISPLAY_P): Use it.
2237
2238         * frame.c (delete_frame_internal): Use the above macro.
2239
2240         * redisplay.c (redisplay_device): Use it.
2241         (redisplay_device): Obey XDEVIMPF_DONT_PREEMPT_REDISPLAY.
2242         (redisplay_frame): Ditto.
2243
2244         * device-msw.c (mswindows_device_implementation_flags): Removed.
2245         (msprinter_device_implementation_flags): Removed.
2246         (console_type_create_device_mswindows): Removed references to
2247         implementation_flags methods, set implementation flags here.
2248         (console_type_create_device_mswindows): Added XDEVIMPF_DONT_PREEMPT.
2249
2250         * device-gtk.c (gtk_device_implementation_flags): Removed method.
2251         (console_type_create_device_gtk): Removed method declaration.
2252         Added commented out statement which semantically matches the
2253         commented out statement in the above removed method.
2254
2255 2001-04-14  Gordon Sadler  <gbsadler1@lcisp.com>
2256
2257         The attached patch fixes a few warnings. 
2258
2259         * src/emacs.c: prototype console_type_create_select_gtk for GTK only
2260         * src/frame-gtk.c: guard against GNOME calls in GTK only
2261         * src/redisplay-gtk.c: include <sys/poll.h> #ifdef HAVE_POLL
2262         * src/select-gtk.c: prototype lisp_to_time
2263
2264 2001-06-08  Ben Wing  <ben@xemacs.org>
2265
2266         ------ gc-in-window-procedure fixes ------
2267         
2268         * alloc.c:
2269         * alloc.c (struct post_gc_action):
2270         * alloc.c (register_post_gc_action):
2271         * alloc.c (run_post_gc_actions):
2272         * alloc.c (garbage_collect_1):
2273         Create "post-gc actions", to avoid those dreaded "GC during window
2274         procedure" problems.
2275
2276         * event-msw.c:
2277         Abort, clean and simple, when GC in window procedure.  We want
2278         to flush these puppies out.
2279
2280         * glyphs-msw.c:
2281         * glyphs-msw.c (finalize_destroy_window):
2282         * glyphs-msw.c (mswindows_finalize_image_instance):
2283         Use a post-gc action when destroying subwindows.
2284
2285         * lisp.h:
2286         Declare register_post_gc_action().
2287
2288         * scrollbar-msw.c:
2289         * scrollbar-msw.c (unshow_that_mofo):
2290         Use a post-gc action when unshowing scrollbar windows, if in gc.
2291
2292         * redisplay.c (mark_redisplay):
2293         Add comment about the utter evilness of what's going down here.
2294
2295         ------ cygwin setitimer fixes ------
2296         
2297         * Makefile.in.in (sheap_objs):
2298         * Makefile.in.in (profile_objs):
2299         * Makefile.in.in (objs):
2300         Compile profile.c only when HAVE_SETITIMER.
2301         
2302         * nt.c (mswindows_sigset):
2303         * nt.c (mswindows_sighold):
2304         * nt.c (mswindows_sigrelse):
2305         * nt.c (mswindows_sigpause):
2306         * nt.c (mswindows_raise):
2307         * nt.c (close_file_data):
2308         Style fixes.
2309         
2310         * nt.c:
2311         Move setitimer() emulation to win32.c, because Cygwin needs it too.
2312         
2313         * profile.c:
2314         * profile.c (Fstart_profiling):
2315         * profile.c (Fstop_profiling):
2316         Make sure we don't compile if no setitimer().  Use qxe_setitimer()
2317         instead of just plain setitimer().
2318         
2319         * signal.c:
2320         * signal.c (set_one_shot_timer):
2321         * signal.c (alarm):
2322         Define qxe_setitimer() as an encapsulation around setitimer() --
2323         call setitimer() directly unless Cygwin or MS Win, in which case
2324         we use our simulated version in win32.c.
2325         
2326         * systime.h:
2327         * systime.h (struct itimerval):
2328         * systime.h (ITIMER_REAL):
2329         Prototype mswindows_setitimer() and qxe_setitimer().  Long
2330         comment about "qxe" and the policy regarding encapsulation.
2331
2332         * win32.c:
2333         * win32.c (setitimer_helper_proc):
2334         * win32.c (setitimer_helper_period):
2335         * win32.c (setitimer_helper):
2336         * win32.c (mswindows_setitimer):
2337         Move setitimer() emulation here, so Cygwin can use it.
2338         Rename a couple of functions and variables to be longer and more
2339         descriptive.  In setitimer_helper_proc(), send the signal
2340         using either mswindows_raise() or (on Cygwin) kill().  If for
2341         some reason we are still getting lockups, we'll change the kill()
2342         to directly invoke the signal handlers.
2343
2344         ------ windows shell fixes ------
2345         
2346         * callproc.c:
2347         * ntproc.c:
2348         Comments about how these two files must die.
2349
2350         * callproc.c (init_callproc):
2351         On MS Windows, init shell-file-name from SHELL, then COMSPEC,
2352         not just COMSPEC. (more correct and closer to FSF.) Don't
2353         force a value for SHELL into the environment. (Comments added
2354         to explain why not.)
2355         
2356         * nt.c (init_user_info):
2357         Don't shove a fabricated SHELL into the environment.  See above.
2358
2359 2001-06-01  Ben Wing  <ben@xemacs.org>
2360
2361         * Makefile.in.in (ldflags):
2362         eliminate that pesky "defaulting to 00401000" warning.
2363         * nt.h:
2364         eliminate warnings.
2365
2366 2001-06-15  Golubev I. N.  <gin@mo.msk.ru>
2367
2368         * s/sco5.h (FORCE_ALLOCATE_PTY_THE_OLD_FASHIONED_WAY): #define.
2369         * process-unix.c (allocate_pty): #ifndef "modern" pty allocation.
2370
2371 2001-04-24  Jerry James <james@xemacs.org>
2372
2373         * faces.h: pass parameters to Fadd_spec_to_specifier in the
2374         correct order.
2375
2376 2001-06-01  Ben Wing  <ben@xemacs.org>
2377
2378         * event-msw.c (debug_mswin_messages):
2379         conditionalize the messages that were causing compile errors.
2380         (if only macros could generate #ifdef statements ...)
2381
2382 2001-07-28  Stephen J. Turnbull  <stephen@xemacs.org>
2383
2384         * XEmacs 21.4.4 "Artificial Intelligence" is released.
2385
2386 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
2387
2388         * event-msw.c (mswindows_wnd_proc): Add GC debugging assert.
2389
2390 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
2391
2392         * config.h.in (IPV6_CANONICALIZE): New #define for --with-ipv6-lookup.
2393         * process-unix.c (unix_canonicalize_host_name):
2394         sysdep.c (init_system_name):
2395         Use it to conditionally support IPv6 canonicalization.
2396
2397 2001-05-31  Paul Stodghill  <stodghil@cs.cornell.edu>
2398
2399         * event-msw.c:
2400         Cygwin does not define WM_IME_xxx. Modify the #if's accordingly.
2401
2402 2001-05-19  Paul Krause  <paulkrause1@mediaone.net>
2403
2404         * scrollbar-msw.c: Fixes a crash that occurs on Windows when an
2405         attempt is made to scroll when no scroll bar is available.
2406
2407 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
2408
2409         * input-method-motif.c (XIM_delete_frame): New callback.
2410         (XIM_init_frame): Register it.  (Reapplied by SJT, it somehow
2411         got deleted from 21.4.3.)
2412
2413 2001-06-01  Ben Wing  <ben@xemacs.org>
2414
2415         * nt.c (mswindows_utime):
2416         * nt.c (close_file_data):
2417         fix off-by-one-indirection error.
2418
2419 2001-05-29  Adrian Aichner  <adrian@xemacs.org>
2420
2421         * fileio.c: Include nt.h.  Remove lisp_string_set_file_times()
2422         because set_file_times() now takes Lisp_Object path, instead of
2423         char*.
2424         * nt.c: Include buffer.h.
2425         * nt.c (convert_from_time_t): New.
2426         * nt.c (mswindows_utime): New.  Use utime, since SetFileTime does
2427         not set mtime correctly.
2428         * nt.h: Declare mswindows_utime().
2429         * sysdep.c (set_file_times): set_file_times() now takes Lisp_Object
2430         path, instead of char*.
2431         * systime.h: Include <sys/utime.h> on WIN32_NATIVE.
2432
2433 2001-05-30  Ben Wing  <ben@xemacs.org>
2434
2435         For 21.4:
2436
2437         (Stephen, just take all event-msw.c patches.  This includes
2438         the "iconify" fix below.)
2439
2440         * event-msw.c:
2441         * event-msw.c (mswindows_dequeue_dispatch_event):
2442         * event-msw.c (assert):
2443         * event-msw.c (emacs_mswindows_quit_p):
2444         * event-msw.c (debug_mswin_messages):
2445         * event-msw.c (debug_output_mswin_message):
2446         * event-msw.c (vars_of_event_mswindows):
2447         Fix yet more problems with C-g handling.
2448         Implement debug-mswindows-events.
2449         
2450 2001-05-24  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
2451
2452         * event-msw.c (WM_DROPFILES): Use correct type for OLE characters.
2453         
2454 2001-05-23  Ben Wing  <ben@xemacs.org>
2455
2456         * event-msw.c (winsock_writer):
2457         * event-msw.c (winsock_closer):
2458         prior kludgy code was clobbering the buffer, thinking it was
2459         "unused" space to store an unneeded return value; instead, use
2460         the variable we've already got staring us in the face.
2461
2462 2001-05-17  Andy Piper  <andy@xemacs.org>
2463
2464         * sysfile.h: don't assume that file attributes are boolean
2465
2466 2001-05-23  Ben Wing  <ben@xemacs.org>
2467
2468         * device-msw.c (msprinter_init_device):
2469         signal an error rather than crash with an unavailable network
2470         printer (from Mike Alexander).
2471         
2472         * event-msw.c:
2473         * event-msw.c (struct winsock_stream):
2474         * event-msw.c (winsock_writer):
2475         * event-msw.c (winsock_closer):
2476         * event-msw.c (make_winsock_stream_1):
2477         cleanup headers.  fix (hopefully) an error with data corruption
2478         when sending to a network connection.
2479
2480         * fileio.c (Fexpand_file_name): Fix evil code that attempts
2481         to handle the ~user prefix by (a) always assuming we're referencing
2482         ourselves and not even verifying the user -- hence any file with
2483         a tilde as its first char is invalid! (b) if there wasn't a slash
2484         following the filename, the pointer was set *past* the end of
2485         file and we started reading from uninitialized memory.  Now we
2486         simply treat these as files, always.
2487
2488         * buffer.c (common_init_complex_vars_of_buffer): comment change.
2489         
2490 2001-05-19  Ben Wing  <ben@xemacs.org>
2491
2492         * eval.c: doc comment about gcpro'ing in record_unwind_protect.
2493
2494         * process-nt.c:
2495         * process-nt.c (vars_of_process_nt):
2496         remove unused mswindows-quote-process-args.  rec for 21.4.
2497         
2498 2001-05-12  Ben Wing  <ben@xemacs.org>
2499
2500         * event-msw.c (mswindows_dde_callback):
2501         * event-msw.c (mswindows_wnd_proc):
2502         eliminate cygwin warnings.
2503
2504 2001-05-06  Ben Wing  <ben@xemacs.org>
2505
2506         * console-msw.h:
2507         * device-msw.c:
2508         * device-msw.c (print_dialog_worker):
2509         * device-msw.c (mswindows_handle_print_dialog_box):
2510         * device-msw.c (syms_of_device_mswindows):
2511         * dialog-msw.c (mswindows_make_dialog_box_internal):
2512         * general-slots.h:
2513         implement printing the selection when it's selected.
2514
2515 2001-05-20  Drazen Kacar  <dave@arsdigita.com>
2516
2517         * glyphs-gtk.c (gtk_resource_instantiate): C++ comment -> #if 0
2518
2519 2001-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
2520
2521         * lisp.h (EMACS_INT_MAX): This should be one bit less since
2522         EMACS_INT is signed.
2523
2524 2001-04-15  Michael Lausch  <mla@1012surf.net>
2525
2526         * scrollbar-gtk.c (gtk_create_scrollbar_instance): Call
2527         gtk_widget_request_size() to give scrollbar >0 width for
2528         GTK >1.2.8.
2529
2530 2001-05-30  William M. Perry  <wmperry@gnu.org>
2531
2532         * event-gtk.c: Check for buttons as modifier keys.
2533
2534 2001-05-25  Craig Lanning  <CraigL@Knology.net>
2535
2536         * s\mingw32.h:
2537         Properly find MinGW's <process.h> inside Cygwin's restructured
2538         include directories.  Don't try to include <cygwin/version.h>
2539         since we are dropping support for MinGW in versions of Cygwin
2540         earlier than b21.
2541         * nt.c:
2542         Drop support for MinGW in versions of Cygwin before b21.
2543         * sysdep.c:
2544         Properly find MinGW's <process.h> inside Cygwin's restructured
2545         include directories.
2546         * syswindows.h:
2547         Drop support for MinGW in versions of Cygwin before b21.
2548         * unexcw.c:
2549         Even though a.out.h is no longer detected by configure, allow
2550         MinGW to use it until we figure out how to do the job with Win32.
2551
2552 2001-07-11  Matt Tucker  <tuck@whistlingfish.net>
2553
2554         * syntax.c (find_start_of_comment):
2555         Fix `unbalanced parentheses' bug when dealing with mixed comment
2556         styles in c++/java/etc. mode
2557
2558 2001-05-29  Mike Alexander  <mta@arbortext.com>
2559
2560         * console-msw.h (FRAME_MSPRINTER_CHARHEIGHT): Unswap
2561         FRAME_MSPRINTER_CHARWIDTH and FRAME_MSPRINTER_CHARHEIGHT
2562
2563 2001-05-17  Andrew Begel  <abegel@eecs.berkeley.edu>
2564
2565         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Add needed cast.
2566
2567 2001-03-31  Mike Sperber <mike@xemacs.org>
2568
2569         * search.c (Freplace_match): Support FSF-style specification of
2570         match subexpression when applied to a buffer.
2571
2572 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
2573
2574         * event-stream.c (is_scrollbar_event): add missing semicolon
2575
2576 2001-05-22  Isaac Hollander  <ysh@mindspring.com>
2577
2578         * Makefile.in.in: Use TAR macro instead of hardcoding
2579           tar.  Allows use of GNU tar instead of system tar
2580
2581 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
2582
2583         * event-stream.c (is_scrollbar_event): add missing semicolon
2584
2585 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
2586
2587         * XEmacs 21.4.3 "Academic Rigor" is released.
2588
2589 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
2590
2591         * regex.c: Define DECLARE_NOTHING when "lisp.h" is not included.
2592
2593 2001-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
2594
2595         * buffer.c (Vcase_fold_search): Remove obsolete
2596           comment about non ASCII case-fold-search.  This
2597           bug has been fixed by case-table changes.
2598
2599 2001-05-11  Stephen J. Turnbull  <stephen@xemacs.org>
2600
2601         * event-msw.c: Restore include of events-mod.h.
2602
2603 2001-04-22   zhaoway  <zw@debian.org>
2604
2605         * event-stream.c (is_scrollbar_event): Noop returning 0 if
2606         !HAVE_SCROLLBARS.
2607
2608 2001-05-10  Stephen J. Turnbull  <stephen@xemacs.org>
2609
2610         * XEmacs 21.4.2 "Developer-Friendly Unix APIs" is released.
2611
2612 2001-05-08  Yoshiaki Kasahara  <kasahara@nc.kyushu-u.ac.jp>
2613
2614         * mule-charset.c (Fmake_charset): Add missing else.
2615
2616 2001-04-23  Ben Wing  <ben@xemacs.org>
2617
2618         * event-msw.c (FAKE_MOD_QUIT):
2619         * event-msw.c (mswindows_dequeue_dispatch_event):
2620         * event-msw.c (mswindows_wnd_proc):
2621         * event-msw.c (emacs_mswindows_quit_p):
2622         Get critical quit working.
2623
2624 2001-05-05  Ben Wing  <ben@xemacs.org>
2625
2626         * console-msw.h:
2627         * device-msw.c:
2628         * device-msw.c (mswindows_get_default_margin):
2629         * frame-msw.c (mswindows_size_frame_internal):
2630         * frame-msw.c (msprinter_init_frame_1):
2631         * frame-msw.c (vars_of_frame_mswindows):
2632         Change top/bottom margin defaults to 0.5 inches.
2633
2634 2001-05-01  Martin Buchholz  <martin@xemacs.org>
2635
2636         Fix link error with gcc 3.0 on Linux.
2637         * terminfo.c (UP): Remove.
2638         * terminfo.c (BC): Remove.
2639         * terminfo.c (PC): Remove.
2640         They weren't used, and in any case, these symbols should be
2641         defined in the *library*.
2642
2643 2001-05-03  Martin Buchholz  <martin@xemacs.org>
2644
2645         * s/aix4.h: Fix crash with xlc -O3.
2646         Improve comment explaining how -O3 works.
2647
2648 2001-04-15  Ben Wing  <ben@xemacs.org>
2649
2650         * event-stream.c:
2651         * event-stream.c (Fnext_event):
2652         * event-stream.c (is_scrollbar_event):
2653         * event-stream.c (execute_command_event):
2654         Better fix for Yoshiki's `C-x @ h <scrollbar-drag> x causes a
2655         crash' problem.  His fix introduces other problems.  We filter
2656         out scrollbar events specifically, making them somewhat invisible
2657         to command-building, and not appearing in `this-command-keys'.
2658         More work is still needed (see comments in event-stream.c), but
2659         this fixes all the major problems.
2660
2661 2001-04-20  Ben Wing  <ben@xemacs.org>
2662
2663         * .cvsignore: Added stuff for Windows.
2664
2665 2001-04-28  Ben Wing  <ben@xemacs.org>
2666
2667         * buffer.c (Ferase_buffer):
2668         * editfns.c (buffer_insert1):
2669         * editfns.c (Finsert_before_markers):
2670         * editfns.c (Finsert_string):
2671         * editfns.c (Finsert_char):
2672         * editfns.c (Fdelete_region):
2673         * editfns.c (Fwiden):
2674         * editfns.c (Fnarrow_to_region):
2675         remove bogus lines setting zmacs_region_stays to 0.
2676         
2677 2001-04-15  Gunnar Evermann  <ge204@eng.cam.ac.uk>
2678
2679         * process-unix.c (unix_open_network_stream): If connect() fails
2680         invalidate file descriptor after closing it.
2681
2682 2001-03-08  Mike Alexander  <mta@arbortext.com>
2683
2684         * event-msw.c (mswindows_need_event_in_modal_loop):
2685         Don't dispatch a message if we didn't get one.
2686         (mswindows_need_event):
2687         Terminate the correct process when one exits instead of the first
2688         one on Vprocess_list and look for process termination when in
2689         mswindows_protect_modal_loop.
2690
2691 2001-04-19  Stephen J. Turnbull  <stephen@xemacs.org>
2692
2693         * XEmacs 21.4.1 "Copyleft" is released.
2694
2695 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
2696
2697         * input-method-motif.c (XIM_delete_frame): New callback.
2698         (XIM_init_frame): Register it.
2699
2700 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
2701
2702         * XEmacs 21.4.0 "Solid Vapor" is released.
2703
2704 2001-04-15  Ben Wing  <ben@xemacs.org>
2705
2706         * cmdloop.c (call_command_loop):
2707         Fix braino in bit-rotting code.
2708         
2709 2001-04-07  Hrvoje Niksic  <hniksic@arsdigita.com>
2710
2711         * extents.c (Fset_extent_endpoints): Force creation of extent info
2712         in buffer_or_string.
2713
2714         * extents.c (process_extents_for_insertion_mapper): Correctly
2715         check for open-open zero-length extents.
2716
2717 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
2718
2719         * lisp.h: New typedefs Memory_count, Element_count.
2720         * regex.c:
2721         * regex.h:
2722         Sign-compare warning elimination: several unsigned -> signed.
2723         Based on work by Ben Wing <ben@xemacs.org>.
2724
2725 2001-04-14  Stephen J. Turnbull  <stephen@xemacs.org>
2726
2727         * XEmacs 21.2.47 "Zephir" is released.
2728
2729 2001-04-02  Jan Vroonhof  <jan@xemacs.org>
2730
2731         * redisplay.c (add_bufbyte_string_runes): Update data->bytepos
2732
2733 2001-04-03  Mike Sperber <mike@xemacs.org>
2734
2735         * search.c: Revert previous patch due because of release.
2736
2737 2001-03-30  Ben Wing  <ben@xemacs.org>
2738
2739         * s\cygwin32.h:
2740         Add missing killpg prototype.
2741
2742         * elhash.c:
2743         Add a comment about fixing problems when a new entry is added
2744         while mapping.
2745
2746         * frame-msw.c (mswindows_init_frame_1):
2747         Fix compile warnings.
2748
2749         * menubar.c (vars_of_menubar):
2750         Provide `menu-accelerator-support' to indicate that we properly
2751         support %_ in menu specifications, so that package code can
2752         conditionalize on this (and remove %_ from menu specifications
2753         on older versions).
2754
2755         * event-msw.c:
2756         * scrollbar-msw.c:
2757         * scrollbar-msw.c (can_scroll):
2758         * scrollbar-msw.h:
2759         Fix handling of mouse wheel under Windows to follow standards --
2760         now scrolls window under pointer, not selected window.
2761
2762 2001-03-31  Mike Sperber <mike@xemacs.org>
2763
2764         * search.c (Freplace_match): Support FSF-style specification of
2765         match subexpression when applied to a buffer.
2766
2767 2001-03-15  Martin Buchholz  <martin@xemacs.org>
2768
2769         * keymap.c (Fmap_keymap): map-keymap explicitly allows a mapping
2770         function to modify KEYMAP, so map over a copy of the hash table.
2771
2772 2001-03-21  Martin Buchholz <martin@xemacs.org>
2773
2774         * XEmacs 21.2.46 "Urania" is released.
2775
2776 2001-03-20  Dan Holmsand  <dan@eyebee.com>
2777
2778         * realpath.c (xrealpath): Make file-truename work with symlinks to
2779         /cygdrive paths on cygwin. Always lowercase drive-letters on
2780         native windows.
2781         (cygwin_readlink): Don't try to find canonical filename unless
2782         file exists.
2783
2784 2001-03-15  Stephen J. Turnbull  <stephen@xemacs.org>
2785
2786         * ChangeLog: Log GTK merge.
2787
2788         * dumper.c:
2789         * select-x.c:
2790         * specifier.c:
2791         * symeval.h:
2792         Revert gratuitous whitespace changes from GTK merge.
2793
2794         * emacs.c: Document end of complex #ifdef @ l. 1495.
2795
2796
2797 2001-03-12  Andy Piper  <andy@xemacs.org>
2798
2799         * mingw32.h: unfortunately cygnus changed mingw32 -> mingw so we
2800         have to do likewise.
2801
2802 2001-03-12  Andy Piper  <andy@xemacs.org>
2803
2804         * sysdep.c: we only support mingw now.
2805
2806 2001-03-09  Andy Piper  <andy@xemacs.org>
2807
2808         * unexcw.c (copy_executable_and_dump_data_section): making approx
2809         overrun a warning only.
2810
2811 2001-03-10  William M. Perry  <wmperry@aventail.com>
2812
2813         * faces.c (complex_vars_of_faces): Rewrote the font mucking to
2814         satisfy Stephen's identical-after-cpp plea.
2815
2816 2001-03-02  Ben Wing  <ben@xemacs.org>
2817
2818         * cmds.c:
2819         * cmds.c (Fforward_char):
2820         * syntax.c:
2821         * window.c:
2822
2823         Augment documentation of the most common motion commands to make
2824         note of the shifted-motion support.
2825         
2826 2001-03-02  Ben Wing  <ben@xemacs.org>
2827
2828         * nt.c (mswindows_fstat):
2829         * nt.c (mswindows_stat):
2830         * search.c (boyer_moore):
2831         Fix compile warnings under Windows.
2832         
2833         * sysdep.c (sys_readdir):
2834         Fix buggy filename-conversion code under Mule.
2835
2836 2001-03-09  William M. Perry  <wmperry@aventail.com>
2837
2838         * Makefile.in.in:
2839         * config.h.in:
2840         * console.c:
2841         * console.h:
2842         * device.c:
2843         * device.h:
2844         * dragdrop.c:
2845         * emacs.c:
2846         * event-stream.c:
2847         * events.c:
2848         * events.h:
2849         * faces.c:
2850         * frame.h:
2851         * general-slots.h:
2852         * glyphs.c:
2853         * gutter.c:
2854         * inline.c:
2855         * lisp.h:
2856         * lrecord.h:
2857         * make-src-depend:
2858         * redisplay-output.c:
2859         * redisplay.c:
2860         * symsinit.h:
2861         * sysfile.h:
2862         * toolbar.c:
2863         * window.c:
2864         The Great GTK Merge.
2865
2866         * ChangeLog.GTK:
2867         * console-gtk.c:
2868         * console-gtk.h:
2869         * device-gtk.c:
2870         * emacs-marshals.c:
2871         * emacs-widget-accessors.c:
2872         * event-gtk.c:
2873         * frame-gtk.c:
2874         * gccache-gtk.c:
2875         * gccache-gtk.h:
2876         * glade.c:
2877         * glyphs-gtk.c:
2878         * glyphs-gtk.h:
2879         * gtk-glue.c:
2880         * gtk-xemacs.c:
2881         * gtk-xemacs.h:
2882         * gui-gtk.c:
2883         * gui-gtk.h:
2884         * menubar-gtk.c:
2885         * native-gtk-toolbar.c:
2886         * objects-gtk.c:
2887         * objects-gtk.h:
2888         * redisplay-gtk.c:
2889         * scrollbar-gtk.c:
2890         * scrollbar-gtk.h:
2891         * select-gtk.c:
2892         * toolbar-gtk.c:
2893         * ui-byhand.c:
2894         * ui-gtk.c:
2895         * ui-gtk.h:
2896         The Great GTK Merge: new files.
2897
2898 2001-02-26  Ben Wing  <ben@xemacs.org>
2899
2900         Reapplied Lstream change.
2901
2902 2001-02-26  Ben Wing  <ben@xemacs.org>
2903
2904         Undid the last change, since it is more controversial than I
2905         thought.  It should be back in at some point soon.
2906         
2907 2001-02-25  Ben Wing  <ben@xemacs.org>
2908
2909         * buffer.c:
2910         * callproc.c (Fold_call_process_internal):
2911         * event-msw.c (ntpipe_slurp_reader):
2912         * event-msw.c (ntpipe_shove_writer):
2913         * event-msw.c (winsock_reader):
2914         * event-msw.c (winsock_writer):
2915         * file-coding.c:
2916         * file-coding.c (detect_eol_type):
2917         * file-coding.c (detect_coding_type):
2918         * file-coding.c (determine_real_coding_system):
2919         * file-coding.c (Fdetect_coding_region):
2920         * file-coding.c (decoding_reader):
2921         * file-coding.c (decoding_writer):
2922         * file-coding.c (mule_decode):
2923         * file-coding.c (Fdecode_coding_region):
2924         * file-coding.c (encoding_reader):
2925         * file-coding.c (encoding_writer):
2926         * file-coding.c (mule_encode):
2927         * file-coding.c (Fencode_coding_region):
2928         * file-coding.c (detect_coding_sjis):
2929         * file-coding.c (decode_coding_sjis):
2930         * file-coding.c (encode_coding_sjis):
2931         * file-coding.c (detect_coding_big5):
2932         * file-coding.c (decode_coding_big5):
2933         * file-coding.c (encode_coding_big5):
2934         * file-coding.c (detect_coding_ucs4):
2935         * file-coding.c (decode_coding_ucs4):
2936         * file-coding.c (encode_coding_ucs4):
2937         * file-coding.c (detect_coding_utf8):
2938         * file-coding.c (decode_coding_utf8):
2939         * file-coding.c (encode_coding_utf8):
2940         * file-coding.c (detect_coding_iso2022):
2941         * file-coding.c (decode_coding_iso2022):
2942         * file-coding.c (encode_coding_iso2022):
2943         * file-coding.c (decode_coding_no_conversion):
2944         * file-coding.c (encode_coding_no_conversion):
2945         * glyphs-x.c (write_lisp_string_to_temp_file):
2946         * gpmevent.c (tty_get_foreign_selection):
2947         * lisp.h:
2948         * lstream.c:
2949         * lstream.c (Lstream_flush_out):
2950         * lstream.c (Lstream_adding):
2951         * lstream.c (Lstream_write_1):
2952         * lstream.c (Lstream_write):
2953         * lstream.c (Lstream_raw_read):
2954         * lstream.c (Lstream_read_more):
2955         * lstream.c (Lstream_read):
2956         * lstream.c (Lstream_unread):
2957         * lstream.c (Lstream_fputc):
2958         * lstream.c (stdio_reader):
2959         * lstream.c (stdio_writer):
2960         * lstream.c (filedesc_reader):
2961         * lstream.c (filedesc_writer):
2962         * lstream.c (lisp_string_reader):
2963         * lstream.c (struct fixed_buffer_stream):
2964         * lstream.c (make_fixed_buffer_input_stream):
2965         * lstream.c (make_fixed_buffer_output_stream):
2966         * lstream.c (fixed_buffer_reader):
2967         * lstream.c (fixed_buffer_writer):
2968         * lstream.c (struct resizing_buffer_stream):
2969         * lstream.c (resizing_buffer_writer):
2970         * lstream.c (dynarr_writer):
2971         * lstream.c (lisp_buffer_reader):
2972         * lstream.c (lisp_buffer_writer):
2973         * lstream.h:
2974         * lstream.h (lstream_implementation):
2975         * lstream.h (struct lstream):
2976         * md5.c (Fmd5):
2977         * process-nt.c (nt_send_process):
2978         * process-unix.c (unix_send_process):
2979         
2980         Correct Lstream lossage due to mixing of signed and unsigned
2981         quantities.  All Lstream uses of size_t and ssize_t are now a
2982         single signed data type Lstream_data_count.  This fixes problems
2983         under Windows with sending large quantities of data to a process,
2984         and may well fix other subtle bugs.
2985
2986 2001-02-23  Martin Buchholz <martin@xemacs.org>
2987
2988         * XEmacs 21.2.45 "Thelxepeia" is released.
2989
2990 2001-02-21  Martin Buchholz  <martin@xemacs.org>
2991
2992         * lisp-union.h (XSETINT): 
2993         (XSETCHAR):
2994         (XSETOBJ): 
2995         Reverse previous change of 2001-02-06.
2996
2997 2001-02-20  Matt Tucker  <tuck@whistlingfish.net>
2998
2999         Fix `VALID_BYTIND_P' crashes in regex.c when using narrowed
3000         buffers.
3001         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
3002         * syntax.h (SYNTAX_CACHE_OBJECT_BYTE_TO_CHAR):
3003         Add `BI_BUF_BEGV' to bytepos before calculating bufpos.
3004         * regex.c (POS_AS_IN_BUFFER): removed
3005         * regex.c (re_search_2):
3006         * regex.c (re_match_2):
3007         Don't use an offset of 1 when calculating buffer positions, since
3008         `BI_BUF_BEGV' does it already.
3009
3010 2001-02-18  Wim Dumon  <wim@easics.be>
3011
3012         * insdel.c (prepare_to_modify_buffer): Also check for
3013         supersession when clash-detection is enabled. 
3014
3015 2001-02-17  Matt Tucker  <tuck@whistlingfish.net>
3016
3017         * regex.c (re_match_2_internal):
3018         Convert temp characters from 'const unsigned char' to 're_char'.
3019         Fix crashing bug with extended characters under mule.
3020         * syntax.c (Qsyntax_table): Moved from vars_of_syntax to
3021         syms_of_syntax. Use defsymbol to define. Fixes hanging bug with
3022         font-lock, pdump, and new syntax-table code.
3023         * syntax.c (find_start_of_comment):
3024         (find_end_of_comment):
3025         (forward-comment):
3026         Fix crashing bugs involving moving beyond end of buffer.
3027         * syntax.c (find_start_of_comment):
3028         Fixed logic to allow proper detection of cases where the same
3029         character is used to end both a two-char comment start and a
3030         two-char comment end sequence. Fixes `(forward-comment -1)'.
3031         * syntax.c (find_start_of_comment):
3032         Return position just past last comment-end character for all cases
3033         (previously was only done for two-char comment-end sequences).
3034         * syntax.c (forward-comment):
3035         Take value returned from `find_end_of_comment', rather than
3036         incrementing it.
3037         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
3038         Properly deal with BUFFERP (syntax_cache.object)
3039
3040 2001-02-17  Martin Buchholz  <martin@xemacs.org>
3041
3042         * alloc.c (Fgarbage_collect): 
3043         * alloc.c (make_bit_vector_from_byte_vector):
3044         -Wsign-compare-correctness.
3045
3046 2001-02-16  Martin Buchholz  <martin@xemacs.org>
3047
3048         * lisp-union.h (XSETINT): Eliminate unnecessary temp var.
3049         (XSETCHAR): Likewise.
3050         (XSETOBJ): Likewise.
3051
3052 2001-02-15  Martin Buchholz  <martin@xemacs.org>
3053
3054         * mule-canna.c (canna-func-delete_previous): 
3055         Rename to canna-func-delete-previous.
3056
3057 2001-02-14  Martin Buchholz  <martin@xemacs.org>
3058
3059         * mule-ccl.c (ccl_driver): Warning suppression.  Use countof.
3060
3061 2001-02-13  Matt Tucker  <tuck@whistlingfish.net>
3062
3063         * font-lock.c (find_context): Fix C++ compile errors introduced by
3064         recent patch
3065
3066 2001-02-13  Martin Buchholz  <martin@xemacs.org>
3067
3068         * s/aix4.h: Later versions of IBM C compiler need a bug workaround
3069         pragma, but earlier ones barf on the same pragma.
3070
3071 2001-02-06  Mike Sperber <mike@xemacs.org>
3072
3073         * emacs.c (complex_vars_of_emacs): Add `mule-lisp-directory' and
3074         `configure-mule-lisp-directory'.
3075
3076 2001-02-12  Martin Buchholz  <martin@xemacs.org>
3077
3078         Make sure dump-id.c is compiled in the same way as other .c's.
3079         Fixes pdump compilation failure with HP's cc, which defaults to K&R.
3080         * dump-id.h: Remove.
3081         * emacs.c: Move dump-id.h into dumper.h.
3082         * dumper.h: Move dump-id.h into dumper.h.
3083         * Makefile.in.in:
3084         Use standard .c.o rule for building dump-id.o.
3085         Remove preprocessor flags from link command.
3086         Add dump-id.o to ${otherobjs} if PDUMP.
3087
3088 2001-02-07  Matt Tucker  <tuck@whistlingfish.net>
3089
3090         Port FSF 20.7 syntax table improvements.
3091         * syntax.c.
3092         * syntax.h.
3093
3094         Fixups for new syntax table stuff.
3095         * dired.c: Include syntax.c.
3096         (Fdirectory_files): Initialize regex_match_object and
3097         regex_emacs_buffer.
3098         * extents.h: EXFUN Fnext_extent_change, Fprevious_extent_change,
3099         and Fget_char_property.
3100
3101         Use ported FSF 20.7 syntax table improvements.
3102         * font-lock.c.
3103         * regex.c.
3104         * search.c.
3105         
3106 2001-02-09  Martin Buchholz  <martin@xemacs.org>
3107
3108         * regex.c (Boolean): Renamed to `re_bool', to avoid conflict with
3109         Unixware's enum boolean from sys/types.h.
3110
3111 2001-02-10  Martin Buchholz  <martin@xemacs.org>
3112
3113         Fix support for building with latest Purify.
3114         * Makefile.in.in (PURIFY_LIBS): Remove thread flags.
3115         (PURIFY_FLAGS): Likewise.
3116
3117 2001-02-09  Martin Buchholz  <martin@xemacs.org>
3118
3119         * fileio.c (lisp_string_set_file_times): New.
3120         * fileio.c (Fcopy_file): Use it.
3121         Fixes bug:
3122         (copy-file filename non-ascii-filename t t)
3123         ==> No such file or directory, non-ascii-filename
3124
3125 2001-02-10  Martin Buchholz  <martin@xemacs.org>
3126
3127         * glyphs-x.c (generate_cursor_fg_bg): Avoid a warning.
3128         USHRT_MAX seems clearer than ~0 anyways.
3129
3130 2001-02-09  Martin Buchholz  <martin@xemacs.org>
3131
3132         dumper improvements.  Inspired by Olivier.
3133         * dumper.c (pdump_max_align): New.
3134         * dumper.c (pdump_add_entry): Use pdump_max_align.
3135         * dumper.c (pdump_get_entry_list): Likewise.
3136         * dumper.c (pdump_scan_by_alignment): Likewise.
3137         Don't iterate through unnecessary alignments.
3138         * dumper.c (pdump_file_get): No need to align result of malloc().
3139         * dumper.c (pdump_mallocadr): Remove.  
3140         The result of malloc() is guaranteed to be maximally aligned.
3141         * dumper.c: s/elmt/elt/g;
3142         * dumper.c (pdump_object_table): Allocate dynamically, not statically.
3143         * dumper.c (pdump_alert_undump_object): Likewise.
3144         * dumper.c (pdump_align_table): 
3145         Don't support alignments > 64.
3146         Store ALIGNOF's, not shift counts, in table.
3147
3148 2001-02-09  Martin Buchholz  <martin@xemacs.org>
3149
3150         * s/mingw32.h (HAVE_STRUCT_UTIMBUF): Remove.
3151         * s/windowsnt.h (HAVE_STRUCT_UTIMBUF): Remove.
3152         * systime.h: Use HAVE_UTIME.
3153         * sysdep.c (struct utimbuf): Remove.
3154         * sysdep.c (set_file_times): Prefer utime() to utimes().
3155         * config.h.in (HAVE_UTIME): New.
3156         * config.h.in (HAVE_UTIME_H): Remove.
3157         * config.h.in (HAVE_STRUCT_UTIMBUF): Remove.
3158
3159 2001-02-09  Martin Buchholz  <martin@xemacs.org>
3160
3161         * s/aix4.h: Hide #pragmas inside #ifndef NOT_C_CODE.
3162
3163 2001-02-08  Martin Buchholz  <martin@xemacs.org>
3164
3165         * s/irix6-0.h: Use the standard system memmove, not bcopy.
3166
3167 2001-02-08  Martin Buchholz <martin@xemacs.org>
3168
3169         * XEmacs 21.2.44 "Thalia" is released.
3170
3171 2001-02-06  Martin Buchholz  <martin@xemacs.org>
3172
3173         Fixes crashes in kill-emacs on some systems.
3174         * process-unix.c (unix_kill_child_process):
3175         It's OK for kill() to fail with ESRCH.
3176
3177 2001-02-07  Martin Buchholz  <martin@xemacs.org>
3178
3179         Contortions to make .gdbinit tricks work on most systems.
3180         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
3181         * alloc.c (dbg_valmask): Make non-const.
3182         * alloc.c (dbg_typemask): Make non-const.
3183         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
3184         * alloc.c (dbg_valbits): Make non-const.
3185         * alloc.c (dbg_gctypebits): Make non-const.
3186         * .gdbinit (decode_object): Make it work with AIX cc.
3187
3188 2001-02-06  Martin Buchholz  <martin@xemacs.org>
3189
3190         * elhash.c (make_general_lisp_hash_table):
3191         Use simpler and more efficient calloc to clear entries.
3192
3193 2001-02-07  Martin Buchholz  <martin@xemacs.org>
3194
3195         * window.c (window_scroll): Work around an AIX C compiler bug.
3196         Fixes 'scroll-up' does nothing problem with xlC.
3197
3198 2001-02-05  Martin Buchholz  <martin@xemacs.org>
3199
3200         * .gdbinit: Remove obsolete comment.
3201
3202 2001-01-31  Mike Alexander  <mta@arbortext.com>
3203
3204         * select.c (Fown_selection_internal): Set owned_p for device
3205         method correctly.
3206
3207 2001-02-01  Martin Buchholz  <martin@xemacs.org>
3208
3209         Port to g++ 2.97.
3210         "not" cannot be used as a macro name as it is an operator in C++
3211         * config.h.in: Stop #defining `not'.
3212         * chartab.c (check_category_char): not ==> not_p
3213         * chartab.h: Likewise.
3214         * regex.c (re_match_2_internal): Likewise.
3215
3216 2001-02-02  Martin Buchholz  <martin@xemacs.org>
3217
3218         * lisp-disunion.h: Fix up comments.
3219
3220 2001-01-31  Martin Buchholz  <martin@xemacs.org>
3221
3222         * keymap.c (define_key_check_and_coerce_keysym):
3223         (syms_of_keymap):
3224         Support mouse-6 and mouse-7 bindings in the obvious way.
3225
3226 2001-02-01  Martin Buchholz  <martin@xemacs.org>
3227
3228         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
3229
3230 2001-01-30  Martin Buchholz  <martin@xemacs.org>
3231
3232         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
3233         Previous patch missed DEFVAR_INT_MAGIC.
3234         Make sure future DEFVAR_foo use correct types.
3235         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
3236         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
3237         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
3238         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
3239         * (DEFVAR_INT): Likewise.
3240         * redisplay.c (vertical_clip): Should be of type Fixnum.
3241         * redisplay.c (horizontal_clip): Likewise.
3242         * lisp.h (dump_add_opaque_int): New.
3243         (dump_add_opaque_fixnum): New.
3244
3245 2001-01-29  Andy Piper  <andy@xemacs.org>
3246
3247         * glyphs-widget.c (check_valid_int_or_function): allow symbols
3248         since they can be eval'ed
3249
3250 2001-01-29  Martin Buchholz  <martin@xemacs.org>
3251
3252         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
3253         Oops, XEmacs redefines `class'.  Use `typename' instead.
3254
3255 2001-01-28  Martin Buchholz  <martin@xemacs.org>
3256
3257         * dumper.c: Fix C++ compile errors.
3258
3259 2001-01-29  Martin Buchholz  <martin@xemacs.org>
3260
3261         * tparam.c: Use correct prototypes.
3262
3263 2001-01-28  Martin Buchholz  <martin@xemacs.org>
3264
3265         * sysproc.h: #include util.h for NetBSD's openpty.
3266
3267 2001-01-27  Martin Buchholz  <martin@xemacs.org>
3268
3269         More 64-bit correctness.
3270         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
3271         Use a typedef `fixnum' for the type used for DEFVAR_INT.
3272         Fix up comments.
3273         This finally finishes the 64-bit SGI port.
3274         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
3275         * symbols.c: Fix up comments and type casts.
3276         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
3277         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
3278         * symeval.h (Fixnum): New type.
3279         * symeval.h (symbol_value_type): Fix up comment.
3280
3281         * commands.h:
3282         * nt.c:
3283         * emacs.c:
3284         * data.c:
3285         * redisplay.c:
3286         * abbrev.c:
3287         * dired-msw.c:
3288         * event-Xt.c:
3289         * eldap.c:
3290         * window.c:
3291         * sound.c:
3292         * event-stream.c:
3293         * eval.c:
3294         * buffer.c:
3295         * mule-canna.c: A million DEFVAR_INTs here...
3296         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
3297         * extents.c:
3298         * cmdloop.c:
3299         * lisp.h:
3300         * select-x.c:
3301         * console-x.h:
3302         * event-msw.c:
3303         * mule-wnnfns.c:
3304         * hpplay.c:
3305         * ralloc.c:
3306         * alloc.c:
3307         * keymap.c:
3308         * profile.c:
3309         s/int/Fixnum/g in DEFVAR_INT declarations.
3310
3311 2001-01-26  Martin Buchholz  <martin@xemacs.org>
3312
3313         Port pdump to SGI alignment-sensitive environment.
3314         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
3315         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
3316         properly aligned.
3317         Define and use aligned reading and writing macros.
3318         Use buffered stdio instead of posix i/o for faster dumping.
3319         Eliminate kludgy 256 byte space for header.
3320         Read and write from dump file using structs for alignment safety.
3321         * dumper.c (pdump_align_stream): New.
3322         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
3323         * dumper.c (PDUMP_READ_ALIGNED): New.
3324         * dumper.c (PDUMP_WRITE_ALIGNED): New.
3325         * dumper.c (pdump_static_Lisp_Object): New struct.
3326         * dumper.c (pdump_static_pointer): New struct.
3327         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
3328         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
3329         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
3330         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
3331
3332         * dumper.c (pdump_backtrace):
3333         * dumper.c (pdump_get_indirect_count):
3334         * dumper.c (pdump_register_object):
3335         * dumper.c (pdump_register_struct):
3336         * dumper.c (pdump_reloc_one):
3337         * dumper.c (pdump_scan_by_alignment):
3338         * dumper.c (pdump_dump_from_root_struct_ptrs):
3339         * dumper.c (pdump_dump_opaques):
3340         * dumper.c (pdump_dump_rtables):
3341         * dumper.c (pdump_dump_from_root_objects):
3342         * dumper.c (pdump):
3343         * dumper.c (pdump_load_finish):
3344         Use aligned reading and writing.
3345
3346         * dumper.c (pdump_free): Make static.
3347         * dumper.c (pdump_hFile): Likewise.
3348         * dumper.c (pdump_hMap): Likewise.
3349
3350 2001-01-26  Martin Buchholz <martin@xemacs.org>
3351
3352         * XEmacs 21.2.43 "Terspichore" is released.
3353
3354 2001-01-25  Martin Buchholz  <martin@xemacs.org>
3355
3356         Type fiddling for window_config.saved_windows_count
3357         * window.c (struct window_config): 
3358         Make saved_windows_count member unsigned.
3359         * window.c (sizeof_window_config_for_n_windows): 
3360         Make parameter unsigned.
3361         * window.c (mark_window_config):
3362         * window.c (window_config_equal):
3363         * window.c (free_window_configuration):
3364         * window.c (Fset_window_configuration):
3365         * window.c (count_windows):
3366         * window.c (Fcurrent_window_configuration):
3367         * window.c (reinit_vars_of_window):
3368         Update all callers and users.
3369
3370 2001-01-25  Martin Buchholz  <martin@xemacs.org>
3371
3372         Alignment correctness for flexible arrays.
3373         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
3374         Make alignment-correct. Add interesting comments.
3375         * alloc.c (size_vector):
3376         * alloc.c (make_vector_internal):
3377         * alloc.c (make_bit_vector_internal):
3378         * alloc.c (sweep_bit_vectors_1):
3379         * fns.c (size_bit_vector):
3380         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
3381         * window.c (sizeof_window_config_for_n_windows): 
3382         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
3383
3384 2001-01-24  Martin Buchholz  <martin@xemacs.org>
3385
3386         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
3387
3388 2001-01-23  Andy Piper  <andy@xemacs.org>
3389
3390         * select.c (Fown_selection_internal): pass owned_p
3391
3392         * select-msw.c (mswindows_own_selection): New Signature.
3393
3394         * console.h (struct console_methods): add owned_p to
3395         _own_selection.
3396
3397         * select-x.c (x_own_selection): pass owned_p
3398         (hack_motif_clipboard_selection): use owned_p
3399         (vars_of_select_x): new variable -
3400         x_selection_strict_motif_ownership.
3401
3402 2001-01-23  Martin Buchholz  <martin@xemacs.org>
3403
3404         * specifier.h (specifier_data_offset): Remove pointless parens.
3405         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
3406
3407 2001-01-24  Martin Buchholz  <martin@xemacs.org>
3408
3409         Make Lisp_Object sizeof methods be alignment-correct.
3410         pdump must restore objects to the same alignment as the C compiler
3411         assumes.  It really matters on SGIs.
3412         * lstream.c (aligned_sizeof_lstream): New.
3413         (sizeof_lstream): Use aligned_sizeof_lstream.
3414         (Lstream_new): Likewise.
3415         * opaque.c (aligned_sizeof_opaque): New.
3416         (sizeof_opaque): Use aligned_sizeof_opaque.
3417         (make_opaque): Likewise.
3418         * specifier.c (aligned_sizeof_specifier): New.
3419         (sizeof_specifier): Use aligned_sizeof_specifier.
3420         (make_specifier_internal): Likewise.
3421
3422 2001-01-23  Martin Buchholz  <martin@xemacs.org>
3423
3424         * lstream.h (struct lstream): Use max_align_t for trailing data.
3425         * specifier.h (struct Lisp_Specifier): Likewise.
3426
3427 2001-01-22  Martin Buchholz  <martin@xemacs.org>
3428
3429         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
3430         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
3431         (CCL_SUSPEND): Likewise.
3432         (CCL_INVALID_CMD): Likewise.
3433         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
3434         (ccl_driver): Likewise.
3435         (CCL_WRITE_CHAR): Macro hygiene.
3436         (CCL_WRITE_STRING): Macro hygiene.
3437
3438 2001-01-22  Martin Buchholz  <martin@xemacs.org>
3439
3440         Port "portable" dumper to SunOS 4 and HP-UX.
3441         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
3442         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
3443         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
3444
3445 2001-01-22  Martin Buchholz  <martin@xemacs.org>
3446
3447         * lisp.h (ALIGNOF): A better definition for C++.
3448
3449 2001-01-20  Martin Buchholz  <martin@xemacs.org>
3450
3451         Macro hygiene.
3452         Fix printf warnings: int format, long int arg.
3453         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
3454         (PUSH_FAILURE_POINT): Use correct printf formats.
3455         (POP_FAILURE_POINT): Use correct printf formats.  
3456         Use do {...} while (0)
3457
3458 2001-01-20  Martin Buchholz <martin@xemacs.org>
3459
3460         * XEmacs 21.2.42 "Poseidon" is released.
3461
3462 2001-01-20  Martin Buchholz  <martin@xemacs.org>
3463
3464         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
3465
3466 2001-01-19  Martin Buchholz  <martin@xemacs.org>
3467
3468         De-kludgify FIXED_TYPE free list frobbing.
3469         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
3470         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
3471         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
3472         * alloc.c (Lisp_Free): New pseudo lisp object definition.
3473         * alloc.c (LRECORD_FREE_P): New.
3474         * alloc.c (MARK_LRECORD_AS_FREE): New.
3475         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
3476         * alloc.c (STRUCT_FREE_P): Deleted.
3477         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
3478         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
3479         * alloc.c (STRING_CHARS_FREE_P): New.
3480         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
3481         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
3482         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
3483         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
3484         * alloc.c (resize_string): Use new definitions.
3485         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
3486         * alloc.c (verify_string_chars_integrity): Use new definitions.
3487         * alloc.c (compact_string_chars): Use new definitions.
3488         * alloc.c: Update monster comments.
3489         * lrecord.h (lrecord_type): Add some new lrecord types for
3490         alloc.c's use.
3491
3492 2001-01-18  Martin Buchholz  <martin@xemacs.org>
3493
3494         Improve alignment hackery.
3495         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
3496         (max_align_t): Moved from opaque.h - general purpose.
3497         (ALIGN_PTR): Use size_t, not long.
3498         * opaque.h (max_align_t): Move to lisp.h.
3499
3500 2001-01-18  Norbert Koch  <nk@LF.net>
3501
3502         * gui.h: Fix and add prototypes to fix build problems.
3503
3504 2001-01-18  Martin Buchholz  <martin@xemacs.org>
3505
3506         temacs is going away, so `dump-temacs' is now a bad name.
3507         * .dbxrc (dump-temacs): Rename to `dmp'.
3508         * .gdbinit (dump-temacs): Rename to `dmp'.
3509
3510 2001-01-17  Andy Piper  <andy@xemacs.org>
3511
3512         * glyphs.c (print_image_instance): comment to make martin happy.
3513
3514         * glyphs-x.c (x_redisplay_widget): update faces after a frame
3515         change.
3516
3517         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
3518         activation.
3519         (mswindows_tab_control_redisplay): warning suppression.
3520
3521         * glyphs-widget.c (widget_update): re-write to cope with updated
3522         items.
3523         (widget_instantiate): use new gui_item functions.
3524         (tab_control_update): deleted.
3525         (progress_gauge_update): deleted.
3526         (image_instantiator_progress_guage): take out update reference.
3527         (image_instantiator_tree_view): ditto.
3528         (image_instantiator_tab_control): ditto.
3529
3530         * gui.c (widget_gui_parse_item_keywords): new function. Do things
3531         Right the new way.
3532         (gui_item_add_keyval_pair): re-write to cope with descriptors and
3533         return whether anything was changed.
3534         (update_gui_item_keywords): as it sounds.
3535
3536         * gui.h: declare widget_gui_parse_item_keywords.
3537
3538         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
3539         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
3540
3541 2001-01-17  Martin Buchholz <martin@xemacs.org>
3542
3543         * XEmacs 21.2.41 "Polyhymnia" is released.
3544
3545 2001-01-16  Didier Verna  <didier@xemacs.org>
3546
3547         * glyphs.c (image_instantiate): don't use fallbacks when
3548         instantiating a face's background pixmap by inheritance.
3549
3550 2001-01-14  Mike Sperber <mike@xemacs.org>
3551
3552         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
3553         Conditionalize accordingly.
3554
3555 2001-01-16  Martin Buchholz  <martin@xemacs.org>
3556
3557         * dumper.c (pdump_file_get): Fix a compiler warning.
3558
3559 2001-01-15  Martin Buchholz  <martin@xemacs.org>
3560
3561         Make Purify happy when pdumping.
3562         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
3563         iniitalizing all bits of new lisp object memory.
3564         * symbols.c (Fmake_local_variable): Likewise.
3565         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
3566         * symbols.c (Fdefvaralias): Likewise.
3567         * mule-charset.c (vars_of_mule_charset): Likewise.
3568
3569 2001-01-15  Martin Buchholz  <martin@xemacs.org>
3570         Add the `-nd' flag when running pre-dump operations under the debugger.
3571         * .dbxrc (run-temacs): Add `-nd'.
3572         * .dbxrc (update-elc): Likewise.
3573         * .dbxrc (dump-temacs): Likewise.
3574         * .gdbinit (run-temacs): Likewise.
3575         * .gdbinit (check-temacs): Likewise.
3576         * .gdbinit (update-elc): Likewise.
3577         * .gdbinit (dump-temacs): Likewise.
3578
3579 2001-01-14  Martin Buchholz  <martin@xemacs.org>
3580
3581         Allow building 64-bit executables on AIX with GNU malloc, e.g.
3582         export OBJECT_MODE=64
3583         configure --pdump --use-union-type=no
3584         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
3585         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
3586
3587         * miscplay.c (sndcnv8U_2mono):
3588         Avoid two uses of `++' in the same expression.
3589         Suppresses a GCC warning.
3590
3591 2001-01-13  Martin Buchholz  <martin@xemacs.org>
3592
3593         Make sure future compilers don't miscompile alloc.c.
3594         * alloc.c:
3595         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
3596         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
3597
3598 2001-01-12  Martin Buchholz  <martin@xemacs.org>
3599
3600         * dumper.c: A little post-pdump-rename comment fixup.
3601
3602 2001-01-09  Jerry James  <james@eecs.ku.edu>
3603
3604         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
3605
3606 2001-01-13  Martin Buchholz  <martin@xemacs.org>
3607
3608         * *.[ch]: Globally rename symbols using the following `pdump-rename'
3609         script:
3610         #!/bin/sh
3611         replace_symbol () {
3612           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
3613         }
3614
3615         replace_symbol pdump_wire_lists pdump_weak_object_chains
3616         replace_symbol pdump_wire_list dump_add_weak_object_chain
3617
3618         replace_symbol pdump_wires pdump_root_objects
3619         replace_symbol pdump_wire dump_add_root_object
3620
3621         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
3622         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
3623
3624         replace_symbol dumpstructinfos pdump_root_struct_ptrs
3625         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
3626         replace_symbol dumpstructinfo pdump_root_struct_ptr
3627         replace_symbol dumpstruct dump_add_root_struct_ptr
3628
3629         replace_symbol dumpopaque dump_add_opaque
3630         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
3631         replace_symbol dumpopaqueinfos pdump_opaques
3632         replace_symbol dumpopaqueinfo pdump_opaque
3633
3634         replace_symbol nb_structdump nb_root_struct_ptrs
3635         replace_symbol nb_opaquedump nb_opaques
3636
3637         replace_symbol align_table pdump_align_table
3638         replace_symbol dump_header pdump_header
3639
3640         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
3641         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
3642
3643
3644 2001-01-12  Martin Buchholz  <martin@xemacs.org>
3645
3646         * s/aix4.h: Keep the C for AIX compiler from overaggressively
3647         optimizing bytecount_to_charcount().
3648
3649 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
3650
3651         * config.h.in:
3652         (HAVE_DLFCN_H): Removed.
3653         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
3654
3655 2001-01-06  Martin Buchholz  <martin@xemacs.org>
3656
3657         Portable dumper maintainability improvements.
3658         * alloc.c (staticpro):
3659         * alloc.c (staticpro_nodump):
3660         * alloc.c (garbage_collect_1):
3661         * alloc.c (reinit_alloc_once_early):
3662         * alloc.c (init_alloc_once_early):
3663         * alloc.c: Move dumper functions to alloc.c.
3664         * dumper.c (pdump_backtrace):
3665         * dumper.c (pdump_dump_structs):
3666         * dumper.c (pdump_dump_opaques):
3667         * dumper.c (pdump_dump_rtables):
3668         * dumper.c (pdump_dump_wired):
3669         * dumper.c (pdump):
3670         * dumper.c (pdump_load_check):
3671         * dumper.c (pdump_load_finish):
3672         * dumper.c (pdump_file_unmap):
3673         * dumper.c (pdump_file_get):
3674         * dumper.c (pdump_resource_free):
3675         * dumper.c (pdump_resource_get):
3676         * dumper.c (pdump_file_free):
3677         * dumper.c (pdump_file_try):
3678         * dumper.c (pdump_load):
3679         Remove fixed size limits on staticpro(), staticpro_nodump(),
3680         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
3681         Remove custom code for dumping lrecord_implementations_table - use
3682         dumpopaque instead.
3683         Remove (most of the) custom code for dumping staticpros - dump it
3684         like any other dynarr.
3685
3686         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
3687         * dumper.c: Moved functions from alloc.c.
3688         * alloc.c (dumpstruct): Moved to dumper.c.
3689         * alloc.c (dumpopaque): Likewise.
3690         * alloc.c (pdump_wire): Likewise.
3691         * alloc.c (pdump_wire_list): Likewise.
3692
3693         * lisp.h (Dynarr_sizeof): New.
3694         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
3695         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
3696         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
3697
3698         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
3699         * lisp.h (dumpopaque): ditto.
3700         * lisp.h (pdump_wire): ditto.
3701         * lisp.h (pdump_wire_list): ditto.
3702
3703 2001-01-09  Martin Buchholz  <martin@xemacs.org>
3704
3705         * make-src-depend (PrintPatternDeps):
3706         Use `sort' to make output independent of perl version.
3707
3708 2001-01-08  Martin Buchholz  <martin@xemacs.org>
3709
3710         Port to Netbsd 1.5.
3711         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
3712         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
3713
3714 2001-01-03  Didier Verna  <didier@xemacs.org>
3715
3716         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
3717         that `focus_frame' is alive before thinking of calling
3718         `redisplay_redraw_cursor' on it.
3719
3720 2001-01-08  Martin Buchholz <martin@xemacs.org>
3721
3722         * XEmacs 21.2.40 is released.
3723
3724 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
3725
3726         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
3727
3728 2001-01-06  Martin Buchholz  <martin@xemacs.org>
3729
3730         * alloc.c (dbg_valmask): Make const.
3731         * alloc.c (dbg_typemask): Make const.
3732         * alloc.c (dbg_USE_UNION_TYPE): Make const.
3733         * alloc.c (dbg_valbits): Make const.
3734         * alloc.c (dbg_gctypebits): Make const.
3735
3736 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
3737
3738         * redisplay-x.c (x_bevel_area):
3739         redisplay.h (struct rune):
3740         Typo fixes in comments.
3741
3742 2001-01-05  Andy Piper  <andy@xemacs.org>
3743
3744         * glyphs-x.c (x_redisplay_widget): use size changed for offset
3745         adjustment.
3746
3747         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
3748
3749 2001-01-05  Martin Buchholz  <martin@xemacs.org>
3750
3751         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
3752
3753         * mule-ccl.c (stack_idx_of_map_multiple):
3754         Non const global data must not be initialized!
3755         Found by MIYASHITA Hisashi.
3756
3757 2001-01-02  Andy Piper  <andy@xemacs.org>
3758
3759         * frame.c (change_frame_size): make sure frame size is always
3760         marked as changed.
3761
3762         * glyphs.c (image_instance_layout): minor code reuse.
3763
3764         * window.c (Fcurrent_window_configuration): revert previous
3765         change.
3766
3767 2001-01-02  Martin Buchholz  <martin@xemacs.org>
3768
3769         * glyphs.h:
3770         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
3771
3772 2000-12-31  Andy Piper  <andy@xemacs.org>
3773
3774         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
3775         when widget gets unmapped.
3776
3777         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
3778         function. Make sure widgets losing focus don't just drop it.
3779         (handle_focus_event_1): record the widget with focus.
3780
3781 2000-12-31  Andy Piper  <andy@xemacs.org>
3782
3783         * window.c (allocate_window): use
3784         make_image_instance_cache_hash_table.
3785         (make_dummy_parent): ditto.
3786         (Fset_window_configuration): ditto.
3787
3788         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
3789
3790         * glyphs.c (process_image_string_instantiator): use
3791         INSTANTIATOR_TYPE.
3792         (get_image_instantiator_governing_domain): ditto.
3793         (normalize_image_instantiator): ditto.
3794         (instantiate_image_instantiator): ditto.
3795         (make_image_instance_1): ditto.
3796         (image_instantiate): ditto. Key on glyph *and* instantiator type.
3797         (instantiator_eq_equal): new function for use with instance hash
3798         tables.
3799         (instantiator_eq_hash): ditto.
3800         (make_image_instance_cache_hash_table): create a suitable hash
3801         table for storing image instances.
3802
3803         * elhash.h (hash_table_weakness): new internal weakness type
3804         HASH_TABLE_KEY_CAR_VALUE_WEAK.
3805         declare new functions.
3806
3807         * elhash.c (finish_marking_weak_hash_tables): introduce yet
3808         another weakness type for glyphs.
3809         (make_standard_lisp_hash_table): new function split out from
3810         make_general_lisp_hash_table.
3811         (make_lisp_hash_table): call make_standard_lisp_hash_table.
3812         (hash_table_instantiate): ditto.
3813         (Fmake_hash_table): ditto.
3814
3815 2000-12-31  Martin Buchholz <martin@xemacs.org>
3816
3817         * XEmacs 21.2.39 is released.
3818
3819 2000-12-29  Andy Piper  <andy@xemacs.org>
3820
3821         * menubar.c (menubar_visible_p_changed): signal the frame changed.
3822
3823         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
3824         the frame has changed so that we pick up geometry changes such as
3825         menubar visibility.
3826
3827 2000-12-28  Andy Piper  <andy@xemacs.org>
3828
3829         * lastfile.c (my_ebss): make a char array so we can pad the
3830         bss. Fixes cygwin unexec.
3831
3832         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
3833
3834 2000-12-26  Andy Piper  <andy@xemacs.org>
3835
3836         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
3837         comments and try and be more precise about a non-/SIGIO world.
3838         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
3839         SIGIO.
3840
3841         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
3842         we don't normalize to zero width or height.
3843
3844 2000-12-24  Andy Piper  <andy@xemacs.org>
3845
3846         * Makefile.in.in (ldflags): add -mwindows when appropriate.
3847
3848 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
3849
3850         * s/sco5.h: SCO 5 has pty support.
3851
3852 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
3853
3854         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
3855         input-method-xlib.c contains whole contents of input-method-xfs.c,
3856         so we can use input-method-xlib.c's code for USE_XFONTSET
3857         using #ifdefs.
3858         * input-method-xfs.c: removed.
3859
3860 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
3861
3862         * file-coding.h (enum coding_category_type): reorder enumerators to
3863         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
3864         (now one greater than largest real coding_category_type enumerator).
3865         * file-coding.c (coding_category_symbol, coding_category_by_priority,
3866         coding_category_system, fcd_descriptihon_1, decode_coding_category,
3867         Fcoding_category_list, Fset_coding_priority_list,
3868         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
3869         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
3870
3871 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
3872
3873         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
3874         * redisplay-output.c (redisplay_output_window): Clear top of window
3875         when face is changed.
3876         * redisplay-x.c (x_redraw_exposed_window): Call
3877         redisplay_clear_top_of_window.
3878         * redisplay.h: Publish redisplay_clear_top_of_window.
3879
3880 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
3881
3882         * buffer.c (Fkill_buffer): Map over all devices.
3883         * window.c (window_loop): Remove UNSHOW_BUFFER code.
3884         (list_windows): New function.
3885         (list_all_windows): Ditto.
3886         (Freplace_buffer_in_windows): Use them.
3887
3888 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
3889
3890         * database.c (berkdb_subtype): Recognize new subtype `queue'.
3891         (Fopen_database): Use `db_create' instead of `db_open'.
3892         (syms_of_database): Initialize Qqueue.
3893
3894 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
3895
3896         * buffer.c (common_init_complex_vars_of_buffer): Initialize
3897         buffer_local_face_property.
3898         * buffer.h (struct buffer): New member buffer_local_face_property.
3899         * window.c (Fset_window_buffer):  Mark window's face as changed
3900         when buffer has buffer local face.
3901         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
3902         * objects.c (color_after_change): Set buffer_local_face_property
3903         when locale of face specifier is buffer.
3904         * objects.c (font_after_change): Ditto.
3905         * objects.c (face_boolean_after_change): Ditto.
3906         * glyphs.c (image_after_change): Ditto.
3907
3908 2000-12-09  Dan Holmsand  <dan@eyebee.com>
3909
3910         * nt.c (mswindows_fstat): Report file permissions, volume serial
3911         number, etc. Code adapted from FSF Emacs 20.7.
3912
3913 2000-12-09  Dan Holmsand  <dan@eyebee.com>
3914
3915         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
3916         of stat when we don't have symbolic links, to make sure
3917         mswindows_stat is called on mswindows.
3918
3919 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
3920
3921         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
3922
3923 2000-12-12  Martin Buchholz  <martin@xemacs.org>
3924
3925         * doprnt.c (emacs_doprnt_1): More printing fixes.
3926         Make printing of numbers compatible with libc and FSF Emacs.
3927         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
3928         Use the system printf to do most of the hard work of formatting,
3929         instead of doprnt_1().
3930         Calculate memory to allocate for format string.
3931         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
3932         (doprnt_1): Cleaner code and documentation.
3933
3934 2000-12-01  Jerry James  <james@eecs.ukans.edu>
3935
3936         * Makefile.in.in: Use the loop variable to install headers.
3937
3938 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
3939
3940         * window.c (Fsplit_window): Don't invalidate face cache.
3941
3942 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
3943
3944         * minibuf.c (Fall_completions): Undo the previous change
3945         which removed checking elements start with space.
3946
3947 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
3948
3949         * mule-canna.c: Didier suppression.
3950
3951 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
3952
3953         * mule-canna.c: rename static unsigned char buf[] to key_buffer
3954         (warning suppression).  Add English comment translations.
3955
3956 2000-12-05  Martin Buchholz  <martin@xemacs.org>
3957
3958         * unexelfsgi.c (unexec): Better test for mmap failure.
3959
3960 2000-12-05  Martin Buchholz <martin@xemacs.org>
3961
3962         * XEmacs 21.2.38 is released.
3963
3964 2000-12-05  Martin Buchholz  <martin@xemacs.org>
3965
3966         * redisplay.c (bar-cursor): Make a user variable.
3967
3968         * symsinit.h: Add init_postgresql_from_environment.
3969
3970 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
3971
3972         * regex.c: Convert to clean C.
3973
3974 2000-12-05  Dan Holmsand  <dan@eyebee.com>
3975
3976         * realpath.c:
3977         Don't #include sysfile.h. Revert to duplicating PATH_MAX
3978         initialization.
3979         (sys_readlink): renamed to system_readlink to avoid conflict with
3980         the other sys_readlink.
3981
3982 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
3983
3984         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
3985
3986 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
3987
3988         * postgresql.c (init_postgresql_from_environment): new function.
3989         (vars_of_postgresql): Move code initializing Lisp variables out and
3990         into init_postgresql_from_environment.
3991         emacs.c (main_1): Call init_postgresql_from_environment if and only
3992         if running a dumped XEmacs.
3993
3994 2000-08-31  Dan Holmsand  <dan@eyebee.com>
3995
3996         * buffer.c: Make find-file-compare-truenames default to true on
3997         windows.
3998
3999         * realpath.c (win32_abs_start):
4000         (cygwin_readlink):
4001         (win32_readlink): New functions.
4002         (xrealpath): Return really real filenames on windows.
4003
4004         * fileio.c (Ffile_truename): Make file-truename work on windows.
4005
4006 2000-11-29  Didier Verna  <didier@xemacs.org>
4007
4008         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
4009         * faces.c (update_face_cachel_data): use it.
4010         * faces.c (add_face_cachel): use it. Complete background pixmap
4011         frobbing in face cache if `update_face_cachel_data' has not done so.
4012
4013 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
4014
4015         * search.c (string_match_1): Don't set last_thing_searched
4016         when search failed.
4017
4018 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
4019
4020         * buffer.c: Include casetab.h
4021         (common_init_complex_vars_of_buffer): Use new case-table object.
4022         * buffer.h: Include casetab.h
4023         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
4024         (DOWNCASE_TABLE_OF): Ditto.
4025         * bufslots.h: Remove char-tables and add case-table.
4026         * casetab.c: Include casetab.h
4027         (CASE_TABLE_P): Removed.
4028         (mark_case_table): New function.
4029         (allocate_case_table): New function.
4030         (Fcase_table_p): Use new case-table.
4031         (case_table_char): New function.
4032         (Fget_case_table): Ditto.
4033         (Fput_case_table): Ditto.
4034         (Fput_case_table_pair): Ditto.
4035         (Fcopy_case_table): Ditto.
4036         (Fcurrent_case_table): Return case-table.
4037         (Fstandard_case_table): Return case-table.
4038         (Fset_case_table): Fix doc-string.
4039         (set_case_table): Use case-table
4040         (syms_of_casetab): DEFSUBR new functions.
4041         (complex_vars_of_casetab): Set up standard case-table.
4042         * casetab.h: New file.
4043         * editfns.c: Include casetab.h
4044         (Fcompare_buffer_substrings): Use case-table.
4045         * inline.c: Include casetab.h
4046         * lisp.h: Remove bogus extern.
4047         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
4048         * search.c: Include casetab.h
4049         (TRANSLATE_ASCII): Removed.
4050         (TRANSLATE): Unconditionally translate character.
4051         (looking_at_1): Use case-table.
4052         (string_match_1): Ditto.
4053         (fast_string_match): Ditto.
4054         (search_command): Ditto.
4055         (search_buffer): Separate boyer_moore.  Check whether
4056         boyer_moore is possible.
4057         (simple_search): New function.
4058         (boyer_moore): Separated from search_buffer. Translate char.
4059
4060 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
4061
4062         * regex.c (RE_TR_ASCII): Removed.
4063         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
4064         (PATFETCH): Call PATFETCH_RAW.
4065         (PATFETCH_RAW): Fetch Emchar.
4066         (PATUNFETCH): Decrement charptr.
4067         (GET_BUFFER_SPACE): Rename b to buf_end.
4068         (BUF_PUSH): Ditto.
4069         (BUF_PUSH_2): Ditto.
4070         (BUF_PUSH_3): Ditto.
4071         (EXTEND_BUFFER): Ditto.
4072         (SET_LIST_BIT): Ditto.
4073         (regex_compile): Ditto.  Translate non ASCII char.
4074         (compile_range): Ditto.
4075         (re_search_2): Ditto.
4076         (re_match_2_internal): Compare Emchar.
4077         (bcmp_translate): Ditto.
4078
4079 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
4080
4081         * lisp.h (basic char/int typedefs):  comment improvement.
4082
4083 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
4084
4085         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
4086         unstomp inhibit_site_lisp.  Improve comments.
4087
4088 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
4089
4090         * mule-charset.c (Fcharset_property):  improve type checking, comments.
4091
4092 2000-11-28  Andy Piper  <andy@xemacs.org>
4093
4094         * redisplay-output.c (redisplay_output_subwindow): make sure we do
4095         clipped display for windows in the gutter also.
4096         (redisplay_display_boxes_in_window_p): change semantics of return
4097         codes to be more intuitive.
4098
4099         * gutter.h: declare display_boxes_in_gutter_p.
4100
4101         * gutter.c (display_boxes_in_gutter_p): new function for
4102         redisplay.
4103
4104 2000-11-22  Andy Piper  <andy@xemacs.org>
4105
4106         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
4107         autodetect domain.
4108
4109 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
4110
4111         * callproc.c (Fold_call_process_internal):
4112         * gpm.c (Freceive_gpm_event):
4113         (tty_get_foreign_selection): Might be just warning supression.
4114         * fileio.c (Fwrite_region_internal):
4115         (Fset_visited_file_modtime):
4116         * keymap.c (event_matches_key_specifier_p):
4117         Initialize GCPROed variable.
4118
4119         * menubar-x.c (command_builder_find_menu_accelerator):
4120         Initialize before use.
4121
4122 2000-11-23  Andy Piper  <andy@xemacs.org>
4123
4124         * unexcw.c (unexec): make the resulting executable executable.
4125
4126 2000-11-21  Martin Buchholz  <martin@xemacs.org>
4127
4128         * doc.c (get_doc_string):
4129         Use size_t, not int, for result of XSTRING_LENGTH.
4130
4131         * cmds.c (Fdelete_char):
4132         * cmds.c (Fpoint_at_eol):
4133         * cmds.c (Fself_insert_command):
4134         Use EMACS_INT, not int, for result of XINT.
4135         Someday, someone will want to insert more than 2**31 identical characters.
4136
4137         * cmds.c (Fdelete_char):
4138         * cmds.c (Fdelete_backward_char):
4139         * syntax.c (Fforward_word):
4140         * syntax.c (Fforward_comment):
4141         Make COUNT argument optional, for consistency with forward-char et al.
4142
4143 2000-11-22  Martin Buchholz  <martin@xemacs.org>
4144
4145         * lisp.h:
4146         * print.c (long_to_string):
4147         Return a useful value: the pointer at end of data written.
4148
4149         * doprnt.c:
4150         Use `static const char * const' for constant strings.
4151         (union printf_arg): Delete `i', `ui' members.
4152         (get_doprnt_args):
4153         (emacs_doprnt_1):
4154         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
4155         Do all printf-ing via the `l' specifier.
4156         Use EMACS_INT instead of int.
4157         Optimize.
4158
4159 2000-11-20  Didier Verna  <didier@xemacs.org>
4160
4161         * faces.c (update_face_cachel_data): don't frob the background
4162         pixmap when the window is being created. The face is needed but
4163         does not exist yet.
4164
4165 2000-11-20  Andy Piper  <andy@xemacs.org>
4166
4167         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
4168         messing with a debug environment.
4169
4170 2000-11-20  Martin Buchholz  <martin@xemacs.org>
4171
4172         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
4173
4174 2000-11-20  Martin Buchholz  <martin@xemacs.org>
4175
4176         * casetab.c (Fcase_table_p): Fix compile error and crash.
4177
4178 2000-11-18  Philip Aston  <philipa@mail.com>
4179
4180         * s/cygwin32.h: Cygwin has SVR4-like pty support.
4181
4182 2000-11-18  Martin Buchholz  <martin@xemacs.org>
4183
4184         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
4185         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
4186
4187 2000-11-17  Martin Buchholz  <martin@xemacs.org>
4188
4189         * config.h.in: Define HAVE_ELF_H if elf.h exists.
4190         * unexelf.c: Use HAVE_ELF_H.
4191         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
4192         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
4193         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
4194         Greg Harrington <greg_harrington@hotmail.com> provided a machine
4195         for testing.
4196         So this is an unexelfsgi.c from a different line of development.
4197
4198 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
4199
4200         * regex.c (RE_TR_ASCII): New function.
4201         (RE_TRANSLATE): Call it.
4202
4203 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
4204
4205         * buffer.h (TRT_TABLE_OF): Remove assert.
4206         (IN_TRT_TABLE_DOMAIN): Removed.
4207
4208 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
4209
4210         * free-hook.c (log_gcpro):
4211         (show_gcprohist): Add support for GCPRO5.
4212
4213 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
4214
4215         * emacs.c (main_1): Improve -sd error message when --pdump=no.
4216
4217 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
4218
4219         * symeval.h: Declare flush_all_buffer_local_cache.
4220
4221         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
4222         (flush_buffer_local_cache): Added.
4223         (flush_all_buffer_local_cache): Added.
4224
4225         * lrecord.h: Remove unused XD_LO_RESET_NIL.
4226
4227         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
4228         (pdump_dump_data): Ditto.
4229         (pdump_reloc_one): Ditto.
4230         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
4231         before dumping.
4232
4233
4234 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
4235
4236         * buffer.c: Remove if 0'ed entry.
4237         * buffer.h: Rewrite TRT to use char-table.
4238         * bufslots.h: Remove mirror tables.
4239         * casetab.c: Remove mirror tables.
4240         (CASE_TABLE_P): New macro.
4241         (Fcase_table_p): Element of a case table is string or char-table.
4242         (make_mirror_trt_table): Removed.
4243         (set_case_table): Setup char-table from strings for backward
4244         compatibility.
4245         * dired.c (Fdirectory_files):
4246         * dired-msw.c: (mswindows_get_files):
4247         * lisp.h: Change prototype of re_pattern_buffer.
4248         * regex.c: (RE_TRANSLATE): New macro.
4249         (TRANSLATE_P): Ditto.
4250         Change translate to type RE_TRANSLATE_TYPE.
4251         * regex.h: Define RE_TRANSLATE_TYPE
4252         * search.c (TRANSLATE): New macro.
4253         (TRANSLATE_ASCII): New macro.
4254         Translate table is changed to Lisp_Object.
4255         (signal_failure): Inhibit return.
4256
4257 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
4258
4259         * device-msw.c:
4260         * eldap.c:
4261         * event-Xt.c:
4262         * event-stream.c:
4263         * print.c:
4264         Do UNGCPRO before return.
4265
4266 2000-11-14  Martin Buchholz <martin@xemacs.org>
4267
4268         * XEmacs 21.2.37 is released.
4269
4270 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
4271
4272         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
4273         Add comments about discarded return value.
4274
4275 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
4276
4277         * callint.c:
4278         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
4279
4280 2000-10-27  Andy Piper  <andy@xemacs.org>
4281
4282         * gutter.c (Fset_default_gutter_position): default left and right
4283         gutters to visible.
4284         (calculate_gutter_size): calculate resonable heuristic for left
4285         and right gutter sizes.
4286         (specifier_vars_of_gutter): change left and right gutter sizes to
4287         autodetect.
4288         (calculate_gutter_size_from_display_lines): new function.
4289         (output_gutter): check for resizing on left and right gutters.
4290         (clear_gutter): don't special case top and left gutters.
4291         (specifier_vars_of_gutter): use new signature for
4292         set_specifier_caching.
4293
4294         * glyphs-x.c (x_redisplay_widget): spelling fix.
4295         * glyphs.c (specifier_vars_of_glyphs):
4296         * menubar.c (specifier_vars_of_menubar):
4297         * redisplay.c (specifier_vars_of_redisplay):
4298         * toolbar.c (specifier_vars_of_toolbar):
4299         * window.c (specifier_vars_of_window):
4300         * scrollbar.c (specifier_vars_of_scrollbar):
4301         (complex_vars_of_scrollbar): use new signature for
4302         set_specifier_caching.
4303
4304         * specifier.c (set_specifier_caching): include recompute flag.
4305         (recompute_one_cached_specifier_in_window): always recompute if
4306         flag set.
4307         (recompute_one_cached_specifier_in_frame): ditto.
4308
4309         * specifier.h (struct specifier_caching): add recompute flag.
4310
4311 2000-10-24  Andy Piper  <andy@xemacs.org>
4312
4313         * unexcw.c (copy_executable_and_dump_data_section): add new
4314         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
4315         5.0 happy.
4316
4317 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
4318
4319         * console-x.h (x_device): New member modifier_release_time.
4320         * event-Xt.c (x_handle_sticky_modifiers):
4321         Bound interval modifier keys are sticky.
4322         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
4323         * events.h: extern it.
4324
4325 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
4326
4327         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
4328
4329 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
4330
4331         * event-stream.c (execute_command_event): Preserve current_events
4332         and the like when event is misc-user-event.
4333         Inhibit quit during the call to maybe_echo_keys.
4334
4335 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
4336
4337         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
4338         symlink when buffer is killed.
4339         (inhibit_clash_detection): New variable.
4340
4341 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
4342
4343         * console.c (Fset_input_method): Trigger redisplay on tty.
4344
4345 2000-11-07  Martin Buchholz  <martin@xemacs.org>
4346
4347         * process.c (Fprocess_status): Revert to previous behavior:
4348         (process-status "nosuchprocess") ==> nil
4349
4350 2000-11-06  Martin Buchholz  <martin@xemacs.org>
4351
4352         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
4353         Work around another GCC 2.95.2 optimizer bug.
4354
4355 2000-11-02  Martin Buchholz  <martin@xemacs.org>
4356
4357         * process.c (Fget_process): Use LIST_LOOP_2.
4358         (kill_buffer_processes): Use LIST_LOOP_2.
4359
4360         * minibuf.c (Fall_completions):
4361         Delete old non-functional code for FSF fourth argument.
4362
4363         * frame.c (frame_matches_frame_spec):
4364         Renamed from `frame_matches_frametype'.  Update all callers.
4365         (device_matches_device_spec):
4366         Renamed from 'device_matches_console_spec'.  Update all callers.
4367
4368         * doc.c (Fsubstitute_command_keys):
4369         Remove buffer overflow crash.  Small code cleanups.
4370
4371         * casetab.c (check_case_table): Simpler code.
4372
4373         * window.c (Freplace_buffer_in_windows):
4374         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
4375         (and similar implementation) as Fdelete_windows_on.
4376         Update all callers.
4377
4378         * alloc.c (Fmake_list):
4379         * alloc.c (make_vector):
4380         * alloc.c (Fmake_vector):
4381         * alloc.c (make_bit_vector):
4382         * alloc.c (Fmake_bit_vector):
4383         * alloc.c (Fbit_vector):
4384         * alloc.c (Fmake_string):
4385         * alloc.c (Fpurecopy):
4386         * alloc.c (Fmemory_limit):
4387         * buffer.c:
4388         * buffer.c (Fget_buffer):
4389         * buffer.c (Fkill_buffer):
4390         * buffer.c (complex_vars_of_buffer):
4391         * bytecode.c (Fcompiled_function_stack_depth):
4392         * callint.c (Fprefix_numeric_value):
4393         * event-stream.c:
4394         * event-stream.c (Fread_key_sequence):
4395         * casetab.c:
4396         * casetab.c (Fcase_table_p):
4397         * casetab.c (check_case_table):
4398         * casetab.c (Fset_case_table):
4399         * casetab.c (Fset_standard_case_table):
4400         * chartab.c:
4401         * chartab.c (Fchar_table_type):
4402         * chartab.c (Freset_char_table):
4403         * chartab.c (Fget_char_table):
4404         * chartab.c (Fget_range_char_table):
4405         * chartab.c (Fput_char_table):
4406         * chartab.c (Fmap_char_table):
4407         * chartab.c (Fcategory_table_p):
4408         * chartab.c (Fcheck_category_at):
4409         * chartab.c (Fchar_in_category_p):
4410         * chartab.c (Fcategory_table):
4411         * chartab.c (Fcopy_category_table):
4412         * chartab.c (Fset_category_table):
4413         * chartab.c (Fcategory_designator_p):
4414         * chartab.c (Fcategory_table_value_p):
4415         * cmds.c (Fdelete_char):
4416         * cmds.c (Fdelete_backward_char):
4417         * cmds.c (Fself_insert_command):
4418         * cmds.c (Fself_insert_internal):
4419         * console.c (Fvalid_console_type_p):
4420         * console.c (Fcdfw_console):
4421         * console.c (Fconsole_type):
4422         * console.c (Fconsole_name):
4423         * console.c (Fconsole_device_list):
4424         * console.c (Fconsole_on_window_system_p):
4425         * data.c:
4426         * data.c (Feq):
4427         * data.c (Fold_eq):
4428         * data.c (Fsubr_interactive):
4429         * data.c (Fchar_to_int):
4430         * data.c (Fint_to_char):
4431         * data.c (Fsetcar):
4432         * data.c (Fsetcdr):
4433         * data.c (Fnumber_to_string):
4434         * data.c (Fstring_to_number):
4435         * data.c (Frem):
4436         * database.c (mark_database):
4437         * database.c (finalize_database):
4438         * database.c (Fdatabase_live_p):
4439         * database.c (Fdatabasep):
4440         * device-x.c (Fx_get_resource):
4441         * device.c (Fdfw_device):
4442         * dired.c:
4443         * dired.c (Ffile_name_completion):
4444         * dired.c (Ffile_name_all_completions):
4445         * dired.c (Fuser_name_completion):
4446         * dired.c (Fuser_name_completion_1):
4447         * dired.c (Fuser_name_all_completions):
4448         * doc.c (Fdocumentation):
4449         * doc.c (Fdocumentation_property):
4450         * doc.c (Fsubstitute_command_keys):
4451         * editfns.c:
4452         * editfns.c (Fchar_to_string):
4453         * editfns.c (Fstring_to_char):
4454         * editfns.c (Ftemp_directory):
4455         * editfns.c (Finsert_char):
4456         * editfns.c (Fbuffer_substring_no_properties):
4457         * editfns.c (Fnarrow_to_region):
4458         * editfns.c (Fchar_equal):
4459         * editfns.c (Fchar_Equal):
4460         * editfns.c (Ftranspose_regions):
4461         * emacs.c (Fdump_emacs):
4462         * eval.c (Fthrow):
4463         * eval.c (Fcommand_execute):
4464         * eval.c (Fautoload):
4465         * eval.c (Fbacktrace):
4466         * eval.c (Fbacktrace_frame):
4467         * events.c:
4468         * events.c (Fcopy_event):
4469         * events.c (Fcharacter_to_event):
4470         * events.c (Fevent_button):
4471         * events.c (Fevent_process):
4472         * extents.c:
4473         * extents.c (Fnext_extent_change):
4474         * extents.c (Fextent_property):
4475         * faces.c (Ffacep):
4476         * faces.c (Fmake_face):
4477         * file-coding.c:
4478         * file-coding.c (Fencode_shift_jis_char):
4479         * file-coding.c (Fencode_big5_char):
4480         * fileio.c (Ffile_name_directory):
4481         * fileio.c (Ffile_name_nondirectory):
4482         * fileio.c (Ffile_name_as_directory):
4483         * fileio.c (Fdirectory_file_name):
4484         * fileio.c (Ffile_truename):
4485         * fileio.c (Fsubstitute_in_file_name):
4486         * fileio.c (Ffile_modes):
4487         * fileio.c (Fset_file_modes):
4488         * fileio.c (Fset_default_file_modes):
4489         * fileio.c (Fverify_visited_file_modtime):
4490         * floatfns.c (Facos):
4491         * floatfns.c (Fasin):
4492         * floatfns.c (Fatan):
4493         * floatfns.c (Fcos):
4494         * floatfns.c (Fsin):
4495         * floatfns.c (Ftan):
4496         * floatfns.c (Fbessel_j0):
4497         * floatfns.c (Fbessel_j1):
4498         * floatfns.c (Fbessel_jn):
4499         * floatfns.c (Fbessel_y0):
4500         * floatfns.c (Fbessel_y1):
4501         * floatfns.c (Fbessel_yn):
4502         * floatfns.c (Ferf):
4503         * floatfns.c (Ferfc):
4504         * floatfns.c (Flog_gamma):
4505         * floatfns.c (Fexp):
4506         * floatfns.c (Fexpt):
4507         * floatfns.c (Flog):
4508         * floatfns.c (Flog10):
4509         * floatfns.c (Fsqrt):
4510         * floatfns.c (Fcube_root):
4511         * floatfns.c (Facosh):
4512         * floatfns.c (Fasinh):
4513         * floatfns.c (Fatanh):
4514         * floatfns.c (Fcosh):
4515         * floatfns.c (Fsinh):
4516         * floatfns.c (Ftanh):
4517         * floatfns.c (Fabs):
4518         * floatfns.c (Ffloat):
4519         * floatfns.c (Flogb):
4520         * floatfns.c (Fceiling):
4521         * floatfns.c (Ffloor):
4522         * floatfns.c (Fround):
4523         * floatfns.c (Ftruncate):
4524         * floatfns.c (Ffceiling):
4525         * floatfns.c (Fffloor):
4526         * floatfns.c (Ffround):
4527         * floatfns.c (Fftruncate):
4528         * fns.c (Fstring_equal):
4529         * fns.c (Fstring_lessp):
4530         * fns.c (concat2):
4531         * fns.c (concat3):
4532         * fns.c (vconcat2):
4533         * fns.c (vconcat3):
4534         * fns.c (Fsubstring):
4535         * fns.c (Fassoc):
4536         * fns.c (Fold_assoc):
4537         * fns.c (assoc_no_quit):
4538         * fns.c (Fassq):
4539         * fns.c (Fold_assq):
4540         * fns.c (assq_no_quit):
4541         * fns.c (Frassoc):
4542         * fns.c (Fold_rassoc):
4543         * fns.c (Frassq):
4544         * fns.c (Fold_rassq):
4545         * fns.c (rassq_no_quit):
4546         * fns.c (Fremassoc):
4547         * fns.c (remassoc_no_quit):
4548         * fns.c (Fremassq):
4549         * fns.c (remassq_no_quit):
4550         * fns.c (Fremrassoc):
4551         * fns.c (Fremrassq):
4552         * fns.c (remrassq_no_quit):
4553         * fns.c (Fsort):
4554         * fns.c (Fplist_get):
4555         * fns.c (Fplist_put):
4556         * fns.c (Fplist_remprop):
4557         * fns.c (Fplist_member):
4558         * fns.c (Flax_plist_get):
4559         * fns.c (Flax_plist_put):
4560         * fns.c (Flax_plist_remprop):
4561         * fns.c (Flax_plist_member):
4562         * fns.c (Fequal):
4563         * fns.c (Fold_equal):
4564         * fns.c (Frequire):
4565         * fns.c (Fbase64_encode_region):
4566         * fns.c (Fbase64_encode_string):
4567         * fns.c (Fbase64_decode_region):
4568         * frame.c:
4569         * frame.c (frame_matches_frame_spec):
4570         * frame.c (device_matches_device_spec):
4571         * frame.c (next_frame):
4572         * frame.c (previous_frame):
4573         * frame.c (Fnext_frame):
4574         * frame.c (Fprevious_frame):
4575         * frame.c (Fframe_property):
4576         * frame.c (Fset_frame_height):
4577         * frame.c (Fset_frame_size):
4578         * frame.h:
4579         * glyphs.c:
4580         * glyphs.c (if):
4581         * glyphs.c (decode_error_behavior_flag):
4582         * glyphs.c (Fmake_image_instance):
4583         * indent.c (Findent_to):
4584         * intl.c (Fignore_defer_gettext):
4585         * keymap.c (Fkeymapp):
4586         * keymap.c (Flookup_key):
4587         * lread.c:
4588         * lread.c (Fload_internal):
4589         * lread.c (Feval_buffer):
4590         * lread.c (Feval_region):
4591         * macros.c (Fexecute_kbd_macro):
4592         * marker.c (set_marker_internal):
4593         * marker.c (Fset_marker):
4594         * marker.c (set_marker_restricted):
4595         * marker.c (Fcopy_marker):
4596         * marker.c (noseeum_copy_marker):
4597         * menubar.c:
4598         * menubar.c (Fpopup_menu):
4599         * minibuf.c:
4600         * mule-charset.c (Fcharset_name):
4601         * mule-charset.c (Fchar_charset):
4602         * mule-charset.c (Fchar_octet):
4603         * mule-charset.c (Fsplit_char):
4604         * mule-wnnfns.c (Fwnn_open):
4605         * mule-wnnfns.c (Fwnn_dict_comment):
4606         * mule-wnnfns.c (Fwnn_quit_henkan):
4607         * mule-wnnfns.c (Fwnn_word_toroku):
4608         * mule-wnnfns.c (Fwnn_word_sakujo):
4609         * mule-wnnfns.c (Fwnn_word_use):
4610         * mule-wnnfns.c (Fwnn_hindo_set):
4611         * objects.c:
4612         * objects.c (Fmake_color_instance):
4613         * objects.c (Fmake_font_instance):
4614         * print.c (Fwrite_char):
4615         * process.c:
4616         * process.c (mark_process):
4617         * process.c (print_process):
4618         * process.c (get_process_from_usid):
4619         * process.c (Fprocessp):
4620         * process.c (Fprocess_live_p):
4621         * process.c (Fget_process):
4622         * process.c (Fget_buffer_process):
4623         * process.c (get_process):
4624         * process.c (Fprocess_id):
4625         * process.c (Fprocess_name):
4626         * process.c (Fprocess_command):
4627         * process.c (init_process_io_handles):
4628         * process.c (start_process_unwind):
4629         * process.c (Fstart_process_internal):
4630         * process.c (Fopen_multicast_group_internal):
4631         * process.c (Fset_process_window_size):
4632         * process.c (read_process_output):
4633         * process.c (send_process):
4634         * process.c (Fprocess_tty_name):
4635         * process.c (Fset_process_buffer):
4636         * process.c (Fprocess_buffer):
4637         * process.c (Fprocess_mark):
4638         * process.c (set_process_filter):
4639         * process.c (Fset_process_filter):
4640         * process.c (Fprocess_filter):
4641         * process.c (Fprocess_send_region):
4642         * process.c (Fprocess_send_string):
4643         * process.c (exec_sentinel):
4644         * process.c (Fset_process_sentinel):
4645         * process.c (Fprocess_sentinel):
4646         * process.c (status_notify):
4647         * process.c (Fprocess_status):
4648         * process.c (Fprocess_exit_status):
4649         * process.c (process_send_signal):
4650         * process.c (Fprocess_send_eof):
4651         * process.c (deactivate_process):
4652         * process.c (remove_process):
4653         * process.c (Fdelete_process):
4654         * process.c (kill_buffer_processes):
4655         * process.c (Fprocess_kill_without_query):
4656         * process.c (Fprocess_kill_without_query_p):
4657         * rangetab.c:
4658         * rangetab.c (Fget_range_table):
4659         * rangetab.c (Fput_range_table):
4660         * rangetab.c (Fremove_range_table):
4661         * rangetab.c (Fclear_range_table):
4662         * search.c:
4663         * search.c (Fskip_chars_forward):
4664         * search.c (Fskip_chars_backward):
4665         * search.c (Fskip_syntax_forward):
4666         * search.c (Fskip_syntax_backward):
4667         * search.c (search_command):
4668         * search.c (Freplace_match):
4669         * search.c (Fregexp_quote):
4670         * select.c (Fown_selection_internal):
4671         * select.c (Fselection_owner_p):
4672         * select.c (Fselection_exists_p):
4673         * select.c (Fget_selection_internal):
4674         * specifier.c:
4675         * symbols.c:
4676         * symbols.c (Fintern):
4677         * symbols.c (Fintern_soft):
4678         * symbols.c (Funintern):
4679         * symbols.c (Fapropos_internal):
4680         * symbols.c (Fset_default):
4681         * syntax.c:
4682         * syntax.c (Fsyntax_table_p):
4683         * syntax.c (Fcopy_syntax_table):
4684         * syntax.c (Fset_syntax_table):
4685         * syntax.c (Fchar_syntax):
4686         * syntax.c (syntax_match):
4687         * syntax.c (Fmatching_paren):
4688         * syntax.c (Fforward_word):
4689         * syntax.c (scan_lists):
4690         * syntax.c (Fscan_lists):
4691         * syntax.c (Fscan_sexps):
4692         * syntax.c (Fparse_partial_sexp):
4693         * toolbar.c (Fcheck_toolbar_button_syntax):
4694         * tooltalk.doc:
4695         * window.c:
4696         * window.c (Fwindowp):
4697         * window.c (Fwindow_live_p):
4698         * window.c (Fwindow_point):
4699         * window.c (Fdelete_window):
4700         * window.c (Fnext_window):
4701         * window.c (Fprevious_window):
4702         * window.c (Fother_window):
4703         * window.c (window_loop):
4704         * window.c (Fget_lru_window):
4705         * window.c (Fsplit_window):
4706         * window.c (Fenlarge_window):
4707         * window.c (Fenlarge_window_pixels):
4708         * window.c (Fshrink_window):
4709         * window.c (Fshrink_window_pixels):
4710         * window.c (change_window_height):
4711         * window.c (Fwindow_configuration_p):
4712         * window.c (Fcurrent_window_configuration):
4713         * window.h:
4714         * casefiddle.c (casify_object):
4715         * casefiddle.c (Fupcase):
4716         * casefiddle.c (Fdowncase):
4717         * casefiddle.c (Fcapitalize):
4718         * casefiddle.c (Fupcase_initials):
4719         * casefiddle.c (casify_region_internal):
4720         * casefiddle.c (casify_region):
4721         * casefiddle.c (Fupcase_region):
4722         * casefiddle.c (Fdowncase_region):
4723         * casefiddle.c (Fcapitalize_region):
4724         * casefiddle.c (Fupcase_initials_region):
4725         * casefiddle.c (Fupcase_word):
4726         * casefiddle.c (Fdowncase_word):
4727         * casefiddle.c (Fcapitalize_word):
4728         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
4729         Replace 0 with '\0' when working with bytes.
4730         Replace initial "(" with "\(" in docstrings.
4731
4732 2000-11-01  Martin Buchholz  <martin@xemacs.org>
4733
4734         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
4735
4736         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
4737
4738 2000-10-31  Martin Buchholz  <martin@xemacs.org>
4739
4740         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
4741
4742 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
4743
4744         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
4745         correctly.
4746
4747 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
4748
4749         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
4750         (inhibit_auto_save_session): New variable.
4751         (vars_of_fileio): Declare and initialize them.
4752         * fileio.c (Fdo_auto_save): Don't create session file if
4753         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
4754
4755 2000-10-31  Martin Buchholz  <martin@xemacs.org>
4756
4757         * sgiplay.c (play_internal): C++ compilability.
4758         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
4759         * callproc.c (Fold_call_process_internal):
4760         Remove unused vars `env', `first'.
4761         * scrollbar.c (update_scrollbar_instance):
4762         #### unused var `current_window'.
4763         * redisplay-tty.c: Put currently unused vars insert_mode_on,
4764         etc. within #ifdef NOT_YET.
4765         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
4766         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
4767         * specifier.c (specifier_instance):
4768         #### unused var `tag'.
4769         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
4770
4771 2000-10-27  Martin Buchholz  <martin@xemacs.org>
4772
4773         * fns.c (Fbutlast):
4774         * fns.c (list_sort):
4775         * fns.c (Ffillarray):
4776         * fns.c (bytecode_nconc2):
4777         * fns.c (Fnconc):
4778         * fns.c (mapcar1):
4779         * fns.c (Fmapconcat):
4780         Be pedantically 64-bit correct.  For the time when someone will
4781         want to have a list with length > 2**32.
4782
4783         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
4784         Work around MIPSpro compiler bug.
4785
4786         * process-unix.c (unix_kill_child_process): Add snarky comment.
4787         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
4788
4789         * config.h.in: Oops, _getpt ==> _getpty
4790
4791 2000-10-26  Martin Buchholz  <martin@xemacs.org>
4792
4793         * config.h.in:
4794         * regex.c:
4795         Use void*, not char*, as return type of alloca().
4796
4797         * alloc.c (free_marker): Side effect inside assert expression!
4798
4799 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
4800
4801         * mule-charset.c (Fset_charset_ccl_program): To check
4802         if the given ccl program is valid, use setup_ccl_program()
4803         instead of CHECK_VECTOR().
4804         (Fmake_charset): Likewise.
4805
4806 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
4807
4808         * faces.c (get_extent_fragment_face_cache_index):
4809         Fix cachel.merged_faces memory leak.
4810
4811 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
4812
4813         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
4814         Reset MSB of octets obtained by DECODE_SJIS
4815         because of the incompatibility with Emacs.
4816         (ccl_driver)<CCL_ENCODE_SJIS>:
4817         Set MSB of octets before passing them to
4818         ENCODE_SJIS because of the incompatibility
4819         with Emacs.
4820
4821 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
4822
4823         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
4824         (DECLARE_LRECORD): Undo the last change.
4825         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
4826
4827 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
4828
4829         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
4830         the implementation to lrecord_implementations_table.
4831
4832 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
4833
4834         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
4835         initial value of `lrecord_type_##c_name' and
4836         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
4837         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
4838         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
4839         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
4840         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
4841
4842 2000-10-17  Martin Buchholz  <martin@xemacs.org>
4843
4844         * miscplay.c (sndcnv8S_2mono):
4845         (sndcnv2monounsigned):
4846         (sndcnvULaw_2linear):
4847         (sndcnv16swap):
4848         Remove implementation-defined behavior.
4849
4850 2000-10-12  Martin Buchholz  <martin@xemacs.org>
4851
4852         * input-method-xlib.c: Warning suppression.
4853
4854 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
4855
4856         * mule-ccl.c: Sync up with Emacs 21.0.90.
4857         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
4858         Do nothing.
4859         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
4860         Likewise.
4861         (ccl_driver[WriteMultibyteChar2]): Bug fix.
4862         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
4863         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
4864         leading char belongs to official 2-dimensional charset.
4865         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
4866         write the given character as is.  Otherwise,
4867         if it is a multibyte char, convert it by
4868         non_ascii_set_charptr_emchar, then write it.
4869         (CCL_WRITE_STRING): Likewise.
4870         (ccl_get_compiled_code): New function.
4871         (setup_ccl_program): When ccl_prog is invalid,
4872         return -1.
4873         (Fregister_code_conversion_map): New function.
4874         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
4875
4876         * mule-ccl.h: Sync up with Emacs 21.0.90.
4877         (Fregister_ccl_program): export it.
4878
4879         * redisplay-msw.c (separate_textual_runs):
4880         If ccl program is not valid, don't do ccl conversion.
4881
4882         * redisplay-x.c (separate_textual_runs): Ditto.
4883
4884         * file-coding.c (Fmake_coding_system):
4885         When type is ccl and value is vector, register it
4886         with a proper symbol.  And checks whether the
4887         given ccl program is valid.
4888         (mule_decode): When calling ccl_driver, if src indicates
4889         NULL pointer, set an empty string instead.
4890         (mule_encode): Likewise.
4891
4892 2000-10-11  Martin Buchholz  <martin@xemacs.org>
4893
4894         The following large batch of changes gets us back to a state of
4895         C++ compilability.  Extbyte is now a char, which means that
4896         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
4897
4898         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
4899
4900         * sound.c (Fplay_sound): Type correctness.
4901
4902         * select-x.c (hack_motif_clipboard_selection): Type correctness.
4903         (x_get_window_property): Type correctness.
4904         (receive_incremental_selection): unsigned char ==> Extbyte
4905         (selection_data_to_lisp_data): unsigned char ==> Extbyte
4906         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
4907         (Fx_store_cutbuffer_internal): Type correctness.
4908
4909         * process-unix.c (try_to_initialize_subtty): Type correctness.
4910
4911         * objects-x.c (x_print_color_instance): Type correctness.
4912         (x_print_font_instance): Type correctness.
4913         (x_list_fonts): SExtbyte ==> Extbyte.
4914         (valid_x_font_name_p): SExtbyte ==> Extbyte.
4915         (x_find_charset_font): SExtbyte ==> Extbyte.
4916         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
4917         (truename_via_XListFonts): SExtbyte ==> Extbyte.
4918         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
4919         Use bufbyte_strcmp.
4920
4921         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
4922         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
4923         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
4924         (BYTE_C0_P): Use bit ops for char-signedness safety.
4925         (BYTE_C1_P): Use bit ops for char-signedness safety.
4926         (CHARSET_BY_LEADING_BYTE):
4927         (CHARSET_BY_ATTRIBUTES):
4928         Always use inline function.
4929         Use type_checking_assert.
4930         Hide chlook.
4931
4932         * mule-charset.c (non_ascii_charptr_copy_char):
4933         Modify to work with both ASCII and non-ASCII characters.
4934         Improve docs and variable names.
4935         Replace over-clever fall-through switch with a simple loop.
4936         (Lstream_get_emchar_1):
4937         Replace over-clever fall-through switch with a simple loop.
4938
4939         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
4940         Warning suppression.
4941
4942         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
4943         the return value of Lstream_getc, which could be EOF as well.
4944
4945         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
4946
4947         * lisp.h: Make Extbyte a char, not unsigned char, so that external
4948         APIs can be used on Extbytes without casts.  Risky!
4949         (SExtbyte): Remove.
4950         (UExtbyte): Remove.
4951
4952         * input-method-xlib.c (XIM_init_device):
4953         Use Xlib.h instead of IntrinsicP.h.
4954         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
4955         which will break in X11R7.
4956         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
4957         to call XRegisterIMInstantiateCallback with correct types.
4958
4959         * gui-x.c (button_item_to_widget_value): Type correctness.
4960
4961         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
4962
4963         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
4964         (xbm_instantiate_1): Type correctness.
4965         (BUILD_GLYPH_INST):  Type correctness.
4966
4967         * fileio.c (Fsubstitute_in_file_name): Type correctness.
4968
4969         * file-coding.c:
4970         (decode_coding_sjis):
4971         (decode_coding_big5):
4972         (decode_coding_ucs4):
4973         (decode_coding_utf8):
4974         (decode_coding_iso2022):
4975         (decode_coding_no_conversion):
4976         Make all decoding functions take an Extbyte * arg.
4977         (encode_coding_sjis):
4978         (encode_coding_big5):
4979         (encode_coding_ucs4):
4980         (encode_coding_utf8):
4981         (encode_coding_iso2022):
4982         (encode_coding_no_conversion):
4983         Make all encoding functions take a Bufbyte * arg.
4984         Use size_t instead of unsigned int for memory sizes.
4985         Only cast to unsigned char whenever dereferencing Extbyte *.
4986
4987         * doc.c (unparesseuxify_doc_string): Type correctness.
4988
4989         * console-x.c (split_up_display_spec):
4990         Rewrite without using details of internal string representation.
4991         (x_semi_canonicalize_device_connection): Type correctness.
4992
4993         * config.h.in:
4994         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
4995         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
4996         (HAVE_XFREE386): Removed.
4997
4998         * buffer.h (DEC_CHARPTR): `const' correctness.
4999         (bufbyte_strcmp): New.
5000         (bufbyte_memcmp): New.
5001
5002         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
5003
5004         * buffer.h (XCHAR_OR_CHAR_INT):
5005         Always use inline function.
5006         Remove redundant type checking assert() - XINT will abort quite nicely.
5007
5008 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
5009
5010         * search.c (Freplace_match): Set newtext to an empty string.
5011
5012 2000-10-10  Martin Buchholz  <martin@xemacs.org>
5013
5014         * s/decosf1-3.h: Remove #include of stropts.h
5015         * s/ptx.h: Remove #include of stropts.h
5016         * s/usg5-4.h: Remove #include of stropts.h
5017         * sysproc.h:
5018         * config.h.in:
5019         Use stropts.h, not sys/stropts.h.
5020         Use strtio.h, not sys/strtio.h.
5021
5022 2000-10-04  Martin Buchholz <martin@xemacs.org>
5023
5024         * XEmacs 21.2.36 is released.
5025
5026 2000-09-21  Andy Piper  <andy@xemacs.org>
5027
5028         * glyphs-x.c (x_redisplay_widget): make sure non-structural
5029         changes still involve copying the widget tree.
5030         (update_widget_face): make sure a change is register in the widget
5031         tree. Call update_tab_widget_face appropriately.
5032         (update_tab_widget_face): ditto.
5033         (x_tab_control_redisplay): make sure non-structural changes still
5034         involve copying the widget tree.
5035
5036 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
5037
5038         * lread.c (locate_file): Check the path element is non-nil.
5039
5040 2000-10-02  Martin Buchholz  <martin@xemacs.org>
5041
5042         * lisp.h: Warning suppression for SCO compilers.
5043
5044         * redisplay-tty.c (reset_tty_modes): Fix crash.
5045         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
5046
5047 2000-09-27  Martin Buchholz  <martin@xemacs.org>
5048
5049         Big signal/process handling overhaul.  Bugs fixed:
5050         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
5051         M-x comint-kill-subjob should work for both values nil and t of
5052         process-connection-type. It was broken on most platforms.
5053         Testing on Irix and Cygwin still needed.  Other plaforms tested.
5054         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
5055         * process-unix.c: Signal/Process handling overhaul.
5056         (pty_name): make 64 bytes, as `expect' does, for paranoia.
5057         (allocate_pty): Use all available modern methods of allocating
5058         ptys, falling back to old style BSD allocation as a last resort.
5059         Use allegedly more secure Unix98 pty allocation by default.
5060         (allocate_pty_the_old_fashioned_way): New. the last resort.
5061         (unix_create_process): Push ptem, ldterm, ttcompat where
5062         available.  Autoconfiscate.
5063         (try_to_initialize_subtty): New.
5064         (unix_kill_child_process): Proper signal handling for ptys on most
5065         platforms, using special knowledge of AIX, BSD, etc...
5066         (unix_create_process): Always disconnect_controlling_terminal() for
5067         subprocesses, whether using ptys or not.
5068         * process.h: Remove old getpt-dependent PTY code.
5069         * process.c (Fprocess_send_signal): New, obvious generic function.
5070         (decode_signal): New.
5071         (Finterrupt_process):
5072         (Fkill_process):
5073         (Fquit_process):
5074         (Fstop_process):
5075         (Fcontinue_process):
5076         (Fsignal_process): Use decode_signal.
5077         (process_send_signal):
5078         Many docstring corrections.
5079         Allow any signal to be sent to a process object.
5080         * config.h.in: Add symbols for big signal/process overhaul.
5081         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
5082         * sysproc.h: Include process-related headers, where available:
5083         sys/stropts.h sys/strtio.h pty.h libutil.h
5084         * s/irix4-0.h:
5085         * s/irix5-0.h:
5086         * s/cygwin32.h:
5087         * s/gnu.h:
5088         * s/linux.h:
5089         * s/hpux.h:
5090         * s/aix3-1.h:
5091         Remove old S&M pty stuff.
5092         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
5093         * systty.h: Simplify cpp hackery, improve comments.
5094         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
5095
5096         * editfns.c (Fformat_time_string):
5097         Be a little more paranoid with the return value of ctime.
5098
5099         * fileio.c (check_executable):
5100         (check_writable):
5101         Use symbolic constants X_OK, W_OK.
5102
5103         * console-x.c (split_up_display_spec): Fix a warning.
5104
5105 2000-10-02  Martin Buchholz  <martin@xemacs.org>
5106
5107         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
5108         * ntproc.c (sys_spawnve): make_string ==> build_string
5109         Small clarity improvements.
5110
5111 2000-09-30  Martin Buchholz  <martin@xemacs.org>
5112
5113         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
5114
5115         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
5116
5117         * config.h.in (HAVE_STRCASECMP): Remove.
5118
5119 2000-09-29  Martin Buchholz  <martin@xemacs.org>
5120
5121         * redisplay-output.c (redisplay_output_pixmap):
5122         Cleaner and possibly more 64-bit correct code.
5123
5124 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
5125
5126         * dumper.c (pdump_load_finish): move restoration of
5127         `noninteractive1' to emacs.c (main_1).
5128         * emacs.c (main_1): protect LISP-visible command-line flags
5129         from pdump_load().
5130
5131 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
5132
5133         * Makefile.in.in (versionclean):  Use EXE_TARGET and
5134         DUMP_TARGET instead of literal program names.
5135
5136 2000-09-20  Martin Buchholz  <martin@xemacs.org>
5137
5138         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
5139
5140 2000-09-19  Martin Buchholz  <martin@xemacs.org>
5141
5142         * *: Spelling mega-patch
5143
5144 2000-09-19  Martin Buchholz  <martin@xemacs.org>
5145
5146         * fns.c (bad_bad_turtle):
5147         Delete "Eek!" comment, since we fixed the bug to which it refers.
5148
5149 2000-09-16  Martin Buchholz  <martin@xemacs.org>
5150
5151         * alloca.c: Replace REGISTER with register.
5152
5153 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
5154
5155         * file-coding.c (ucs_to_char): Use countof.
5156
5157 2000-09-16  Martin Buchholz  <martin@xemacs.org>
5158
5159         * file-coding.c: (ucs_to_char):
5160         (complex_vars_of_file_coding):
5161         Use countof instead of sizeof.
5162         Use CHECK_NATNUM instead of CHECK_INT.
5163
5164         * sysdep.c (strcasecmp): Remove.
5165         * device-x.c (ascii_strcasecmp): New.
5166         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
5167         Avoid using non-standard non-portable strcasecmp.
5168
5169 2000-09-16  Martin Buchholz  <martin@xemacs.org>
5170
5171         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
5172         * font-lock.c: remove reference to emacsfns.h.
5173         * search.c: small doc improvement.
5174         * event-Xt.c: correct file names in comments.
5175         * console-x.h Correct file names in comments.
5176         * frame.c: Correct file names in comments.
5177         * event-stream.c: remove Energize from comments.
5178
5179 2000-09-15  Martin Buchholz  <martin@xemacs.org>
5180
5181         * symeval.h (DEFERROR_STANDARD):
5182         (DEFERROR):
5183         (DEFSYMBOL):
5184         (DEFSYMBOL_NO_DUMP):
5185         (DEFSYMBOL_MULTIWORD_PREDICATE):
5186         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
5187         (DEFKEYWORD):
5188         The construct &##name is not sensible C.
5189         Fixes compilation errors with Unixware native compiler.
5190
5191 2000-09-14  Martin Buchholz  <martin@xemacs.org>
5192
5193         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
5194         (next_frame_internal): Removed.  We now just have next_frame.
5195         (next_frame):
5196         Write a simpler and cleaner one-pass algorithm.
5197         Remove called_from_delete_device arg and #ifdefed-out code.
5198         (previous_frame):
5199         Renamed from prev_frame.  Update callers.
5200         Cleaned up to have an analogous implementation to next_frame.
5201         (other_visible_frames_internal): Remove the
5202         called_from_delete_device bogus arg, and hence, remove this
5203         function.  Just use other_visible_frames().
5204
5205         * window.c (Fnext_window):
5206         Prettify docstring.
5207         Since next_frame() is guaranteed to return a frame, remove check
5208         for nil inserted in previous patch.
5209         (Fprevious_window):
5210         Prettify docstring.
5211         Make code look more like Fnext_window.
5212         (window_loop):
5213         Respect the `console' arg when iterating through windows.
5214         Fixes bug: (get-buffer-window buffer t device) not respecting
5215         the `device' arg.
5216         This function needs more work, as others have pointed out.
5217
5218         * frame.h: Rename prev_frame to previous_frame.
5219         device_matches_console_spec no longer takes a `frame' arg.
5220
5221         * s/gnu.h:
5222         * s/linux.h:
5223         * s/hpux.h:
5224         Use EMACS_BLOCK_SIGNAL instead of sigblock.
5225         From "Golubev I. N." <gin@mo.msk.ru>.
5226
5227         * make-src-depend: Fix typo.
5228
5229 2000-09-13  Martin Buchholz  <martin@xemacs.org>
5230
5231         * window.c (Fnext_window):
5232         next_frame() might return nil, not a frame.
5233         Fixes this crash:
5234         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
5235
5236         * frame.c (next_frame_internal):
5237         We've passed a frame if we've passed its device.
5238         Fixes this crash:
5239         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
5240 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
5241
5242 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5243
5244         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
5245         Allow option to suppress accelerators in menu/dialog items.
5246         (populate_or_checksum_helper): Pass dialog title through above.
5247
5248 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5249
5250         * event-msw.c (mswindows_key_to_emacs_keysym):
5251         Add "pause" key, fix "menu" key.
5252
5253 2000-09-09  Martin Buchholz  <martin@xemacs.org>
5254
5255         * eval.c (reinit_vars_of_eval):
5256         Increase max_lisp_eval_depth to 1000,
5257         required for thai-xtis.el to byte-compile under some circumstances.
5258
5259 2000-09-04  Martin Buchholz  <martin@xemacs.org>
5260
5261         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
5262         From Kenichi Handa.
5263
5264 2000-09-01  Martin Buchholz  <martin@xemacs.org>
5265
5266         * make-src-depend: Make the generated Makefiles smaller.
5267
5268         * s/hpux.h (SETUP_SLAVE_PTY):
5269         Provide a %d in the format string for the errno argument.
5270
5271         * editfns.c (Ftemp_directory):
5272         Warning fix.
5273         Avoid buffer overrun on very long file name.
5274
5275         * input-method-xlib.c (XIM_init_device):
5276         6th parameter of XRegisterIMInstantiateCallback has different
5277         pointer types on different OSes, so simply cast to (void *).
5278
5279         * unexhp9k800.c: Warning fixes.  Fiddly changes.
5280
5281         * sysdll.c (dll_open):
5282         shl_load will hang hard if passed a NULL filename.
5283         Simply return NULL for compatibility with dlopen.
5284         * sysdll.c: Conform to XEmacs coding standards.
5285
5286         * sysdep.c (get_pty_max_bytes):
5287         Support pty input lines longer than 512 bytes on HP-UX 10.20.
5288
5289 2000-08-31  Martin Buchholz  <martin@xemacs.org>
5290
5291         * tooltalk.c: Add #include <syssignal.h>
5292
5293 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
5294
5295         * s/hpux.h: Don't use undefined function sigunblock().
5296
5297 2000-08-31  Martin Buchholz  <martin@xemacs.org>
5298
5299         * config.h.in: Add HAVE_BALLOON_HELP.
5300         * emacs.c: Use HAVE_BALLOON_HELP.
5301         * Makefile.in.in (x_objs):
5302         Make Balloon Help conditional on finding shape.h.
5303
5304 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
5305
5306         * syntax.c (regex_emacs_buffer_p): New variable.
5307         * syntax.h (regex_emacs_buffer_p): extern.
5308         * search.c (looking_at_1):
5309         (string_match_1):
5310         (fast_string_match):
5311         (search_buffer): Set regex_emacs_buffer_p.
5312         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
5313         when before_dot, at_dot, after_dot.
5314
5315 2000-08-23  Andy Piper  <andy@xemacs.org>
5316
5317         * gui-x.c (popup_selection_callback): Only set action_occurred
5318         when we really have an image instance.
5319         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
5320
5321 2000-08-23  Andy Piper  <andy@xemacs.org>
5322
5323         * gui-msw.c (mswindows_handle_gui_wm_command): set
5324         action_occurred.
5325         * gui-x.c (popup_selection_callback): ditto.
5326
5327         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
5328         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
5329         (struct Lisp_Image_Instance): add action_occurred flag.
5330
5331         * glyphs.c (redisplay_subwindow): use action_occurred flag.
5332         (image_instance_changed): ditto.
5333         (reset_frame_subwindow_instance_cache): only unmap windows - do
5334         not remove them from the cache also.
5335
5336         * glyphs-widget.c (tab_control_update): better debug.
5337         (progress_gauge_update): ditto.
5338         (layout_update): ditto.
5339         (layout_instantiate): ditto.
5340         (tab_control_order_only_changed): cope with null pending items.
5341
5342         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
5343         debug. Force selection of an item when an action occurred. Cope
5344         with null pending_items.
5345         (mswindows_progress_gauge_redisplay): better debug.
5346         * glyphs-x.c (x_tab_control_redisplay): ditto.
5347
5348         * redisplay.c (redisplay_frame): reset the frame cache if the
5349         frame is garbaged.
5350
5351         * window.c (Fset_window_configuration): potentially re-enable
5352         frame cache reset.
5353         (window_unmap_subwindows): need to finalize instances here since
5354         it is only used in mark_window_as_deleted.
5355
5356 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
5357
5358         * nas.c (SndOpenDataForReading):
5359         nas.c (WaveOpenDataForReading):
5360         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
5361         Somehow escaped from the 2000-08-14 patch.
5362
5363 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5364
5365         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
5366         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
5367
5368 2000-08-21  Andy Piper  <andy@xemacs.org>
5369
5370         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
5371         window if it is not already displayed.
5372
5373         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
5374         it is not already displayed.
5375
5376         * window.c (Fset_window_configuration): don't reset the frame
5377         cache.
5378
5379         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
5380         instances from the frame cache if we are actually finalizing them.
5381         (reset_frame_subwindow_instance_cache): reset frame cache only
5382         after unmapping everything.
5383         (map_subwindow): set displayed flag after mapping.
5384
5385 2000-08-21  Martin Buchholz  <martin@xemacs.org>
5386
5387         * data.c (indirect_function):
5388         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
5389
5390         * eval.c (function_argcount):
5391         Use original function when signaling errors.
5392
5393 2000-08-18  Andy Piper  <andy@xemacs.org>
5394
5395         * frame.c (delete_frame_internal): use new
5396         free_frame_subwindow_instances name.
5397
5398         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
5399         (add_tab_item): make return type correct.
5400         (mswindows_tab_control_instantiate): assert index of tab.
5401         (mswindows_tab_control_redisplay): Re-code to use
5402         gui_item_equal_sans_selected and gui_item_list_find_selected.
5403
5404         * glyphs-widget.c (tab_control_update): Correct comment.
5405
5406         * window.c (window_unmap_subwindows): use new
5407         unmap_subwindow_instance_cache_mapper.
5408         (window_unmap_subwindows_cache_mapper): deleted.
5409         (Fset_window_configuration): comparisons should now be with
5410         EQ. Preserve the subwindow instance cache across configuration
5411         changes.
5412         (allocate_window): ditto.
5413         (make_dummy_parent): ditto.
5414
5415         * glyphs.c (free_frame_subwindow_instances): rename from
5416         free_frame_subwindow_instance_cache. finalize all instances rather
5417         than just those in the display cache.
5418         (finalize_all_subwindow_instances): walk windows unmapping and
5419         finalizing subwindows.
5420         (unmap_subwindow_instance_cache_mapper): moved from
5421         window.c. Allow finalization as well as unmapping.
5422
5423         * gui.c (gui_item_list_find_selected): new function.
5424
5425         * gui.h (gui_item_list_find_selected): declare.
5426
5427         * glyphs-x.c (x_tab_control_redisplay): pick tab
5428         explicitly. Re-code to use gui_item_equal_sans_selected and
5429         gui_item_list_find_selected.
5430
5431         * glyphs-x.h: add lwlib-utils.h
5432
5433         * buffer.c (Frecord_buffer): undo previous change.
5434
5435 2000-08-09  Vin Shelton  <acs@xemacs.org>
5436
5437         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
5438         possible.  Create temporary files more securely.  The patch was
5439         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
5440         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
5441         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
5442         for details.
5443
5444 2000-08-07  Ben Wing  <ben@xemacs.org>
5445
5446         * getloadavg.c: remove duplicate (and windows-breaking)
5447         includes of fcntl.h and sys/file.h.
5448
5449         * nt.c: remove duplicate getloadavg() definition.
5450
5451         * sysdll.h (Qdll_filename_encoding): add missing stand-in
5452         encodings.
5453
5454 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
5455
5456         * eval.c (function_argcount): If function needs to be autoloaded
5457         actually use the loaded definition.
5458         GCPRO function.
5459
5460 2000-08-05  Ben Wing  <ben@xemacs.org>
5461
5462         * getloadavg.c: add prototype for getloadavg().  remove
5463         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
5464         of the code).  remove duplicate header includes.
5465
5466         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
5467
5468         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
5469         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
5470         useful load average.
5471
5472         * alloc.c (reinit_alloc_once_early): removed references to
5473         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
5474         the lisp vars are the only things referencing the malloc_sbrk_*
5475         vars, and they were already if 0'd out.  these vars only exist
5476         in the older malloc.c, which is basically unused, and they're
5477         only for informational purposes.
5478
5479         * m\*.h: removed useless VIRT_ADDR_VARIES.
5480
5481         * m\powerpc.h: removed stray NO_ARG_ARRAY.
5482
5483 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
5484
5485         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
5486         color if the image is a mono pixmap.
5487
5488 2000-07-30  Ben Wing  <ben@xemacs.org>
5489
5490         * Makefile.in.in (release):
5491         Remove stray @.
5492
5493         * buffer.c (directory_is_current_directory):
5494         * dired-msw.c (mswindows_get_files):
5495         * dired.c:
5496         * dired.c (Fdirectory_files):
5497         * dired.c (file_name_completion_stat):
5498         * dired.c (Ffile_attributes):
5499         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
5500         preprocessor tricks, to avoid problems on some machines
5501         (e.g. SCO).
5502
5503         * callproc.c (egetenv): GC docs.
5504
5505         * console-msw.h:
5506         * console-msw.h (struct mswindows_dialog_id):
5507         * lrecord.h (lrecord_type):
5508         New object for use with MSW dialogs.
5509
5510         * console.h (struct console_methods):
5511         New enable/disable frame methods, for proper modal dialogs.
5512
5513         * device-msw.c (msprinter_default_printer): Fix to follow
5514         proper Mule conventions.
5515
5516         * device-msw.c:
5517         * device-msw.c (signal_open_printer_error):
5518         * device-msw.c (msprinter_init_device):
5519         * device-msw.c (ensure_not_printing):
5520         * device-msw.c (plist_get_margin):
5521         * device-msw.c (Fmsprinter_select_settings):
5522         * device-msw.c (finalize_devmode):
5523         * device-msw.c (Fmsprinter_settings_despecialize):
5524         * device-msw.c (signal_enum_priner_error):
5525         * extents.c (decode_extent):
5526         * extents.c (decode_map_extents_flags):
5527         * extents.c (decode_extent_at_flag):
5528         * extents.c (Fextent_at):
5529         * extents.c (Fextents_at):
5530         * extents.c (symbol_to_glyph_layout):
5531         [[[[2]]]] Use structured errors.
5532
5533         * dialog-msw.c:
5534         * dialog-msw.c (mswindows_is_dialog_msg):
5535         * dialog-msw.c (mark_mswindows_dialog_id):
5536         * dialog-msw.c (dialog_proc):
5537         * dialog-msw.c (handle_question_dialog_box):
5538         * dialog-msw.c (syms_of_dialog_mswindows):
5539         Define new object to clean up marking; use it as a dialog identifier.
5540         Call new delete-dialog-box-hook.
5541
5542         * dialog-x.c (dbox_selection_callback):
5543         * dialog-x.c (dbox_descriptor_to_widget_value):
5544         * dialog-x.c (x_make_dialog_box_internal):
5545         Call new delete-dialog-box-hook.
5546         Return an id.
5547
5548         * dialog.c:
5549         * dialog.c (syms_of_dialog):
5550         * dialog.c (vars_of_dialog):
5551         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
5552
5553         * eval.c:
5554         * eval.c (signal_call_debugger):
5555         when noninteractive, output stack traces on the console instead
5556         of in a (never-seen) buffer.
5557
5558         * eval.c (signal_type_error):
5559         * eval.c (invalid_argument_2):
5560         * lisp.h:
5561         new funs for use w/structured errors.
5562
5563         * event-Xt.c:
5564         * event-Xt.c (x_to_emacs_keysym):
5565         * event-Xt.c (describe_event):
5566         * event-Xt.c (emacs_Xt_event_handler):
5567         * event-Xt.c (vars_of_event_Xt):
5568         * event-msw.c:
5569         * event-msw.c (mswindows_wnd_proc):
5570         * event-msw.c (vars_of_event_mswindows):
5571         rename {x,mswindows}-debug-events to debug-{}-events for
5572         consistency with other debug-foo variables.
5573
5574         * event-stream.c:
5575         document next-event more clearly.
5576
5577         * fileio.c (Ffile_name_directory):
5578         * fileio.c (Ffile_name_nondirectory):
5579         * fileio.c (Funhandled_file_name_directory):
5580         * fileio.c (file_name_as_directory):
5581         * fileio.c (Ffile_name_as_directory):
5582         * fileio.c (directory_file_name):
5583         * fileio.c (Fdirectory_file_name):
5584         * fileio.c (Fmake_temp_name):
5585         * fileio.c (Ffile_truename):
5586         * fileio.c (Fsubstitute_in_file_name):
5587         * fileio.c (expand_and_dir_to_file):
5588         * fileio.c (barf_or_query_if_file_exists):
5589         * fileio.c (check_executable):
5590         * fileio.c (Ffile_exists_p):
5591         * fileio.c (Ffile_writable_p):
5592         * fileio.c (Ffile_directory_p):
5593         * fileio.c (Ffile_regular_p):
5594         * fileio.c (Ffile_modes):
5595         * fileio.c (Ffile_newer_than_file_p):
5596         * fileio.c (Fverify_visited_file_modtime):
5597         * fileio.c (Fset_visited_file_modtime):
5598         * fileio.c (auto_save_1):
5599         (1). (2).
5600         fix up gcpro's.
5601
5602         * frame-msw.c:
5603         * frame-msw.c (mswindows_init_frame_1):
5604         * frame-msw.c (mswindows_enable_frame):
5605         * frame-msw.c (error_frame_unsizable):
5606         * frame-msw.c (msprinter_init_frame_1):
5607         * frame-msw.c (msprinter_init_frame_3):
5608         * frame-msw.c (console_type_create_frame_mswindows):
5609         (2).
5610         implement new enable/disable frame methods.
5611
5612         * frame-x.c:
5613         * frame-x.c (x_enable_frame):
5614         * frame-x.c (console_type_create_frame_x):
5615         implement new enable/disable frame methods.
5616
5617         * frame.c:
5618         * frame.c (Fdisable_frame):
5619         * frame.c (syms_of_frame):
5620         * frame.h (struct frame):
5621         implement new enable/disable frame methods/functions.
5622
5623         * general-slots.h:
5624         add initial-focus.
5625
5626         * glyphs-msw.c (mswindows_widget_instantiate):
5627         comment that initial-focus should be implemented.
5628
5629         * glyphs-widget.c:
5630         * glyphs-widget.c (check_valid_instantiator):
5631         * glyphs-widget.c (check_valid_orientation):
5632         * glyphs-widget.c (check_valid_tab_orientation):
5633         * glyphs-widget.c (check_valid_justification):
5634         * glyphs-widget.c (check_valid_border):
5635         * glyphs-widget.c (check_valid_callback):
5636         * glyphs-widget.c (check_valid_int_or_function):
5637         * glyphs-widget.c (check_valid_string_or_vector):
5638         * glyphs-widget.c (check_valid_item_list_1):
5639         * glyphs-widget.c (widget_validate):
5640         * glyphs-widget.c (combo_box_validate):
5641         * glyphs-widget.c (widget_instantiate):
5642         * glyphs-widget.c (syms_of_glyphs_widget):
5643         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
5644         * glyphs-widget.c (image_instantiator_combo_box):
5645         * glyphs-widget.c (image_instantiator_scrollbar):
5646         * glyphs-widget.c (image_instantiator_tab_control):
5647         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
5648         (2).
5649         support (unimplemented) keyword initial-focus.
5650         reindent long macros.
5651
5652         * glyphs-x.c (x_redisplay_widget):
5653         * glyphs-x.c (x_button_instantiate):
5654         * glyphs-x.c (x_button_redisplay):
5655         * glyphs-x.c (x_progress_gauge_instantiate):
5656         * glyphs-x.c (x_edit_field_instantiate):
5657         * glyphs-x.c (x_combo_box_instantiate):
5658         * glyphs-x.c (x_tab_control_instantiate):
5659         * glyphs-x.c (x_label_instantiate):
5660         * gui-x.c:
5661         * gui-x.c (button_item_to_widget_value):
5662         * gui-x.c (gui_items_to_widget_values_1):
5663         * gui-x.c (gui_item_children_to_widget_values):
5664         * gui-x.c (gui_items_to_widget_values):
5665         * gui-x.h:
5666         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
5667         add new flag to gui-parsing routines to indicate whether
5668         accelerator specs should be supported.
5669
5670         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
5671
5672         * glyphs.h (struct Lisp_Image_Instance):
5673         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
5674         add initial-focus flag.
5675
5676         * gui.c:
5677         * gui.c (syms_of_gui):
5678         * gui.c (vars_of_gui):
5679         clean up menu-no-selection-hook.
5680
5681         * gui.h:
5682         support delete-dialog-box-hook.
5683
5684         * lread.c (Fload_internal):
5685         * lread.c (locate_file_in_directory_mapper):
5686         (1).
5687
5688         * lrecord.h:
5689         * lrecord.h (struct toolbar_button):
5690         * lrecord.h (syms_of_toolbar):
5691         document how to create a new object.
5692
5693         * menubar-msw.c (mswindows_char_is_accelerator):
5694         may be called on frames w/o menus.
5695
5696         * menubar.c (vars_of_menubar):
5697         clean up :filter docs.
5698
5699         * nt.c (readdir):
5700         * ntproc.c:
5701         (1).
5702
5703         * process-nt.c:
5704         * process-nt.c (validate_signal_number):
5705         * process-nt.c (signal_cannot_launch):
5706         * process-nt.c (nt_create_process):
5707         * process-nt.c (nt_send_process):
5708         * process-nt.c (nt_kill_child_process):
5709         * process-nt.c (nt_open_network_stream):
5710         * process-nt.c (syms_of_process_nt):
5711         (2).
5712         delete quote-handling.  call new lisp code that does it better.
5713
5714         * process-unix.c (connect_to_file_descriptor):
5715         * process-unix.c (allocate_pty):
5716         * process-unix.c (unix_send_process):
5717         * process-unix.c (unix_kill_child_process):
5718         * process-unix.c (unix_open_network_stream):
5719         * process-unix.c (unix_open_multicast_group):
5720         (1). (2).
5721
5722         * process.c:
5723         * process.c (Fstart_process_internal):
5724         (2).  need to canonicalize process path even if absolute.
5725
5726         * select-msw.c (symbol_to_ms_cf):
5727         * select-msw.c (ms_cf_to_symbol):
5728         * select-msw.c (cf_is_autofreed):
5729         * select-msw.c (mswindows_destroy_selection):
5730         * select.c:
5731         * select.c (syms_of_select):
5732         * select.h:
5733         support dibv5, fix bugs. (from Mike Alexander)
5734
5735         * select.c (Fget_selection_internal):
5736         * select.c (select_convert_out):
5737
5738         * sysdep.c:
5739         * sysdep.c (xemacs_stat):
5740         renamed.
5741
5742         * sysdep.c (mkdir):
5743         * sysdep.c (rmdir):
5744         but keep original stat() here because we provide encapsulation
5745         around these funs.
5746
5747         * sysfile.h:
5748         * sysfile.h (fstat):
5749         remove stat garbage.
5750
5751         * syswindows.h:
5752         fix X/MSW conflict.
5753         don't include tchar.h.  it's inappropriate because it makes
5754         compile-time distinctions when we want runtime distinctions.
5755         (we provide our own tchar replacements)
5756
5757         * toolbar.c:
5758         use default object printer for toolbar-button.
5759
5760         * unexcw.c:
5761         make sure we don't encapsulate.
5762
5763         * window.c (vars_of_window):
5764         emphasize that temp-buffer-show-hook is obsolete.
5765
5766 2000-08-05  Martin Buchholz  <martin@xemacs.org>
5767
5768         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
5769         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
5770
5771         * events.c (Fevent_timestamp_lessp):
5772         Not 64-bit clean.  Use EMACS_INT, not int.
5773
5774 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
5775
5776         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
5777         unsigned int and changed the last enum to
5778         lrecord_type_last_built_in_type.
5779         (lrecord_implementations_table): changed prototype to know how
5780         long the array is supposed to be.
5781         (lrecord_type_count): new unsigned int to keep track of the
5782         current number of lisp lrecord types.
5783         (DEFINE_EXTERNAL_LRECORD):
5784         (DECLARE_EXTERNAL_LRECORD): Added these two for external
5785         dynamic-modules to declare new lisp types. They are the same
5786         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
5787         int for each new type, and increment lrecord_type_count by 1.
5788
5789         * alloc.c (lrecord_implementations_table): Changed to reference
5790         lrecord_type_last_built_in_type for the size of the array.
5791         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
5792
5793 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
5794
5795         * glyphs.h (check_valid_item_list): Renamed from
5796         check_valid_item_list_1.
5797
5798 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
5799
5800         * select.c (Qselect_coerce): New.
5801         * select.c (Vselection_coercion_alist): New.
5802         * select.c (syms_of_select): Declare.
5803         * select.c (get-selection-internal): Use it.
5804         Use the new select-coerce functionality.
5805
5806         * select.c (select_coerce): New.
5807         * select.h (select_coerce): Declare.
5808         New function to coerce one type of data into another.
5809
5810 2000-08-03  Martin Buchholz  <martin@xemacs.org>
5811
5812         * callproc.c (Fcall_process_internal):
5813         (Fcall_process_internal):
5814         * process-unix.c (unix_create_process):
5815         Save and restore the value of errno, so that error messages are accurate.
5816
5817 2000-08-01  Martin Buchholz  <martin@xemacs.org>
5818
5819         * elhash.c (print_hash_table):
5820         Fix printing of hash tables to also use `key-and-value' instead of `t'.
5821         Prettify docstrings and indentation.
5822
5823 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
5824
5825         * window.c (Fwindow_pixel_edges): Subtract frame border and
5826         gutter size.
5827
5828 2000-07-31  Andy Piper  <andy@xemacs.org>
5829
5830         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
5831         will acknowledge the change.
5832
5833         * glyphs.h: declare tab_control_order_only_changed.
5834
5835         * glyphs-x.c (x_tab_control_redisplay): use
5836         tab_control_order_only_changed.
5837
5838         * glyphs-widget.c (tab_control_order_only_changed): new function.
5839
5840         * glyphs-msw.c (mswindows_tab_control_redisplay): use
5841         tab_control_order_only_changed.
5842
5843         * gui.c (gui_item_equal_sans_selected): new function.
5844         (gui_item_equal): use it.
5845
5846         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
5847         :properties in favor of :items..
5848
5849         * glyphs-widget.c (check_valid_item_list): rename from
5850         check_valid_item_list_1.
5851         (check_valid_item_list_1): renamed.
5852         (combo_box_validate): deprecate :properties in favor of :items.
5853         (widget_instantiate): ditto.
5854         (tab_control_update): ditto.
5855         (image_instantiator_combo_box): ditto.
5856         (image_instantiator_tree_view): ditto.
5857         (image_instantiator_tab_control): ditto.
5858         (layout_post_instantiate): remove dead code.
5859
5860         * print.c (debug_print_no_newline): only write to debugger if in
5861         WIN32_NATIVE.
5862
5863         * elhash.c (Fmake_hash_table): update doc string.
5864
5865         * event-msw.c (mswindows_wnd_proc): don't allow processing of
5866         messages whilst in GC. This at least stops XEmacs crashing but has
5867         the potential for wierd behaviour.
5868
5869 2000-07-31  Martin Buchholz  <martin@xemacs.org>
5870
5871         * config.h.in:
5872         Make existence of s&m files optional.
5873
5874         * s/bsd386.h: Remove HAVE_GETLOADAVG.
5875         * s/freebsd.h: Remove HAVE_GETLOADAVG.
5876         * s/gnu.h: Remove HAVE_GETLOADAVG.
5877         * s/netbsd.h: Remove HAVE_GETLOADAVG.
5878         * s/sol2.h: Remove HAVE_GETLOADAVG.
5879         * lisp.h: Remove getloadavg() declaration.
5880         * fns.c:
5881         Include <sys/loadavg.h> if available.
5882         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
5883         * config.h.in:  Group together getloadavg()-related macros.
5884         Use only configure-time tests to detect getloadavg().
5885
5886 2000-07-30  Martin Buchholz  <martin@xemacs.org>
5887
5888         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
5889
5890 2000-07-25  Andy Piper  <andy@xemacs.org>
5891
5892         * syswindows.h: add tchar.h for native builds.
5893
5894         * frame.c (syms_of_frame): remove set-glyph-image.
5895
5896         * general-slots.h: add Qset_glyph_image.
5897
5898         * glyphs-widget.c (layout_update): add domain arg to
5899         set-glyph-image.
5900         (syms_of_glyphs_widget): remove set-glyph-image.
5901
5902 2000-07-23  Ben Wing  <ben@xemacs.org>
5903
5904         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
5905         Vpopup_frame_list.
5906
5907 2000-07-22  Andy Piper  <andy@xemacs.org>
5908
5909         * symsinit.h: add syms_of_win32().
5910
5911         * gui-msw.c (syms_of_gui_mswindows): remove
5912         Fmswindows_shell_execute.
5913         (Fmswindows_shell_execute): moved to win32.c.
5914
5915         * emacs.c (main_1): add syms_of_win32 ().
5916
5917         * win32.c (init_potentially_nonexistent_functions): rewrite in
5918         compiler-friendly terms.
5919         (Fmswindows_shell_execute): move here from gui-msw.c.
5920         (syms_of_win32): new.
5921
5922         * device-msw.c (Fmswindows_printer_list): clean up args to
5923         EnumPrinters.
5924         Don't include tchar under cygwin or mingw.
5925         (msprinter_default_printer): make cygwin-friendly.
5926
5927 2000-07-21  Andy Piper  <andy@xemacs.org>
5928
5929         * glyphs-widget.c (image_instantiator_tree_view): use tab
5930         control's update function.
5931         (layout_property): new function. Retrieve items.
5932
5933         * glyphs-msw.c (mswindows_tree_view_redisplay): new
5934         function. Re-populate the tree view from the pending items.
5935
5936         * glyphs.c (instantiate_image_instantiator): Make sure the domain
5937         is designated the parent if the domain is an image instance. This
5938         is needed so that dirtiness can be cascade up the hierarchy and
5939         thus for layout children to be redisplayed correctly.
5940         (allocate_image_instance): rename glyph -> parent.
5941
5942         * redisplay.h: change redisplay_output_layout signature.
5943
5944         * redisplay-msw.c (mswindows_output_display_block): use domain
5945         arg.
5946
5947         * redisplay-x.c (x_output_display_block): use domain arg.
5948
5949 2000-07-10  Andy Piper  <andy@xemacs.org>
5950
5951         * window.c (Fset_window_configuration): add comment.
5952
5953         * redisplay-output.c (compare_runes):
5954         (redisplay_output_subwindow): redisplay rather than update subwindow.
5955         (redisplay_output_layout): ditto.
5956
5957         * redisplay-msw.c (mswindows_frame_output_end):
5958         (mswindows_frame_output_end): make defer window pos optional.
5959
5960         * lisp.h: add Flast.
5961
5962         * glyphs.h (struct image_instantiator_methods): add dest_mask top
5963         normalize method. Change update method to be for changed
5964         instantiators. Add redisplay method. Change signature of layout
5965         method.
5966         (struct Lisp_Image_Instance): add instantiator.
5967         (IMAGE_INSTANCE_INSTANTIATOR): new.
5968         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
5969         (XIMAGE_INSTANCE_INSTANTIATOR): new.
5970         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
5971
5972         * glyphs.c:
5973         (find_instantiator_differences): new function.
5974         (Fset_instantiator_property): new convenience function.
5975         (check_image_instance_structure): strictly check for vector
5976         instantiators.
5977         (normalize_image_instantiator): make non-static.
5978         (instantiate_image_instantiator): pass on dest_mask and use new
5979         signatures for image_instance_layout and friends.
5980         (mark_image_instance): mark the instantiator. Mark the subwindow
5981         face not the widget face.
5982         (image_instance_equal): add instantiator.
5983         (image_instance_hash): ditto.
5984         (allocate_image_instance): ditto.
5985         (Fset_image_instance_property): removed.
5986         (Fimage_instance_file_name): ditto.
5987         (Fcolorize_image_instance): ditto.
5988         (image_instance_layout): add offsets to be set.
5989         (update_image_instance): new function. update an image instance
5990         from its changed instantiator.
5991         (inherit_normalize): add dest_mask.
5992         (xbm_normalize): ditto.
5993         (xface_normalize): ditto.
5994         (xpm_normalize): ditto.
5995         (text_update): set_property -> update.
5996         (image_instantiate): use the glyph identity as a hash key, not the
5997         instantiator.
5998         (glyph_width): use new image_instance_layout signature.
5999         (glyph_ascent): ditto.
6000         (glyph_descent): ditto.
6001         (glyph_height): ditto.
6002         (glyph_query_geometry): ressurrect.
6003         (glyph_layout): ditto.
6004         (redisplay_subwindow): update -> redisplay.
6005         (syms_of_glyphs): add Fset_instantiator_property.
6006         (image_instantiator_format_create): set_property -> update.
6007
6008         * glyphs-x.c:
6009         (autodetect_normalize): add dest_maks to signature.
6010         (x_redisplay_subwindow): update -> redisplay.
6011         (x_redisplay_widget): ditto.
6012         (x_button_redisplay): ditto.
6013         (x_progress_gauge_redisplay): ditto.
6014         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
6015         stacking order.
6016         (console_type_create_glyphs_x): update -> redisplay.
6017         (image_instantiator_format_create_glyphs_x): ditto.
6018
6019         * glyphs-widget.c:
6020         (check_valid_instantiator): disallow glyphs in the instantiator,
6021         they must now be vectors.
6022         (check_valid_instantiator_list): ditto.
6023         (glyph_instantiator_to_glyph): use internal symbol rather than
6024         intern.
6025         (widget_update): renamed from widget_set_property. Call cascaded
6026         update methods.
6027         (redisplay_widget): renamed from update_widget.
6028         (widget_layout): image_instance_layout now takes position as well
6029         as size.
6030         (widget_normalize): ditto.
6031         (widget_instantiate): ditto.
6032         (tab_control_query_geometry) ditto.:
6033         (tab_control_update): renamed from tab_control_set_property.
6034         (progress_gauge_update): set_property -> update.
6035         (layout_normalize): rewrite so that child instantiators are
6036         normalized also.
6037         (layout_update): new function. Create glyphs from the normalized
6038         children and cope with any other layout keywords. We do not
6039         instantiate children here that will be take care of by
6040         redisplay_output_layout.
6041         (layout_instantiate): call layout_update and not much else.
6042         (layout_post_instantiate): not sure whether this is needed
6043         anymore.
6044         (layout_query_geometry): query glyph geometry rather than
6045         image_instance geometry.
6046         (layout_layout): set offsets from pass in parameters. Use glyph
6047         geometry and layout functions rather than image instance ones.
6048         (native_layout_layout): ditto.
6049         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
6050         (image_instantiator_widget): set_property -> update.
6051         (image_instantiator_buttons): ditto.
6052         (image_instantiator_progress_guage): ditto.
6053         (image_instantiator_tab_control): ditto.
6054         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
6055         (image_instantiator_layout): add update method.
6056
6057         * glyphs-msw.c (bmp_normalize):
6058         (mswindows_resource_normalize): add dest_mask so that it can be
6059         proprogated by layout_normalize.
6060         (begin_defer_window_pos): make optional because it may not be the
6061         right thing to do and it introduces differences with X.
6062         (mswindows_unmap_subwindow): ditto.
6063         (mswindows_map_subwindow): ditto.
6064         (mswindows_redisplay_subwindow): renamed from
6065         mswindows_update_subwindow.
6066         (mswindows_redisplay_widget): ditto.
6067         (mswindows_button_redisplay): renamed from
6068         mswindows_button_update. Update is now what the instantiation
6069         function does for a changed instantiator.
6070         (mswindows_progress_gauge_instantiate): set the progress value
6071         here if appropriate.
6072         (mswindows_tab_control_redisplay): cope with re-ordering of the
6073         members of the tab widget by simply selecting the new top
6074         widget. This makes things appear ok if you click on a tab.
6075         (mswindows_combo_box_instantiate): image_instance_layout now takes
6076         position as well as size.
6077         (mswindows_progress_gauge_redisplay): renamed from
6078         mswindows_progress_gauge_update.
6079         (console_type_create_glyphs_mswindows): fix update -> redisplay.
6080         (image_instantiator_format_create_glyphs_mswindows): ditto.
6081
6082         * glyphs-eimage.c (jpeg_normalize):
6083         (gif_normalize):
6084         (png_normalize):
6085         (tiff_normalize): add dest_mask so that it can be proprogated by
6086         layout_normalize.
6087
6088         * elhash.c:
6089         (print_hash_table):
6090         (hash_table_weakness_validate):
6091         (decode_hash_table_weakness):
6092         (Fhash_table_weakness):
6093         (Fhash_table_type):
6094         (syms_of_elhash): use Ben's naming scheme for hashtable types..
6095
6096         * console.h (struct console_methods): move update_* to
6097         redisplay_*.
6098
6099 2000-07-20  Ben Wing  <ben@xemacs.org>
6100
6101         * *.[ch] (XSETOBJ): remove unused middle argument.
6102         lisp-disunion.h: correct wrap_object() to one argument.
6103
6104 2000-07-15  Ben Wing  <ben@xemacs.org>
6105
6106         * s/cygwin32.h:
6107         * s/cygwin32.h (CYGWIN_CONV_PATH):
6108         Add missing logb prototype for v1.1.
6109         Use post-b20 names and alias to pre-b20 names when pre-b20.
6110
6111         * s/windowsnt.h: [5].
6112
6113 2000-07-15  Ben Wing  <ben@xemacs.org>
6114
6115         * Makefile.in.in (x_objs):
6116         * Makefile.in.in (sheap_objs):
6117         * Makefile.in.in (objs):
6118         added win32.o, cosmetic cleanups.
6119
6120         * alloc.c (Fmake_byte_code):
6121         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
6122         etc. macros which declare their own args now.
6123
6124         * alloc.c (syms_of_alloc):
6125         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
6126
6127         * buffer.c:
6128         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
6129
6130         * buffer.c (Fget_file_buffer):
6131         Fixed GCPRO problem.
6132
6133         * buffer.c (get_truename_buffer):
6134         Fixed comment about GC checking.
6135
6136         * buffer.c (syms_of_buffer):
6137         Undeclared those dedicated frame funs.
6138         [2].
6139
6140         * buffer.h:
6141         Define convenience macros for internal/external conversions.
6142         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
6143         and Qenvironment_variable_encoding for cleaner code.
6144
6145         * bufslots.h:
6146         Remove dedicated-frame; in lisp.
6147
6148         * bytecode.c (funcall_compiled_function):
6149         [1].
6150
6151         * bytecode.c (syms_of_bytecode):
6152         [2].
6153
6154         * console-msw.c:
6155         * console-msw.c (mswindows_show_console): Rewrote.
6156
6157         * console-msw.c (Fmswindows_debugging_output): New.
6158         Sends to OutputDebugString (special MSWin debugger interface).
6159
6160         * console-msw.c (Fmswindows_message_box):
6161         Fixed stupid bugs so it works when called from kill-emacs.
6162
6163         * console-msw.c (syms_of_console_mswindows):
6164         Declare Fmswindows_debugging_output.
6165
6166         * console-msw.h:
6167         New MSWin prototypes.
6168
6169         * console-msw.h (struct mswindows_frame):
6170         New entry last-click-mods for improved button-modifier support.
6171
6172         * console-msw.h (FRAME_MSWINDOWS_POPUP):
6173         New struct entry `popup' with corresponding accessor.
6174
6175         * console-x.c:
6176         * console-x.c (split_up_display_spec):
6177         * console-x.c (get_display_arg_connection):
6178         * console-x.c (x_semi_canonicalize_console_connection):
6179         * console-x.c (x_canonicalize_device_connection):
6180         [[[6]]]: Change char to more specific type.
6181         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
6182
6183         * console-x.c (x_semi_canonicalize_console_connection):
6184         * console-x.c (x_canonicalize_device_connection):
6185         [[[9]]]: Fix up error signalling to use new structured error system.
6186
6187         * console-x.h:
6188         [[[4]]]: Define codesys aliases:
6189         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
6190         Qx_color_name_encoding, Qx_display_name_encoding.
6191
6192         * console.h (struct console_methods):
6193         New method make_dialog_box_internal supersedes older
6194         popup_dialog_box method.
6195
6196         * data.c:
6197         Define many new errors, part of new structured errors.
6198
6199         * data.c (init_errors_once_early):
6200         * data.c (syms_of_data):
6201         [2].
6202
6203         * device-msw.c (mswindows_init_device):
6204         [[[5]]]: Cleanup to support NT 3.51.
6205
6206         * device-msw.c (decode_devmode): Cleanup.
6207
6208         * device-msw.c (mswindows_handle_print_setup_dialog_box):
6209         * device-msw.c (mswindows_handle_print_dialog_box):
6210         * device-msw.c (mswindows_handle_page_setup_dialog_box):
6211         * device-msw.c (syms_of_device_mswindows):
6212         Delete the dialog box primitives recently introduced by Kirill and
6213         instead interface to general dialog box interface.
6214
6215         * device-x.c:
6216         * device-x.c (compute_x_app_name):
6217         * device-x.c (x_init_device):
6218         * device-x.c (Fx_valid_keysym_name_p):
6219         * device-x.c (Fx_set_font_path):
6220         [6].
6221         [7].
6222
6223         * device.h (wrap_device): New.
6224         First of its kind; meant to replace XSETDEVICE.
6225
6226         * dialog-msw.c: Many file-dialog symbols.
6227
6228         * dialog-msw.c (mswindows_register_popup_frame): New.
6229         * dialog-msw.c (mswindows_is_dialog_msg): New.
6230         For supporting kbd traversal in dialog boxes.
6231
6232         * dialog-msw.c (dialog_proc):
6233         Support hitting ESC in dialogs.
6234
6235         * dialog-msw.c (struct):
6236         Common dialog box errors.
6237
6238         * dialog-msw.c (handle_file_dialog_box): New.
6239         Add file dialog code.
6240
6241         * dialog-msw.c (handle_question_dialog_box):
6242         Redo existing code to support new question dialog syntax.
6243
6244         * dialog-msw.c (console_type_create_dialog_mswindows):
6245         We support new dialog console method.
6246
6247         * dialog-msw.c (syms_of_dialog_mswindows):
6248         * dialog-msw.c (vars_of_dialog_mswindows):
6249         New file dialog symbols, vars.
6250
6251         * dialog-x.c:
6252         * dialog-x.c (maybe_run_dbox_text_callback):
6253         * dialog-x.c (dbox_descriptor_to_widget_value):
6254         * dialog-x.c (x_make_dialog_box_internal):
6255         * dialog-x.c (console_type_create_dialog_x):
6256         Mule-ize entire file.
6257         Redo to support question dialog syntax.
6258         [6].
6259
6260         * dialog.c:
6261         * dialog.c (Fmake_dialog_box_internal):
6262         * dialog.c (syms_of_dialog):
6263         Kill old popup-dialog-box, replace with new primitive.
6264         Just call device method or signal error.
6265
6266         * eldap.c (Fldap_open):
6267         * eldap.c (Fldap_search_basic):
6268         * eldap.c (Fldap_add):
6269         * eldap.c (Fldap_modify):
6270         [1].
6271         [7].
6272
6273         * emacs.c:
6274         * emacs.c (make_arg_list_1):
6275         * emacs.c (make_arg_list):
6276         Mule-ize call to dll_init().
6277         [6].
6278         [8].
6279
6280         * emacs.c (make_argc_argv):
6281         * emacs.c (free_argc_argv):
6282         * emacs.c (init_cmdargs):
6283         * emacs.c (main_1):
6284         * emacs.c (Fkill_emacs):
6285         * emacs.c (Fdump_emacs):
6286         Update comments about what can be used in syms_* etc.
6287         Call init_win32() when necessary.
6288         Fix up MS Win dialog box in kill-buffer to actually work right.
6289         [7].
6290
6291         * eval.c:
6292         * eval.c (For):
6293         * eval.c (Fand):
6294         * eval.c (Fprogn):
6295         * eval.c (Fprog1):
6296         * eval.c (Fprog2):
6297         * eval.c (FletX):
6298         * eval.c (Flet):
6299         * eval.c (condition_case_3):
6300         * eval.c (Feval):
6301         * eval.c (function_argcount):
6302         * eval.c (funcall_lambda):
6303         [1].
6304
6305         * eval.c (type_error): New.
6306         * eval.c (maybe_type_error): New.
6307         * eval.c (continuable_type_error): New.
6308         * eval.c (maybe_continuable_type_error): New.
6309         * eval.c (type_error_with_frob): New.
6310         * eval.c (maybe_type_error_with_frob): New.
6311         * eval.c (continuable_type_error_with_frob): New.
6312         * eval.c (maybe_continuable_type_error_with_frob): New.
6313         New functions for use with structured errors.
6314
6315         * event-Xt.c:
6316         * event-Xt.c (x_event_to_emacs_event):
6317         Buttons are now modifiers too.
6318
6319         * event-Xt.c (emacs_Xt_current_event_timestamp):
6320         Implement new event method.
6321         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
6322
6323         * event-msw.c:
6324         * event-msw.c (ntpipe_shove_writer): [5].
6325         * event-msw.c (mswindows_enqueue_mouse_button_event):
6326         * event-msw.c (mswindows_drain_windows_queue):
6327         * event-msw.c (mswindows_wnd_proc): [7].
6328         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
6329         * event-msw.c (mswindows_modifier_state):
6330         Throughout: support new button modifiers.
6331
6332         * event-msw.c (emacs_mswindows_current_event_timestamp):
6333         Implement new event method.
6334         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
6335
6336         * event-stream.c:
6337         * event-stream.c (event_stream_current_event_timestamp): New.
6338         * event-stream.c (maybe_kbd_translate): New functionality.
6339         * event-stream.c (vars_of_event_stream):
6340         Document new kbd-translate-table functionality.
6341
6342         * event-stream.c (Fcurrent_event_timestamp): New.
6343         New primitive for use in fabricated events.
6344         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
6345
6346         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
6347
6348         * events.c:
6349         * events.c (Fmake_event):
6350         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
6351         [1].
6352         [9].
6353
6354         * events.c (format_event_object): fix gcc warnings.
6355
6356         * events.c (Fevent_timestamp): Document new primitives.
6357
6358         * events.c (TIMESTAMP_HALFSPACE): New.
6359
6360         * events.c (Fevent_timestamp_lessp): New.  New primitive for
6361         comparing timestamps correctly (half-space algorithm).
6362
6363         * events.c (Fevent_modifier_bits): Doc fix.
6364
6365         * events.c (Fevent_modifiers): Major doc addition.
6366         * events.c (event_x_y_pixel_internal): Typo fix.
6367         * events.c (syms_of_events): Declare new primitives.
6368
6369         * events.h:
6370         Update long comment for button modifiers, timestamps.
6371
6372         * events.h (struct event_stream):
6373         New current_event_timestamp method.
6374
6375         * extents.c:
6376         * extents.c (extent_in_region_p):
6377         * extents.c (decode_extent):
6378         * extents.c (Fset_extent_parent):
6379         * extents.c (decode_map_extents_flags):
6380         Fix gcc warnings.
6381         [9].
6382
6383         * extents.c (struct extent_at_arg):
6384         * extents.c (decode_extent_at_flag):
6385         * extents.c (extent_at_mapper):
6386         * extents.c (extent_at_bytind):
6387         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
6388         * extents.c (Fextents_at): New primitive. [9].
6389         * extents.c (symbol_to_glyph_layout): [9].
6390         Support new primitive `extents-at'.
6391
6392
6393         * extents.c (get_text_property_bytind):
6394         extent_at_bytind has another arg.
6395         [9].
6396
6397         * extents.c (syms_of_extents): New primitive.
6398
6399         * file-coding.c (Fmake_coding_system): [1].
6400         * file-coding.c (subsidiary_coding_system): fix gcc warning
6401         * file-coding.c (syms_of_file_coding): [2].
6402
6403         * fileio.c (Fexpand_file_name):
6404         * fileio.c (Fsysnetunam):
6405         * fileio.c (Ffile_exists_p):
6406         * fileio.c (Ffile_executable_p):
6407         * fileio.c (Fverify_visited_file_modtime):
6408         Clean up GCPROing.
6409
6410         * fileio.c (syms_of_fileio): [2].
6411
6412         * filelock.c (lock_file_1):
6413         * filelock.c (current_lock_owner):
6414         * filelock.c (lock_if_free):
6415         * filelock.c (lock_file):
6416         * filelock.c (unlock_file):
6417         Clean up GCPROing.
6418
6419         * fns.c (concat): Fix gcc warning.
6420
6421         * fns.c (Fmember):
6422         * fns.c (Fold_member):
6423         * fns.c (Fmemq):
6424         * fns.c (Fold_memq):
6425         * fns.c (memq_no_quit):
6426         * fns.c (Fassoc):
6427         * fns.c (Fold_assoc):
6428         * fns.c (Fassq):
6429         * fns.c (Fold_assq):
6430         * fns.c (assq_no_quit):
6431         * fns.c (Frassoc):
6432         * fns.c (Fold_rassoc):
6433         * fns.c (Frassq):
6434         * fns.c (Fold_rassq):
6435         * fns.c (rassq_no_quit):
6436         * fns.c (Fdelete):
6437         * fns.c (Fold_delete):
6438         * fns.c (Fdelq):
6439         * fns.c (Fold_delq):
6440         * fns.c (delq_no_quit):
6441         * fns.c (Fremassoc):
6442         * fns.c (Fremassq):
6443         * fns.c (remassq_no_quit):
6444         * fns.c (Fremrassoc):
6445         * fns.c (Fremrassq):
6446         * fns.c (remrassq_no_quit):
6447         * fns.c (Freverse):
6448         * fns.c (mapcar1):
6449         [1].
6450
6451         * frame-msw.c (mswindows_init_frame_1):
6452         * frame-msw.c (mswindows_delete_frame):
6453         Register popups with dialog code so keyboard traversing works.
6454
6455         * frame-tty.c (tty_raise_frame_no_select): [1].
6456
6457         * frame-x.c:
6458         * frame-x.c (x_set_frame_text_value):
6459         * frame-x.c (x_set_frame_properties):
6460         * frame-x.c (x_create_widgets):
6461         [7].
6462
6463         * frame.c:
6464         * frame.c (Fmouse_pixel_position): Minor doc fixes.
6465
6466         * frame.h (wrap_frame): New.
6467         Macro like wrap_device.
6468
6469         * general.c:
6470         * general.c (SYMBOL):
6471         * general.c (syms_of_general):
6472         Major reorg.  This is now just a wrapper and symbols themselves
6473         are listed in general-slots.h.
6474
6475         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
6476         * glyphs-msw.c (mswindows_resource_instantiate): [5].
6477
6478         * glyphs-msw.c (mswindows_native_layout_instantiate):
6479         Add DS_CONTROL so keyboard traversal will work.
6480
6481         * glyphs-widget.c:
6482         * glyphs-widget.c (syms_of_glyphs_widget):
6483         Move some symbols to general-slots.h.
6484
6485         * glyphs-x.c:
6486         * glyphs-x.c (xbm_instantiate_1):
6487         * glyphs-x.c (x_xbm_instantiate):
6488         * glyphs-x.c (x_xface_instantiate):
6489         * glyphs-x.c (autodetect_instantiate):
6490         * glyphs-x.c (cursor_font_instantiate):
6491         * glyphs-x.c (x_update_widget):
6492         * glyphs-x.c (x_widget_instantiate):
6493         * glyphs.c (bitmap_to_lisp_data):
6494         * glyphs.c (pixmap_to_lisp_data):
6495         [7].
6496
6497         * glyphs.c (syms_of_glyphs):
6498         [2].
6499
6500         * gui-x.c:
6501         * gui-x.c (print_widget_value):
6502         * gui-x.c (menu_separator_style_and_to_external):
6503         * gui-x.c (add_accel_and_to_external):
6504         * gui-x.c (button_item_to_widget_value):
6505         * gui-x.c (gui_items_to_widget_values_1):
6506         * gui-x.c (gui_items_to_widget_values):
6507         * gui-x.c (syms_of_gui_x):
6508         * gui-x.c (vars_of_gui_x):
6509         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
6510         [9].
6511
6512         * gui-x.h:
6513         Muleize, prototype changes matching gui-x.c.
6514
6515         * gui.c:
6516         * gui.c (separator_string_p):
6517         * gui.c (gui_item_add_keyval_pair):
6518         * gui.c (make_gui_item_from_keywords_internal):
6519         * gui.c (signal_too_long_error):
6520         * gui.c (parse_gui_item_tree_item):
6521         * gui.c (syms_of_gui):
6522         * gui.c (vars_of_gui):
6523         * gui.h:
6524         menu-no-selection-hook moved here (used by MSWin).
6525         Move some symbols to general-slots.h.
6526         [6].
6527         [9].
6528
6529         * insdel.c (get_buffer_pos_char):
6530         * insdel.c (get_buffer_range_char):
6531         Add GC comments.
6532
6533         * keymap.c (keymap_lookup_directly):
6534         * keymap.c (keymap_store):
6535         * keymap.c (ensure_meta_prefix_char_keymapp):
6536         * keymap.c (describe_map):
6537         * keymap.h:
6538         Support new button modifiers.
6539
6540         * lisp-disunion.h (wrap_object):
6541         * lisp-disunion.h (XSETOBJ):
6542         Rename make_obj to wrap_object.
6543
6544         * lisp-union.h:
6545         * lisp-union.h (make_int):
6546         * lisp-union.h (make_char):
6547         Support wrap_object.
6548
6549         * lisp.h:
6550         * lisp.h (LIST_LOOP):
6551         * lisp.h (EXTERNAL_LIST_LOOP):
6552         * lisp.h (LIST_LOOP_2):
6553         * lisp.h (EXTERNAL_LIST_LOOP_1):
6554         * lisp.h (EXTERNAL_LIST_LOOP_2):
6555         * lisp.h (EXTERNAL_LIST_LOOP_3):
6556         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
6557         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
6558         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
6559         * lisp.h (EXTERNAL_ALIST_LOOP_5):
6560         * lisp.h (EXTERNAL_ALIST_LOOP_6):
6561         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
6562         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
6563         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
6564         * lisp.h (struct Lisp_Symbol):
6565         * lisp.h (maybe_continuable_error_with_frob):
6566         Fix up section comments.
6567         Add new types for char to indicate usage.
6568         Delete symbols auto-generated from general-slots.h.
6569         Add prototypes for structured error functions.
6570         Add long comments describing looping macros and change interface
6571         so that lvalues are automatically declared.
6572         Add NO_DECLARE macro in case callers want to declare lvalues
6573         themselves.
6574
6575         * lread.c (read_syntax_error):
6576         * lread.c (continuable_read_syntax_error):
6577         * lread.c (read_structure):
6578         * lread.c (sequence_reader):
6579         * lread.c (read_list_conser):
6580         * lread.c (read_compiled_function):
6581         Rename syntax_error and continuable_syntax_error to avoid clash
6582         with same-named structured error functions.
6583
6584         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
6585         * menubar-msw.c (populate_menu_add_item):
6586         * menubar-msw.c (populate_or_checksum_helper):
6587         [5].
6588         [9].
6589
6590         * menubar-x.c:
6591         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
6592         Mule-ize whole file.
6593
6594         * menubar.c (Fnormalize_menu_item_name): Add optimization.
6595
6596         * mule-charset.c (Fmake_charset):
6597         * mule-wnnfns.c (Fwnn_set_param):
6598         [1].
6599
6600         * ntproc.c (create_child):
6601         * ntproc.c (Fwin32_set_current_locale):
6602         Add comments portending doom.
6603
6604         * objects-msw.c:
6605         * objects-msw.c (old_font_enum_callback_2):
6606         * objects-msw.c (font_enum_callback_1):
6607         * objects-msw.c (mswindows_enumerate_fonts):
6608         [5].
6609
6610         * objects-x.c:
6611         * objects-x.c (allocate_nearest_color):
6612         * objects-x.c (x_parse_nearest_color):
6613         * objects-x.c (x_initialize_color_instance):
6614         * objects-x.c (x_print_color_instance):
6615         * objects-x.c (x_finalize_color_instance):
6616         * objects-x.c (x_valid_color_name_p):
6617         * objects-x.c (x_initialize_font_instance):
6618         * objects-x.c (x_print_font_instance):
6619         * objects-x.c (valid_x_font_name_p):
6620         * objects-x.c (truename_via_FONT_prop):
6621         * objects-x.c (truename_via_random_props):
6622         * objects-x.c (truename_via_XListFonts):
6623         * objects-x.c (x_font_truename):
6624         * objects-x.c (x_font_instance_truename):
6625         * objects-x.c (x_font_instance_properties):
6626         * objects-x.c (x_list_fonts):
6627         * objects-x.c (x_find_charset_font):
6628         Mule-ize entire file.
6629         [7].
6630
6631         * objects-x.h:
6632         Mule-verify.
6633
6634         * print.c:
6635         * print.c (std_handle_out_external):
6636         * print.c (debug_print_no_newline):
6637         * print.c (syms_of_print):
6638         Output to all debugger kinds in debug-print.
6639         Fix console-output code under MSWin to actually work.
6640
6641         * process-nt.c (send_signal):
6642         * process-nt.c (nt_create_process):
6643         Use newer Unicode macros.
6644
6645         * process-unix.c (unix_create_process):
6646         * process-unix.c (unix_canonicalize_host_name):
6647         * process-unix.c (unix_open_network_stream):
6648         [7].
6649
6650         * scrollbar-x.c:
6651         Mule-verify.
6652
6653         * search.c (syms_of_search):
6654         [2].
6655
6656         * select-msw.c (mswindows_destroy_selection):
6657         Use LIST_LOOP_2.
6658
6659         * select-x.c (symbol_to_x_atom):
6660         [7].
6661
6662         * select.c (syms_of_select):
6663         [2].
6664
6665         * sound.c (Fplay_sound_file):
6666         [7].
6667
6668         * specifier.c:
6669         * specifier.c (decode_specifier_type):
6670         * specifier.c (Fvalid_specifier_locale_type_p):
6671         * specifier.c (check_valid_locale_or_locale_type):
6672         * specifier.c (decode_locale):
6673         * specifier.c (decode_locale_type):
6674         * specifier.c (decode_locale_list):
6675         * specifier.c (check_valid_domain):
6676         * specifier.c (decode_specifier_tag_set):
6677         * specifier.c (Fcanonicalize_tag_set):
6678         * specifier.c (Fdefine_specifier_tag):
6679         * specifier.c (Fspecifier_tag_predicate):
6680         * specifier.c (check_valid_inst_list):
6681         * specifier.c (check_valid_spec_list):
6682         * specifier.c (decode_how_to_add_specification):
6683         * specifier.c (check_modifiable_specifier):
6684         * specifier.c (specifier_add_spec):
6685         * specifier.c (boolean_validate):
6686         * specifier.c (display_table_validate):
6687         [9].
6688
6689         * specifier.c (syms_of_specifier):
6690         Move some symbols to general-slots.h.
6691         [2].
6692
6693         * symbols.c:
6694         * symbols.c (Fmapatoms):
6695         * symbols.c (Fapropos_internal):
6696         Add GCPROs.
6697
6698         * symbols.c (set_default_buffer_slot_variable):
6699         * symbols.c (set_default_console_slot_variable):
6700         [1].
6701
6702         * symbols.c (defsymbol_massage_name_1):
6703         * symbols.c (defkeyword_massage_name):
6704         * symbols.c (deferror_1):
6705         * symbols.c (deferror):
6706         * symbols.c (deferror_massage_name_and_message):
6707         * symeval.h:
6708         * symeval.h (DEFSYMBOL):
6709         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
6710
6711         * symbols.c (syms_of_symbols):
6712         [2].
6713
6714         * symsinit.h:
6715         * symsinit.h (init_win32): New.
6716         Also new is syms_of_dialog_mswindows.
6717
6718         * syswindows.h:
6719         Add new Unicode macros, missing Cygwin wide-char functions,
6720         convenience conversion macros for Qmswindows_tstr, macros for
6721         encapsulating required MSWin <-> Cygwin filename conversions,
6722         prototype for dynamically-extracted (not in NT 3.51) functions.
6723
6724         * toolbar-x.c:
6725         Mule-verify.
6726
6727         * tooltalk.c (Fadd_tooltalk_message_arg):
6728         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
6729         * tooltalk.c (Fadd_tooltalk_pattern_arg):
6730         [7].
6731
6732         * tooltalk.c (syms_of_tooltalk):
6733         [2].
6734
6735         * unexnt.c:
6736         * unexnt.c (unexec):
6737         Fix up headers, declaration of unexec() to be more standard.
6738
6739 2000-07-20  Martin Buchholz  <martin@xemacs.org>
6740
6741         * offix.h: Revert change to guard macros - they're used in offix.c!
6742
6743 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6744
6745         * lisp.h: Defsubred Fdelete.
6746
6747         * console-msw.h:  (msprinter_default_printer): Added.
6748
6749         * console-msw.c (msprinter_canonicalize_console_connection):
6750         (msprinter_canonicalize_device_connection): Added.
6751
6752         * device-msw.c (msprinter_default_printer):
6753         (Fmswingows_get_default_printer):
6754         (signal_enum_priner_error):
6755         (Fmswingows_printer_list): Added.
6756
6757 2000-07-19  Martin Buchholz <martin@xemacs.org>
6758
6759         * XEmacs 21.2.35 is released.
6760
6761 2000-07-19  Martin Buchholz  <martin@xemacs.org>
6762
6763         * select-x.c (x_handle_selection_request):
6764         Text selected in xemacs and pasted into xterm failed to appear.
6765         Spelling fixes and cosmetic changes.
6766
6767 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6768
6769         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
6770         XEmacs frame (fix for doubling chars in dialog boxes).
6771
6772 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
6773
6774         * select.c (select_convert_in, select_convert_out):
6775         Don't call intern() every time.
6776
6777         * select.c (Qselect_convert_in, Qselect_convert_out): New.
6778         * select.c (vars_of_select): Initialise them.
6779
6780 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
6781
6782         * select.c (selection-coercible-types): New.
6783
6784         * select.c (own-selection-internal):
6785         * select.c (get-selection-internal):
6786         MULE bug fix - these should default to COMPOUND_TEXT and not
6787         STRING for MULE. I think.
6788
6789         * select.c (select_convert_out): Use selection-coercible-types
6790         to find types that we can attempt to perform coercions on.
6791
6792 2000-07-18  Martin Buchholz  <martin@xemacs.org>
6793
6794         * mule-wnnfns.c:
6795         * mule-canna.c:
6796         Add coding: cookie to identify encoding.
6797
6798         * mule-canna.c (CANNA_mode_keys): make static.
6799         Use proper prototypes, even for functions of no arguments.
6800         Remove external prototype for Fding().
6801
6802         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
6803
6804         * select.c (syms_of_select): Add missing DEFSUBR.
6805
6806 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
6807
6808         * select.c (get_selection_internal, own_selection_internal):
6809         Make the type default to STRING, rather than placing a nil type
6810         into Vselection_alist.
6811
6812 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
6813
6814         * gpmevent.c (tty_selection_exists_p):
6815         * gpmevent.c (tty_own_selection):
6816         Updated parameter lists.
6817
6818 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
6819
6820         * select.h (selection-alist): Removed declaration.
6821
6822         * select.h (get_local_selection):
6823         * select.c (get_local_selection):
6824         Made static.
6825
6826         * select.h (convert_selection): Removed declaration.
6827         * select.c (convert_selection): Removed.
6828         This function belongs in Lisp.
6829
6830         * select.h (select_convert_in): Declare.
6831         * select.h (select_convert_out): Declare.
6832         * select.c (select_convert_in): New.
6833         * select.c (select_convert_out): New.
6834         New conversion functions for other files to call.
6835
6836         * select.h (select_notify_buffer_kill): Declare.
6837         * select.c (select_notify_buffer_kill): New.
6838         New functions that get called from kill-buffer.
6839
6840         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
6841         X-specific lisp code.
6842
6843         * select.h: Declare some of the lisp-visible functions for
6844         external use.
6845
6846         * select.c (clean_local_selection_data): Removed. This was
6847         a disgusting function, and previously should have been in
6848         select-x.c in any case. The functionality is now provided
6849         in select-convert-from-integer (select.el).
6850
6851         * select.c (available-selection-types): Fixed stupidity where
6852         INTEGER and ATOM got added twice. Also add STRING when we see an
6853         extent.
6854
6855         * select.c (get-selection-internal): Removed symbol stripping. No
6856         longer causes conversion when data comes from the internal cache.
6857
6858         * select.c (syms_of_select): Added new functions.
6859
6860         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
6861         error checking - previously this called abort!
6862
6863         * select-x.c (x_own_selection): Changed comment.
6864
6865         * select-x.c (x_handle_selection_request): Use select_convert_out.
6866         Don't mess with selection-alist; it's an internal variable of select.c.
6867
6868         * select-x.c (x_get_foreign_selection): Use select_convert_in.
6869
6870         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
6871         rather than messing with selection-alist.
6872
6873         * select-msw.c (mswindows_get_foreign_selection):
6874         Use TO_INTERNAL_FORMAT rather than hacking.
6875
6876 2000-07-14  Martin Buchholz  <martin@xemacs.org>
6877
6878         * process-unix.c (unix_open_multicast_group):
6879         (unix_open_multicast_group): Remove useless casts.
6880
6881 2000-07-13  Martin Buchholz  <martin@xemacs.org>
6882
6883         * sound.c (Fplay_sound): Fix `unused variable' warning.
6884
6885         * emacs.c (main): Use correct type for _environ on SCO5.
6886
6887 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
6888
6889         * console.h (own_selection_method):
6890         * console.h (selection_exists_p_method):
6891         * console.h (available_selection_types_method): New.
6892         * console.h (register_selection_data_type_method): New.
6893         * console.h (selection_data_type_name): New.
6894
6895         * console-msw.h (mswindows_destroy_selection): Declare it.  New
6896         function & alist to track GlobalAlloc()'d handles that need
6897         releasing when the clipboard data gets replaced or emptied.
6898
6899         * event-msw.c (mswindows_wnd_proc): Call it.
6900
6901         * lisp.h, general.c (Qappend): New symbol representing a
6902         `how-to-add' mode.
6903
6904         * select.c (own-selection-internal):
6905         * select.c (selection-exists-p):
6906         * select.c (available-selection-types): New.
6907         * select.c (register-selection-data-type): New.
6908         * select.c (selection-data-type-name): New.  New functions to deal
6909         with device-specific selection data formats.
6910         * select.c (selection-converter-out-alist): Renamed.
6911         * select.c (selection-converter-in-alist): New.
6912         * select.c (selection-appender-alist): New.  Added new alists.
6913         * select.c (syms_of_select, vars_of_select): Added new symbols &
6914         variables.
6915         * select.c (get_local_selection): Split.
6916         * select.c: Removed spurious type checking - selections may now be
6917         of any type, not just strings.
6918         * select.c (own-selection-internal):
6919
6920         * select.h, select.c (convert_selection): New. Created
6921         convert_selection() function based on get_local_selection().
6922         * select.h, select.c (QCF_*): New symbols representing mswindows
6923         clipboard formats.
6924         * select.h, select.c (Qreplace_all, Qreplace_existing): New
6925         symbols representing `how-to-add' modes.
6926
6927         * select-msw.c (x_sym_p): New.
6928         * select-msw.c (symbol_to_ms_cf): New.
6929         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
6930         symbols & clipboard formats. Can also handle string names.
6931         * select-msw.c (mswindows_own_selection):
6932         * select-msw.c (mswindows_selection_exists_p):
6933         Added `data-type' parameter. Use it.
6934         * select-msw.c (mswindows_available_selection_types): New.
6935         * select-msw.c (mswindows_register_selection_data_type): New.
6936         * select-msw.c (mswindows_selection_data_type_name): New.
6937         * select-msw.c (mswindows_own_selection):
6938         * select-msw.c (mswindows_get_foreign_selection):
6939         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
6940         * select-msw.c (console_create_select_mswindows): Added new methods.
6941         * select-msw.c (mswindows_destroy_selection): New.
6942         * select-msw.c (Vhandle_alist): New list.
6943         * select-msw.c (mswindows_own_selection):
6944
6945         * select-x.c (x_own_selection):
6946         * select-x.c (x_selection_exists_p):
6947         * select-x.c: Added some comments about maybe using new
6948         functionality.
6949         * select-x.c (x_own_selection):
6950
6951         * specifier.c: Remove definition of Qappend (now in general.c)
6952         * specifier.c (syms_of_specifier): Remove Qappend.
6953
6954 2000-07-12  Martin Buchholz  <martin@xemacs.org>
6955
6956         * config.h.in: Add socklen_t.
6957
6958         * s/decosf4-0.h: No special compiler flags needed or desired.
6959         In particular, undefine _BSD for DEC OSF 4.0.
6960
6961 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6962
6963         * redisplay-msw.c (msprinter_frame_output_end): Added.
6964         (console_type_create_redisplay_mswindows): Referred the above.
6965
6966         * frame.c (setup_frame_without_minibuffer): Do not create a
6967         default minibuffer frame on a printer device.
6968
6969         * frame-msw.c (apply_dc_geometry): Added.
6970         (msprinter_start_page):
6971         (msprinter_init_frame_3):
6972         (msprinter_eject_page): Use it.
6973
6974         * console-msw.h (struct msprinter_frame): Added pix_left and top,
6975         and removed residual duplex and orientation properties.
6976
6977 2000-07-11  Martin Buchholz  <martin@xemacs.org>
6978
6979         * eval.c (function_argcount): Work around a DEC CC compiler bug.
6980
6981         * unexalpha.c: Remove system prototypes from C sources!
6982
6983 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
6984
6985         * eval.c: Remove references to M-x edit-options in DEFUNs for
6986         `defvar' and `defconst'.
6987
6988 2000-07-09  Martin Buchholz  <martin@xemacs.org>
6989
6990         * config.h.in: Remove SMART_INCLUDE hackery.
6991
6992         PostgreSQL hacking:
6993         * config.h.in: Don't use SMART_INCLUDE.
6994
6995         * postgresql.h: Include libpq-fe.h here.  Fix typo.
6996         * inline.c: Simply #include "postgresql.h"
6997         * postgresql.c:
6998         - Don't use SMART_INCLUDE
6999         - Use simply "const".
7000         - Use standard doc string conventions.
7001         - Use correct type for result of PQstatus.
7002
7003 2000-07-09  Martin Buchholz  <martin@xemacs.org>
7004
7005         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
7006
7007         C++ compilation changes.
7008         * config.h.in (EXTERN_C): Define.
7009         * config.h.in (not): This is also a C++ keyword.
7010         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
7011         * cm.c: Use EXTERN_C.
7012         * redisplay-tty.c: Use EXTERN_C.
7013         * sysdep.c: Use EXTERN_C.  Remove Gould support.
7014
7015 2000-07-09  Martin Buchholz  <martin@xemacs.org>
7016
7017         * general.c: Remove duplicate definition for Qfunction.
7018
7019 2000-07-08  Ben Wing  <ben@xemacs.org>
7020
7021         * device-msw.c (msprinter_init_device):
7022         * device-msw.c (sync_printer_with_devmode):
7023         * device-msw.c (handle_devmode_changes):
7024         * device-msw.c (print_dialog_worker):
7025         * device-msw.c (Fmsprinter_apply_settings):
7026         * device-msw.c (hash_devmode):
7027         * device-msw.c (Fmsprinter_settings_despecialize):
7028         use Qmswindows_tstr, not Qctext.
7029
7030         * vm-limit.c (check_memory_limits):
7031         avoid infinite loop printing warning messages.
7032
7033 2000-07-05  Craig Lanning  <lanning@scra.org>
7034
7035         * Makefile.in.in: Add support for including the Windows resources
7036         when building with the cygwin and mingw targets.
7037
7038         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
7039         not set or not correct.
7040         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
7041         (init_initial_directory): Don't try to use $PWD on the
7042         WIN32_NATIVE target.
7043
7044         * s\cygwin32.h:
7045         [[Add -mwindows to eliminate console window.]] not required --ben
7046         (HAVE_NATIVE_SOUND): removed; now handled by configure.
7047         (MAIL_USE_POP): removed; now handled by configure.
7048
7049         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
7050         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
7051         (HAVE_NATIVE_SOUND): removed; now handled by configure.
7052         (MAIL_USE_POP): removed; now handled by configure.
7053         (ENCAPSULATE_STAT): from Dan Holmsand, added.
7054         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
7055         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
7056         constant string.
7057         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
7058         up from <winsock.h> via systime.h.
7059         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
7060         (getpagesize): from Dan Holmsand, added.
7061         Added #endif which was left dangling by Ben's mega patch; added
7062         comment to help prevent this in the future.
7063
7064         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
7065
7066 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7067
7068         * console-msw.h (struct mswindows_device): Removed unnecessary
7069         cached device geometry values.
7070         Added update_tick and an accessor macro.
7071         (Lisp_Devmode): Added lrecord declaration.
7072         (struct msprinter_device): Contain devmode as a Lisp object.
7073         Added mswindows_get_selected_frame_hwnd();
7074
7075         * console.h (struct console_methods): Indentation nitpicking.
7076
7077         * device-msw.c (mswindows_init_device): Do not initialize geometry
7078         cache. Initialize update tick.
7079         (mswindows_device_system_metrics): Ask the device for its geometry.
7080         (global_free_2_maybe):
7081         (devmode_to_hglobal):
7082         (handle_printer_changes):
7083         (ensure_not_printing):
7084         (print_dialog_worker):
7085         (Fmsprinter_print_setup_dialog):
7086         (Fmsprinter_print_dialog):
7087         (plist_get_margin):
7088         (plist_set_margin):
7089         (Fmsprinter_page_setup_dialog): Added functions.
7090         (sync_printer_with_devmode):
7091         (handle_devmode_changes):
7092         (Fmsprinter_get_settings):
7093         (Fmsprinter_select_settings):
7094         (Fmsprinter_apply_settings):
7095         (allocate_devmode):
7096         (Fmsprinter_settings_copy):
7097         (Fmsprinter_settings_despecialize):
7098         (print_devmode):
7099         (finalize_devmode):
7100         (equal_devmode):
7101         (hash_devmode): Added functions
7102         (syms_of_device_mswindows): Init devmode lrecord class.
7103
7104         * device.h: Added an exfun for find-device.
7105
7106         * event-msw.c (mswindows_wnd_proc): Do not update the cached
7107         geometry; although, recreate the device compatible DC.
7108
7109         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
7110         (msprinter_init_frame_3):
7111         (msprinter_frame_property):
7112         (msprinter_internal_frame_property_p):
7113         (msprinter_frame_properties):
7114         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
7115         print job properties (will move to device settings).
7116
7117         * lisp.h: Added symbols.
7118
7119         * general.c (syms_of_general): Declared them.
7120
7121         * hash.c (string_hash): Added.
7122
7123         * lrecord.h (lrecord_type): Added devmode lrecord type.
7124
7125 2000-07-02  Mike Sperber <mike@xemacs.org>
7126
7127         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
7128         FreeBSD 4.0.
7129
7130 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
7131
7132         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
7133         integer.
7134
7135 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
7136
7137         * data.c (Fstring_to_number): Don't recognize floating point if
7138         base is not 10.
7139
7140 2000-06-22  Martin Buchholz  <martin@xemacs.org>
7141
7142         * glyphs-widget.c (tab_control_query_geometry):
7143         (widget_query_geometry):
7144         (button_query_geometry):
7145         * glyphs.c (text_query_geometry):
7146         Enforce type correctness.
7147
7148 2000-06-18  Martin Buchholz  <martin@xemacs.org>
7149
7150         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
7151         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
7152
7153 2000-06-17  Martin Buchholz  <martin@xemacs.org>
7154
7155         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
7156         conflicts with gcc's fixincluded version of FOO.h.
7157
7158         * glyphs.h (image_instance_geometry): Remove trailing `,'
7159
7160 2000-06-08  Mike Alexander  <mta@arbortext.com>
7161
7162         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
7163         (shove_thread): Don't write the same output twice
7164         (make_ntpipe_output_stream): Increase priority of shove thread
7165         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
7166         chance to run
7167         (ntpipe_shove_closer): Don't delete the pipe until we're done with
7168         it.
7169
7170 2000-06-12  Ben Wing  <ben@xemacs.org>
7171
7172         * s\mingw32.h (sigset):
7173         * s\windowsnt.h (sigset):
7174         rename msw_ to mswindows_ for consistency with general convention.
7175
7176 2000-06-12  Ben Wing  <ben@xemacs.org>
7177
7178         * console-msw.c:
7179         * console-msw.c (mswindows_get_console_hwnd):
7180         * console-msw.c (mswindows_ensure_console_allocated):
7181         * console-msw.c (mswindows_hide_console):
7182         * console-msw.c (mswindows_show_console):
7183         * console-msw.c (mswindows_ensure_console_buffered):
7184         * console-msw.c (mswindows_output_console_string):
7185         * console-msw.c (mswindows_windows9x_p):
7186         * console-msw.h:
7187         * device-msw.c (mswindows_get_workspace_coords):
7188         * device-msw.c (mswindows_device_system_metrics):
7189         * dialog-msw.c (mswindows_popup_dialog_box):
7190         * event-msw.c (mswindows_wnd_proc):
7191         * frame-msw.c (mswindows_size_frame_internal):
7192         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
7193         * menubar-msw.c (displayable_menu_item):
7194         * menubar-msw.c (mswindows_char_is_accelerator):
7195         * nt.c:
7196         * nt.c (mswindows_sigset):
7197         * nt.c (mswindows_sigrelse):
7198         * nt.c (mswindows_sigpause):
7199         * nt.c (mswindows_raise):
7200         * nt.c (timer_proc):
7201         * ntproc.c:
7202         * ntproc.c (find_child_console):
7203         * ntproc.c (sys_kill):
7204         * print.c:
7205         * print.c (std_handle_out_external):
7206         * process-nt.c (find_child_console):
7207         * process-nt.c (send_signal_the_95_way):
7208         * process-nt.c (ensure_console_window_exists):
7209         * process-nt.c (nt_create_process):
7210         * syssignal.h:
7211         rename msw_ to mswindows_ for consistency with general convention.
7212
7213         * emacs.c:
7214         * dumper.c:
7215         include nt.h, not syswindows.h.
7216
7217         * nt.c (mswindows_fstat):
7218         * nt.c (mswindows_stat):
7219         prefix mswindows_ instead of attempting to directly override the
7220         library functions.  fix declarations.
7221
7222         * nt.h:
7223         include syswindows.h.  move some sysdep.h stuff here.
7224
7225         * ntheap.h:
7226         include syswindows.h, not <windows.h>.
7227
7228         * ntplay.c:
7229         clean up headers.
7230
7231         * sysdep.c:
7232         clean up headers.
7233
7234         * sysdep.c (sys_fstat):
7235         * sysdep.c (sys_stat):
7236         call mswindows versions when appropriate.
7237
7238         * sysdep.h:
7239         move mswin decls to nt.h.
7240
7241         * syswindows.h:
7242         add long comment describing appropriate use of the various windows
7243         headers.
7244
7245 2000-06-11  Ben Wing  <ben@xemacs.org>
7246
7247         * device-x.c: Correct doc string for sixth arg of x-get-resource.
7248
7249 2000-06-10  Ben Wing  <ben@xemacs.org>
7250
7251         * Makefile.in.in (release):
7252         Correction to make sure xemacs.exe always dumped when correct.
7253
7254         * alloca.c:
7255         * balloon_help.c:
7256         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
7257
7258         * buffer.c (set_buffer_internal):
7259         [[[[2]]]]: Remove HAVE_FEP code.
7260
7261         * buffer.c (init_initial_directory):
7262         [3].
7263
7264         * bytecode.c:
7265         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
7266         individual files.
7267
7268         * callproc.c:
7269         * callproc.c (call_process_cleanup):
7270         * callproc.c (Fold_call_process_internal):
7271         * callproc.c (child_setup):
7272         * callproc.c (getenv_internal):
7273         * callproc.c (init_callproc):
7274         * callproc.c (vars_of_callproc):
7275         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
7276         __CYGWIN32__ -> CYGWIN.
7277         DOS_NT -> WIN32_NATIVE.
7278         Remove MSDOS support/references, converting to WIN32_NATIVE
7279           where correct.
7280         __MINGW32__ -> MINGW.
7281         Fix windows.h includes.
7282         Remove bogus HAVE_NTGUI.
7283
7284         * config.h.in:
7285         [2].
7286
7287         * console-msw.c:
7288         mswindows_message_outputted added for use in allowing startup
7289         errors on the console to be seen.
7290
7291         * console-msw.c (msw_ensure_console_allocated):
7292         * console-msw.c (msw_output_console_string):
7293         * console-msw.c (DHEADER):
7294         * console-msw.c (DOPAQUE_DATA):
7295         * console-msw.c (DEVENT):
7296         * console-msw.c (DCONS):
7297         * console-msw.c (DCONSCDR):
7298         * console-msw.c (DSTRING):
7299         * console-msw.c (DVECTOR):
7300         * console-msw.c (DSYMBOL):
7301         * console-msw.c (DSYMNAME):
7302         Fix warnings.
7303
7304         * console-stream.c (stream_init_console):
7305         Fix text/binary problems.
7306
7307         * device-msw.c:
7308         * device-msw.c (mswindows_finish_init_device):
7309         * device-msw.c (mswindows_delete_device):
7310         [1].
7311
7312         * device.c (handle_asynch_device_change):
7313         [3].
7314
7315         * dgif_lib.c:
7316         * dgif_lib.c (DGifOpenFileName):
7317         * dgif_lib.c (DGifOpenFileHandle):
7318         * dgif_lib.c (DGifGetLine):
7319         * dgif_lib.c (DGifGetPixel):
7320         Added config.h/lisp.h, fix up includes.
7321         [1].
7322
7323         * dired-msw.c:
7324         [4].
7325
7326         * dired.c:
7327         * dired.c (file_name_completion):
7328         * dired.c (Ffile_attributes):
7329         * dired.c (syms_of_dired):
7330         [1].
7331
7332         * dumper.c:
7333         * dumper.c (pdump_file_unmap):
7334         * dumper.c (pdump_load):
7335         [1].
7336
7337         * editfns.c:
7338         * editfns.c (Ftemp_directory):
7339         * editfns.c (user_login_name):
7340         * editfns.c (Fuser_real_login_name):
7341         * editfns.c (get_home_directory):
7342         [1].
7343
7344         * elhash.c (finish_marking_weak_hash_tables):
7345         [[[[5]]]]: Fix GCC warnings.
7346
7347         * emacs.c:
7348         * emacs.c (mswindows_handle_hardware_exceptions):
7349         * emacs.c (make_arg_list_1):
7350         * emacs.c (main_1):
7351         * emacs.c (Fkill_emacs):
7352         * emacs.c (Fdump_emacs):
7353         [1].
7354         Fix problems with nested crashes, add long comment.
7355
7356         * event-Xt.c (init_event_Xt_late):
7357         [1].
7358
7359         * event-msw.c:
7360         * event-msw.c (mswindows_dde_callback):
7361         * event-msw.c (mswindows_handle_sticky_modifiers):
7362         * event-msw.c (mswindows_wnd_proc):
7363         [1].
7364         [5].
7365
7366         * events.c (character_to_event):
7367         [1].
7368
7369         * fileio.c:
7370         * fileio.c (Ffile_name_directory):
7371         * fileio.c (Ffile_name_nondirectory):
7372         * fileio.c (directory_file_name):
7373         * fileio.c (Fexpand_file_name):
7374         * fileio.c (Fsubstitute_in_file_name):
7375         * fileio.c (Ffile_name_absolute_p):
7376         * fileio.c (check_executable):
7377         * fileio.c (Ffile_readable_p):
7378         * fileio.c (Ffile_accessible_directory_p):
7379         * fileio.c (Ffile_modes):
7380         * fileio.c (Funix_sync):
7381         * fileio.c (vars_of_fileio):
7382         [1]. [4].
7383
7384         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
7385
7386         Expand getdefdir defn.
7387         Fix bogus rename() comment.
7388
7389         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
7390         to use standard XEmacs include files, e.g. sysfile.h, rather
7391         than system-specific includes.
7392
7393         * fns.c:
7394         * fns.c (Fsubseq):
7395         [5]. [6].
7396
7397         * frame.c (vars_of_frame):
7398         [1].
7399
7400         * getloadavg.c:
7401         * getloadavg.c (getloadavg):
7402         [1]. [6].
7403         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
7404         (We don't use it elsewhere in the code; just add a comment.)
7405
7406         * gif_io.c:
7407         [6].
7408         Add config.h.
7409
7410         * glyphs-msw.c:
7411         * glyphs-msw.c (mswindows_resource_instantiate):
7412         [1].
7413
7414         * glyphs-x.c (x_native_layout_instantiate):
7415         [5].
7416
7417         * gui-msw.c (Fmswindows_shell_execute):
7418         [1].
7419
7420         * insdel.c:
7421         [4].
7422
7423         * lisp.h:
7424         [4]. [5].
7425
7426         * lread.c (locate_file_in_directory_mapper):
7427         [1].
7428
7429         * lstream.c:
7430         [4].
7431
7432         * mem-limits.h:
7433         * mem-limits.h (get_lim_data):
7434         [1].
7435
7436         * menubar-msw.c:
7437         [4].
7438
7439         * ndir.h:
7440         [1].
7441
7442         * nt.c:
7443         * nt.c (getwd):
7444         * nt.c (closedir):
7445         * nt.c (rva_to_section):
7446         * nt.c (mswindows_executable_type):
7447         [1]. [6].
7448         Fix closedir() defn.
7449
7450         * nt.h:
7451         [[[[8]]]]: *_OK defs moved to sysfile.h.
7452
7453         * ntproc.c:
7454         [6]. [7].
7455
7456         * objects-x.c:
7457         [4].
7458
7459         * print.c:
7460         * print.c (std_handle_out_external):
7461         [1]. [4].
7462
7463         * process-nt.c:
7464         * process-nt.c (nt_create_process):
7465         [6].
7466         try to fix process quoting somewhat.
7467
7468         * process-unix.c (unix_create_process):
7469         [1].
7470
7471         * process.c:
7472         * process.c (vars_of_process):
7473         Add Vnull_device.
7474
7475         * process.h:
7476         [1].
7477
7478         * realpath.c:
7479         * realpath.c (xrealpath):
7480         [1].
7481
7482         * redisplay-tty.c (init_tty_for_redisplay):
7483         [3].
7484
7485         * redisplay.c:
7486         [4]. [6].
7487
7488         * scrollbar-msw.c:
7489         [4].
7490
7491         * sheap.c:
7492         * sheap.c (more_static_core):
7493         * sheap.c (report_sheap_usage):
7494         [5]. [6].
7495
7496         * signal.c:
7497         * signal.c (alarm_signal):
7498         [1]. [6].
7499
7500         * sound.c:
7501         [6].
7502
7503         * strftime.c:
7504         * strftime.c (zone_name):
7505         [1]. [5].
7506
7507         * symsinit.h (init_sunpro):
7508         [1].
7509
7510         * syscommctrl.h:
7511         commctrl.h not in Cygwin b20.1.
7512
7513         * sysdep.c:
7514         * sysdep.c (endif):
7515         * sysdep.c (sys_subshell):
7516         * sysdep.c (init_baud_rate):
7517         * sysdep.c (emacs_get_tty):
7518         * sysdep.c (emacs_set_tty):
7519         * sysdep.c (tty_init_sys_modes_on_device):
7520         * sysdep.c (init_system_name):
7521         * sysdep.c (sys_open):
7522         * sysdep.c (interruptible_open):
7523         * sysdep.c (sys_fopen):
7524         * sysdep.c (sys_mkdir):
7525         * sysdep.c (sys_rename):
7526         * sysdep.c (get_process_times_1):
7527         [1]. [6].
7528
7529         * sysdep.h:
7530         [1].
7531
7532         * sysdir.h:
7533         * sysdir.h (DIRENTRY_NONEMPTY):
7534         [1]. [6].
7535
7536         * sysdll.c (dll_init):
7537         * sysdll.h:
7538         [1].
7539
7540         * sysfile.h:
7541         [1]. [6]. [8].
7542         added text/binary defs.
7543
7544         * sysfloat.h:
7545         [1].
7546
7547         * sysproc.h:
7548         * sysproc.h (EDESTADDRREQ):
7549         * sysproc.h (poll_fds_for_input):
7550         [1]. [6].
7551
7552         * syspwd.h:
7553         [6].
7554
7555         * syssignal.h:
7556         [1].
7557
7558         * systime.h:
7559         [1]. [6].
7560
7561         * systty.h:
7562         [1].
7563
7564         * syswindows.h:
7565         [1].
7566         Always define WIN32_LEAN_AND_MEAN.
7567
7568         * unexcw.c (unexec):
7569         [5].
7570
7571         * unexec.c:
7572         * unexec.c (copy_text_and_data):
7573         * unexec.c (adjust_lnnoptrs):
7574         [1].
7575
7576         * unexnt.c:
7577         * unexnt.c (_start):
7578         [1].
7579
7580 2000-06-07  Ben Wing  <ben@xemacs.org>
7581
7582         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
7583         was used only as a model.  We've long since extracted any useful
7584         logic or code out of this. (I just did an exhaustive search.)
7585
7586         * s\msdos.h: Removed.
7587
7588         * s\windows95.h: Removed.
7589
7590 2000-06-10  Ben Wing  <ben@xemacs.org>
7591
7592         * s\cygwin32.h:
7593         [1]. [5].
7594         Don't use extern with fun defs.
7595
7596         * s\mingw32.h:
7597         [1]. [7].
7598         Remove nt\inc include.
7599         Remove getdisk, getdefdir. (The former is unused, the latter
7600         expanded in fileio.h.)
7601
7602         * s\windowsnt.h:
7603         * s\windowsnt.h (WIN32_NATIVE):
7604         * s\windowsnt.h (HAVE_STRCASECMP):
7605         [1]. [7].
7606         Add long comment about preprocessor changes.
7607         Remove getdisk, getdefdir. (The former is unused, the latter
7608         expanded in fileio.h.)
7609
7610 2000-06-10  Ben Wing  <ben@xemacs.org>
7611
7612         * m\arm.h:
7613         * m\delta.h:
7614         * m\intel386.h:
7615         * m\sequent.h:
7616         * m\template.h:
7617         * m\windowsnt.h:
7618         [1].
7619         Remove bogus/unused NO_SOCK_SIGIO.
7620
7621 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
7622
7623         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
7624         not an Emchar.
7625
7626 2000-06-04  Mike Sperber <mike@xemacs.org>
7627
7628         * casetab.c (set_case_table): For `set-standard-case-table',
7629         actually deposit the new case tables where the rest of XEmacs can
7630         see them.
7631
7632 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
7633
7634         * data.c (Faset): Don't cast XCHAR() to unsigned char.
7635
7636 2000-06-05  Ben Wing  <ben@xemacs.org>
7637
7638         * callproc.c (child_setup): Don't do close_load_descs() under
7639         MS Windows.  Put in a comment explaining why.
7640
7641 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
7642
7643         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
7644         Toolkit shell" which breaks `kill-compilation' on Windows NT
7645         native, retaining STDERR handling improvements.
7646
7647 2000-06-01  Andreas Jaeger  <aj@suse.de>
7648
7649         * s/s390.h: Support for S390, based on a patch by Martin
7650         Schwidefsky <schwidefsky@de.ibm.com>.
7651
7652 2000-05-30  Andy Piper  <andy@xemacs.org>
7653
7654         * window.c (allocate_window):
7655         (make_dummy_parent):
7656         (Fset_window_configuration): use new hashtable type.
7657
7658         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
7659         (struct image_instantiator_methods):
7660         (struct Lisp_Image_Instance): make instance geometry signed.
7661
7662         * glyphs.c (instantiate_image_instantiator):
7663         (image_instance_query_geometry):
7664         (image_instance_layout):
7665         (image_instance_layout):
7666         (query_string_geometry):
7667         (text_query_geometry):
7668         (image_instantiate):
7669         (image_instantiate):
7670         (cache_subwindow_instance_in_frame_maybe):
7671         (subwindow_query_geometry): make instance geometry signed.
7672
7673         * glyphs-widget.c (widget_query_geometry):
7674         (widget_layout):
7675         (button_query_geometry):
7676         (tree_view_query_geometry):
7677         (tab_control_query_geometry):
7678         (layout_query_geometry):
7679         (layout_layout):
7680         (native_layout_layout): make instance geometry signed.
7681
7682 2000-05-29  Olivier Galibert  <galibert@pobox.com>
7683
7684         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
7685         constant.
7686
7687         * general.c (syms_of_general): Add Qfull_assoc symbol.
7688
7689         * data.c (finish_marking_weak_lists): Mark full-assoc lists
7690         correctly.
7691         (decode_weak_list_type): Decode full-assoc type.
7692         (encode_weak_list_type): Encode full-assoc type.
7693         (Fmake_weak_list): Update doc string.
7694
7695 2000-05-30  Andy Piper  <andy@xemacs.org>
7696
7697         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
7698
7699         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
7700         (decode_hash_table_weakness): ditto.
7701         (Fhash_table_weakness): ditto.
7702         (Fhash_table_type): ditto.
7703         (finish_marking_weak_hash_tables): ditto.
7704         (hash_table_weakness_validate): ditto.
7705         (syms_of_elhash): ditto.
7706
7707 2000-05-28  Martin Buchholz <martin@xemacs.org>
7708
7709         * XEmacs 21.2.34 is released.
7710
7711 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
7712
7713         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
7714         start cache.
7715         (updating_line_start_cache): Gone.
7716         (regenerate_window): Replace resetting of VERTICAL_CLIP by
7717         generic code to force a minimum of 1 line laid out in the
7718         CMOTION_DISP case.
7719
7720 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
7721
7722         * glyphs.c (instantiate_image_instantiator): Check for initialized
7723         height & width no longer special cases IMAGE_NOTHING.
7724         (nothing_instantiate): Set height and width of instance.
7725
7726 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
7727
7728         * unexelf.c (unexec): Search for ".data" section.
7729         Initialize new_data2_offset from old_data_index.
7730         Remove redundant check for ElfW.
7731
7732 2000-05-23  Andy Piper  <andy@xemacs.org>
7733
7734         * glyphs.c (get_image_instantiator_governing_domain): allow more
7735         specific domains as the governing domain rather than expecting an
7736         exact match. This fixes problems with layouts.
7737
7738 2000-05-22  Andy Piper  <andy@xemacs.org>
7739
7740         * redisplay-output.c (compare_runes): check for non-images
7741
7742         * glyphs.c (set_glyph_dirty_p): ditto.
7743         (update_glyph_cachel_data): ditto.
7744
7745         * glyphs-widget.c (layout_post_instantiate): ditto.
7746         (layout_post_instantiate): ditto.
7747
7748         * event-msw.c (mswindows_wnd_proc): warning removal.
7749
7750 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
7751
7752         * s\mingw32.h: Added #undef for CLASH_DETECTION.
7753
7754         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
7755
7756         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
7757
7758         * nt.c (rva_to_section): mingw32 needs rva_to_section.
7759         (mswindows_executable_type): mingw32 now has enough headers for
7760         this to work.
7761
7762 2000-05-20  Andy Piper  <andy@xemacs.org>
7763
7764         * console-msw.c (mswindows_output_last_error): ; -> ,
7765
7766 2000-05-12  Andy Piper  <andy@xemacs.org>
7767
7768         * console-msw.c (FROB): compare ints with ints.
7769
7770 2000-05-11  Andy Piper  <andy@xemacs.org>
7771
7772         * glyphs-x.c (x_finalize_image_instance): make minimal build
7773         happy.
7774
7775 2000-05-20  Ben Wing  <ben@xemacs.org>
7776
7777         * event-Xt.c:
7778         * event-Xt.c (vars_of_event_Xt):
7779         move modifier-keys-are-sticky to event-stream.c.
7780
7781         * event-msw.c:
7782         * event-msw.c (mswindows_enqueue_mouse_button_event):
7783         * event-msw.c (key_needs_default_processing_p):
7784         * event-msw.c (XEMSW_LCONTROL):
7785         * event-msw.c (mswindows_handle_sticky_modifiers):
7786         * event-msw.c (FROB):
7787         * event-msw.c (clear_sticky_modifiers):
7788         * event-msw.c (output_modifier_keyboard_state):
7789         * event-msw.c (output_alt_keyboard_state):
7790         * event-msw.c (mswindows_wnd_proc):
7791         * event-msw.c (mswindows_modifier_state):
7792         * event-msw.c (emacs_mswindows_handle_magic_event):
7793         implement sticky modifiers.
7794
7795         * event-stream.c:
7796         * event-stream.c (vars_of_event_stream):
7797         move modifier-keys-are-sticky here.
7798
7799         * lisp.h:
7800         add CHECK_FUNCTION.
7801
7802         * rangetab.c:
7803         implement map-range-table.
7804
7805
7806 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
7807
7808         * redisplay-tty.c (reset_tty_modes):
7809         (tty_redisplay_shutdown): Adjust argument type to
7810         tty_frame_output_end.
7811
7812 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
7813
7814         * eval.c (Fbacktrace): Don't output a line with only right
7815         parenthesis.
7816
7817 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
7818
7819         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
7820         (Fpq_reset_poll): Ditto.
7821
7822 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
7823
7824         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
7825
7826 2000-05-16  Ben Wing  <ben@xemacs.org>
7827
7828         * buffer.c:
7829         * buffer.c (dfc_convert_to/from_internal_format):
7830         * buffer.c (reinit_vars_of_buffer):
7831         Fix conversion functions to allow reentrancy.
7832
7833         * console-msw.c:
7834         * console-msw.c (mswindows_output_last_error):
7835         New fun, generally useful -- output a human-readable
7836         version of GetLastError() on the console.
7837
7838         * console-msw.h:
7839         * console-msw.h (struct mswindows_frame):
7840         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
7841
7842         * console-stream.c (stream_output_begin):
7843         * console-stream.c (stream_output_end):
7844         * console-stream.c (stream_output_vertical_divider):
7845         * console-stream.c (stream_clear_region):
7846         * console-stream.c (stream_flash):
7847         * console-stream.c (console_type_create_stream):
7848         Delete blank stream methods, not needed.
7849
7850         * console.h (struct console_methods):
7851         Split begin/end methods into window and frame.
7852
7853         * event-msw.c:
7854         * event-msw.c (mswindows_handle_paint):
7855         * event-msw.c (output_alt_keyboard_state):
7856         * event-msw.c (mswindows_wnd_proc):
7857         * event-msw.c (vars_of_event_mswindows):
7858         Comment about problems with ignored-expose.
7859         Define mswindows-debug-events; not really implemented.
7860
7861         * frame-msw.c (mswindows_init_frame_1):
7862         random cleanups.
7863
7864         * glyphs-msw.c:
7865         * glyphs-msw.c (begin_defer_window_pos):
7866         * glyphs-msw.c (mswindows_unmap_subwindow):
7867         * glyphs-msw.c (mswindows_map_subwindow):
7868         * glyphs-msw.c (mswindows_resize_subwindow):
7869         Use DeferWindowPos to reduce flashing when mapping/unmapping.
7870
7871         * glyphs.c (make_image_instance_1):
7872         Fix crash.
7873
7874         * gutter.c (Fredisplay_gutter_area):
7875         Use new begin/end methods.
7876
7877         * lisp.h (Dynarr_new2):
7878         New creation fun.
7879
7880         * redisplay-msw.c:
7881         * redisplay-msw.c (mswindows_frame_output_begin):
7882         * redisplay-msw.c (mswindows_frame_output_end):
7883         * redisplay-msw.c (console_type_create_redisplay_mswindows):
7884         New begin/end methods -- handle DeferWindowPos.
7885
7886         * redisplay-output.c (redisplay_move_cursor):
7887         * redisplay-output.c (redraw_cursor_in_window):
7888         * redisplay-output.c (redisplay_update_line):
7889         * redisplay-output.c (redisplay_output_window):
7890         New begin/end methods.
7891
7892         * redisplay-tty.c:
7893         * redisplay-tty.c (tty_frame_output_begin):
7894         * redisplay-tty.c (tty_frame_output_end):
7895         * redisplay-tty.c (console_type_create_redisplay_tty):
7896         New begin/end methods.
7897
7898         * redisplay-x.c:
7899         * redisplay-x.c (x_window_output_begin):
7900         * redisplay-x.c (x_window_output_end):
7901         * redisplay-x.c (console_type_create_redisplay_x):
7902         New begin/end methods.
7903
7904         * redisplay.c (redisplay_frame):
7905         * redisplay.c (Fredisplay_echo_area):
7906         New begin/end methods.
7907         use MAYBE_DEVMETH for clear_frame; it may not exist.
7908
7909         * window.h (WINDOW_XFRAME):
7910         WINDOW_XFOO macros -- get locale and decode struct pointer.
7911
7912
7913 2000-05-12  Ben Wing  <ben@xemacs.org>
7914
7915         * emacs.c:
7916         * emacs.c (ensure_no_quitting_from_now_on):
7917         * emacs.c (fatal_error_signal):
7918         * emacs.c (mswindows_handle_hardware_exceptions):
7919         * emacs.c (main):
7920         * emacs.c (Fkill_emacs):
7921         * emacs.c (shut_down_emacs):
7922         * emacs.c (assert_failed):
7923         various improvements in fatal error handling.
7924
7925         * eval.c:
7926         move preparing_for_armageddon to emacs.c.
7927
7928         * lisp.h:
7929         declare fatal_error_in_progress.
7930
7931         * print.c:
7932         * print.c (std_handle_out_external):
7933         * print.c (std_handle_out_va):
7934         * print.c (stderr_out):
7935         * print.c (stdout_out):
7936         use console under mswin when no standard output.
7937         don't do code conversion during fatal error.
7938
7939         * scrollbar.c (Fscrollbar_page_up):
7940         * scrollbar.c (Fscrollbar_page_down):
7941         fix missing else.  reindent.
7942
7943 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
7944
7945         Emergency fix.
7946
7947         * glyphs.h (GLYPH_CACHEL_DESCENT):
7948         (GLYPH_CACHEL_DESCENT):
7949         (GLYPH_CACHEL_DESCENT):
7950         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
7951         used in case these are inline functions.
7952         Use more absurd values to error check.
7953
7954         include window.h for error check functions.
7955
7956 2000-05-11  Ben Wing  <ben@xemacs.org>
7957
7958         * cmdloop.c (Freally_early_error_handler):
7959         Display message box under windows; otherwise, message will disappear
7960         before it can be viewed.
7961
7962         * console-msw.c:
7963         * console-msw.c (Fmswindows_message_box):
7964         * console-msw.c (FROB):
7965         * console-msw.c (syms_of_console_mswindows):
7966         Define new fun `mswindows-message-box'.
7967         #### I will merge this into `popup-dialog-box'; just give me
7968         a bit of time.
7969
7970         * general.c:
7971         * general.c (syms_of_general):
7972         Some new symbols used in `mswindows-message-box'.
7973
7974         * glyphs.c:
7975         * glyphs.c (Fset_image_instance_property):
7976         put warning in this fun.
7977
7978         * glyphs.h:
7979         * glyphs.h (GLYPH_CACHEL_WIDTH):
7980         * glyphs.h (GLYPH_CACHEL_ASCENT):
7981         * glyphs.h (GLYPH_CACHEL):
7982         * glyphs.h (GLYPH_CACHEL_GLYPH):
7983         define error-checking versions to try to catch a bug i've seen --
7984         redisplay gets in an infinite loop because the glyph width of the
7985         continuation glyph is 65535.
7986
7987         * lisp.h:
7988         Extern message-box stuff.
7989
7990         * window.c (allocate_window):
7991         * window.c (make_dummy_parent):
7992         * window.c (Fset_window_configuration):
7993         Use EQUAL not EQ for subwindow caches to make them work a bit
7994         better. (Something is still very broken.)
7995
7996
7997 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
7998
7999         * glyphs.c (image_instantiate): Suppress gcc warnings.
8000         (Fmake_image_instance): Fix doc string.
8001         * specifier.c (Fmake_specifier): Ditto.
8002
8003 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
8004
8005         * paths.h.in (PATH_LOCK): Removed.
8006         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
8007         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
8008
8009 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
8010
8011         * fns.c (Ffeaturep): Update e-mail address in doc-string.
8012         Document (featurep '(and xemacs 21.02)).
8013
8014 2000-05-09  Ben Wing  <ben@xemacs.org>
8015
8016         * buffer.c (complex_vars_of_buffer):
8017         update modeline-format doc.
8018
8019         * device.h:
8020         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
8021
8022         * emacs.c:
8023         timeline of all released versions of Emacs, for use in creating
8024         authorship comments and in synching up.
8025
8026         * glyphs-widget.c (image_instantiator_buttons):
8027         * glyphs-widget.c (image_instantiator_edit_fields):
8028         * glyphs-widget.c (image_instantiator_combo_box):
8029         * glyphs-widget.c (image_instantiator_scrollbar):
8030         * glyphs-widget.c (image_instantiator_progress_guage):
8031         * glyphs-widget.c (image_instantiator_tree_view):
8032         * glyphs-widget.c (image_instantiator_tab_control):
8033         * glyphs-widget.c (image_instantiator_labels):
8034         * glyphs-widget.c (image_instantiator_layout):
8035         * glyphs-widget.c (image_instantiator_native_layout):
8036         rename decode_domain method to governing_domain.
8037
8038         * glyphs.c:
8039         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
8040         * glyphs.c (add_entry_to_device_ii_format_list):
8041         make sure we don't put an entry more than once into the list.
8042         * glyphs.c (check_instance_cache_mapper):
8043         *************************************************************
8044         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
8045         HAVE BEEN GETTING.
8046         *************************************************************
8047         * glyphs.c (get_image_instantiator_governing_domain):
8048         clean up, expand on new concept of governing domain.
8049         * glyphs.c (instantiate_image_instantiator):
8050         * glyphs.c (allocate_image_instance):
8051         use governing_domain instead of cache_domain in naming.
8052         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
8053         * glyphs.c (make_image_instance_1):
8054         * glyphs.c (Fmake_image_instance):
8055         allow for any domain (not just device), and process the
8056         governing domain correctly.  very big doc fix.
8057         * glyphs.c (Fimage_instance_domain):
8058         new primitive, to retrieve the governing domain of an image instance.
8059         * glyphs.c (image_instantiate):
8060         use new governing_domain stuff.  this fixes a crash you could get
8061         by instantiating certain widget glyphs in frame locales. (should
8062         signal an error instead of crashing.)
8063         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
8064         * glyphs.c (Fglyphp): clean up doc.
8065         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
8066         * glyphs.c (syms_of_glyphs):
8067         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
8068         * glyphs.c (image_instantiator_format_create): add some comments about
8069         bogus code.
8070         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
8071         for current-display-table. (Apparently Hrjove implemented in 1998 a
8072         design I wrote up in 1996, but didn't update the doc string.)
8073
8074         * glyphs.h: clean up a doc string.
8075         * glyphs.h (governing_domain):
8076         * glyphs.h (struct image_instantiator_methods):
8077         changes for governing_domain stuff.
8078
8079         * gutter.c:
8080         * gutter.c (Fgutter_specifier_p):
8081         * gutter.c (Fgutter_size_specifier_p):
8082         * gutter.c (Fgutter_visible_specifier_p):
8083         * objects.c:
8084         * objects.c (Fcolor_specifier_p):
8085         * objects.c (Ffont_specifier_p):
8086         * objects.c (Fface_boolean_specifier_p):
8087         doc strings moved to make-*-specifier.
8088
8089         * redisplay.c (add_disp_table_entry_runes_1):
8090         * redisplay.c (generate_fstring_runes):
8091         * redisplay.c (screen):
8092         add random comments and doc strings.
8093
8094         * specifier.c:
8095         * specifier.c (Fmake_specifier):
8096         major overhaul of this doc string.
8097
8098         * specifier.c (Fvalid_specifier_domain_p):
8099         comment about the bogosity of image instances being domains.
8100         * specifier.c (decode_domain):
8101         now non-static, used in glyphs.c.
8102         * specifier.c (specifier_instance):
8103         comment about the bogosity of image instances being domains.
8104         * specifier.c (Fgeneric_specifier_p):
8105         move doc string to make-generic-specifier.
8106         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
8107         rebackslashify.
8108
8109         * specifier.h:
8110         * specifier.h (DOMAIN_FRAME):
8111         * specifier.h (DOMAIN_LIVE_P):
8112         * specifier.h (DOMAIN_XDEVICE):
8113         rebackslashify.
8114         add comments about problems with these macros.
8115         prototype for decode_domain.
8116
8117         * toolbar.c:
8118         * toolbar.c (Ftoolbar_specifier_p):
8119         move doc string to `make-toolbar-specifier'.
8120
8121         * window.c (window_unmap_subwindows_cache_mapper):
8122         *************************************************************
8123         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
8124         HAVE BEEN GETTING.
8125         *************************************************************
8126
8127 2000-05-09  Andy Piper  <andy@xemacs.org>
8128
8129         * glyphs.h: declare reset_frame_subwindow_instance_cache.
8130
8131         * window.c (Fset_window_configuration): reset the frame subwindow
8132         cache and re-initialize the window subwindow caches.
8133
8134         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
8135
8136 2000-05-09  Ben Wing  <ben@xemacs.org>
8137
8138         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
8139         DWORD.
8140
8141 2000-04-26  Mike Woolley  <mike@bulsara.com>
8142
8143         * ntheap.c: Changed recreate_heap to limit the amount reserved
8144         for the heap to that which is actually available. Also now
8145         displays a message box (with some dignostics) in the event that
8146         it still can't start.
8147
8148 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
8149
8150         * callproc.c (Fold_call_process_internal): GCPRO path
8151
8152 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
8153
8154         Patch by Bill Perry.
8155
8156         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
8157         back data instead of #ifdef.
8158         (Fscrollbar_page_down): ditto.
8159
8160 2000-05-07  Ben Wing  <ben@xemacs.org>
8161
8162         * buffer.h:
8163         Kludge for defining Qmswindows_tstr.
8164
8165         * nt.c:
8166         * nt.c (open_input_file):
8167         * nt.c (open_output_file):
8168         * nt.c (rva_to_section):
8169         * nt.c (mswindows_executable_type):
8170         Move all memory-mapped-file routines here (some were in unexnt.c,
8171         which is bad because they are used by process-nt.c, and unexnt
8172         won't be around when portable dumping).  Synched the above routines
8173         with FSF 20.6.
8174
8175         * nt.h:
8176         Removed ifdef'd out bogus code.
8177         Fixed some prototypes.
8178
8179         * nt.h (file_data):
8180         * nt.h (OFFSET_TO_RVA):
8181         * nt.h (RVA_TO_OFFSET):
8182         * nt.h (RVA_TO_PTR):
8183         Moved the memory-mapped-file structures, macros and prototypes
8184         here, to parallel nt.c.  ntheap.h should really be removed
8185         entirely, and it's a non-portable-dumper specific file.
8186
8187         * ntheap.h (round_to_next):
8188         Moved the memory-mapped-file structures, macros and prototypes
8189         to nt.h.
8190
8191         * ntproc.c (compare_env):
8192         Moved rva_to_section and mswindows_executable_type to nt.c.
8193         Moved compare_env to process-nt.c.
8194         ntproc.c will die, one day.
8195
8196         * ntproc.c (sys_spawnve):
8197         Account for win32_ -> mswindows_.
8198
8199         * process-nt.c:
8200         * process-nt.c (struct nt_process_data):
8201         * process-nt.c (ensure_console_window_exists):
8202         * process-nt.c (compare_env):
8203         * process-nt.c (nt_create_process):
8204         * process-nt.c (nt_kill_process_by_pid):
8205         * process-nt.c (syms_of_process_nt):
8206         * process-nt.c (vars_of_process_nt):
8207         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
8208         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
8209         changes).  Eliminate our old `nt-quote-process-args' mechanism.
8210         Synch up nt_create_process with FSF 20.6 sys_spawnve.
8211         Move compare_env here from ntproc.c.
8212
8213         * process.c (Fprocess_send_region):
8214         Takes an optional fourth argument, BUFFER, which should fix some
8215         problems with call-process.
8216
8217         * syscommctrl.h:
8218         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
8219
8220         * syswindows.h:
8221         Move ICC_BAR_CLASSES to syscommctrl.h.
8222         Add preliminary macros for MSWindows/Mule.  More to come.
8223
8224         * unexnt.c:
8225         * unexnt.c (unexec):
8226         open_output_file moved to nt.c.
8227
8228
8229 2000-05-05  Andy Piper  <andy@xemacs.org>
8230
8231         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
8232         instance from the frame cache also since GC may catch up too late
8233         to make frame deletion sane.
8234
8235 2000-05-04  Andy Piper  <andy@xemacs.org>
8236
8237         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
8238         (x_finalize_image_instance): ungcpro on deletion.
8239
8240         * glyphs.c (image_instantiator_format_create): give pointers a
8241         query geometry method so that the geometry is at least set.
8242
8243         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
8244         initialize layouts if using widgets.
8245
8246 2000-05-03  Andy Piper  <andy@xemacs.org>
8247
8248         * nt.c: remove bogus reference to sysmmsystem.h
8249
8250         * gui-x.c (popup_selection_callback): fix no selection abort.
8251
8252 2000-05-02  Andy Piper  <andy@xemacs.org>
8253
8254         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
8255         (mswindows_widget_instantiate): ditto.
8256
8257         * glyphs-widget.c (initialize_widget_image_instance): initialize
8258         children correctly.
8259         (widget_instantiate): cope with children and items in the same
8260         instance.
8261
8262         * glyphs.c (mark_image_instance): cope with children as a first
8263         class member.
8264         (image_instance_equal): ditto.
8265         (image_instance_hash): ditto.
8266         (image_instance_changed): ditto.
8267
8268 2000-04-30  Andy Piper  <andy@xemacs.org>
8269
8270         * glyphs.c (subwindow_query_geometry): new function. Return some
8271         defaults.
8272         (subwindow_instantiate): don't assign dimensions if none have been
8273         given.
8274         (image_instantiator_format_create): add subwindow_query_geometry.
8275         (print_image_instance): cope with layouts as widgets.
8276
8277 2000-04-29  Andy Piper  <andy@xemacs.org>
8278
8279         * frame.c (delete_frame_internal): call
8280         free_frame_subwindow_instance_cache so that all subwindows are
8281         finalized before their parent.
8282         (mark_frame): remove subwindow_cachels.
8283         (Fmake_frame): remove subwindow_cachel manipulation.
8284         (allocate_frame_core): subwindow_instance_cache is a weak list.
8285         (delete_frame_internal): set subwindow_instance_cache to nil.
8286
8287         * glyphs-msw.c (mswindows_finalize_image_instance): make double
8288         finalization safe.
8289         (mswindows_finalize_image_instance): use the device
8290         not the domain as the domain may have died already.
8291
8292         * glyphs-x.c (x_finalize_image_instance): ditto.
8293         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
8294         HEIGHT.
8295
8296         * redisplay-output.c (redisplay_unmap_subwindows): update for
8297         subwindow instance cache as a weak list.
8298         (redisplay_unmap_subwindows_maybe): ditto.
8299         (redisplay_unmap_subwindows_except_us): ditto.
8300
8301         * glyphs.c (unmap_subwindow): error checking will check the domain
8302         so don't deal with it here. Don't use cachels anymore.
8303         (map_subwindow): ditto.
8304         (update_subwindow_cachel_data): remove old accessor names.
8305         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
8306         (Fresize_subwindow): don't update cachel.
8307         (mark_subwindow_cachels):
8308         (update_subwindow_cachel_data):
8309         (add_subwindow_cachel):
8310         (get_subwindow_cachel_index):
8311         (update_subwindow_cachel):
8312         (reset_subwindow_cachels):
8313         (mark_subwindow_cachels_as_not_updated): deleted.
8314         (cache_subwindow_instance_in_frame_maybe): new function. Add a
8315         subwindow instance to the frame cache.
8316         (find_matching_subwindow): update for subwindow instance cache as
8317         a weak list.
8318         (update_widget_instances): ditto.
8319         (image_instance_type_to_mask):inlined.
8320         (free_frame_subwindow_instance_cache): new function. finalize all
8321         subwindows that are instantiated.
8322
8323         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
8324         of cachel information.
8325         (IMAGE_INSTANCE_DISPLAY_X):
8326         (IMAGE_INSTANCE_DISPLAY_Y):
8327         (IMAGE_INSTANCE_DISPLAY_WIDTH):
8328         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
8329         (XIMAGE_INSTANCE_DISPLAY_X):
8330         (XIMAGE_INSTANCE_DISPLAY_Y):
8331         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
8332         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
8333         remove subwindow_cachel structure and function references.
8334         (image_instance_type_to_mask): inline from glyphs.c
8335
8336         * redisplay.c (redisplay_frame): remove subwindow_cachel
8337         references.
8338
8339         * frame.h (struct frame): remove subwindow_cachels.
8340         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
8341
8342         * frameslots.h: add subwindow_instance_cache.
8343
8344         * window.c (replace_window): check subwindow cache of replacement.
8345         (window_unmap_subwindows_cache_mapper):
8346         (window_unmap_subwindows): new functions. Unmap all subwindows
8347         cached on this window.
8348         (mark_window_as_deleted): unmap all subwindows.
8349
8350 2000-04-27  Andy Piper  <andy@xemacs.org>
8351
8352         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
8353
8354         * glyphs-widget.c (widget_layout): return something.
8355         (layout_layout): return something. Fail if not initialized.
8356         (layout_query_geometry): ditto.
8357         (image_instantiator_native_layout): new function. Initialized the
8358         native layout type.
8359         (widget_instantiate): don't do layout stuff here.
8360
8361         * glyphs.c (instantiate_image_instantiator): reorded calling or
8362         instantiate and post_instantiate with layout in between.
8363         (image_instance_layout): be more selective about deciding whether
8364         the layout has been done or not.
8365
8366         * glyphs.h (struct image_instantiator_methods): return a value
8367         from layout_method.
8368
8369 2000-04-26  Andy Piper  <andy@xemacs.org>
8370
8371         * glyphs.c (allocate_image_instance): make initial width and
8372         height unspecified. Set initialized to 0.
8373
8374         * syscommctrl.h new file. Encapsulates commctrl.h.
8375
8376         * syswindows.h new file. Encapsulates windows.h.
8377
8378         * ntplay.c: use new syswindows.h and syscommctrl.h header.
8379         * nt.c: ditto.
8380         * console-msw.h: ditto.
8381
8382         * redisplay-tty.c (tty_output_display_block): remove layout references.
8383
8384         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
8385         window handle rather than just the frame.
8386
8387         * glyphs.c (mark_image_instance): remove layout references.
8388         (print_image_instance): ditto.
8389         (image_instance_equal): ditto.
8390         (image_instance_hash): ditto.
8391         (decode_image_instance_type): ditto.
8392         (encode_image_instance_type): ditto.
8393         (image_instantiate): ditto.
8394         (allocate_glyph): ditto.
8395         (Fimage_instance_height): ditto.
8396         (Fimage_instance_width): ditto.
8397         (update_subwindow): ditto.
8398
8399         * redisplay-x.c (x_output_display_block): recode for layouts as
8400         widgets.
8401
8402         * redisplay-output.c (redisplay_output_layout): recode for layouts
8403         as widgets.
8404         (compare_runes): remove layout references.
8405
8406         * redisplay-msw.c (mswindows_output_display_block): recode for
8407         layouts as widgets.
8408
8409         * glyphs-widget.c (image_instantiator_layout): remove
8410         layout_possible_dest_types.
8411         (layout_possible_dest_types): deleted.
8412
8413         * glyphs.h (image_instance_type): remove layout references.
8414         (struct Lisp_Image_Instance): ditto. Add initialized flag.
8415         (IMAGE_INSTANCE_INITIALIZED): new accessor.
8416         (XIMAGE_INSTANCE_INITIALIZED): ditto.
8417
8418 2000-04-25  Andy Piper  <andy@xemacs.org>
8419
8420         * glyphs-widget.c (image_instantiator_buttons):
8421         (image_instantiator_edit_fields):
8422         (image_instantiator_combo_box):
8423         (image_instantiator_scrollbar):
8424         (image_instantiator_progress_guage):
8425         (image_instantiator_tree_view):
8426         (image_instantiator_tab_control):
8427         (image_instantiator_labels):
8428         (image_instantiator_layout): call default post_instantiate method.
8429         (widget_post_instantiate): new function. Simply lays out the
8430         widgets.
8431
8432         * glyphs.h (struct image_instantiator_methods): add
8433         post_instantiate method.
8434
8435         * glyphs.c (instantiate_image_instantiator): add post_instantiate
8436         method calls.
8437
8438 2000-04-23  Andy Piper  <andy@xemacs.org>
8439
8440         * glyphs.h (struct image_instantiator_methods): add
8441         decode_domain_method.
8442         (struct Lisp_Image_Instance): remove subwindow frame - it can be
8443         derived from the domain.
8444         (IMAGE_INSTANCE_FRAME): new accessor.
8445         (XIMAGE_INSTANCE_FRAME): ditto.
8446
8447         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
8448         instead of _SUBWINDOW_FRAME.
8449         (finalize_image_instance): ditto.
8450         (Fimage_instance_foreground): ditto.
8451         (Fimage_instance_background): ditto.
8452         (image_instantiate): ditto.
8453         (update_subwindow_cachel): ditto.
8454         (update_subwindow): ditto.
8455         (unmap_subwindow): ditto.
8456         (map_subwindow): ditto
8457         (subwindow_instantiate): ditto.
8458         * glyphs-msw.c (mswindows_update_widget): ditto.
8459         (mswindows_progress_gauge_instantiate): ditto.
8460         (mswindows_tab_control_update): ditto.
8461         * glyphs-x.c (x_update_widget): ditto.
8462         (x_widget_instantiate): ditto.
8463         (x_tab_control_instantiate): ditto.
8464         (x_tab_control_update): ditto.
8465         * event-msw.c (mswindows_wnd_proc): ditto
8466
8467         * glyphs-widget.c (image_instantiator_layout): use
8468         subwindow_decode_domain.
8469         (image_instantiator_buttons): ditto.
8470         (image_instantiator_edit_fields): ditto.
8471         (image_instantiator_combo_box): ditto.
8472         (image_instantiator_scrollbar): ditto.
8473         (image_instantiator_progress_guage): ditto.
8474         (image_instantiator_tree_view): ditto.
8475         (image_instantiator_tab_control): ditto.
8476         (image_instantiator_labels): ditto.
8477         (image_instantiator_layout): ditto.
8478
8479         * glyphs.c: add instance error checking to many functions.
8480         (instantiate_image_instantiator): decode device from cache_domain.
8481         (image_instantiate): partially rewrite by using
8482         decode_image_instantiator_domain to determine what domain the
8483         instance needs to be cached in.
8484         (decode_image_instantiator_domain): new function. Determine what
8485         domain the image needs to be cached in.
8486         (check_window_subwindow_cache): new error checking function.
8487         (check_instance_cache_mapper): ditto.
8488         (check_image_instance_structure): ditto.
8489         (subwindow_decode_domain): new function. Encodes a window as a
8490         subwindow's cache domain.
8491         (image_instantiator_format_create): use it for text and
8492         subwindows.
8493
8494 2000-04-21  Andy Piper  <andy@xemacs.org>
8495
8496         * glyphs.c (image_instance_device): new function.
8497         (image_instance_frame): new function.
8498         (image_instance_window): new function.
8499         (image_instance_live_p): new function.
8500
8501         * window.c (mark_window_as_deleted): reset the subwindow_instance_
8502         cache to nil.
8503
8504         * glyphs.h (struct Lisp_Image_Instance): device->domain.
8505         (IMAGE_INSTANCE_DOMAIN): new accessor.
8506         (XIMAGE_INSTANCE_DOMAIN): ditto.
8507
8508         * glyphs-x.c (x_finalize_image_instance): device->domain.
8509
8510         * glyphs-msw.c (init_image_instance_geometry): device->domain.
8511         (mswindows_finalize_image_instance): ditto.
8512
8513         * glyphs-eimage.c (jpeg_instantiate): device->domain.
8514         (gif_instantiate): ditto.
8515         (png_instantiate): ditto.
8516         (tiff_instantiate): ditto.
8517
8518         * glyphs.c (instantiate_image_instantiator): use domain rather
8519         than device.
8520         (mark_image_instance): device -> domain.
8521         (print_image_instance): ditto.
8522         (finalize_image_instance): ditto.
8523         (image_instance_equal): ditto.
8524         (allocate_image_instance): ditto.
8525         (Fcolorize_image_instance): ditto.
8526         (query_string_geometry): ditto.
8527         (image_instantiate): ditto
8528         (query_string_font): ditto.
8529         (image_instantiate): ditto.
8530         (update_subwindow): ditto.
8531         (unmap_subwindow): ditto.
8532         (map_subwindow): ditto.
8533         (subwindow_instantiate): ditto.
8534
8535         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
8536         (DOMAIN_FRAME): ditto.
8537         (DOMAIN_WINDOW): ditto.
8538         (DOMAIN_LIVE_P): ditto.
8539         (XDOMAIN_DEVICE): ditto.
8540         (XDOMAIN_FRAME): ditto.
8541         (XDOMAIN_WINDOW): ditto.
8542
8543         * specifier.c (Fvalid_specifier_domain_p): add image instances as
8544         a valid specifier domain.
8545
8546 2000-04-19  Andy Piper  <andy@xemacs.org>
8547
8548         * glyphs-widget.c (syms_of_glyphs_widget): remove
8549         widget-callback-current-channel.
8550         (vars_of_glyphs_widget): ditto.
8551         * glyphs.h: ditto
8552
8553         * gui.c (get_gui_callback): revert to previous behaviour.
8554
8555 2000-04-18  Andy Piper  <andy@xemacs.org>
8556
8557         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
8558         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
8559         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
8560
8561         * glyphs.c (image_instance_equal): add margin_width.
8562         (image_instance_hash): ditto.
8563
8564         * glyphs-widget.c (widget_instantiate): deal with margin-width.
8565         (layout_query_geometry): ditto.
8566         (layout_layout): ditto.
8567         (syms_of_glyphs_widget): add margin-width.
8568         (image_instantiator_layout): allow margin-width.
8569
8570         * glyphs.c (update_widget_instances): make a normal function.
8571         (syms_of_glyphs): remove Qupdate_widget_instances.
8572         * glyphs.h: ditto.
8573
8574         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
8575         so that we don't corrupt ideas about the last event or
8576         command. Remove widget-callback-current-channel fiddling.
8577         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
8578
8579 2000-05-01  Martin Buchholz <martin@xemacs.org>
8580
8581         * XEmacs 21.2.33 is released.
8582
8583 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
8584
8585         * make-src-depend: Allow dots in header file name.
8586
8587 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
8588
8589         * mule-charset.h (struct charset_lookup): Add
8590         next_allocated_1_byte_leading_byte and
8591         next_allocated_2_byte_leading_byte.
8592         * mule-charset.c: Move above two variables so that those values
8593         will be dumped.
8594
8595 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
8596
8597         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
8598         when string length is zero.
8599         (find_charsets_in_emchar_string): Ditto.
8600
8601 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
8602
8603         * lisp.h: extern Qdialog and Qmenubar.
8604
8605         * gui-x.c: added events.h.
8606                 also fixed typo which made the file uncompilable.
8607
8608         * general.c: Added Qmenubar and Qdialog
8609
8610 2000-04-28  Ben Wing  <ben@xemacs.org>
8611
8612         * frame-msw.c (mswindows_init_frame_1):
8613         * frame-msw.c (mswindows_mark_frame):
8614         * event-msw.c (mswindows_enqueue_dispatch_event):
8615         * console-msw.h:
8616         * console-msw.h (struct mswindows_frame):
8617         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
8618         there are now three hash tables for callbacks.
8619         mswindows_enqueue_dispatch_event is no longer static.
8620
8621         * dialog-x.c (maybe_run_dbox_text_callback):
8622         * dialog-x.c (dbox_descriptor_to_widget_value):
8623         switch to new cons3 form for callbacks.
8624
8625         * glyphs-msw.c (mswindows_register_gui_item):
8626         * glyphs-msw.c (mswindows_widget_instantiate):
8627         * glyphs-msw.c (add_tree_item):
8628         * glyphs-msw.c (add_tab_item):
8629         new image instance parameter, so it can be passed to callback-ex.
8630         respect :callback-ex as well as :callback.
8631
8632         * glyphs-widget.c (VALID_GUI_KEYWORDS):
8633         add :callback-ex.
8634
8635         * glyphs.c (print_image_instance):
8636         prettify, e.g. now prints widget type.
8637
8638         * gui-x.h:
8639         certain funs have new image instance parameter.
8640
8641         * gui.c:
8642         * gui.c (get_gui_callback):
8643         * gui.c (gui_item_add_keyval_pair):
8644         * gui.c (gui_item_init):
8645         * gui.c (gui_add_item_keywords_to_plist):
8646         * gui.c (mark_gui_item):
8647         * gui.c (gui_item_hash):
8648         * gui.c (gui_item_equal):
8649         * gui.c (copy_gui_item):
8650         * gui.c (syms_of_gui):
8651         recognize callback-ex in a number of places.
8652         also, fix the annoying "can't get out of yes-no dialog" bug.
8653
8654         * gui.h:
8655         * gui.h (struct Lisp_Gui_Item):
8656         recognize callback-ex in a number of places.
8657
8658         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
8659         new parameter in button_item_to_widget_value.
8660
8661         * glyphs-x.c (x_update_widget):
8662         * glyphs-x.c (x_button_instantiate):
8663         * glyphs-x.c (x_button_update):
8664         * glyphs-x.c (x_progress_gauge_instantiate):
8665         * glyphs-x.c (x_edit_field_instantiate):
8666         * glyphs-x.c (x_combo_box_instantiate):
8667         * glyphs-x.c (x_tab_control_instantiate):
8668         * glyphs-x.c (x_label_instantiate):
8669         new image instance parameter in various places.
8670
8671         * event-Xt.c:
8672         * event-Xt.c (enqueue_Xt_dispatch_event):
8673         this fun gets exported.
8674
8675         * gui-msw.c:
8676         * gui-msw.c (mswindows_handle_gui_wm_command):
8677         handle both :callback and :callback-ex, and generate our own
8678         event because it's one of the callback-ex arguments.
8679
8680         * gui-x.c:
8681         * gui-x.c (popup_selection_callback):
8682         handle both :callback and :callback-ex, and generate our own
8683         event because it's one of the callback-ex arguments.
8684         * gui-x.c (button_item_to_widget_value):
8685         * gui-x.c (gui_items_to_widget_values_1):
8686         * gui-x.c (gui_item_children_to_widget_values):
8687         * gui-x.c (gui_items_to_widget_values):
8688         new image instance parameter in various places.
8689
8690         * fns.c (Freplace_list):
8691         fix small typo in doc string.
8692
8693         * lisp.h:
8694         declare enqueue_Xt_dispatch_event.
8695
8696 2000-04-28  Ben Wing  <ben@xemacs.org>
8697
8698         * buffer.c:
8699         * buffer.c (Frecord_buffer):
8700         * buffer.c (syms_of_buffer):
8701         delete record-buffer-hook.
8702
8703         * fns.c:
8704         * fns.c (Freplace_list):
8705         * fns.c (syms_of_fns):
8706         new primitive replace-list.
8707
8708         * frameslots.h:
8709         slot for old buffer-alist.
8710
8711         * lisp.h:
8712         exfun replace-list.
8713
8714         * redisplay.c:
8715         * redisplay.c (redisplay_frame):
8716         * redisplay.c (syms_of_redisplay):
8717         * redisplay.c (vars_of_redisplay):
8718         new hook buffer-list-changed-hook.
8719         call it.
8720
8721 2000-04-27  Ben Wing  <ben@xemacs.org>
8722
8723         * extents.h: extern in_modeline_generation.
8724
8725         * redisplay.c (generate_formatted_string_db): set
8726         in_modeline_generation.
8727
8728         * extents.c (extent_changed_for_redisplay): don't mark redisplay
8729         flags if in modeline generation.  otherwise frame-modified-tick
8730         is ticked far too often.
8731         Declare in_modeline_generation.
8732
8733 2000-04-26  Ben Wing  <ben@xemacs.org>
8734
8735         * emacs.c (vars_of_emacs): document quick-build "error-checking"
8736         option.
8737         (vars_of_emacs): add quick-build as an error-checking option.
8738         A bit kludgy, but there doesn't seem much point in creating
8739         a real var for this.
8740
8741         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
8742
8743 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
8744
8745         * redisplay.h (struct display_line): Add a new variable,
8746         line_continuation.
8747
8748         * redisplay.c (create_text_block): Set dl->line_continuation if
8749         the line continues.
8750         (create_string_text_block): Ditto.
8751         (regenerate_window_incrementally): Use line_continuation instead
8752         of searching continuation glyph.
8753         (add_margin_runes): Call add_glyph_rune.
8754         (add_glyph_rune): Handle margin glyph.
8755
8756 2000-04-20  Martin Buchholz  <martin@xemacs.org>
8757
8758         * filelock.c (fill_in_lock_file_name):
8759         ANSIfy.
8760         Check for IS_ANY_SEP instead of '/'.
8761         (lock_file_1):
8762         Avoid generating gratuitous garbage.  Call user_login_name() directly.
8763         Never check errno without first seeing that system call failed.
8764         (unlock_file): Add GCPRO.
8765         (Flock_buffer): Fix docstring.
8766         (Ffile_locked_p): Fix docstring.  Add GCPRO.
8767
8768 2000-04-19  Martin Buchholz  <martin@xemacs.org>
8769
8770         * sysdep.c (get_pty_max_bytes):
8771         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
8772         strings longer than 252 bytes.
8773
8774         * md5.c: Unconditionally include ANSI header <limits.h>
8775
8776         * glyphs-x.c (convert_EImage_to_XImage):
8777         * lisp-union.h (union Lisp_Object):
8778         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
8779
8780 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
8781
8782         * filelock.c (current_lock_owner): Remove unused variable o, p.
8783
8784 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
8785
8786         * callint.c: Remove multiply defined symbol Qlet
8787         (syms_of_callint): ditto.
8788
8789 2000-04-14  Andy Piper  <andy@xemacs.org>
8790
8791         * general.c (syms_of_general): add last-command, this-command, let
8792         and funcall.
8793
8794         * lisp.h: declare various symbols.
8795
8796         * glyphs.h: declare Qwidget_callback_current_channel;
8797
8798         * glyphs-widget.c (syms_of_glyphs_widget): add
8799         Qgui_callback_current_channel.
8800         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
8801
8802         * gui-msw.c (mswindows_handle_gui_wm_command): bind
8803         widget-callback-current-channel when invoking the interactive
8804         arg. Also bind last-command and next-command when invoking the
8805         widget updates.
8806         * gui-x.c (popup_selection_callback): ditto.
8807
8808         * gui.c (get_gui_callback): massage args so that we are always
8809         calling eval. This allows us to add our own variable bindings
8810         outside.
8811
8812         * glyphs-x.c (x_button_instantiate): use
8813         gui_items_to_widget_values since this is GC safe.
8814         (x_progress_gauge_instantiate): ditto.
8815         (x_edit_field_instantiate): ditto.
8816         (x_label_instantiate): ditto.
8817
8818         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
8819         (emacs_Xt_event_widget_focus_out): new function
8820         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
8821         focus.
8822         (emacs_Xt_event_add_widget_actions): new function. add focus
8823         functions as actions.
8824         (init_event_Xt_late): use it.
8825
8826 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
8827
8828         * event-stream.c (Fdispatch_event): Doc fix.
8829
8830 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
8831
8832         * postgresql.c: Remove all references to PQsetenv*.
8833
8834         * postgresql.h: Remove references to PGsetenvHandler object.
8835         * lrecord.h (lrecord_type): Ditto.
8836
8837 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8838
8839         * glyphs-msw.h (struct mswindows_image_instance_data): Added
8840         real_heigh and real_width members, and accessor macros for these.
8841
8842         * glyphs-msw.c (init_image_instance_geometry): New function.
8843         (init_image_instance_from_dibitmap): Use it.
8844         (mswindows_resource_instantiate): Use it.
8845         (init_image_instance_from_xbm_inline): Use it.
8846         (mswindows_initialize_image_instance_mask): Use real bitmap
8847         geometry.
8848         (mswindows_create_resized_bitmap): Ditto.
8849         (mswindows_create_resized_mask): Ditto.
8850
8851         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
8852         and bitmap to their surface size.
8853
8854 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
8855
8856         * process-unix.c (unix_send_process): Guard against process MIA
8857         after Faccept_process_output.
8858
8859 2000-04-11  Ben Wing  <ben@xemacs.org>
8860
8861         * eval.c (unbind_to_hairy): fix brokenness introduced by
8862         nanosecond speed improvements.
8863
8864 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
8865
8866         * sunplay.c (init_device): To play sounds correctly, the device
8867         apparently needs to be initialized at least once by XEmacs.  Make
8868         it so.
8869
8870 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
8871
8872         * redisplay.c (add_margin_runes): Add text image glyph
8873           handling.
8874
8875 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
8876
8877         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
8878         gcc is newer than 2.5.
8879
8880 2000-04-06  Colin Rafferty  <colin@xemacs.org>
8881
8882         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
8883
8884         * fns.c (size_bit_vector):
8885         * alloc.c (size_vector):
8886         (make_vector_internal):
8887         (make_bit_vector_internal):
8888         (sweep_bit_vectors_1):
8889         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
8890
8891 2000-04-06  Andy Piper  <andy@xemacs.org>
8892
8893         * gmalloc.c (malloc): undo previous change.
8894         (malloc): ditto.
8895         (free): ditto.
8896         (realloc): ditto.
8897
8898 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
8899
8900         * line-number.c (buffer_line_number): Revert to former version.
8901
8902 2000-04-06  Andy Piper  <andy@xemacs.org>
8903
8904         * gmalloc.c (malloc): add error checking.
8905         (malloc): ditto.
8906         (free): ditto.
8907         (realloc): ditto.
8908
8909         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
8910         button_item_to_widget_value arg.
8911
8912         * glyphs-x.c (x_button_instantiate): add extra
8913         button_item_to_widget_value arg.
8914         (x_progress_gauge_instantiate): ditto.
8915         (x_edit_field_instantiate): ditto.
8916         (x_label_instantiate): ditto.
8917
8918         * gui-x.c (gui_items_to_widget_values_1): add extra
8919         button_item_to_widget_value arg.
8920         (button_item_to_widget_value): add extra menu_item_p arg.
8921
8922         * gui-x.h: change signature of button_item_to_widget_value.
8923
8924         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
8925         button_item_to_widget_value arg.
8926
8927 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
8928
8929         * buffer.h (struct buffer): auto_save_modified should be long.
8930
8931 2000-04-05  Andy Piper  <andy@xemacs.org>
8932
8933         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
8934         type.
8935         (button_query_geometry): give a little more room so that athena
8936         buttons fit.
8937
8938 2000-04-05  Andy Piper  <andy@xemacs.org>
8939
8940         * faces.c (complex_vars_of_faces): The widget face should inherit
8941         the font of the gui-element face.
8942
8943 2000-04-04  Andy Piper  <andy@xemacs.org>
8944
8945         * glyphs-x.c (x_button_update): new function. unconditionally
8946         update a button's state when the instance is dirty.
8947         (image_instantiator_format_create_glyphs_x): add x_button_update.
8948         (x_widget_instantiate): remove old resize cruft.
8949
8950 2000-04-02  Andy Piper  <andy@xemacs.org>
8951
8952         * frame.c (change_frame_size_1): The introduction of gutters means
8953         that we need to allow 0 as a potential frame dimension.
8954
8955 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
8956
8957         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
8958         image glyph if allow_cursor.
8959         (add_hscroll_rune): Don't allow cursor to border glyph.
8960         (create_text_block): Ditto.
8961
8962         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
8963         text not in buffer.
8964         (redisplay_output_layout): Call ensure_face_cachel_complete for
8965         text image glyph.
8966
8967
8968 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
8969
8970         * redisplay.c (add_glyph_rune): Adding text image as text runes.
8971
8972         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
8973         not in buffer
8974
8975         * redisplay-tty.c (tty_output_display_block): Delete the routine
8976         for text image glyph
8977         * redisplay-x.c (x_output_display_block): ditto
8978         * redisplay-msw.c (mswindows_output_display_block): ditto
8979
8980 2000-02-02  Mike Alexander  <mta@arbortext.com>
8981
8982         Note: Some of these were committed by accident as part of other
8983         patches.
8984
8985         * regex.c (regex_compile): Avoid compiler warnings.
8986
8987         * ntproc.c (sys_spawnve): Avoid compiler warnings.
8988
8989         * nt.h: Declare term_ntproc correctly.
8990
8991         * nt.c: Remove incorrect declaration of get_home_directory which
8992         is declared correctly in lisp.h.
8993
8994         * keymap.c (get_keyelt): Avoid compiler warnings.
8995         (raw_lookup_key_mapper): Avoid compiler warnings.
8996
8997         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
8998
8999         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
9000
9001         * filemode.c (mode_string): Avoid compiler warnings.
9002
9003         * file-coding.c (Fcoding_system_aliasee): Add return statement to
9004         avoid warning.
9005
9006         * events-mod.h: Undef some things that winuser.h defines differently.
9007
9008         * data.c (Faset): Avoid compiler warnings.
9009
9010         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
9011
9012 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
9013
9014         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
9015         Fall through to simple beep on error.
9016         Replace "extern" by real header file.
9017
9018         * linuxplay.c: Use nativesound.h
9019         (play_sound_data): Return error code. Be less verbose on error.
9020
9021         * sunplay.c: Use nativesound.h
9022         (play_sound_data): Return error code. Be less verbose on error.
9023
9024         * ntplay.c: Use nativesound.h
9025         (play_sound_data): Return fake error code
9026
9027         * sgiplay.c: Use nativesound.h
9028         (play_sound_data): Return error code
9029
9030         * hpplay.c: Use nativesound.h, partially implement
9031         new error code. Break compilation until finished.
9032         (play_sound_data): error code.
9033
9034         * nativesound.h (play_sound_file):
9035           (play_sound_data): Prototype in new header.
9036
9037 2000-03-31  Andy Piper  <andy@xemacs.org>
9038
9039         * glyphs-widget.c: (button_query_geometry): new function. Adjust
9040         for toggle and radio buttons.
9041         (image_instantiator_buttons): use it.
9042
9043 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
9044
9045         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
9046         (x_update_horizontal_scrollbar_callback): Return if no mirror was
9047         found. Scrollbar event probably belonged to some old config.
9048
9049 2000-03-31  Andy Piper  <andy@xemacs.org>
9050
9051         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
9052         than 1.
9053         (initialize_widget_image_instance): default layout to
9054         LAYOUT_HORIZONTAL rather than 0.
9055         (widget_instantiate): reverse the item list at the end rather than
9056         every iteration.
9057         (layout_layout): re-code for the border text at the front of the
9058         item list rather than at the end.
9059         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
9060         provided by the user.
9061         (widget_query_geometry): comment.
9062
9063 2000-03-30  Andy Piper  <andy@xemacs.org>
9064
9065         * glyphs-widget.c (image_instantiator_layout): allow standard
9066         widget keywords in layouts.
9067
9068         * gutter.c (output_gutter): cope with nil gutter contents.
9069
9070         * frame.c (Fset_frame_properties): add gutter docs.
9071
9072 2000-03-29  Andy Piper  <andy@xemacs.org>
9073
9074         * toolbar-msw.c (TBSTYLE_FLAT): add.
9075         (mswindows_output_toolbar): minor fiddling.
9076
9077 2000-03-29  Andy Piper  <andy@xemacs.org>
9078
9079         * gutter.c (output_gutter): force gutter size recalculation if
9080         what we are trying to display won't fit.
9081         (update_gutter_geometry): new function. A per-gutter version of
9082         update_frame_gutter_geometry.
9083         (update_frame_gutter_geometry): use it.
9084         (redraw_exposed_gutter): add extra debugging output.
9085
9086 2000-03-28  Mike Alexander  <mta@arbortext.com>
9087
9088         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
9089         (pdump_file_unmap): Implement it on Windows
9090         (pdump_file_get): Save alocated handles for pdump_file_unmap
9091
9092 2000-03-28  Andy Piper  <andy@xemacs.org>
9093
9094         * gui.c (get_gui_callback): treat Quit specially.
9095
9096 2000-03-27  Andy Piper  <andy@xemacs.org>
9097
9098         * glyphs.c (image_instantiate): be careful to check in the same
9099         way we assigned.
9100
9101 2000-03-27  Didier Verna  <didier@xemacs.org>
9102
9103         * config.h.in: define the proper SMART_INCLUDE macro.
9104         handle renaming of `foo_h_path' to `foo_h_file'.
9105
9106         * database.c: ditto.
9107
9108         * emacs.c: ditto.
9109
9110         * linuxplay.c: ditto.
9111
9112         * terminfo.c: ditto.
9113
9114         * tooltalk.h: ditto.
9115
9116 2000-03-27  Andy Piper  <andy@xemacs.org>
9117
9118         * glyphs-msw.c (mswindows_update_widget): make sure the widget
9119         gets updated whenever the face might have changed.
9120
9121 2000-03-26  Mike Alexander  <mta@arbortext.com>
9122
9123         * dumper.c (pdump_resource_free): Fix the comment.
9124
9125 2000-03-21  Olivier Galibert  <galibert@pobox.com>
9126
9127         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
9128
9129 2000-03-22  Mike Alexander  <mta@arbortext.com>
9130
9131         * dumper.c: Include Windows headers on Windows
9132         (pdump_resource_free): Add a body to the function
9133         (pdump_load): exe_name -> exe_path and add some comments.
9134
9135 2000-03-25  Mike Alexander  <mta@arbortext.com>
9136
9137         * gui.c (copy_gui_item_tree): Return a value in all cases
9138
9139 2000-03-21  Didier Verna  <didier@xemacs.org>
9140
9141         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
9142         lwlib/config.h.in.
9143         (SMART_INCLUDE): new macro.
9144         (POSTGRES_INCLUDE): new macro to include postgresql headers from
9145         the proper location.
9146
9147         * postgresql.c: use it.
9148
9149         * inline.c: ditto.
9150
9151 2000-03-24  Andy Piper  <andy@xemacs.org>
9152
9153         * gutter.c (redraw_exposed_gutters): must be "in display" when we
9154         do this.
9155
9156 2000-03-24  Andy Piper  <andy@xemacs.org>
9157
9158         * redisplay-output.c (compare_runes): use image_instance_changed
9159         to detect changes. Do not depend on glyphs_changed, only depend on
9160         dirtiness.
9161          (redisplay_output_layout): add debug messages.
9162         (compare_runes): ditto.
9163
9164         * glyphs.h: declare new functions.
9165         (struct Lisp_Image_Instance): remove percent and associated
9166         accessors.
9167
9168         * gui.h: declare new copying functions.
9169
9170         * gui.c (copy_gui_item_tree): new function.
9171         (copy_gui_item): new function.
9172         (gui_item_id_hash): revert to standard hash.
9173         (gui_item_hash): ditto.
9174         (gui_item_hash_internal): deleted.
9175         (mark_gui_item): mark value.
9176         (gui_item_add_keyval_pair): add value.
9177         (gui_item_init): ditto.
9178         (gui_add_item_keywords_to_plist): ditto.
9179         (gui_item_equal): ditto.
9180         (syms_of_gui): add Q_value.
9181
9182         * glyphs-x.c (x_progress_gauge_update): use pending items and
9183         value for setting the state.
9184         (x_update_widget): don't set items from pending here.
9185
9186         * glyphs-widget.c (update_widget): update items here.
9187         (progress_gauge_set_property): use items for storing value. Put
9188         new value in pending items.
9189
9190         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
9191         items for new value. Convert percent -> value.
9192         (mswindows_tab_control_update): don't update items here.
9193
9194         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
9195         (update_subwindow): ditto.
9196         (image_instance_changed): new function. Compare hash values and
9197         past and present widget items.
9198         (image_instantiate): We more careful about where we instantiate
9199         things.
9200         (image_instantiate): add error checking.
9201
9202         * gutter.c (syms_of_gutter): use -hook.
9203
9204 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
9205
9206         * console-tty.c (Fset_console_tty_input_coding_system): Use
9207         Qkeyboard.
9208         (Fset_console_tty_output_coding_system): Use Qterminal.
9209         (tty_init_console): Use Qkeyboard and Qterminal.
9210
9211 2000-03-21  Ben Wing  <ben@xemacs.org>
9212
9213         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
9214         From Mike Alexander <mta@arbortext.com>.
9215
9216 2000-03-21  Ben Wing  <ben@xemacs.org>
9217
9218         * event-msw.c (mswindows_need_event): Horrible kludge to fix
9219         process brokenness.  Proper implementation to come.
9220         * callproc.c:
9221         Rename call-process-internal to old-call-process-internal.
9222         New impl. in process.el.
9223
9224 2000-03-21  Martin Buchholz  <martin@xemacs.org>
9225
9226         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
9227
9228 2000-03-20  Andy Piper  <andy@xemacs.org>
9229
9230         * glyphs.c (full_list_hash): make hashes of the same elements in
9231         different orders return different values.
9232
9233 2000-03-20  Martin Buchholz <martin@xemacs.org>
9234
9235         * XEmacs 21.2.32 is released.
9236
9237 2000-03-20  Martin Buchholz  <martin@xemacs.org>
9238
9239         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
9240         (DFC_MALLOC_USE_CONVERTED_DATA):
9241         Add aliasing-safe casts to allow use with char* or unsigned char*
9242         lvalues.
9243
9244         * eldap.c (Fldap_open):
9245         (Fldap_search_basic):
9246         (Fldap_add):
9247         (Fldap_modify):
9248         Make C++-compilable.
9249         Make sure GCPRO'ed variables are initialized.
9250         Use temp variables to avoid repeated calls to Flength.
9251
9252 2000-03-16  Martin Buchholz  <martin@xemacs.org>
9253
9254         * sysfile.h:
9255         Make sure PATH_MAX is always defined.
9256         Include limits.h for PATH_MAX.
9257         Deprecate use of MAXPATHLEN.
9258
9259 2000-03-10  Martin Buchholz  <martin@xemacs.org>
9260
9261         * emacs.c: Add reinit_vars_of_fileio.
9262         * symsinit.h: Add reinit_vars_of_fileio.
9263         * fileio.c (reinit_vars_of_fileio): New.
9264         * fileio.c (Fmake_temp_name):
9265         Initialize temp_name random number from microseconds to make
9266         collisions even less likely.  Initialize always at process startup
9267         time.  (make-temp-name) used to return the same file name twice in
9268         a row when PDUMP.
9269         Random stylistic fiddling.
9270         Comment fixes.
9271
9272 2000-03-20  Andy Piper  <andy@xemacs.org>
9273
9274         * glyphs.c (image_instantiate): allow text glyphs to be
9275         instantiated in the minibuffer window.
9276
9277 2000-03-19  Andy Piper  <andy@xemacs.org>
9278
9279         * glyphs.c (image_instance_hash): be careful about which items we
9280         hash on.
9281
9282         * glyphs-widget.c (tab_control_set_property): record into pending
9283         items rather than the actual items.
9284
9285         * glyphs-x.c (x_update_widget): use pending items to update with.
9286
9287         * glyphs-msw.c (mswindows_tab_control_update): use pending items
9288         to update with.
9289
9290         * glyphs.c (mark_image_instance): mark pending items.
9291
9292         * window.c (Fset_window_configuration): record the buffer.
9293         (Fselect_window): totally revert previous change which breaks many
9294         things.
9295
9296 2000-03-18  Andy Piper  <andy@xemacs.org>
9297
9298         * glyphs-msw.c (mswindows_tab_control_update): force selected
9299         item.
9300
9301         * glyphs.c (image_instantiate): don't allow the minibuffer as a
9302         window domain cache, otherwise we get inconsistencies at
9303         startup. There is something fishy at startup which can lead to the
9304         minibuffer being the selected window when the gutter content is
9305         instantiated.
9306
9307         * gui.c (parse_gui_item_tree_list): add probably unnecessary
9308         gcpros.
9309         (parse_gui_item_tree_children): ditto.
9310         (parse_gui_item_tree_item): ditto.
9311
9312         * glyphs.c (Fupdate_widget_instances): return something.
9313
9314 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
9315
9316         * window.c (Fselect_window): Undo 2000-03-17 change.
9317
9318 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
9319
9320         * postgresql.c (Fpq_setenv): Remove this turkey when linking
9321         against v7.0 libraries.  Insta-coredump city until the postgres
9322         folks fix it.
9323
9324 2000-03-17  Andy Piper  <andy@xemacs.org>
9325
9326         * faces.c (complex_vars_of_faces): don't give the widget face an
9327         inherited background pixmap.
9328
9329         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
9330         selected item.
9331
9332         * event-stream.c (Fdispatch_non_command_events): return something.
9333
9334         * gutter.c (output_gutter): use widget face.
9335         (clear_gutter): ditto.
9336
9337         * NEWS: adjust again.
9338
9339         * window.c (Fselect_window): make sure this runs to completion to
9340         avoid oddities with Fset_window_configuration.
9341         (Fcurrent_window_configuration): in general do not save the
9342         minibuffer as the selected window.
9343
9344         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
9345
9346 2000-03-16  Olivier Galibert  <galibert@pobox.com>
9347
9348         * emacs.c (Frunning_temacs_p): Revert previous patch.
9349         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
9350
9351 2000-03-16  Andy Piper  <andy@xemacs.org>
9352
9353         * glyphs-x.c (x_tab_control_update): if no widget values then
9354         return.
9355
9356         * NEWS: update for new features.
9357
9358         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
9359         synthetic event to the native system.
9360         (reinit_vars_of_event_Xt): set force_event_pending to
9361         emacs_Xt_force_event_pending.
9362
9363         * events.h (struct event_stream): add force_event_pending.
9364
9365         * specifier.c (recompute_one_cached_specifier_in_window): add
9366         comment.
9367
9368         * redisplay.c (redisplay_frame): don't call
9369         update_frame_subwindows. Reset subwindow cachels when
9370         subwindows_changed, removing this was an optimization too far.
9371
9372         * redisplay-output.c (compare_runes): reorganize so that we catch
9373         glyph changes when we want them. Set optimize_output when this
9374         would help layouts.
9375         (redisplay_output_layout): remove frame_really_changed, use
9376         optimize_output instead.
9377
9378         * redisplay-msw.c (mswindows_output_display_block): reset
9379         optimize_output after outputting a glyph.
9380         * redisplay-x.c (x_output_display_block): ditto.
9381         * redisplay-tty.c (tty_output_display_block): ditto.
9382
9383         * gutter.c: (specifier_vars_of_gutter): use new spec changed
9384         functions.
9385         (gutter_specs_changed): do specific gutter positions.
9386         (top_gutter_specs_changed): new function. Only update the
9387         specified gutter specs.
9388         (bottom_gutter_specs_changed): ditto.
9389         (left_gutter_specs_changed): ditto.
9390         (right_gutter_specs_changed): ditto.
9391
9392         * gui.c (gui_item_hash_internal): new function, does a real hash.
9393         (gui_item_id_hash): use it.
9394         (gui_item_hash): hash the eval'ed gui_item.
9395
9396         * gui-x.c (popup_selection_callback): send an eval event to call
9397         Fupdate_widget_instances.
9398
9399         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
9400         to call Fupdate_widget_instances.
9401
9402         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
9403         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
9404
9405         * glyphs.c: (update_frame_subwindows): deleted.
9406         (Fupdate_widget_instances): new function for updating the dirty
9407         state of widgets that might have changed.
9408         (syms_of_glyphs): add Qupdate_widget_instances.
9409         (full_list_hash): hash a list completely.
9410         (image_instance_hash): use it for items and properties.
9411
9412         * frame-msw.c (mswindows_size_frame_internal): remove unused
9413         variable.
9414
9415         * faces.h (struct face_cachel): fix comment.
9416
9417         * event-stream.c (Fdispatch_non_command_events): new
9418         function. Process non-command events, forcing an event cycle
9419         beforehand.
9420         (syms_of_event_stream): declare.
9421         (event_stream_force_event_pending): new function. Force an event
9422         on the native event queue so that an event cycle will occur next
9423         time we check.
9424
9425         * event-msw.c:
9426         (struct ntpipe_shove_stream):
9427         (mswindows_enqueue_dispatch_event):
9428         (mswindows_dequeue_dispatch_event):
9429         (mswindows_cancel_dispatch_event):
9430         (mswindows_pump_outstanding_events):
9431         (mswindows_drain_windows_queue):
9432         (mswindows_handle_paint):
9433         (mswindows_wnd_proc):
9434         (mswindows_key_to_emacs_keysym):
9435         (get_process_input_waitable):
9436         (emacs_mswindows_delete_stream_pair): re-indent file.
9437         (mswindows_need_event): do not process further fds if the windows
9438         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
9439         fixes the 100% cpu problem.
9440         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
9441
9442 2000-03-15  Olivier Galibert  <galibert@pobox.com>
9443
9444         * alloc.h: New.
9445         * dumper.h: New.
9446         * dumper.c: New.
9447
9448         * emacs.c: Moved dump file searching to dumper.c.
9449         (Frunning_temacs_p): Fixed.
9450
9451         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
9452         last_lrecord_type_index_assigned.
9453
9454 2000-02-20  Olivier Galibert  <galibert@pobox.com>
9455
9456         * symsinit.h: Added reinit parameter to init_console_stream
9457         declaration.
9458
9459         * lisp.h: Added file parameter to pdump_load declaration.
9460
9461         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
9462         support.  Added dump file searching.
9463
9464         * config.h.in: Added EMACS_PROGNAME.
9465
9466         * console-stream.c (init_console_stream): Fix reinitialisation
9467         when running from temacs.
9468
9469         * alloc.c (pdump): Add id support.
9470         (pdump_load): Add file parameter and signature/id support.
9471
9472         * Makefile.in.in: Add full pdump support.
9473
9474 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
9475
9476         * postgresql.c: Update documentation to reflect latest code
9477         status.
9478         (print_result): Show tuple counts in printed representation when
9479         appropriate.
9480         (Fpq_put_nbytes): MULE-ize.
9481         (Fpq_get_line_async): Ditto.
9482
9483 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
9484
9485         * postgresql.c (Fpq_lo_import): Fix return value.
9486         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
9487
9488 2000-03-13  Ben Wing  <ben@xemacs.org>
9489
9490         * alloc.c (pdump_load):
9491         Fix compile warning under mswin.
9492
9493 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
9494
9495         * postgresql.c: Mule-ization, bug fixes.
9496         Use PG_CODING to encapsulate coding system name changes.
9497         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
9498         (pg-coding-system): Create.
9499
9500         (Fpq_conn_defaults): Mule-ize.
9501         (Fpq_connectdb): Mule-ize & bug fix.
9502         (Fpq_connect_start): Mule-ize.
9503         (Fpq_set_client_encoding): Mule-ize.
9504         (Fpq_finish): Document `DEAD' connection status.
9505         (Fpq_clear): Ditto.
9506         (Fpq_pgconn): Mule-ize.
9507         (Fpq_exec): Mule-ize & bug fix.
9508         (Fpq_send_query): Ditto.
9509         (Fpq_get_result): Ditto.
9510         (Fpq_res_status): Mule-ize.
9511         (Fpq_result_error_message): Mule-ize.
9512         (Fpq_ntuples): fix comments.
9513         (Fpq_fname): Mule-ize.
9514         (Fpq_fnumber): Mule-ize.
9515         (Fpq_ftype): fix comments.
9516         (Fpq_get_value): Mule-ize.
9517         (Fpq_cmd_status): Ditto.
9518         (Fpq_cmd_tuples): Ditto.
9519         (Fpq_oid_value): Ditto.
9520         (Fpq_notifies): Ditto.
9521         (Fpq_lo_import): Ditto.
9522         (Fpq_lo_export): Ditto.
9523         (Fpq_get_line): Ditto.
9524         (Fpq_put_line): Mule-ize and bug fix.
9525         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
9526
9527 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
9528
9529         * postgresql.c (vars_of_postgresql): Mule-ize.
9530         (Fpq_conn_defaults): Ditto.
9531
9532 2000-03-12  Ben Wing  <ben@xemacs.org>
9533
9534         * alloc.c (Fmake_byte_code):
9535         * alloc.c (debug_string_purity_print):
9536         * alloc.c (pdump_backtrace):
9537         * alloc.c (pdump_get_indirect_count):
9538         * alloc.c (pdump_register_sub):
9539         * alloc.c (pdump_register_object):
9540         * alloc.c (pdump_register_struct):
9541         * alloc.c (pdump_dump_data):
9542         * alloc.c (pdump_reloc_one):
9543         Minor cleanups.
9544
9545         * console-msw.c:
9546         * console-msw.c (GetConsoleHwnd):
9547         * console-msw.c (msw_hide_console):
9548         * console-msw.c (msw_show_console):
9549         * console-msw.c (msw_ensure_console_buffered):
9550         * console-msw.c (msw_output_console_string):
9551         * console-msw.c (console_type_create_mswindows):
9552
9553         a) Added functions to manipulate the console window for use with
9554         shell support.
9555
9556         b) Added support for writing text to the console, which is now
9557         used under Windows when xemacs is not being run non-interactively,
9558         to write text that would otherwise be destined for stdout because
9559         under these circumstances, text written to stdout tends to
9560         disappear and not be seen.
9561
9562         * console-msw.h:
9563         * event-Xt.c:
9564         * event-Xt.c (x_event_to_emacs_event):
9565         * event-Xt.c (describe_event_window):
9566         * events-mod.h (XEMACS_MOD_CONTROL):
9567         * events.c:
9568         * events.c (Fmake_event):
9569         * events.c (character_to_event):
9570         * events.c (event_to_character):
9571         * events.c (format_event_object):
9572         * events.c (Fevent_modifiers):
9573         * events.h:
9574         * events.h (struct key_data):
9575         * events.h (struct button_data):
9576         * events.h (struct misc_user_data):
9577         * frame-x.c (Fcde_start_drag_internal):
9578         * frame-x.c (Foffix_start_drag_internal):
9579         * gpmevent.c (Freceive_gpm_event):
9580         * keymap.c:
9581         * keymap.c (bucky_sym_to_bucky_bit):
9582         * keymap.c (control_meta_superify):
9583         * keymap.c (make_key_description):
9584         * keymap.c (keymap_lookup_directly):
9585         * keymap.c (create_bucky_submap):
9586         * keymap.c (keymap_store):
9587         * keymap.c (define_key_check_and_coerce_keysym):
9588         * keymap.c (define_key_parser):
9589         * keymap.c (define_key_alternate_name):
9590         * keymap.c (Fdefine_key):
9591         * keymap.c (raw_lookup_key_mapper):
9592         * keymap.c (struct map_keymap_unsorted_closure):
9593         * keymap.c (map_keymap_unsorted_mapper):
9594         * keymap.c (map_keymap_sort_predicate):
9595         * keymap.c (map_keymap_sorted):
9596         * keymap.c (accessible_keymaps_mapper_1):
9597         * keymap.c (where_is_recursive_mapper):
9598         * keymap.c (describe_map_mapper):
9599         * keymap.c (describe_map_sort_predicate):
9600         * keymap.c (describe_map):
9601         * keymap.c (complex_vars_of_keymap):
9602         And a number of other files, the key modifier preprocessor
9603         constants that xemacs uses have names that conflict with constants
9604         defined under MS Windows for other purposes, so they were renamed
9605         to begin with the prefix XEMACS_. The variables that hold such
9606         modifiers were changed to consistently be of type int to fix
9607         various compile warnings.
9608
9609         * console.c (complex_vars_of_console):
9610         * device.c:
9611         * device-msw.c:
9612         * device-msw.c (mswindows_finish_init_device):
9613         * device-msw.c (msw_get_workspace_coords):
9614         * device-msw.c (mswindows_device_system_metrics):
9615         and various other files, added support for a new
9616         device property called offset-workspace which returns the position
9617         of the upper left corner of the workspace area and goes along with
9618         the existing size-workspace property.
9619
9620         * dialog-msw.c:
9621         * dialog-msw.c (push_bufbyte_string_as_unicode):
9622         * dialog-msw.c (mswindows_popup_dialog_box):
9623         Added support for XEmacs-style accelerator specifications in
9624         button text.  Note: I didn't add support for this under X Windows,
9625         and somebody needs to do this.
9626
9627         * dialog.c:
9628         * dialog.c (Fpopup_dialog_box):
9629         Documented the support for accelerators that was just mentioned.
9630
9631         editfns.c (get_home_directory): Changed behavior under Windows
9632         when HOME not defined; former behavior was irretrievably broken.
9633
9634         * emacs.c:
9635         * emacs.c (main_1):
9636         * emacs.c (main):
9637         * minibuf.c (clear_echo_area_internal):
9638         * minibuf.c (echo_area_append):
9639         * print.c:
9640         * print.c (std_handle_out_external):
9641         * print.c (std_handle_out_va):
9642         * print.c (fatal):
9643         * print.c (write_string_to_stdio_stream):
9644         * print.c (output_string):
9645         * print.c (debug_print):
9646         * print.c (debug_backtrace):
9647         * print.c (debug_short_backtrace):
9648         Cleaned up the code that prints text to stdout so that this can be
9649         changed to output into a console window instead under MS Windows,
9650         as described above.
9651
9652         * eval.c:
9653         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
9654         * eval.c (internal_catch):
9655         * eval.c (unwind_to_catch):
9656         * eval.c (throw_or_bomb_out):
9657         * eval.c (condition_case_1):
9658         * eval.c (signal_1):
9659         * eval.c (check_error_state_sanity):
9660         * eval.c (call_with_suspended_errors_1):
9661         * eval.c (call_with_suspended_errors):
9662         * eval.c (reinit_vars_of_eval):
9663         Added code to catch throw loops and check for a pesky bug that may
9664         be gone now.
9665
9666         * event-msw.c:
9667         * event-msw.c (key_needs_default_processing_p):
9668         * event-msw.c (mswindows_wnd_proc):
9669         * event-msw.c (mswindows_modifier_state):
9670         * event-msw.c (emacs_mswindows_quit_p):
9671         * event-msw.c (vars_of_event_mswindows):
9672         a) Added support for using the alt key to select menu items as is
9673         standard under MS Windows.  This is controlled using the variable
9674         menu-accelerator-enabled, just like under X Windows.  There is an
9675         option on the options menu to turn this support on.  I really
9676         think that it should be on by default under Windows, but I'm not
9677         going to make this change yet.
9678
9679         b)  Added support for dynamic display size changes under Windows.
9680
9681         * event-stream.c:
9682         * event-stream.c (maybe_echo_keys):
9683         * event-stream.c (Fnext_event):
9684         * event-stream.c (command_builder_find_leaf):
9685         * event-stream.c (lookup_command_event):
9686         * event-stream.c (execute_command_event):
9687         * event-stream.c (pre_command_hook):
9688         * event-stream.c (post_command_hook):
9689         * event-stream.c (syms_of_event_stream):
9690         * event-stream.c (vars_of_event_stream):
9691         * event-stream.c (complex_vars_of_event_stream):
9692         * events.h (struct command_builder):
9693
9694         a) Tried to clean up a little bit the horribly written x-specific
9695         accelerator code that crept into this file.  I moved this code
9696         into menubar-x.c where it belongs. I also needed to move the
9697         command builder structure into the file events.h because it is
9698         accessed directly by this accelerator code.  What I didn't do, but
9699         which should be done at some point, is to properly abstract this
9700         code using device methods instead of the kludgy way that it
9701         currently hooks into the event code.
9702
9703         b) Added the lisp variables this-command-properties and
9704         last-command- properties, which should be used to synchronize two
9705         adjacent commands in preference to playing games with the variable
9706         this-command, which is typically what happens.
9707
9708         c) Added some slightly nasty code to hook into the lisp support
9709         for shifted- motion-key selection.  This is actually necessary for
9710         somewhat complicated reasons, which are described in
9711         simple.el. (NB: I think the proper thing would be to have the code
9712         that calls the pre and post command hooks also call out to generic
9713         lisp functions in simple.el, where all built-in stuff could be
9714         added.  I will think about this more.)
9715
9716         * event-unixoid.c (poll_fds_for_input):
9717         * lread.c (readchar):
9718         * redisplay-tty.c (tty_clear_frame):
9719         * redisplay-x.c (x_get_gc):
9720         * signal.c (interrupt_signal):
9721         And a whole bunch of other files: fixed up places that printed
9722         directly to stderr to instead call the function stderr_out so that
9723         the changes I made under Windows work correctly.
9724
9725         * filemode.c (mode_string):
9726         Warning fixes.
9727
9728         * frame-msw.c:
9729         * frame-msw.c (mswindows_size_frame_internal):
9730         Fixed the computation of frame size and position to keep the frame
9731         within the workspace area, rather than within the physical
9732         dimensions of the screen, so that the frame doesn't overlap window
9733         manager decorations, such as the start menu and toolbar, typically
9734         at the bottom of the screen.
9735
9736         * frame.c (vars_of_frame):
9737         Changed the default frame title format under MS Windows to consist
9738         of buffername-XEmacs, which is standard under MS Windows.  I think
9739         it might be a good idea to change this everywhere because I think
9740         it is superior to the current frame title format, but this is the
9741         kind of change that is likely to cause some people to get annoyed,
9742         so I'm not making it.
9743
9744         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
9745
9746         * gui-msw.c (mswindows_handle_gui_wm_command):
9747         Fixed compile warnings.
9748
9749         * gui-x.c:
9750         * gui-x.c (strdup_and_add_accel):
9751         * gui-x.c (button_item_to_widget_value):
9752         * gui-x.h:
9753         Added code to automatically put an accelerator onto the beginning
9754         of menu items that don't have one as is now the standard, and is
9755         described more later.  Also fixed things so that the menu item
9756         name can be an evaluated expression, again a new standard.
9757
9758         * gui.c:
9759         * gui.c (gui_item_add_keyval_pair):
9760         * gui.c (make_gui_item_from_keywords_internal):
9761         * gui.c (gui_add_item_keywords_to_plist):
9762         * gui.c (gui_item_accelerator):
9763         * gui.c (gui_name_accelerator):
9764         * gui.c (gui_item_included_p):
9765         * gui.c (gui_item_display_flush_left):
9766         * gui.c (gui_item_display_flush_right):
9767         * gui.c (parse_gui_item_tree_item):
9768         * gui.c (parse_gui_item_tree_children):
9769         * gui.c (parse_gui_item_tree_list):
9770         Mule-ized.  Cleanup.  GCPRO addition.
9771
9772         * line-number.c (buffer_line_number):
9773         * lisp.h:
9774         * lisp.h (EMACS_INT_MAX):
9775         Added the manifest constant EMACS_INT_MIN corresponding to the
9776         existing constant EMACS_INT_MAX.  This is partially to fix compile
9777         warnings under Windows, and partly for cleanliness.
9778
9779         * menubar-msw.c:
9780         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
9781         * menubar-msw.c (msw_translate_menu_or_dialog_item):
9782         * menubar-msw.c (displayable_menu_item):
9783         * menubar-msw.c (populate_menu_add_item):
9784         * menubar-msw.c (populate_or_checksum_helper):
9785         * menubar-msw.c (populate_menu):
9786         * menubar-msw.c (update_frame_menubar_maybe):
9787         * menubar-msw.c (prune_menubar):
9788         * menubar-msw.c (msw_char_is_accelerator):
9789         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
9790         * menubar-msw.c (mswindows_handle_wm_command):
9791         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
9792         * menubar-msw.c (mswindows_handle_wm_initmenu):
9793         * menubar-msw.c (mswindows_update_frame_menubars):
9794         * menubar-msw.c (mswindows_free_frame_menubars):
9795         * menubar-msw.c (mswindows_popup_menu):
9796         Fixed a bug in handling accelerators where an extra character
9797         would be displayed in the menu item.  Also generalized the
9798         function displayable_menu_item because it is now used by the
9799         dialog box code as well.  And finally, added code in the functions
9800         that create the menubar to extract a list of accelerators for the
9801         top level menubar, which is used in the event code to determine
9802         whether a particular alt-key combination should be used to invoke
9803         a menu item, or should be passed through to access the standard
9804         XEmacs keymap binding for this key combination.
9805
9806         Much needed GCPROing.
9807
9808         * menubar-x.c:
9809         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9810         * menubar-x.c (menu_item_descriptor_to_widget_value):
9811         * menubar-x.c (restore_in_menu_callback):
9812         * menubar-x.c (x_popup_menu):
9813         * menubar-x.c (menu_move_up):
9814         * menubar-x.c (menu_move_down):
9815         * menubar-x.c (menu_move_left):
9816         * menubar-x.c (menu_move_right):
9817         * menubar-x.c (menu_select_item):
9818         * menubar-x.c (command_builder_operate_menu_accelerator):
9819         * menubar-x.c (menu_accelerator_junk_on_error):
9820         * menubar-x.c (command_builder_find_menu_accelerator):
9821         * menubar-x.c (Faccelerate_menu):
9822         * menubar.h:
9823         Moved a whole bunch of code here that was previously in
9824         event-stream.c as described above.  There is also code connected
9825         to the new standard of adding an accelerator to the beginning of
9826         menu items that don't have one as described above and below.
9827
9828         * menubar.c:
9829         * menubar.c (menu_parse_submenu_keywords):
9830         * menubar.c (Fmenu_find_real_submenu):
9831         * menubar.c (Fnormalize_menu_item_name):
9832         * menubar.c (syms_of_menubar):
9833         * menubar.c (vars_of_menubar):
9834         * menubar.c (complex_vars_of_menubar):
9835
9836         a) Cleaned up a bunch of documentation and improved it.
9837
9838         b) XEmacs now automatically adds an accelerator onto the beginning
9839         of any menu items that don't have one.  I did this because there
9840         will inevitably be some menu items on the main menubar that don't
9841         have accelerators on them because the package that adds that
9842         particular menu item hasn't yet been fixed up to have accelerators
9843         in them and it looked rather strange to have some items with and
9844         some items without accelerators, especially since even in items
9845         without accelerators, you can, at least under windows, still
9846         access the item through an accelerator corresponding to the first
9847         character in the item's name.  If people don't like this behavior,
9848         I can add a variable to turn it off optionally, but I'm not sure
9849         this is a good idea because we really do need to have accelerators
9850         on all of the menu items, and if a package doesn't like the
9851         accelerators being put on the first character, then it should put
9852         the accelerators where they belong.
9853
9854         c) I made a behavior change, which is that the descriptor that
9855         specifies the text of the menu item, which formerly was just a
9856         string, can now also be an evaluated expression.  This makes this
9857         descriptor parallel with all of the others, which could also be
9858         evaluated expressions.  This also obviates the need for the
9859         keyword :label, which was previously listed in the documentation
9860         as unimplemented, and which was for the same purpose.
9861
9862         d) GCPROing.
9863
9864         * ntproc.c:
9865         * ntproc.c (new_child):
9866         * ntproc.c (sys_spawnve):
9867         * ntproc.c (find_child_console):
9868         * ntproc.c (sys_kill):
9869         Fixed compile warnings.  By the way, this file should really go
9870         away entirely, and this will happen as soon as Kirill makes his
9871         final round of process cleanups, which affect the function
9872         call-process.
9873
9874         * process-nt.c:
9875         * process-nt.c (struct nt_process_data):
9876         * process-nt.c (find_process_from_pid):
9877         * process-nt.c (send_signal_the_nt_way):
9878         * process-nt.c (enable_child_signals):
9879         * process-nt.c (find_child_console):
9880         * process-nt.c (send_signal_the_95_way):
9881         * process-nt.c (nt_finalize_process_data):
9882         * process-nt.c (ensure_console_window_exists):
9883         * process-nt.c (nt_create_process):
9884         * process-nt.c (nt_kill_child_process):
9885         * process-nt.c (nt_kill_process_by_pid):
9886         * process-nt.c (nt_open_network_stream):
9887         * process-nt.c (vars_of_process_nt):
9888         Copied over code from Emacs 20.5 to correctly send signals to sub-
9889         processes under Windows 95.  Also added code to automatically
9890         create and hide console window when a sub-process is created under
9891         Windows 95, which obviates the need for the separate runemacs.exe
9892         executable, and finally implemented some variables that were
9893         implemented in Emacs 20.5, but previously not in XEmacs.  These
9894         include mswindows- start-process-share-console and
9895         mswindows-start-process-inherit-error-mode. (Both of these only
9896         apply to Windows 95.)
9897
9898         * regex.c (regex_compile): Fixed a compile warning.
9899
9900         * select-msw.c:
9901         * select-msw.c (mswindows_own_selection):
9902         * select-msw.c (mswindows_get_foreign_selection):
9903         * select-msw.c (mswindows_disown_selection):
9904         * select-msw.c (console_type_create_select_mswindows):
9905         * select-msw.c (syms_of_select_mswindows):
9906         Cleaned up the file and implemented the device method
9907         selection_exists_p, which had accidentally been left out.  Also
9908         removed four lisp functions that were remnants from before the
9909         time when the selection code was properly device abstracted.
9910         These functions are no longer needed because there are generic
9911         equivalents, and because they were added recently and don't exist
9912         in FSF Emacs, I don't think there's any problem with just deleting
9913         them.
9914
9915         * sysdep.c:
9916         * sysdep.c (sys_subshell):
9917         Fixed a compile warning, although in this case there's probably
9918         something wrong with this code, and it ought to be looked into
9919         more thoroughly by somebody who understands it.
9920
9921         * window.c:
9922         * window.c (Fwindow_text_area_height):
9923         * window.c (Fwindow_width):
9924         * window.c (Fwindow_full_width):
9925         * window.c (Fwindow_pixel_width):
9926         * window.c (debug_print_window):
9927         * window.c (syms_of_window):
9928         Added functions window-text-area-height and window-full-width,
9929         which are functions for returning various width and height
9930         characteristics of a window. (One of these functions is necessary
9931         for making the file dialog box work correctly, and the other one
9932         was added for completeness.)  Also added a table to the
9933         documentation for window-height which describes the entire scheme
9934         for accessing width and height characteristics of a window.
9935
9936 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
9937
9938         * nt.c (fstat): Added a comment for another problem with
9939         non-encapsulated [f]stat(), reported by Adrian Aichner
9940         <aichner@ecf.teradyne.com>.
9941
9942 2000-03-11  Andy Piper  <andy@xemacs.org>
9943
9944         * window.c (make_dummy_parent): initialize subwindow instance
9945         cache.
9946         (Fset_window_configuration): zero extent_modiff.
9947
9948 2000-03-10  Andy Piper  <andy@xemacs.org>
9949
9950         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
9951         more changes can be triggered.
9952         (Fredisplay_frame): ditto.
9953         (Fredraw_device): ditto.
9954         (Fredisplay_device): ditto.
9955         (redisplay_frame): make non-static.
9956         (redisplay_frame): call update_frame_gutter_geometry outside of
9957         display proper.
9958
9959         * gutter.h: declare update_frame_gutter_geometry.
9960
9961         * redisplay.h: declare redisplay_frame.
9962
9963         * gutter.c (update_frame_gutter_geometry): move geometry changes
9964         in update_frame_gutters here. Geometry changes can only occur
9965         outside of redisplay.
9966         (update_frame_gutters): remove geometry change code.
9967         (Fredisplay_gutter_area): make sure that we are in display when we
9968         update and that we have flushed any size changes.
9969
9970 2000-03-11  Andy Piper  <andy@xemacs.org>
9971
9972         * alloc.c (pdump_dump_data): remove i & count shadows.
9973
9974 2000-02-27  Mike Alexander  <mta@arbortext.com>
9975
9976         * sysdep.h: Declare pdump_read_file
9977
9978         * sysdep.c (pdump_read_file): New function
9979
9980         * alloc.c (pdump_load): Call pdump_read_file to get the portable
9981         dump data
9982
9983 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
9984
9985         * lrecord.h: add `lrecord_type_pgsetenv'.
9986
9987 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
9988
9989         * symsinit.h: declare (vars|syms)_of* functions.
9990         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
9991
9992 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
9993
9994         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
9995
9996         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
9997         GCCs.
9998
9999         * emacs.c (main_1): Call postgres initialization code.
10000
10001         * postgresql.h: New file.  PostgreSQL RDBMS support.
10002         * postgresql.c: New file.
10003
10004 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
10005
10006         * redisplay-output.c (redisplay_output_display_block): Disable
10007         redundant code.
10008
10009 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10010
10011         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
10012         (Fcanna_henkan_next): Ditto.
10013         (Fcanna_bunsetu_henkou): Ditto.
10014         (Fcanna_henkan_kakutei): Ditto.
10015         (Fcanna_henkan_end): Ditto.
10016         (Fcanna_henkan_quit): Ditto.
10017         (Fcanna_henkan_next): Set retun value correctly.
10018         (c2mu): Use unsigned char instead of signed char.
10019
10020 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10021
10022         * emacs.c (main_1): Always call syms_of_gui.
10023         * inline.c: include gui.h
10024
10025 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10026
10027         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
10028         converted to Lisp_Object.
10029         (Qtop_bottom): New variable.
10030         (syms_of_redisplay): Initialize it.
10031         * redisplay.h (Vvisible_bell): Ditto.
10032         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
10033         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
10034         only flash top and bottom.
10035
10036 2000-03-08  Andy Piper  <andy@xemacs.org>
10037
10038         * buffer.c (Frename_buffer): record new buffer name the right way.
10039
10040 2000-03-08  Andy Piper  <andy@xemacs.org>
10041
10042         * glyphs.c (update_subwindow): increase hash depth so that widget
10043         items get picked up properly.
10044
10045         * redisplay-output.c (compare_runes): increase hash depth so that
10046         widget items get picked up properly.
10047
10048 2000-03-08  Andy Piper  <andy@xemacs.org>
10049
10050         * gutter.c (output_gutter): add some debug.
10051
10052         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
10053         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
10054         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
10055
10056         * redisplay-output.c (compare_runes): use display_hash to
10057         determine if glyphs really are not the same.
10058
10059         * glyphs.c (update_subwindow): check display_hash to see if
10060         anything really needs to be updated. If not then do
10061         nothing. Record the display_hash after updating.
10062         (image_instance_equal): compare the image_instance face also.
10063
10064 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
10065
10066         * redisplay.h: Fix comment style.
10067
10068 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10069
10070         * consle-msw.h (struct mswindows_frame):
10071         Added new member paint_pending to indicate whether a WM_PAINT
10072         magic event has been queued for this frame.
10073
10074         * event-msw.c (mswindows_drain_windows_queue):
10075         Don't queue a WM_PAINT magic event if one is already queued.
10076         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
10077
10078         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
10079
10080 2000-03-07  Didier Verna  <didier@xemacs.org>
10081
10082         * dired.c: #include `regex.h' after `sysfile.h'.
10083
10084 2000-03-06  Martin Buchholz  <martin@xemacs.org>
10085
10086         * sound.c (init_nas_sound): Fix compiler warning.
10087
10088         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
10089         (FREE_STRUCT_P):
10090         (MARK_STRUCT_AS_FREE):
10091         (MARK_STRUCT_AS_NOT_FREE):
10092         Make `gcc -fstrict-aliasing' work properly.
10093
10094 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10095
10096         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
10097         (mswindows_delete_device): Call CoUnnitialize().
10098
10099         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
10100
10101 2000-02-25    <CraigL@DyCon.com>
10102
10103         * process-nt.c: MinGW now has <shellapi.h>, but still needs
10104         <errno.h>.
10105
10106         * sysdep.c: This extern declaration for environ prevents MinGW
10107         from finding the variable in CRTDLL.DLL.
10108
10109         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
10110         windows headers.
10111         (SHGFI_EXETYPE): ..
10112         (WM_MOUSEWHEEL): ..
10113         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
10114         definitions.
10115         (MMRESULT): Removed, now defined in cygwin's windows headers.
10116         (TIMECAPS): ..
10117         (uid_t,gid_t,pid_t,ssize_t): ..
10118         (_timeb): Removed, MinGW defines both _timeb and timeb.
10119         (HAVE_H_ERRNO): Added.
10120         (HAVE_TZNAME): Added, configure is not detecting this.
10121
10122 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
10123
10124         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
10125         * syntax.c (syntax_match): Use it.
10126
10127         * cmds.c: Import auto-fill-chars from FSF Emacs.
10128         (Vauto_fill_chars): New variables.
10129         (internal_self_insert): Check Vauto_fill_chars.
10130         (vars_of_cmds):
10131         Declare auto-fill-chars as a Lisp variable and initialize it.
10132
10133 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10134
10135         * fileio.c (Fmake_symbolic_link):
10136         (Ffile_symlink_p):
10137         Run handlers even if local machine doesn't have symlinks.
10138
10139 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10140
10141         * event-msw.c (mswindows_drain_windows_queue):
10142         Don't generate paint magic events for non-XEmacs frames.
10143
10144 2000-03-05  Andy Piper  <andy@xemacs.org>
10145
10146         * redisplay.c (redisplay_frame): generate_displayable_area and
10147         friends assumes that we are not in GC, we therefore have to make
10148         sure that this doesn't happen.
10149
10150         * gutter.c (calculate_gutter_size): generate_displayable_area
10151         assumes that we are not in GC, we therefore have to make sure that
10152         this doesn't happen.
10153
10154 2000-03-05  Martin Buchholz  <martin@xemacs.org>
10155
10156         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
10157
10158 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
10159
10160         * redisplay.c (regenerate_window): Make sure we set a sane value
10161         for end_pos even if we jump out of the loop.
10162         (regenerate_window): Answer Ben's question :-).
10163         (start_end_of_last_line): Add may_error argument.
10164         (start_of_last_line):
10165         (end_of_last_line): Pass may_error = 0.
10166         (end_of_last_line_may_error): New function.
10167         (pixel_to_glyph_translation): Use it, so we don't crash in
10168         event_to_glyph.
10169
10170 2000-03-04  Andy Piper  <andy@xemacs.org>
10171
10172         * window.h (struct window): add gutter_extent_modiff.
10173
10174         * window.c (allocate_window): zero out gutter_extent_modiff.
10175
10176         * redisplay.h: declare sync_display_line_structs.
10177
10178         * redisplay.c (add_glyph_rune): add a better comment.
10179
10180         * redisplay-output.c (sync_display_line_structs): made non-static.
10181         (compare_runes): remove unneccesary glyph cachel access.
10182
10183         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
10184
10185         * gutter.c (output_gutter): don't output the gutter if extent
10186         changes only involve extents in buffers. use 4 sets of display
10187         lines.
10188         (gutter_extent_signal_changed_region_maybe): new function. Mark
10189         extents in gutters as changed.
10190         (update_frame_gutters): use 4 sets of display lines.
10191         (reset_gutter_display_lines): ditto.
10192         (free_frame_gutters): ditto.
10193         (redraw_exposed_gutter): force output of gutters.
10194
10195         * frame.h (struct frame): add 4 sets of gutter display lines.
10196
10197         * extents.c: (extent_changed_for_redisplay): signal changes to
10198         extents in strings in the gutter as well as extents in buffers.
10199
10200 2000-03-02  Andy Piper  <andy@xemacs.org>
10201
10202         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
10203
10204         * frame.c (Fmake_frame): make sure the gutters get initialized
10205         after the frame is visible.
10206         (set_frame_selected_window): re-arrange compilation macros a
10207         little.
10208         (change_frame_size_1): mark gutters changed.
10209
10210         * device.c (Fset_device_class): mark gutters changed.
10211
10212 2000-03-01  Andy Piper  <andy@xemacs.org>
10213
10214         * window.c (window_top_frame_gutter_height): deleted.
10215         (window_bottom_frame_gutter_height): ditto.
10216         (window_left_frame_gutter_height): ditto.
10217         (window_right_frame_gutter_height): ditto.
10218         (window_top_gutter_height): don't use them.
10219         (window_bottom_gutter_height): ditto.
10220         (window_left_gutter_width): ditto.
10221         (window_right_gutter_width): ditto.
10222         (Fsplit_window): ditto.
10223         (Fwindow_pixel_edges): don't use border dimensions here.
10224
10225         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
10226         (update_scrollbar_instance): ditto.
10227
10228         * redisplay.c (generate_modeline): don't take gutters into account.
10229         (generate_modeline): ditto.
10230         (redisplay_frame): small gutter display optimization.
10231
10232         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
10233
10234         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
10235         gutters into account.
10236
10237         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
10238         for window position and type.
10239
10240         * gutter.c (get_gutter_coords): fix for frame gutters.
10241         (update_frame_gutters): update frame geometry if the gutters have
10242         changed.
10243         (init_frame_gutters): record current gutter geometries.
10244
10245         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
10246         var.
10247         (mswindows_widget_instantiate): ditto.
10248
10249         * frame.h (struct frame): add current_gutter_bounds.
10250
10251         * frame.c (change_frame_size_1): position window and minibuffer
10252         appropriately taking into account the frame gutters.
10253
10254         * frame-x.c: (x_initialize_frame_size): take into account the
10255         frame gutters.
10256
10257 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
10258
10259         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
10260
10261 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
10262
10263         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
10264
10265 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
10266
10267         * file-coding.c (reset_decoding_stream): Clear previous
10268         detection state when autodetect.
10269
10270 2000-02-29  Didier Verna  <didier@xemacs.org>
10271
10272         * extents.c (set_extent_glyph_1): don't require extents to be
10273         attached.
10274
10275 2000-02-27  Andy Piper  <andy@xemacs.org>
10276
10277         * gutter.c (Fset_default_gutter_position): don't default left and
10278         right gutter visibility to t.
10279         (Fset_default_gutter_position): run
10280         default-gutter-position-changed-hook.
10281         (syms_of_gutter): add default-gutter-position-changed-hook.
10282
10283 2000-02-26  Andy Piper  <andy@xemacs.org>
10284
10285         * specifier.c (Fmake_specifier): add gutter references.
10286
10287         * gutter.h (RAW_WINDOW_GUTTER): new macro.
10288
10289         * lisp.h: declare Fvalid_plist_p.
10290
10291         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
10292         as changed.
10293         (default_gutter_visible_p_changed_in_window): invalidate gutter as
10294         well as its visibility so that it gets reconstructed.
10295         (construct_window_gutter_spec): new function. Construct a string
10296         to be displayed in the gutter from a plist of strings. Take care
10297         to only use elements that are declared as visible.
10298         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
10299         WINDOW_GUTTER.
10300         (gutter_validate): allow plists of strings in the specifier.
10301         (gutter_specs_changed): construct the real_gutter from the gutter
10302         specs using construct_window_gutter_spec.
10303         (gutter_visible_validate): gutter-visible is a new specifier type.
10304         (Fgutter_visible_specifier_p): new function for the new specifier.
10305         (syms_of_gutter): declare gutter-visible and
10306         Fgutter_visible_specifier_p.
10307         (specifier_type_create_gutter): intitalize new gutter-visible
10308         specifier.
10309         (reinit_specifier_type_create_gutter): ditto.
10310         (specifier_vars_of_gutter): use new specifier type for gutter
10311         visibility.
10312         (init_frame_gutters): construct real_gutter correctly.
10313         (Fgutter_specifier_p): beef up documentation.
10314         (Fgutter_size_specifier_p): ditto.
10315
10316         * winslots.h: add real_gutter slots.
10317
10318 2000-02-25  Andy Piper  <andy@xemacs.org>
10319
10320         * device-msw.c: Be kind to older cygwin versions. From Raymond
10321         Toy <toy@rtp.ericsson.se>.
10322
10323         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
10324         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
10325
10326 2000-02-25  Martin Buchholz  <martin@xemacs.org>
10327
10328         * elhash.c (MARK_OBJ): Practice macro hygiene.
10329
10330 2000-02-24  Martin Buchholz  <martin@xemacs.org>
10331
10332         * miscplay.c: s/__inline__/inline/g;
10333         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
10334         (get_device_compdc): INLINE ==> static inline
10335         * *.[ch]: Change INLINE to INLINE_HEADER globally.
10336         find -name '*.h' | \
10337         xargs global-replace \
10338         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
10339
10340 2000-02-25  Andy Piper  <andy@xemacs.org>
10341
10342         * window.c (window_top_frame_gutter_height): new function.
10343         (window_top_window_gutter_height): ditto.
10344         (window_top_gutter_height): use them.
10345         (window_bottom_frame_gutter_height): new function.
10346         (window_bottom_window_gutter_height): ditto.
10347         (window_bottom_gutter_height): use them.
10348         (window_left_window_gutter_width): new function.
10349         (window_left_frame_gutter_width): ditto.
10350         (window_left_gutter_width): use them.
10351         (window_right_window_gutter_width): new function.
10352         (window_right_frame_gutter_width): ditto.
10353         (window_right_gutter_width): use them.
10354         (window_pixel_height): new function. calulate window pixel height
10355         with frame gutter involvement.
10356         (Fsplit_window): calculate new sizes taking frame gutters into
10357         account.
10358         (window_char_height_to_pixel_height): don't include frame gutters.
10359         (window_char_height): use window_pixel_height.
10360         (window_pixheight): rename from window_pixel_height.
10361         (change_window_height): use it.
10362         (window_pixel_height_to_char_height): don't include frame gutters.
10363         (window_char_width_to_pixel_width): ditto.
10364
10365 2000-02-25  Andy Piper  <andy@xemacs.org>
10366
10367         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
10368         if it is.
10369
10370 2000-02-24  Martin Buchholz  <martin@xemacs.org>
10371
10372         * alloc.c (staticpro):
10373         (staticpro_nodump):
10374         (dumpstruct):
10375         (dumpopaque):
10376         (pdump_wire):
10377         (pdump_wire_list):
10378         (compact_string_chars):
10379         (pdump_dump_wired):
10380         Convert:  if (foo) abort();  ==>  assert (! foo);
10381
10382         * eldap.c (Fldap_search_basic):
10383         (Fldap_add):
10384         (Fldap_modify):
10385         (Fldap_delete):
10386         Fix compiler warnings, and possible crashes if (random) return
10387         value were to be used.
10388
10389 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10390
10391         * device-msw.c: Workaround ResetDC failure.
10392
10393         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
10394         applying a devmode.
10395
10396         * redisplay-msw.c (get_frame_dc): Added start_page_p.
10397         (mswindows_text_width): Do not start printer page.
10398
10399         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
10400
10401         * glyphs-msw.c: Added image methods to msprinter console and
10402         msprinter-specific image instantiation.
10403
10404 2000-02-20  Mike Alexander  <mta@arbortext.com>
10405
10406         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
10407         to avoid crashes when selection-sets-clipboard is on
10408         (mswindows_own_selection): ditto
10409
10410 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10411
10412         * glyphs-msw.c:
10413         * redisplay-msw.c (get_frame_dc):
10414         (get_frame_compdc):
10415         * console-msw.h:
10416         * device-msw.c (mswindows_init_device):
10417         (mswindows_delete_device):
10418         (msprinter_init_device):
10419         (msprinter_delete_device):
10420         * frame-msw.c (mswindows_init_frame_1):
10421         (mswindows_delete_frame):
10422         (msprinter_init_frame_3):
10423         (msprinter_delete_frame): Move compatible DC to device object from
10424         frame object, for both mswindows and msprinter. Only one at a time
10425         is needed, it is a real waste to have one per frame!
10426
10427 2000-02-23  Andy Piper  <andy@xemacs.org>
10428
10429         * glyphs.c: add dynamic width and height elements.
10430         (image_instance_equal): ditto.
10431
10432         * glyphs-widget.c (widget_query_geometry): calculate width and
10433         height dynamically if required.
10434         (initialize_widget_image_instance): initialize dynamic dimensions.
10435         (widget_instantiate): pick-up dynamic dimensions.
10436
10437         * glyphs.h (struct Lisp_Image_Instance): add width and height for
10438         dynamic determination. Add appropriate macros.
10439
10440         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
10441         dimensions safe.
10442         (WINDOW_GUTTER_SIZE): ditto.
10443         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
10444
10445         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
10446         inline.
10447         (get_frame_dc): ditto.
10448
10449         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
10450         here.
10451
10452 2000-02-23  Martin Buchholz <martin@xemacs.org>
10453
10454         * XEmacs 21.2.31 is released.
10455
10456 2000-02-22  Ben Wing <ben@xemacs.org>
10457
10458         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
10459
10460 2000-02-22  Andy Piper  <andy@xemacs.org>
10461
10462         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
10463
10464 2000-02-21  Mike Sperber <mike@xemacs.org>
10465
10466         * .dbxrc:
10467         * .gdbinit:
10468         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
10469         variables.
10470
10471 2000-02-21  Mike Sperber <mike@xemacs.org>
10472
10473         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
10474
10475 2000-02-21  Martin Buchholz <martin@xemacs.org>
10476
10477         * XEmacs 21.2.30 is released.
10478
10479 2000-02-20  Martin Buchholz  <martin@xemacs.org>
10480
10481         Performance hacking.
10482         * *.c (syms_of_*):
10483         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
10484         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
10485         * emacs.c (main_1):
10486         * lisp.h (DEFUN):
10487         * console.c (DEFVAR_CONSOLE_LOCAL_1):
10488         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
10489         * symeval.h (DEFVAR_SYMVAL_FWD):
10490         * symbols.c (guts_of_unbound_marker):
10491         Make all c_readonly objects also lisp_readonly and marked for life.
10492         * lrecord.h (struct lrecord_implementation):
10493         Document flags better.
10494         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
10495         * lrecord.h (DECLARE_LRECORD):
10496         * lrecord.h (XSETRECORD):
10497         * lrecord.h (RECORDP):
10498         * lrecord.h (RECORD_TYPEP):
10499         * lrecord.h (RECORD_MARKER): New.
10500         * lrecord.h (error_check_*):
10501         * lrecord.h (CONCHECK_NONRECORD):
10502         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
10503         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
10504         * lrecord.h (set_lheader_implementation):
10505         * lrecord.h (enum lrecord_type): New.
10506         * symeval.h (SYMBOL_VALUE_MAGIC_P):
10507         * alloc.c (disksave_object_finalization_1):
10508         * alloc.c (mark_object):
10509         * alloc.c (lrecord_type_index):
10510         * alloc.c (tick_lcrecord_stats):
10511         * alloc.c (Fgarbage_collect):
10512         * alloc.c (init_alloc_once_early):
10513         * alloc.c (pdump_load):
10514         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
10515         * alloc.c (lrecord_type_index): Delete.
10516         Make lisp object type indexes be constant.
10517           Makes (byte-compile) 5% faster.
10518         Put all marker functions into their own array.
10519           Makes (garbage-collect) 5% faster.
10520         Optimize SYMBOL_VALUE_MAGIC_P.
10521           Makes (byte-compile) 2-3% faster.
10522         * config.h.in (gc_checking_assert): New.
10523         * alloc.c: Use gc_checking_assert().
10524         * .dbxrc: Make compatible with new object type implementation.
10525         * .gdbinit: Make compatible with new object type implementation.
10526         * alloc.c: Delete all symbols defined only for debugging, such as
10527         Lisp_Type_Vector and lrecord_charset.
10528
10529 2000-02-21  Andy Piper  <andy@xemacs.org>
10530
10531         * gui-msw.c (Fmswindows_shell_execute): fix file location
10532         problems.
10533
10534         * buffer.c (Fkill_buffer): remove buffer from alist buffer
10535         unshowing so that set_window_buffer doesn't undo
10536         kill_buffer_hook's hard work.
10537
10538         * glyphs-widget.c (tab_control_query_geometry): don't count the
10539         first item when calculating geometry.
10540
10541         * glyphs.c (map_subwindow): remove redundant code.
10542         (update_frame_subwindows): be more circumspect about when to
10543         update subwindows.
10544
10545         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
10546         when items haven't changed. Update faces if faces have changed as
10547         well as just the widget face.
10548         (x_tab_control_update): Update faces if faces have changed as well
10549         as just the widget face.
10550
10551 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10552
10553         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
10554         registration.
10555         (build_syscolor_string): Use mswindows_color_to_string to try to
10556         get a named color.
10557         (mswindows_device_system_metrics): Reverse the foreground and
10558         background colors so that they match the documentation.
10559
10560         * objects-msw.c: (mswindows_X_color_map): tweak some values so
10561         they match the default Windows palette.
10562         (mswindows_color_to_string): New function.
10563
10564 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10565
10566         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
10567
10568 2000-02-18  Olivier Galibert  <galibert@pobox.com>
10569
10570         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
10571         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
10572
10573         * symbols.c (init_symbols_once_early): Removed obsolete
10574         DATA_SEG_BITS related kludge.
10575         (defvar_magic): Ditto.
10576
10577         * malloc.c: Removed obsolete DATA_SEG_BITS
10578         * ralloc.c: Ditto.
10579         * mem-limits.h: Ditto.
10580
10581         * Makefile.in.in: Removed obsolete HAVE_SHM
10582         * emacs.c: Ditto.
10583
10584 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10585
10586         *  device-msw.c (mswindows_delete_device): Free DDE string
10587         handles.
10588
10589 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10590
10591         * keymap.c (get_keyelt):
10592         * unexnt.c (unexec):
10593         * vm-limit.c (memory_warnings):
10594         * ntheap.c (recreate_heap):
10595         * ntheap.h (UNINIT_PTR):
10596         * select-msw.c (Fmswindows_get_clipboard):
10597         (Fmswindows_set_clipboard):
10598         * objects-msw.h (MSWINDOWS_BAD_HFONT):
10599         * objects-msw.c:
10600         * menubar-msw.c (displayable_menu_item):
10601         * glyphs-msw.c:
10602         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
10603         * sysdep.c (sys_subshell):
10604         * process-nt.c (nt_create_process):
10605         * nt.c (normalize_filename):
10606         (dostounix_filename):
10607         (unixtodos_filename):
10608         * ntproc.c (win32_executable_type):
10609         * ntplay.c (play_sound_data_1):
10610         (play_sound_file):
10611         * editfns.c (get_home_directory):
10612         * event-msw.c (struct winsock_stream):
10613         (mswindows_dde_callback):
10614         * device-msw.c (msprinter_init_device):
10615         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
10616
10617         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
10618         mswindows_clear_toolbar were swapped!
10619
10620         * objects-msw.c:(colormap_t):
10621         (fontmap_t):
10622         * emacs.c (struct standard_args): Fixed const jumble.
10623
10624         * glyphs-widget.c (update_widget): Fixed comparison notation.
10625
10626         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
10627
10628         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
10629         __declspec(noreturn) syntax.
10630
10631 2000-02-19  Martin Buchholz  <martin@xemacs.org>
10632
10633         * eldap.c (Fldap_open):
10634         (Fldap_search_basic):
10635         (Fldap_add):
10636         (Fldap_modify):
10637         Use new coding system conversion macros.
10638
10639 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
10640
10641         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
10642
10643 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
10644
10645         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
10646         (Fldap_add, Fldap_modify, Fldap_delete): New functions
10647
10648         * eldap.c (Qadd, Qreplace): New constant symbols
10649         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
10650         interruptions by XEmacs signals
10651         Remove unnecessary calls to slow_down_interrupts and
10652         speed_up_interrupts
10653         (Fldap_search_basic): Renamed from Fldap_search_internal
10654         Added new optional parameter VERBOSE that triggers the
10655         display of progress messages
10656         Remove unnecessary calls to slow_down_interrupts and
10657         speed_up_interrupts
10658         LDAP result code analysis rewritten
10659         (Fldap_add, Fldap_modify, Fldap_delete): New functions
10660         (syms_of_eldap): Define the new symbols and functions
10661
10662
10663 2000-02-17  Martin Buchholz  <martin@xemacs.org>
10664
10665         * realpath.c: Determine PATH_MAX maximally portably.
10666
10667         * insdel.c (bytecount_to_charcount): Optimize.
10668         The function used to be optimized for entirely ASCII sequences.
10669         Now it is optimized for successive characters from the same
10670         charset.  This also wins big for _mostly_ ASCII sequences.
10671
10672         * fileio.c (Ffile_truename): convert return from realpath() using
10673         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
10674         - Rewrite GCPROing slightly.
10675
10676         * sysdep.c (sys_open): Do filename conversion, like all other
10677         sys_* functions.  Fixes bug:
10678         (let ((file-name-coding-system 'iso-8859-2))
10679            (write-region x y latin2-name))
10680         ==> writes filename using internal encoding.
10681
10682 2000-02-18  Martin Buchholz  <martin@xemacs.org>
10683
10684         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
10685         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
10686         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
10687         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
10688         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
10689         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
10690         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
10691         (CONST_IF_NOT_DEBUG): Delete.
10692         * alloc.c (this_one_is_unmarkable): Delete.
10693         (mark_object): Don't check for this_one_is_unmarkable. Use the
10694         c_readonly flag instead.
10695         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
10696
10697 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10698
10699         * event-msw.c (mswindows_drain_windows_queue):
10700         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
10701         away redundant repaint events.
10702
10703 2000-02-17  Andy Piper  <andy@xemacs.org>
10704
10705         * redisplay.h: declare mark_redisplay_structs.
10706
10707         * redisplay.c (redisplay_window):
10708         (redisplay_frame): don't check subwindows_state_changed.
10709         (mark_redisplay): mark gutters here.
10710
10711         * glyphs.c: (instantiate_image_instantiator): always layout if we
10712         haven't done so already.
10713         (allocate_image_instance): don't mark as dirty.
10714         (update_subwindow): bind inhibit_quit.
10715
10716         * gutter.c (mark_gutters): new function.
10717
10718         * glyphs-x.c (x_update_widget): Always resize to get round a
10719         widget bug.
10720
10721         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
10722         breaking absolutely everything.
10723
10724         * gutter.h: declare mark_gutters.
10725
10726 2000-02-16  Martin Buchholz <martin@xemacs.org>
10727
10728         * XEmacs 21.2.29 is released.
10729
10730 2000-02-15  Olivier Galibert  <galibert@pobox.com>
10731
10732         * fns.c (size_bit_vector): Fix computation of the size.
10733
10734 2000-02-15  Martin Buchholz  <martin@xemacs.org>
10735
10736         * *.[ch]: Change CONST to const globally.
10737         find -name '*.[ch]' | \
10738         xargs global-replace \
10739         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
10740         - Remove vestigial references to CONST_IS_LOSING
10741
10742 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10743
10744         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
10745         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
10746         events instead of dispatching them directly.
10747         (mswindows_handle_paint): New function to do repainting.
10748         (mswindows_wnd_proc):
10749         (emacs_mswindows_handle_magic_event): Call above function.
10750
10751 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10752
10753         * objects-msw.c (mswindows_create_font_variant): Return the new
10754         font handle.
10755         (initialize_font_instance): Get font metrics from the underlined
10756         variant of the font to cope with the case where the underlined
10757         font has a bigger descent.
10758
10759 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
10760
10761         * gui.c (gui_item_accelerator): Return the first underlined
10762         character in item name.
10763
10764 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10765
10766         * lisp.h: Added Qprinter.
10767
10768         * general.c (syms_of_general): Initialized it.
10769
10770         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
10771         (get_frame_dc):
10772         (get_frame_compdc): Made inline.
10773
10774         * console.h (struct console_methods): Added eject_page method.
10775
10776         * frame.h: Added FRAME_DISPLAY_P and friends.
10777         Aligned backslahes in many macros in more readable fashion.
10778         Added page_number to struct frame, and an accessor macro
10779         for it.
10780
10781         * defice.h: Added DEVICE_DISPLAY_P and friends.
10782
10783         * device.c (Fdevice_printer_p): Used these.
10784
10785         * frame.c (allocate_frame_core): Initialize page number.
10786         (Fprint_job_page_number):
10787         (Fprint_job_eject_page): Implemented.
10788
10789         * frame-msw.c (msprinter_eject_page): Added method.
10790         (msprinter_start_page): Added.
10791
10792         * window.c (Fwindow_truncated_p): Fixed docstring.
10793         (Fwindow_last_line_visible_height): Implemented.
10794
10795 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10796
10797         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
10798
10799 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
10800
10801         * syntax.c (scan_words): Always advance at least one character.
10802
10803 2000-02-13  Andy Piper  <andy@xemacs.org>
10804
10805         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
10806         to make sure the glyph is in the cachels.
10807
10808         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
10809         global image instance flag.
10810         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
10811         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
10812
10813         * glyphs.c (allocate_image_instance): set dirty bits correctly.
10814         (Fset_image_instance_property): mark layout as changed.
10815         (invalidate_glyph_geometry_maybe): mark layout as changed.
10816         (glyph_width): use new NEEDS_LAYOUT macro.
10817         (glyph_ascent): ditto.
10818         (glyph_descent): ditto.
10819         (glyph_height): ditto.
10820         (image_instance_layout): mark layout as clean after laying out.
10821         (update_subwindow): don't mark layout as clean here.
10822
10823         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
10824         should no longer be needed.
10825
10826         * glyphs-x.c (x_update_widget): sanitize asserts.
10827         (x_finalize_image_instance): sanitize assignment to widgets.
10828
10829         * glyphs-widget.c (widget_instantiate): don't need to clear the
10830         layout flag here.
10831
10832 2000-02-13  Martin Buchholz  <martin@xemacs.org>
10833
10834         * sysdep.c (getcwd): Use standard prototype.
10835         * sysdep.h (getcwd): Use standard prototype.
10836
10837         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
10838         (sequence, start, end).
10839         Remove redundant type checking.
10840         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
10841         view of `caller-protects') to avoid a crash where the real fix was
10842         found elsewhere.
10843
10844 2000-02-12  Martin Buchholz  <martin@xemacs.org>
10845
10846         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
10847
10848         * s/sol2.h: Remove feature macro initialization.
10849
10850         * alloc.c (alloc_lcrecord): Add more type checking assertions.
10851         (vector_hash): New.  Code from internal_hash.
10852         * lrecord.h:
10853         Fix up allocation subsystem comments.
10854
10855         * config.h.in: Add __EXTENSIONS__ for Solaris.
10856
10857         * systime.h (EMACS_GETTIMEOFDAY): New.
10858         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
10859         Remove Solaris-specific code.
10860         Use void* for the (ignored) second arg for gettimeofday().
10861
10862         * elhash.c (hash_table_hash): Implement it, finally.
10863         * elhash.c:  Use hashcode_t.
10864
10865         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
10866         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
10867
10868         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
10869         * fns.c (size_bit_vector):
10870         * alloc.c (size_vector):
10871         (make_vector_internal):
10872         (make_bit_vector_internal):
10873         (sweep_bit_vectors_1):
10874         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
10875
10876 2000-02-10  Martin Buchholz  <martin@xemacs.org>
10877
10878         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
10879         Include strings.h to avoid warnings for bzero and strcasecmp.
10880
10881 2000-02-10  Olivier Galibert  <galibert@pobox.com>
10882
10883         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
10884         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
10885
10886         * fns.c (size_bit_vector): New.  Declare bit vectors as a
10887         sequence.
10888
10889 2000-02-10  Olivier Galibert  <galibert@pobox.com>
10890
10891         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
10892         use a value field instead.
10893         (symbol_value_forward_forward): Use value field.
10894         (DEFVAR_SYMVAL_FWD): Use value field.
10895         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
10896         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
10897         (DEFVAR_CONST_INT): Ditto.
10898         (DEFVAR_BOOL): Ditto.
10899         (DEFVAR_CONST_BOOL): Ditto.
10900         (DEFVAR_INT_MAGIC): Ditto.
10901         (DEFVAR_BOOL_MAGIC): Ditto.
10902
10903         * symbols.c (guts_of_unbound_marker): Use value field.
10904         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
10905         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
10906
10907         * lisp.h: Declare dumpopaque and noninteractive1.
10908
10909         * alloc.c (dumpopaque): Added.
10910         (pdump_dump_opaquevec): Added.
10911         (pdump): Call pdump_dump_opaquevec to dump opaque data.
10912         (pdump_load): Reload opaque data.  Sync noninteractive1 with
10913         noninteractive.
10914
10915 2000-02-10  Andy Piper  <andy@xemacs.org>
10916
10917         * glyphs.c (image_instance_layout): if the size changes, mark it
10918         as such.
10919
10920         * redisplay-output.c (redisplay_output_layout): Update the
10921         subwindow here.
10922         (redisplay_output_subwindow): ditto.
10923
10924         * glyphs.c (update_subwindow): make sure we reset flags for
10925         layouts as well as everything else.
10926
10927         * glyphs-widget.c (layout_layout): don't need to set the instances
10928         dimensions here.
10929
10930 2000-02-09  Martin Buchholz  <martin@xemacs.org>
10931
10932         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
10933         not HAVE_DLOPEN, which is a lower-level thing.
10934
10935         * .cvsignore: Ignore gmon.out
10936
10937 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
10938
10939         * .cvsignore: Ignore portable dumper xemacs.dmp file
10940
10941 2000-02-09  Andy Piper  <andy@xemacs.org>
10942
10943         * redisplay-output.c (redisplay_output_layout): be more clever
10944         about when we output based on the changed flags.
10945
10946         * glyphs.h (struct image_instantiator_methods): add update_method.
10947         (struct Lisp_Image_Instance): add changed flags. Declare new
10948         macros for manipulating them.
10949
10950         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
10951         (image_instance_parent_glyph): find an image_instance's parent
10952         glyph or image_instance.
10953         (image_instance_layout): mark the size as changed.
10954         (set_image_instance_dirty_p): new function. mark an image
10955         instance, plus all of its parents, as dirty.
10956         (Fset_image_instance_property): use it.
10957         (Fglyph_animated_timeout_handler): use it.
10958         (update_subwindow): call update_widget and device methods for
10959         update_subwindow. Mark all changed flags as clean.
10960         (Fresize_subwindow): mark size as changed.
10961
10962         * glyphs-x.c (x_finalize_image_instance): try and detect gc
10963         failures.
10964         (x_update_subwindow): only resize subwindows here.
10965         (x_update_widget): new function. Update all changed properties of
10966         a widget.
10967         (x_resize_subwindow): deleted.
10968         (x_widget_set_property): deleted.
10969         (x_progress_gauge_set_property): deleted.
10970         (x_progress_gauge_update): new function. Implement recorded
10971         changes.
10972         (x_tab_control_update): ditto.
10973         (x_tab_control_set_property): deleted.
10974         (console_type_create_glyphs_x): declare new functions.
10975         (image_instantiator_format_create_glyphs_x): ditto.
10976
10977         * glyphs-widget.c (widget_set_property): mark text changed.
10978         (update_widget): new function. Update properties of a widget.
10979         (widget_instantiate): for layouts make sure we set their
10980         children's parent correctly.
10981         (tab_control_set_property): new function. Record changes that will
10982         take place under redisplay's control.
10983         (progress_gauge_set_property): ditto.
10984         (image_instantiator_progress_guage): declare new functions.
10985         (image_instantiator_tab_control): ditto.
10986
10987         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
10988         now.
10989         (mswindows_update_widget): new function. Update all properties on
10990         a widget that have changed.
10991         (mswindows_button_update): new function. Update a button's set
10992         state.
10993         (mswindows_tab_control_update): new function. Update the items in
10994         a tab.
10995         (mswindows_tab_control_set_property): deleted.
10996         (mswindows_progress_gauge_update): new function. Update the
10997         progress gauge's progress.
10998         (mswindows_widget_set_property): deleted. This is all done
10999         asynchronously now.
11000         (mswindows_progress_gauge_set_property): ditto.
11001         (console_type_create_glyphs_mswindows): declare new methods.
11002         (image_instantiator_format_create_glyphs_mswindows): ditto.
11003
11004         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
11005         (msprinter_set_frame_properties): ditto.
11006
11007         * console.h (struct console_methods): Add update_widget_method.
11008
11009 2000-02-09  Andy Piper  <andy@xemacs.org>
11010
11011         * gui-msw.c (Fmswindows_shell_execute): Make
11012         mswindows-shell-execute industrial strength.
11013
11014 2000-02-08  Martin Buchholz  <martin@xemacs.org>
11015
11016         * lrecord.h: Make macro argument `props' match member function `plist'.
11017         * fns.c (Fget):
11018         * fns.c (Fput):
11019         * fns.c (Fremprop):
11020         * fns.c (Fobject_plist):
11021         * alloc.c:
11022         * symbols.c:
11023         Object property list frobbing cleanup.
11024         - Allow any lisp object (compared with `eq'), not just symbols, as
11025           keys in object plists.
11026         - Move symbol plist frobbing into symbols.c, where it belongs.
11027         - Move string plist frobbing into alloc.c, where it belongs.
11028         - Everything's an lrecord now, so no need to test for symbolp, etc.
11029         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
11030
11031         * extents.c: Reorder code to remove declarations.
11032
11033         * frame.h (store_in_alist): Remove useless declaration.
11034
11035 2000-02-07  Martin Buchholz  <martin@xemacs.org>
11036
11037         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
11038         * config.h.in: Add HAVE_XCONVERTCASE.
11039
11040 2000-02-07  Andy Piper  <andy@xemacs.org>
11041
11042         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
11043         it breaks many things.
11044
11045 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
11046
11047         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
11048         actually can start a common comment type.
11049         * src/syntax.h (SYNTAX_END_P): ditto for end.
11050
11051 2000-02-07  Martin Buchholz <martin@xemacs.org>
11052
11053         * XEmacs 21.2.28 is released.
11054
11055 2000-02-06  Martin Buchholz  <martin@xemacs.org>
11056
11057         * event-Xt.c (x_keysym_to_character): New.
11058         (maybe_define_x_key_as_self_inserting_character): New.
11059         (x_has_keysym): New.
11060         Auto-define all keys on the keyboard as self-insert-key.
11061
11062 2000-02-02  Martin Buchholz  <martin@xemacs.org>
11063
11064         * menubar.c (vars_of_menubar): A small code simplification.
11065
11066         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
11067
11068         * ExternalShell.c:
11069         * ExternalClient.c:
11070         * EmacsShell-sub.c:
11071         * EmacsManager.c:
11072         * EmacsFrame.c:
11073         Use consistent style for specifying X resources.
11074
11075         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
11076         This makes (dontusethis-set-symbol-value-handler) actually usable.
11077
11078         * lrecord.h (lrecord_decription_type):
11079         * alloc.c (pdump_register_sub):
11080         (pdump_dump_data):
11081         (pdump_reloc_one):
11082         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
11083         Comply with XEmacs coding style.
11084         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
11085         args, and XD_LISP_OBJECT_ARRAY with 3 args.
11086
11087         * keymap.c (Faccessible_keymaps):
11088         Make (accessible-keymaps map "\C-h") do the Right Thing.
11089         Make (accessible-keymaps map []) do the Right Thing.
11090         Make (accessible-keymaps map "") do the Right Thing.
11091         (check_keymap_definition_loop): New function.
11092         (keymap_store_internal): Keep luser from shooting self in foot,
11093           via (define-key ctl-x-4-map "p" global-map).
11094         Remove fullness slot from struct Lisp_Keymap, since hash tables
11095         are now reliable.
11096         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
11097
11098 2000-01-30  Martin Buchholz  <martin@xemacs.org>
11099
11100         * redisplay.c (init_redisplay): Fix small memory leak.
11101         * elhash.h:
11102         * elhash.c (pdump_reorganize_hash_table):
11103         Rename from reorganize_hash_table. Change prototype.
11104         Reuse the original memory for hentries.  Save 100k.
11105         * alloc.c (PDUMP_READ): new macro.
11106         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
11107         * alloc.c: No need to #ifndef before #undef.
11108
11109         * print.c: Allow debug_print() to print readably by modifying
11110         debug_print_readably.  Use consistent variable names.
11111
11112         * .dbxrc: Try to get things to work even if stopped in a function
11113         without source available by explicitly specifying source files.
11114 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11115
11116         * unexnt.c (_start): Removed bogus code which caused loading heap
11117         from differrent executable file.
11118         Removed bogus assignment to _fmode, which caused inconsistencies.
11119
11120 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11121
11122         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
11123         Have spawnve encapsulation regard DONT_ENCAPSULATE.
11124         Do not preliminary `#define signal sigset'.
11125
11126         * systime.h: Do not prototype environ on windows nt and cygwin,
11127         this conflicts with system header.
11128
11129         * syssignal.h: Use correct define for WINDOWSNT
11130
11131         * sysdep.h: Do not prototype environ on windows nt, this conflicts
11132         with system header.
11133
11134         * sysdep.c (near start of file): Fixed commentary and rearranged
11135         ifdefs in readable order.
11136         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
11137         (start_of_text):
11138         (end_of_text):
11139         (end_of_data): Do not compile in if using PDUMP.
11140
11141         * symsinit.h: Prototyped vars_of_nt().
11142
11143         * ntproc.c (windows9x_p): Added, instead of os_subtype.
11144         (find_child_console): Use it.
11145         (sys_kill): Use it.
11146
11147         * ntheap.h: Do not extern os_subtype.
11148
11149         * ntheap.c (cache_system_info): Do not cache unneeded:
11150         nt_major_version, nt_minor_version and os_subtype.
11151         (recreate_heap): Do not compile in when PDUMPing.
11152
11153         * nt.c (geteuid and friends): Use the new varibale
11154         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
11155         (init_user_info): Removed the above mentioned hackery.
11156         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
11157         stat has been fixed in the C runtime.
11158         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
11159
11160         * file-coding.c (struct file_coding_dump): Do not define
11161         ucs_to_mule_table in the struct if not MULE.
11162         (struct struct lrecord_description fcd_description_1): Do not dump
11163         the above.
11164
11165         * emacs.c (main_1): Call vars_of_nt().
11166         (right before Fdump_emacs_data): Don't need lastfile if using both
11167         portabe dumper and system malloc.
11168
11169         * alloc.c (Fmemory_limit): Conditionalized out.
11170         (pdump): Use OPEN_BINARY for the portable dump file.
11171         (pdump_load): Ditto.
11172
11173 2000-02-02  Mike Alexander  <mta@arbortext.com>
11174
11175         * nt.c (convert_time): Set tm_isdst before calling mktime and
11176         avoid calling it at all if the compiler supports 64 bit integers.
11177         Also initialize utc_base_ft before using it.
11178
11179 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
11180
11181         * frame.c (change_frame_size_1): Take f->internal_border_width
11182         into consideration when calculating the width of the frame.
11183
11184 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11185
11186         * window.c (frame_min_height):
11187         (frame_size_valid_p):
11188         (frame_pixsize_valid_p): Added.
11189         (check_frame_size): Generalized.
11190
11191         * window.h: Prototyped the above.
11192
11193         * lisp.h:
11194         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
11195         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
11196         Deleted Vwin32_* and Vbinary_process_* unused variables.
11197
11198         * device-msw.c (msprinter_init_device): Do not get printer font
11199         list; Added DEVMODE functions.
11200
11201         * frame-msw.c: Added lots of printer code.
11202
11203         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
11204         general.c.
11205
11206         * console-msw.h: Added more msprinter device private slots.
11207
11208 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11209
11210         * event-msw.c (key_needs_default_processing_p): Added.
11211         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
11212
11213 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11214
11215         * glyphs.c (image_instance_layout): Mark image instance as clean
11216         after layout.
11217         (glyph_dirty_p): Removed redundant function.
11218         (invalidate_glyph_geometry_maybe): Added.
11219         (update_glyph_cachel_data): Call it.
11220
11221         * glyphs.h: Prototyped it.
11222
11223         * redisplay.c (add_glyph_rune): Call it.
11224         (redisplay_window): Reset glyphs cachels when frame faces have
11225         changed, thus forcing recomputation of built-in border glyphs.
11226
11227 2000-01-30  Martin Buchholz  <martin@xemacs.org>
11228
11229         * Makefile.in.in: Make portable dumper and purify play well together.
11230         Add imperfect, but better than nothing, support for pdump.
11231         Remove xemacs.dmp when temacs is re-generated.
11232         Don't ignore errors when dumping xemacs.
11233
11234         * symbols.c (maybe_call_magic_handler): Remove one magic number.
11235
11236 2000-01-28  Andy Piper  <andy@xemacs.org>
11237
11238         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
11239         (setup_normal_frame): ditto.
11240         (setup_frame_without_minibuffer): ditto.
11241         (setup_minibuffer_frame): ditto.
11242         (delete_frame_internal): ditto.
11243         (Fmake_frame_invisible): ditto.
11244         (Ficonify_frame): ditto.
11245
11246         * window.h: change Fset_window_buffer signature.
11247
11248         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
11249         (Fset_window_buffer): allow recording of buffer if the window is
11250         the selected window.
11251         (window_loop): Use new Fset_window signature.
11252
11253 2000-01-23  Daniel Pittman  <daniel@danann.net>
11254
11255         * config.h.in: Added template for `HAVE_ATHENA_3D'
11256
11257 2000-01-29  Andy Piper  <andy@xemacs.org>
11258
11259         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
11260
11261         * gutter.c (output_gutter): Don't output if the window isn't live.
11262
11263 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11264
11265         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
11266         of 01/12/00: Moved SetFocus back here where it belongs.
11267
11268 2000-01-23  Andy Piper  <andy@xemacs.org>
11269
11270         * s/cygwin32.h: declare printer things.
11271
11272 2000-01-26  Andy Piper  <andy@xemacs.org>
11273
11274         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
11275         Alexander.
11276
11277 2000-01-24  Andy Piper  <andy@xemacs.org>
11278
11279         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
11280         (mswindows_button_instantiate): Make sure glyph is a pixmap.
11281
11282         * glyphs-widget.c (widget_instantiate): Avoid shadows.
11283
11284         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
11285
11286         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
11287
11288         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
11289         (mswindows_output_display_block): Avoid local shadows.
11290
11291         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
11292         (mswindows_enqueue_mouse_button_event): ditto.
11293         (mswindows_handle_gui_wm_command): remove declaration.
11294
11295         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
11296         warnings.
11297
11298         * console-msw.h: Avoid shadows.
11299         (mswindows_get_toolbar_button_text):
11300         (emacs_mswindows_create_stream_pair):
11301         (emacs_mswindows_delete_stream_pair):
11302         (mswindows_handle_toolbar_wm_command): declare.
11303
11304         * device-msw.c (build_syscolor_string): Avoid shadows.
11305
11306 2000-01-23  Andy Piper  <andy@xemacs.org>
11307
11308         * glyphs-widget.c (widget_instantiate): reverse the items for
11309         layouts so that children are in the expected order.
11310
11311 2000-01-28  Martin Buchholz  <martin@xemacs.org>
11312
11313         * ralloc.c: safe_bcopy ==> memmove
11314         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
11315         * s/msdos.h: Remove BCOPY macros.
11316         * insdel.c (gap_right): Remove BCOPY conditional code.
11317         * insdel.c (gap_left): Remove BCOPY conditional code.
11318         XEmacs demands a working ANSI C compiler - hence memmove.
11319
11320         * regex.c (regex_compile): Remove accidental use of trigraphs.
11321
11322 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11323
11324         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
11325         event timestamp.
11326
11327 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11328
11329         * event-msw.c (mswindows_drain_windows_queue): Added the
11330         parameter.
11331         (mswindows_need_event): Commented the call to
11332         mswindows_drain_windows_queue().
11333         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
11334         only.
11335
11336         * console-msw.h: Moved a few function prototypes here from
11337         event-msw.c.
11338
11339         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
11340         parameter from unsigned short to unsigned long.
11341         (Fmswindows_shell_execute): Added return value.
11342
11343 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
11344
11345         * sysdep.c (init_system_name):
11346           process-unix.c (unix_canonicalized_host_name):
11347         Don't call freeaddrinfo() if getaddrinfo() fails.
11348
11349         * process-unix.c (unix_open_unix_network_stream):
11350         Moved the code to get a port # into address loop.
11351
11352 2000-01-27  Martin Buchholz  <martin@xemacs.org>
11353
11354         * buffer.c (reinit_vars_of_buffer):
11355         The right place to initialize conversion_in_dynarr and
11356         conversion_out_dynarr.
11357
11358         * alloc.c (pdump): Use the real open() till sys_open() is functional.
11359
11360         * process-unix.c (unix_canonicalize_host_name): Muleize.
11361         (unix_open_network_stream): Muleize.
11362
11363         * buffer.h: Fix up prototypes for ralloc.c functions.
11364
11365 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
11366         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
11367         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
11368                 instead of gethostbyname()
11369         * process-unix.c: In unix_canonicalize_host_name() and
11370                 unix_open_network_stream(), add code to use getaddrinfo()
11371                 instead of gethostbyname().
11372
11373 2000-01-27  Daniel Pittman <daniel@danann.net>
11374
11375         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
11376         libs when built with flat Athena.
11377
11378 2000-01-27  Martin Buchholz  <martin@xemacs.org>
11379
11380         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
11381         Use coding standards for function prototypes.
11382
11383 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11384
11385         * dialog-msw.c (push_lisp_string_as_unicode):
11386         * doc.c (unparesseuxify_doc_string):
11387         * dired.c (Fuser_name_completion_1):
11388         * dired.c (Fuser_name_all_completions):
11389         * dired.c (free_user_cache):
11390         * dired.c (user_name_completion):
11391         * console-x.c (get_display_arg_connection):
11392         * minibuf.c (clear_echo_area_internal):
11393         * minibuf.c (echo_area_append):
11394         * eldap.c (Fldap_open):
11395         * eldap.c (Fldap_search_internal):
11396         * frame-x.c (x_set_frame_text_value):
11397         * frame-x.c (x_set_frame_properties):
11398         * frame-x.c (x_create_widgets):
11399         * redisplay-tty.c (term_get_fkeys_1):
11400         * objects-x.c (x_parse_nearest_color):
11401         * objects-x.c (x_valid_color_name_p):
11402         * objects-x.c (x_initialize_font_instance):
11403         * objects-x.c (x_list_fonts):
11404         * objects-x.c (x_find_charset_font):
11405         * tooltalk.c (Fadd_tooltalk_message_arg):
11406         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
11407         * tooltalk.c (Fadd_tooltalk_pattern_arg):
11408         * process-unix.c (unix_create_process):
11409         * ntproc.c (sys_spawnve):
11410         * sound.c (Fplay_sound_file):
11411         * sound.c (Fplay_sound):
11412         * buffer.c (init_initial_directory):
11413         * buffer.c (init_buffer):
11414         * editfns.c (init_editfns):
11415         * editfns.c (Ftemp_directory):
11416         * editfns.c (Fuser_full_name):
11417         * editfns.c (uncache_home_directory):
11418         * editfns.c (get_home_directory):
11419         * editfns.c (Fuser_home_directory):
11420         * editfns.c (Fformat_time_string):
11421         * editfns.c (Fcurrent_time_string):
11422         * gui-x.c (button_item_to_widget_value):
11423         * database.c (Fopen_database):
11424         * event-Xt.c (x_to_emacs_keysym):
11425         * event-Xt.c (x_event_to_emacs_event):
11426         * event-Xt.c (describe_event_window):
11427         * event-msw.c (mswindows_wnd_proc):
11428         * glyphs-eimage.c (jpeg_instantiate):
11429         * glyphs-eimage.c (gif_instantiate):
11430         * glyphs-eimage.c (png_instantiate):
11431         * glyphs-eimage.c (tiff_instantiate):
11432         * glyphs-x.c (xbm_instantiate_1):
11433         * glyphs-x.c (x_xbm_instantiate):
11434         * glyphs-x.c (x_xface_instantiate):
11435         * glyphs-x.c (autodetect_instantiate):
11436         * glyphs-x.c (cursor_font_instantiate):
11437         * glyphs-x.c (x_widget_instantiate):
11438         * glyphs-x.c (x_widget_set_property):
11439         * glyphs-x.c (x_widget_property):
11440         * glyphs-x.c (BUILD_GLYPH_INST):
11441         * print.c (write_string_to_stdio_stream):
11442         * print.c (output_string):
11443         * print.c (Falternate_debugging_output):
11444         * print.c (Fexternal_debugging_output):
11445         * glyphs-msw.c (extract_xpm_color_names):
11446         * glyphs-msw.c (mswindows_xpm_instantiate):
11447         * glyphs-msw.c (bmp_instantiate):
11448         * glyphs-msw.c (resource_name_to_resource):
11449         * glyphs-msw.c (mswindows_resource_instantiate):
11450         * glyphs-msw.c (xbm_instantiate_1):
11451         * glyphs-msw.c (mswindows_xbm_instantiate):
11452         * glyphs-msw.c (mswindows_xface_instantiate):
11453         * glyphs-msw.c (mswindows_widget_instantiate):
11454         * glyphs-msw.c (add_tree_item):
11455         * glyphs-msw.c (add_tab_item):
11456         * glyphs-msw.c (mswindows_combo_box_instantiate):
11457         * glyphs-msw.c (mswindows_widget_property):
11458         * glyphs-msw.c (mswindows_combo_box_property):
11459         * glyphs-msw.c (mswindows_widget_set_property):
11460         * console.c (stuff_buffered_input):
11461         * objects-msw.c (mswindows_initialize_color_instance):
11462         * objects-msw.c (mswindows_valid_color_name_p):
11463         * objects-msw.c (mswindows_list_fonts):
11464         * objects-msw.c (mswindows_font_instance_truename):
11465         * bytecode.c (optimize_compiled_function):
11466         * select-x.c (symbol_to_x_atom):
11467         * select-x.c (x_atom_to_symbol):
11468         * select-x.c (hack_motif_clipboard_selection):
11469         * select-x.c (selection_data_to_lisp_data):
11470         * select-x.c (lisp_data_to_selection_data):
11471         * select-x.c (Fx_get_cutbuffer_internal):
11472         * select-x.c (Fx_store_cutbuffer_internal):
11473         * buffer.h (TO_EXTERNAL_FORMAT): New function.
11474         * buffer.h (TO_INTERNAL_FORMAT): New function.
11475         * emacs.c (make_arg_list_1):
11476         * emacs.c (make_argc_argv):
11477         * emacs.c (main_1):
11478         * emacs.c (Fdump_emacs):
11479         * emacs.c (split_string_by_emchar_1):
11480         * file-coding.h:
11481         * lisp.h:
11482         * lstream.h:
11483         * symsinit.h:
11484         * device-x.c (x_init_device):
11485         * device-x.c (Fx_valid_keysym_name_p):
11486         * device-x.c (Fx_get_font_path):
11487         * device-x.c (Fx_set_font_path):
11488         * glyphs.c (bitmap_to_lisp_data):
11489         * glyphs.c (pixmap_to_lisp_data):
11490         * alloc.c (make_ext_string): Use coding system arguments.  Update
11491         all callers.
11492         * alloc.c (build_string):
11493         * callproc.c (child_setup):
11494         * callproc.c (init_callproc):
11495         * fileio.c (lisp_strerror):
11496         * fileio.c (directory_file_name):
11497         * fileio.c (Fexpand_file_name):
11498         * fileio.c (Ffile_truename):
11499         * fileio.c (Fsysnetunam):
11500         * fileio.c (Fdo_auto_save):
11501         * sysdep.c (sys_readdir):
11502         * tests.c: New file.  Allow adding C tests.
11503         Replace GET_* macros with a more comprehensible and flexible
11504         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
11505         Modify all calls.
11506         Any coding system can be used to do format conversion.
11507         Eliminate enum external_data_format.
11508         Eliminate convert_to_external_format.
11509         Eliminate convert_to_internal_format.
11510         Make sure file-name, keyboard, terminal, and ctext are always
11511         defined as coding systems or aliases.  Make
11512         file-name-coding-system, terminal-coding-system, and
11513         keyboard-coding-system magical variables that are equivalent to
11514         defining the corresponding coding system aliases.
11515
11516         * file-coding.c (Fcoding_system_canonical_name_p): New function.
11517         * file-coding.c (Fcoding_system_alias_p): New function.
11518         * file-coding.c (Fcoding_system_aliasee): New function.
11519         * file-coding.c (append_suffix_to_symbol): New function.
11520         * file-coding.c (dangling_coding_system_alias_p): New function.
11521         * file-coding.c (Ffind_coding_system):
11522         * file-coding.c (Fcopy_coding_system):
11523         * file-coding.c (encode_coding_no_conversion):
11524         * file-coding.c (syms_of_file_coding):
11525         * file-coding.c (vars_of_file_coding):
11526         Rewrite coding system alias code.
11527         Allow nested aliases, like symbolic links.
11528         Allow redefinition of coding system aliases.
11529         Prevent existence of dangling coding system aliases.
11530
11531         * dired.c (Fuser_name_completion_1):
11532         * dired.c (Fuser_name_all_completions):
11533         A crash would happen if user did QUIT in the middle of building
11534         user_name_cache.  Remove redundant code in mainline and unwind_protect.
11535
11536         * lisp.h:
11537         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
11538
11539         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
11540         an unsigned char *.  Update all callers.
11541
11542 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11543
11544         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
11545
11546 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11547
11548         * elhash.c (hentry_description): Use more portable definition.
11549         (resize_hash_table): Initialize new hentries using
11550         xnew_array_and_zero, thereby simplifying the code.
11551
11552         * mule-charset.c (make_charset): Make sure entire object is
11553         initialized, to avoid Purify warnings.
11554
11555         * alloc.c (resize_string): Fix unlikely crash with big strings.
11556
11557 2000-01-24  Martin Buchholz  <martin@xemacs.org>
11558
11559         * realpath.c (xrealpath):
11560         Don't call getwd().
11561
11562 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11563
11564         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
11565
11566 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
11567
11568         * unexelfsgi.c (unexec): Change the way we decide which segment
11569         should be extended.
11570
11571         Assumption that .bss section should be outside the PT_LOADable
11572         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
11573         it's present) is inside the 'data' segment. This would fail the
11574         test which was used to find a segment to grow and cover new
11575         heap. Instead of this assumption, I created another one - on IRIX
11576         the segment to grow should start below .bss and it's address
11577         should extent above the end of .bss. Once this segment is
11578         identified, it's grown to accommodate the new heap and new
11579         zero-length .bss section is added at the end of .data2.
11580
11581 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11582
11583         * eval.c (Feval): Wrong number of arguments should use original
11584         function, not the indirect_function version of it.
11585
11586 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
11587
11588         * glyphs-x.c (x_button_instantiate): Don't add image if
11589         it is not a pixmap.
11590         (x_locate_pixmap_file): Call Fexpand_file_name when file name
11591         is relative.
11592
11593 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
11594
11595         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
11596         declaration.
11597         (DEFVAR_INT_MAGIC): Ditto.
11598         (DEFVAR_BOOL_MAGIC): Ditto.
11599         * glyphs.h: Reindent backslash.
11600
11601 2000-01-24  Martin Buchholz  <martin@xemacs.org>
11602
11603         * glyphs-widget.c (layout_query_geometry):
11604         (layout_layout): Use correct types for gheight, gwidth.
11605
11606 2000-01-24  Martin Buchholz  <martin@xemacs.org>
11607
11608         * EmacsManager.c (QueryGeometry): Purified.
11609
11610 2000-01-23  Martin Buchholz  <martin@xemacs.org>
11611
11612         * alloc.c (make_float): Make sure entire object is initialized, to
11613         avoid Purify warnings.
11614         (pdump_register_sub): Remove useless assignment.
11615         (pdump): Use xmalloc, not malloc.
11616         (pdump_load): Use xmalloc, not malloc.
11617
11618 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11619
11620         * callproc.c:
11621         * dired-msw.c:
11622         * fileio.c:
11623         * process-nt.c:
11624         * redisplay-msw.c:
11625         * sysdep.c: Removed redundant #include <windows.h>
11626
11627 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11628
11629         * frame.c (delete_frame_internal): Do not delete device when its
11630         implementation so declares.
11631         (delete_frame_internal): Set device selected frame to nil when
11632         last frame goes away.
11633
11634         * device-msw.c (msprinter_device_system_metrics): Implemented.
11635         (mswindows_device_system_metrics): Added 'device-dpi property.
11636
11637         * device.c: (Fdevice_printer_p): Added.
11638         Added 'offset-workspace device metric.
11639
11640         * console.h (device_metrics): Declared DM_offset_workspace.
11641
11642 2000-01-23  Martin Buchholz  <martin@xemacs.org>
11643
11644         * fileio.c (Ffile_truename): Remove pointless and confusing
11645         initialization of elen.
11646
11647         * glyphs-widget.c: Compiler warning fixes.
11648
11649 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
11650
11651         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
11652         instead of a Lisp_Object as argument to make it consistent with
11653         the other LIVE_P macros.
11654         (CHECK_LIVE_PROCESS): New macro.
11655
11656         * process.c: Declare Qprocess_live_p.
11657         (Fprocess_live_p): New function.
11658         (create_process): Use PROCESS_LIVE_P.
11659         (read_process_output): Ditto.
11660         (set_process_filter): Ditto.
11661         (Fdelete_process): Ditto.
11662         (kill_buffer_processes): Ditto
11663         (process_send_signal): Use CHECK_LIVE_PROCESS.
11664         (Fprocess_input_coding_system): Check whether process is still
11665         alive (fix PR#1061).
11666         (Fprocess_output_coding_system): Ditto.
11667         (Fprocess_coding_system): Ditto.
11668         (Fset_process_input_coding_system): Ditto.
11669         (Fset_process_output_coding_system): Ditto.
11670
11671 2000-01-23  Andy Piper  <andy@xemacs.org>
11672
11673         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
11674         layout and widget.
11675
11676         * glyphs.c (mark_image_instance): take into account changed
11677         image_instance format.
11678         (image_instance_equal): ditto.
11679         (image_instance_hash): ditto.
11680
11681         * glyphs-widget.c (widget_instantiate): Incorporate layout
11682         instantiation here. Delay layout of the layout until later.
11683         (layout_instantiate): deleted.
11684         (layout_query_geometry): new function. get the geometry of a
11685         layout.
11686         (layout_layout): layout a layout dynamically.
11687         (image_instantiator_widget): New function - splitting up
11688         image_instantiator_format_create_glyphs_widget for netwinder
11689         compilation.
11690         (image_instantiator_buttons):
11691         (image_instantiator_edit_fields):
11692         (image_instantiator_combo_box):
11693         (image_instantiator_scrollbar):
11694         (image_instantiator_progress_guage):
11695         (image_instantiator_tree_view):
11696         (image_instantiator_tab_control):
11697         (image_instantiator_labels):
11698         (image_instantiator_layout): ditto.
11699         (image_instantiator_format_create_glyphs_widget): Call preceding
11700         functions.
11701
11702 2000-01-22  Martin Buchholz  <martin@xemacs.org>
11703
11704         * process.c (Fset_process_coding_system):
11705         * device-x.c (Fx_keysym_hash_table):
11706         Docstring fixes.
11707
11708         * lstream.c (Lstream_write): Return documented value, not 0.
11709
11710         * fileio.c (directory_file_name):
11711         (Fsubstitute_in_file_name):
11712         (Fsubstitute_insert_file_contents_internal):
11713         (Fwrite_region_internal):
11714         * emacs.c:
11715         * sysdep.c:
11716         * getloadavg.c:
11717         * systty.h:
11718         Remove vestigial APOLLO-conditional code.
11719
11720 2000-01-21  Martin Buchholz  <martin@xemacs.org>
11721
11722         * getpagesize.h: Add guard macros.
11723         * libsst.h: Add guard macros.
11724         * libst.h: Add guard macros.
11725         * line-number.h: Add guard macros.
11726         * ndir.h: Add guard macros.
11727         * sysfloat.h: Add guard macros.
11728         * sysfile.h: Add guard macros.
11729         * sysproc.h: Add guard macros.
11730         * syswait.h: Add guard macros.
11731         * xintrinsic.h: Add guard macros.
11732         * xintrinsicp.h: Add guard macros.
11733         * xmmanager.h: Add guard macros.
11734         * xmmanagerp.h: Add guard macros.
11735         * xmprimitive.h: Add guard macros.
11736         * xmu.h: Add guard macros.
11737         * gpmevent.h: Add copyright statement. Add guard macros.
11738         * miscplay.h: Add guard macros.
11739         * *.h: Use consistent C-standards-approved guard macro names.
11740
11741         * opaque.c (make_opaque): Switch parameter order.
11742         * opaque.h (make_opaque): Switch parameter order.
11743         Update all callers.
11744         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
11745
11746         * config.h.in (type_checking_assert): Added.
11747         (bufpos_checking_assert): Added.
11748
11749 2000-01-21  Martin Buchholz  <martin@xemacs.org>
11750
11751         * alloc.c: Harmless pdump changes.
11752         - Use countof().
11753         - spell alignment correctly.
11754         * sysdep.c: Use countof()
11755
11756 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11757
11758         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
11759         initially_selected_for_input() console method, default to 0.
11760         (semi_canonicalize_console_connection): Try to delegate to
11761         canonicalize_console_connection if no such console method.
11762         (canonicalize_console_connection): Vice versa.
11763         (print_console): Do not print nil connection.
11764
11765         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
11766         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
11767         (XDEVIMPF_FRAMELESS_OK): Added.
11768         (CONSOLE_INHERITS_METHOD): Added.
11769
11770         * console-msw.c (mswindows_canonicalize_console_connection):
11771         Added.
11772         (mswindows_canonicalize_device_connection): Added.
11773
11774         * console-msw.h (struct msprinter_device): Added this struct and
11775         accessor macros.
11776         (mswindows_device): Made fontlist a lisp object.
11777
11778         * device.c (semi_canonicalize_device_connection):  Try to delegate
11779         to canonicalize_device_connection if no such console method.
11780         (canonicalize_device_connection): Vice versa.
11781         (print_device): Do not print nil connection.
11782
11783         * device-msw.c (mswindows_init_device): Call InitCommonControls
11784         when have widgets.
11785         (mswindows_delete_device): Removed fontlist deallocation.
11786         (mswindows_mark_device): Added.
11787
11788         * events.c (event_equal): Added abort() at unreached code.
11789         (event_hash): Ditto.
11790
11791         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
11792         fallback tags of Windows devices.
11793
11794         * general.c (syms_of_general): Initialized Qmsprinter.
11795
11796         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
11797         of fallback tags of Windows devices.
11798
11799         * lisp.h: Declared Qmsprinter.
11800
11801         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
11802         of strings.
11803         (mswindows_list_fonts): Ditto.
11804         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
11805         that it can be used by both mswindows and msprinter devices.
11806         (initialize_font_instance): Added.
11807         (mswindows_initialize_font_instance): Use it.
11808         (msprinter_initialize_font_instance): Added.
11809
11810         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
11811         and implementation flags check.
11812         (redisplay_without_hooks): Changed the call to the above.
11813         (Fredraw_device): Ditto.
11814         (Fredisplay_device): Ditto.
11815
11816         * redisplay-msw.c (get_frame_dc): Implemented.
11817         (get_frame_compdc): Implemented.
11818         (many functions): Use the two functions above to get device
11819         contexts, ether for a window or a printer.
11820
11821 2000-01-21  Olivier Galibert  <galibert@pobox.com>
11822
11823         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
11824         initialization here.
11825         (init_symbols_once_early): Call it.
11826         * emacs.c (main_1): Call it.
11827         * symsinit.h: Declare it.
11828
11829 2000-01-19  Olivier Galibert  <galibert@pobox.com>
11830
11831         * alloc.c: Use a lrecord_header * in the backtrace instead of a
11832         Lisp_Object.
11833         (pdump_backtrace): Ditto.
11834         (pdump_register_object): Ditto.  Cleanup use of the pointers.
11835         (pdump_get_entry): Abort if trying to register a null pointer.
11836         (pdump_dump_data): Cleanup types when relocating.
11837         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
11838         (pdump_dump_rtables): Remove bad casts.
11839         (pdump_load): Cleanup relocation w.r.t union type.  Use a
11840         Lisp_Object instead of a EMACS_INT for the hashtable
11841         reorganization.
11842
11843 2000-01-20  Martin Buchholz  <martin@xemacs.org>
11844
11845         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
11846
11847         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
11848
11849         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
11850
11851         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
11852
11853 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11854
11855         * faces.h (FACE_STRIKETHRU_P): Added.
11856
11857         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
11858         of font variants.
11859
11860         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
11861         (mswindows_set_dc_font): New function, aware of font variants,
11862         separated from mswindows_update_dc.
11863
11864         * objects-msw.h (struct mswindows_font_instance_data): Added
11865         definition.
11866
11867         * objects-msw.c (mswindows_finalize_font_instance): Delete all
11868         cached fonts and the data structure.
11869         (mswindows_initialize_font_instance): Added creation of font data
11870         structure.
11871         (mswindows_print_font_instance): Print at least something.
11872         (mswindows_create_font_variant): Implemented.
11873         (mswindows_get_hfont): Implemented.
11874
11875 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
11876
11877         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
11878         prototyping problem with msvc.
11879
11880         * emacs.c (main_1): added syms_of_gui_mswindows() call
11881
11882         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
11883         syms_of_gui_mswindows() function
11884
11885         * symsinit.h: added the prototype for syms_of_gui_mswindows()
11886
11887 2000-01-18  Martin Buchholz <martin@xemacs.org>
11888
11889         * XEmacs 21.2.27 is released.
11890
11891 2000-01-18  Martin Buchholz  <martin@xemacs.org>
11892
11893         * glyphs-eimage.c (struct tiff_error_struct):
11894         (tiff_error_func):
11895         (tiff_warning_func):
11896         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
11897
11898         * unexmips.c:
11899         * unexhp9k3.c:
11900         * unexfreebsd.c:
11901         * unexec.c: Remove vestigial Lucid C code.
11902         * unexalpha.c:
11903         * unexaix.c:
11904         * termcap.c:
11905         * libsst.c: Ansify.
11906         Remove declarations of errno and strerror().
11907
11908         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
11909
11910         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
11911
11912 2000-01-16  Martin Buchholz  <martin@xemacs.org>
11913
11914         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
11915         Optimize.
11916
11917 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11918
11919         * md5.c:
11920         * file-coding.c:
11921         * file-coding.h:
11922         Change enum eol_type to eol_type_t.
11923
11924 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11925
11926         * gui.c (get_gui_callback): Check cons before accessing car.
11927
11928 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11929
11930         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
11931         (XSETSPECIFIER_TYPE): Ditto.
11932
11933 2000-01-17  Didier Verna  <didier@xemacs.org>
11934
11935         * redisplay.c (generate_fstring_runes): compute string size in
11936         characters, not bytes.
11937
11938 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
11939
11940         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
11941
11942 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
11943
11944         * print.c (print_error_message): Call print_prepare().
11945
11946 2000-01-14  Martin Buchholz  <martin@xemacs.org>
11947
11948         * .dbxrc: Renamed from dbxrc.
11949
11950         * events.c (event_to_character):
11951         Use `assert (foo)' instead of `if (!foo) abort()'
11952
11953         * .gdbinit (xtype): Add documentation.
11954         * .gdbinit (check-temacs): New function.
11955         * .gdbinit (check-xemacs): New function.
11956         * dbxrc (check-xemacs): New function.
11957         * dbxrc (check-xemacs): New function.
11958
11959 2000-01-14  Andy Piper  <andy@xemacs.org>
11960
11961         * glyphs-widget.c (widget_query_geometry): Make sure that we
11962         calculate default dimensions correctly.
11963
11964 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11965
11966         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
11967
11968         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
11969         pdump_wire'd variable.
11970
11971         * emacs.c: (main_1): Conditionalized calls to
11972         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
11973
11974 2000-01-13  Martin Buchholz  <martin@xemacs.org>
11975
11976         * window.c (Fset_window_configuration):
11977         * sysdep.c (_start):
11978         * input-method-motif.c (res):
11979         * event-Xt.c (Xt_process_to_emacs_event):
11980         Simple compiler warning fixes.
11981
11982         * bytecode.c (funcall_compiled_function): Use the original
11983         function symbol on the backtrace list in preference to the
11984         compiled_function object in error messages.
11985
11986 2000-01-13  Andy Piper  <andy@xemacs.org>
11987
11988         * glyphs-x.c (update_widget_face): Make sure we update the widget
11989         background as well as foreground.
11990
11991 2000-01-13  Andy Piper  <andy@xemacs.org>
11992
11993         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
11994         fields to subwindow.
11995         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
11996         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
11997         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
11998         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
11999
12000         * glyphs-widget.c (check_valid_tab_orientation): new function.
12001         (initialize_widget_image_instance): zero orientation and
12002         justification.
12003         (widget_instantiate): pick up orientation.
12004         (tab_control_query_geometry): return appropriate values for
12005         vertical tabs.
12006
12007         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
12008         appropriate creation flags for left, right and bottom tabs.
12009
12010         * s/cygwin32.h: add tab definitions.
12011
12012 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12013
12014         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
12015         frame upon hiding a subwindow.
12016         (mswindows_button_instantiate): Changed the push button style to
12017         BS_PUSHBUTTON.
12018         (mswindows_button_instantiate): Removed button BS_NOTIFY
12019         style.
12020         (mswindows_button_instantiate): Removed redundant check for
12021         a disabled gui item.
12022         (mswindows_button_instantiate): Made use of WS_TABSTOP
12023         consistent: "operable" controls (edit, button, tree, scroll) have
12024         this style, "display-only" ones (static, progress gauge) do
12025         not. This style is currently ignored by XEmacs though. Also,
12026         removed the WS_EX_CONTROLPARENT style - it is not for children,
12027         it is for their parents!
12028         (mswindows_edit_field_instantiate): Ditto.
12029         (mswindows_progress_gauge_instantiate): Ditto.
12030         (mswindows_tree_view_instantiate): Ditto.
12031         (mswindows_tab_control_instantiate): Ditto.
12032         (mswindows_scrollbar_instantiate): Ditto.
12033         (mswindows_combo_box_instantiate): Ditto.
12034         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
12035         style to the "clip" window.
12036         (mswindows_button_instantiate): Removed compilation warning by
12037         equally typing terms of the ?: operator.
12038
12039 2000-01-12  Didier Verna  <didier@xemacs.org>
12040
12041         * redisplay.c (generate_fstring_runes): new parameter holding the
12042         last modeline-format extent.
12043         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
12044         extent, fill the glyph block with it.
12045         (generate_fstring_runes): handle these parameters.
12046         (generate_formatted_string_db): ditto.
12047
12048         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
12049         glyphs'extents in the modeline.
12050
12051 1999-01-11  Mike Woolley  <mike@bulsara.com>
12052
12053         * ntheap.c: Reduced the reserved heap space from 1Gb down to
12054         256Mb, as a workaround for the non-starting problem many people
12055         have experienced.
12056
12057 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12058
12059         * console-tty.c (Fset_console_tty_output_coding_system):
12060         Force redrawing tty frame.
12061
12062 2000-01-10  Didier Verna  <didier@xemacs.org>
12063
12064         * redisplay.c (generate_fstring_runes): fix size computation bug.
12065
12066 2000-01-09  William M. Perry <wmperry@aventail.com>
12067
12068         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
12069
12070 2000-01-09  Andy Piper  <andy@xemacs.org>
12071
12072         * glyphs-msw.c: index -> i to avoid shadows.
12073         (xbm_create_bitmap_from_data): make static.
12074         (check_valid_string_or_int): deleted.
12075         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
12076
12077         * glyphs-x.c (x_update_subwindow): remove unused args.
12078
12079         * glyphs.c (glyph_image_instance): return the thing. Don't set the
12080         back pointer - this is done in allocate_image_instance.
12081         (query_string_font): return Qnil to make the compiler happy.
12082         (unmap_subwindow): set to ~0 to make the compiler happy.
12083         (glyph_query_geometry): comment out until used.
12084         (glyph_layout): ditto.
12085
12086 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
12087
12088         * insdel.c (signal_after_change): Remove extraneous unbind_to().