XEmacs 21.2.43 "Terspichore".
[chise/xemacs-chise.git.1] / src / ChangeLog
1 2001-01-26  Martin Buchholz <martin@xemacs.org>
2
3         * XEmacs 21.2.43 "Terspichore" is released.
4
5 2001-01-25  Martin Buchholz  <martin@xemacs.org>
6
7         Type fiddling for window_config.saved_windows_count
8         * window.c (struct window_config): 
9         Make saved_windows_count member unsigned.
10         * window.c (sizeof_window_config_for_n_windows): 
11         Make parameter unsigned.
12         * window.c (mark_window_config):
13         * window.c (window_config_equal):
14         * window.c (free_window_configuration):
15         * window.c (Fset_window_configuration):
16         * window.c (count_windows):
17         * window.c (Fcurrent_window_configuration):
18         * window.c (reinit_vars_of_window):
19         Update all callers and users.
20
21 2001-01-25  Martin Buchholz  <martin@xemacs.org>
22
23         Alignment correctness for flexible arrays.
24         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
25         Make alignment-correct. Add interesting comments.
26         * alloc.c (size_vector):
27         * alloc.c (make_vector_internal):
28         * alloc.c (make_bit_vector_internal):
29         * alloc.c (sweep_bit_vectors_1):
30         * fns.c (size_bit_vector):
31         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
32         * window.c (sizeof_window_config_for_n_windows): 
33         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
34
35 2001-01-24  Martin Buchholz  <martin@xemacs.org>
36
37         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
38
39 2001-01-23  Andy Piper  <andy@xemacs.org>
40
41         * select.c (Fown_selection_internal): pass owned_p
42
43         * select-msw.c (mswindows_own_selection): New Signature.
44
45         * console.h (struct console_methods): add owned_p to
46         _own_selection.
47
48         * select-x.c (x_own_selection): pass owned_p
49         (hack_motif_clipboard_selection): use owned_p
50         (vars_of_select_x): new variable -
51         x_selection_strict_motif_ownership.
52
53 2001-01-23  Martin Buchholz  <martin@xemacs.org>
54
55         * specifier.h (specifier_data_offset): Remove pointless parens.
56         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
57
58 2001-01-24  Martin Buchholz  <martin@xemacs.org>
59
60         Make Lisp_Object sizeof methods be alignment-correct.
61         pdump must restore objects to the same alignment as the C compiler
62         assumes.  It really matters on SGIs.
63         * lstream.c (aligned_sizeof_lstream): New.
64         (sizeof_lstream): Use aligned_sizeof_lstream.
65         (Lstream_new): Likewise.
66         * opaque.c (aligned_sizeof_opaque): New.
67         (sizeof_opaque): Use aligned_sizeof_opaque.
68         (make_opaque): Likewise.
69         * specifier.c (aligned_sizeof_specifier): New.
70         (sizeof_specifier): Use aligned_sizeof_specifier.
71         (make_specifier_internal): Likewise.
72
73 2001-01-23  Martin Buchholz  <martin@xemacs.org>
74
75         * lstream.h (struct lstream): Use max_align_t for trailing data.
76         * specifier.h (struct Lisp_Specifier): Likewise.
77
78 2001-01-22  Martin Buchholz  <martin@xemacs.org>
79
80         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
81         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
82         (CCL_SUSPEND): Likewise.
83         (CCL_INVALID_CMD): Likewise.
84         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
85         (ccl_driver): Likewise.
86         (CCL_WRITE_CHAR): Macro hygiene.
87         (CCL_WRITE_STRING): Macro hygiene.
88
89 2001-01-22  Martin Buchholz  <martin@xemacs.org>
90
91         Port "portable" dumper to SunOS 4 and HP-UX.
92         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
93         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
94         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
95
96 2001-01-22  Martin Buchholz  <martin@xemacs.org>
97
98         * lisp.h (ALIGNOF): A better definition for C++.
99
100 2001-01-20  Martin Buchholz  <martin@xemacs.org>
101
102         Macro hygiene.
103         Fix printf warnings: int format, long int arg.
104         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
105         (PUSH_FAILURE_POINT): Use correct printf formats.
106         (POP_FAILURE_POINT): Use correct printf formats.  
107         Use do {...} while (0)
108
109 2001-01-20  Martin Buchholz <martin@xemacs.org>
110
111         * XEmacs 21.2.42 "Poseidon" is released.
112
113 2001-01-20  Martin Buchholz  <martin@xemacs.org>
114
115         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
116
117 2001-01-19  Martin Buchholz  <martin@xemacs.org>
118
119         De-kludgify FIXED_TYPE free list frobbing.
120         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
121         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
122         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
123         * alloc.c (Lisp_Free): New pseudo lisp object definition.
124         * alloc.c (LRECORD_FREE_P): New.
125         * alloc.c (MARK_LRECORD_AS_FREE): New.
126         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
127         * alloc.c (STRUCT_FREE_P): Deleted.
128         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
129         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
130         * alloc.c (STRING_CHARS_FREE_P): New.
131         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
132         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
133         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
134         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
135         * alloc.c (resize_string): Use new definitions.
136         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
137         * alloc.c (verify_string_chars_integrity): Use new definitions.
138         * alloc.c (compact_string_chars): Use new definitions.
139         * alloc.c: Update monster comments.
140         * lrecord.h (lrecord_type): Add some new lrecord types for
141         alloc.c's use.
142
143 2001-01-18  Martin Buchholz  <martin@xemacs.org>
144
145         Improve alignment hackery.
146         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
147         (max_align_t): Moved from opaque.h - general purpose.
148         (ALIGN_PTR): Use size_t, not long.
149         * opaque.h (max_align_t): Move to lisp.h.
150
151 2001-01-18  Norbert Koch  <nk@LF.net>
152
153         * gui.h: Fix and add prototypes to fix build problems.
154
155 2001-01-18  Martin Buchholz  <martin@xemacs.org>
156
157         temacs is going away, so `dump-temacs' is now a bad name.
158         * .dbxrc (dump-temacs): Rename to `dmp'.
159         * .gdbinit (dump-temacs): Rename to `dmp'.
160
161 2001-01-17  Andy Piper  <andy@xemacs.org>
162
163         * glyphs.c (print_image_instance): comment to make martin happy.
164
165         * glyphs-x.c (x_redisplay_widget): update faces after a frame
166         change.
167
168         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
169         activation.
170         (mswindows_tab_control_redisplay): warning suppression.
171
172         * glyphs-widget.c (widget_update): re-write to cope with updated
173         items.
174         (widget_instantiate): use new gui_item functions.
175         (tab_control_update): deleted.
176         (progress_gauge_update): deleted.
177         (image_instantiator_progress_guage): take out update reference.
178         (image_instantiator_tree_view): ditto.
179         (image_instantiator_tab_control): ditto.
180
181         * gui.c (widget_gui_parse_item_keywords): new function. Do things
182         Right the new way.
183         (gui_item_add_keyval_pair): re-write to cope with descriptors and
184         return whether anything was changed.
185         (update_gui_item_keywords): as it sounds.
186
187         * gui.h: declare widget_gui_parse_item_keywords.
188
189         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
190         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
191
192 2001-01-17  Martin Buchholz <martin@xemacs.org>
193
194         * XEmacs 21.2.41 "Polyhymnia" is released.
195
196 2001-01-16  Didier Verna  <didier@xemacs.org>
197
198         * glyphs.c (image_instantiate): don't use fallbacks when
199         instantiating a face's background pixmap by inheritance.
200
201 2001-01-14  Mike Sperber <mike@xemacs.org>
202
203         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
204         Conditionalize accordingly.
205
206 2001-01-16  Martin Buchholz  <martin@xemacs.org>
207
208         * dumper.c (pdump_file_get): Fix a compiler warning.
209
210 2001-01-15  Martin Buchholz  <martin@xemacs.org>
211
212         Make Purify happy when pdumping.
213         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
214         iniitalizing all bits of new lisp object memory.
215         * symbols.c (Fmake_local_variable): Likewise.
216         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
217         * symbols.c (Fdefvaralias): Likewise.
218         * mule-charset.c (vars_of_mule_charset): Likewise.
219
220 2001-01-15  Martin Buchholz  <martin@xemacs.org>
221         Add the `-nd' flag when running pre-dump operations under the debugger.
222         * .dbxrc (run-temacs): Add `-nd'.
223         * .dbxrc (update-elc): Likewise.
224         * .dbxrc (dump-temacs): Likewise.
225         * .gdbinit (run-temacs): Likewise.
226         * .gdbinit (check-temacs): Likewise.
227         * .gdbinit (update-elc): Likewise.
228         * .gdbinit (dump-temacs): Likewise.
229
230 2001-01-14  Martin Buchholz  <martin@xemacs.org>
231
232         Allow building 64-bit executables on AIX with GNU malloc, e.g.
233         export OBJECT_MODE=64
234         configure --pdump --use-union-type=no
235         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
236         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
237
238         * miscplay.c (sndcnv8U_2mono):
239         Avoid two uses of `++' in the same expression.
240         Suppresses a GCC warning.
241
242 2001-01-13  Martin Buchholz  <martin@xemacs.org>
243
244         Make sure future compilers don't miscompile alloc.c.
245         * alloc.c:
246         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
247         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
248
249 2001-01-12  Martin Buchholz  <martin@xemacs.org>
250
251         * dumper.c: A little post-pdump-rename comment fixup.
252
253 2001-01-09  Jerry James  <james@eecs.ku.edu>
254
255         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
256
257 2001-01-13  Martin Buchholz  <martin@xemacs.org>
258
259         * *.[ch]: Globally rename symbols using the following `pdump-rename'
260         script:
261         #!/bin/sh
262         replace_symbol () {
263           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
264         }
265
266         replace_symbol pdump_wire_lists pdump_weak_object_chains
267         replace_symbol pdump_wire_list dump_add_weak_object_chain
268
269         replace_symbol pdump_wires pdump_root_objects
270         replace_symbol pdump_wire dump_add_root_object
271
272         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
273         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
274
275         replace_symbol dumpstructinfos pdump_root_struct_ptrs
276         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
277         replace_symbol dumpstructinfo pdump_root_struct_ptr
278         replace_symbol dumpstruct dump_add_root_struct_ptr
279
280         replace_symbol dumpopaque dump_add_opaque
281         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
282         replace_symbol dumpopaqueinfos pdump_opaques
283         replace_symbol dumpopaqueinfo pdump_opaque
284
285         replace_symbol nb_structdump nb_root_struct_ptrs
286         replace_symbol nb_opaquedump nb_opaques
287
288         replace_symbol align_table pdump_align_table
289         replace_symbol dump_header pdump_header
290
291         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
292         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
293
294
295 2001-01-12  Martin Buchholz  <martin@xemacs.org>
296
297         * s/aix4.h: Keep the C for AIX compiler from overaggressively
298         optimizing bytecount_to_charcount().
299
300 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
301
302         * config.h.in:
303         (HAVE_DLFCN_H): Removed.
304         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
305
306 2001-01-06  Martin Buchholz  <martin@xemacs.org>
307
308         Portable dumper maintainability improvements.
309         * alloc.c (staticpro):
310         * alloc.c (staticpro_nodump):
311         * alloc.c (garbage_collect_1):
312         * alloc.c (reinit_alloc_once_early):
313         * alloc.c (init_alloc_once_early):
314         * alloc.c: Move dumper functions to alloc.c.
315         * dumper.c (pdump_backtrace):
316         * dumper.c (pdump_dump_structs):
317         * dumper.c (pdump_dump_opaques):
318         * dumper.c (pdump_dump_rtables):
319         * dumper.c (pdump_dump_wired):
320         * dumper.c (pdump):
321         * dumper.c (pdump_load_check):
322         * dumper.c (pdump_load_finish):
323         * dumper.c (pdump_file_unmap):
324         * dumper.c (pdump_file_get):
325         * dumper.c (pdump_resource_free):
326         * dumper.c (pdump_resource_get):
327         * dumper.c (pdump_file_free):
328         * dumper.c (pdump_file_try):
329         * dumper.c (pdump_load):
330         Remove fixed size limits on staticpro(), staticpro_nodump(),
331         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
332         Remove custom code for dumping lrecord_implementations_table - use
333         dumpopaque instead.
334         Remove (most of the) custom code for dumping staticpros - dump it
335         like any other dynarr.
336
337         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
338         * dumper.c: Moved functions from alloc.c.
339         * alloc.c (dumpstruct): Moved to dumper.c.
340         * alloc.c (dumpopaque): Likewise.
341         * alloc.c (pdump_wire): Likewise.
342         * alloc.c (pdump_wire_list): Likewise.
343
344         * lisp.h (Dynarr_sizeof): New.
345         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
346         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
347         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
348
349         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
350         * lisp.h (dumpopaque): ditto.
351         * lisp.h (pdump_wire): ditto.
352         * lisp.h (pdump_wire_list): ditto.
353
354 2001-01-09  Martin Buchholz  <martin@xemacs.org>
355
356         * make-src-depend (PrintPatternDeps):
357         Use `sort' to make output independent of perl version.
358
359 2001-01-08  Martin Buchholz  <martin@xemacs.org>
360
361         Port to Netbsd 1.5.
362         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
363         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
364
365 2001-01-03  Didier Verna  <didier@xemacs.org>
366
367         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
368         that `focus_frame' is alive before thinking of calling
369         `redisplay_redraw_cursor' on it.
370
371 2001-01-08  Martin Buchholz <martin@xemacs.org>
372
373         * XEmacs 21.2.40 is released.
374
375 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
376
377         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
378
379 2001-01-06  Martin Buchholz  <martin@xemacs.org>
380
381         * alloc.c (dbg_valmask): Make const.
382         * alloc.c (dbg_typemask): Make const.
383         * alloc.c (dbg_USE_UNION_TYPE): Make const.
384         * alloc.c (dbg_valbits): Make const.
385         * alloc.c (dbg_gctypebits): Make const.
386
387 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
388
389         * redisplay-x.c (x_bevel_area):
390         redisplay.h (struct rune):
391         Typo fixes in comments.
392
393 2001-01-05  Andy Piper  <andy@xemacs.org>
394
395         * glyphs-x.c (x_redisplay_widget): use size changed for offset
396         adjustment.
397
398         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
399
400 2001-01-05  Martin Buchholz  <martin@xemacs.org>
401
402         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
403
404         * mule-ccl.c (stack_idx_of_map_multiple):
405         Non const global data must not be initialized!
406         Found by MIYASHITA Hisashi.
407
408 2001-01-02  Andy Piper  <andy@xemacs.org>
409
410         * frame.c (change_frame_size): make sure frame size is always
411         marked as changed.
412
413         * glyphs.c (image_instance_layout): minor code reuse.
414
415         * window.c (Fcurrent_window_configuration): revert previous
416         change.
417
418 2001-01-02  Martin Buchholz  <martin@xemacs.org>
419
420         * glyphs.h:
421         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
422
423 2000-12-31  Andy Piper  <andy@xemacs.org>
424
425         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
426         when widget gets unmapped.
427
428         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
429         function. Make sure widgets losing focus don't just drop it.
430         (handle_focus_event_1): record the widget with focus.
431
432 2000-12-31  Andy Piper  <andy@xemacs.org>
433
434         * window.c (allocate_window): use
435         make_image_instance_cache_hash_table.
436         (make_dummy_parent): ditto.
437         (Fset_window_configuration): ditto.
438
439         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
440
441         * glyphs.c (process_image_string_instantiator): use
442         INSTANTIATOR_TYPE.
443         (get_image_instantiator_governing_domain): ditto.
444         (normalize_image_instantiator): ditto.
445         (instantiate_image_instantiator): ditto.
446         (make_image_instance_1): ditto.
447         (image_instantiate): ditto. Key on glyph *and* instantiator type.
448         (instantiator_eq_equal): new function for use with instance hash
449         tables.
450         (instantiator_eq_hash): ditto.
451         (make_image_instance_cache_hash_table): create a suitable hash
452         table for storing image instances.
453
454         * elhash.h (hash_table_weakness): new internal weakness type
455         HASH_TABLE_KEY_CAR_VALUE_WEAK.
456         declare new functions.
457
458         * elhash.c (finish_marking_weak_hash_tables): introduce yet
459         another weakness type for glyphs.
460         (make_standard_lisp_hash_table): new function split out from
461         make_general_lisp_hash_table.
462         (make_lisp_hash_table): call make_standard_lisp_hash_table.
463         (hash_table_instantiate): ditto.
464         (Fmake_hash_table): ditto.
465
466 2000-12-31  Martin Buchholz <martin@xemacs.org>
467
468         * XEmacs 21.2.39 is released.
469
470 2000-12-29  Andy Piper  <andy@xemacs.org>
471
472         * menubar.c (menubar_visible_p_changed): signal the frame changed.
473
474         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
475         the frame has changed so that we pick up geometry changes such as
476         menubar visibility.
477
478 2000-12-28  Andy Piper  <andy@xemacs.org>
479
480         * lastfile.c (my_ebss): make a char array so we can pad the
481         bss. Fixes cygwin unexec.
482
483         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
484
485 2000-12-26  Andy Piper  <andy@xemacs.org>
486
487         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
488         comments and try and be more precise about a non-/SIGIO world.
489         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
490         SIGIO.
491
492         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
493         we don't normalize to zero width or height.
494
495 2000-12-24  Andy Piper  <andy@xemacs.org>
496
497         * Makefile.in.in (ldflags): add -mwindows when appropriate.
498
499 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
500
501         * s/sco5.h: SCO 5 has pty support.
502
503 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
504
505         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
506         input-method-xlib.c contains whole contents of input-method-xfs.c,
507         so we can use input-method-xlib.c's code for USE_XFONTSET
508         using #ifdefs.
509         * input-method-xfs.c: removed.
510
511 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
512
513         * file-coding.h (enum coding_category_type): reorder enumerators to
514         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
515         (now one greater than largest real coding_category_type enumerator).
516         * file-coding.c (coding_category_symbol, coding_category_by_priority,
517         coding_category_system, fcd_descriptihon_1, decode_coding_category,
518         Fcoding_category_list, Fset_coding_priority_list,
519         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
520         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
521
522 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
523
524         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
525         * redisplay-output.c (redisplay_output_window): Clear top of window
526         when face is changed.
527         * redisplay-x.c (x_redraw_exposed_window): Call
528         redisplay_clear_top_of_window.
529         * redisplay.h: Publish redisplay_clear_top_of_window.
530
531 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
532
533         * buffer.c (Fkill_buffer): Map over all devices.
534         * window.c (window_loop): Remove UNSHOW_BUFFER code.
535         (list_windows): New function.
536         (list_all_windows): Ditto.
537         (Freplace_buffer_in_windows): Use them.
538
539 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
540
541         * database.c (berkdb_subtype): Recognize new subtype `queue'.
542         (Fopen_database): Use `db_create' instead of `db_open'.
543         (syms_of_database): Initialize Qqueue.
544
545 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
546
547         * buffer.c (common_init_complex_vars_of_buffer): Initialize
548         buffer_local_face_property.
549         * buffer.h (struct buffer): New member buffer_local_face_property.
550         * window.c (Fset_window_buffer):  Mark window's face as changed
551         when buffer has buffer local face.
552         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
553         * objects.c (color_after_change): Set buffer_local_face_property
554         when locale of face specifier is buffer.
555         * objects.c (font_after_change): Ditto.
556         * objects.c (face_boolean_after_change): Ditto.
557         * glyphs.c (image_after_change): Ditto.
558
559 2000-12-09  Dan Holmsand  <dan@eyebee.com>
560
561         * nt.c (mswindows_fstat): Report file permissions, volume serial
562         number, etc. Code adapted from FSF Emacs 20.7.
563
564 2000-12-09  Dan Holmsand  <dan@eyebee.com>
565
566         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
567         of stat when we don't have symbolic links, to make sure
568         mswindows_stat is called on mswindows.
569
570 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
571
572         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
573
574 2000-12-12  Martin Buchholz  <martin@xemacs.org>
575
576         * doprnt.c (emacs_doprnt_1): More printing fixes.
577         Make printing of numbers compatible with libc and FSF Emacs.
578         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
579         Use the system printf to do most of the hard work of formatting,
580         instead of doprnt_1().
581         Calculate memory to allocate for format string.
582         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
583         (doprnt_1): Cleaner code and documentation.
584
585 2000-12-01  Jerry James  <james@eecs.ukans.edu>
586
587         * Makefile.in.in: Use the loop variable to install headers.
588
589 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
590
591         * window.c (Fsplit_window): Don't invalidate face cache.
592
593 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
594
595         * minibuf.c (Fall_completions): Undo the previous change
596         which removed checking elements start with space.
597
598 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
599
600         * mule-canna.c: Didier suppression.
601
602 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
603
604         * mule-canna.c: rename static unsigned char buf[] to key_buffer
605         (warning suppression).  Add English comment translations.
606
607 2000-12-05  Martin Buchholz  <martin@xemacs.org>
608
609         * unexelfsgi.c (unexec): Better test for mmap failure.
610
611 2000-12-05  Martin Buchholz <martin@xemacs.org>
612
613         * XEmacs 21.2.38 is released.
614
615 2000-12-05  Martin Buchholz  <martin@xemacs.org>
616
617         * redisplay.c (bar-cursor): Make a user variable.
618
619         * symsinit.h: Add init_postgresql_from_environment.
620
621 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
622
623         * regex.c: Convert to clean C.
624
625 2000-12-05  Dan Holmsand  <dan@eyebee.com>
626
627         * realpath.c:
628         Don't #include sysfile.h. Revert to duplicating PATH_MAX
629         initialization.
630         (sys_readlink): renamed to system_readlink to avoid conflict with
631         the other sys_readlink.
632
633 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
634
635         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
636
637 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
638
639         * postgresql.c (init_postgresql_from_environment): new function.
640         (vars_of_postgresql): Move code initializing Lisp variables out and
641         into init_postgresql_from_environment.
642         emacs.c (main_1): Call init_postgresql_from_environment if and only
643         if running a dumped XEmacs.
644
645 2000-08-31  Dan Holmsand  <dan@eyebee.com>
646
647         * buffer.c: Make find-file-compare-truenames default to true on
648         windows.
649
650         * realpath.c (win32_abs_start):
651         (cygwin_readlink):
652         (win32_readlink): New functions.
653         (xrealpath): Return really real filenames on windows.
654
655         * fileio.c (Ffile_truename): Make file-truename work on windows.
656
657 2000-11-29  Didier Verna  <didier@xemacs.org>
658
659         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
660         * faces.c (update_face_cachel_data): use it.
661         * faces.c (add_face_cachel): use it. Complete background pixmap
662         frobbing in face cache if `update_face_cachel_data' has not done so.
663
664 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
665
666         * search.c (string_match_1): Don't set last_thing_searched
667         when search failed.
668
669 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
670
671         * buffer.c: Include casetab.h
672         (common_init_complex_vars_of_buffer): Use new case-table object.
673         * buffer.h: Include casetab.h
674         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
675         (DOWNCASE_TABLE_OF): Ditto.
676         * bufslots.h: Remove char-tables and add case-table.
677         * casetab.c: Include casetab.h
678         (CASE_TABLE_P): Removed.
679         (mark_case_table): New function.
680         (allocate_case_table): New function.
681         (Fcase_table_p): Use new case-table.
682         (case_table_char): New function.
683         (Fget_case_table): Ditto.
684         (Fput_case_table): Ditto.
685         (Fput_case_table_pair): Ditto.
686         (Fcopy_case_table): Ditto.
687         (Fcurrent_case_table): Return case-table.
688         (Fstandard_case_table): Return case-table.
689         (Fset_case_table): Fix doc-string.
690         (set_case_table): Use case-table
691         (syms_of_casetab): DEFSUBR new functions.
692         (complex_vars_of_casetab): Set up standard case-table.
693         * casetab.h: New file.
694         * editfns.c: Include casetab.h
695         (Fcompare_buffer_substrings): Use case-table.
696         * inline.c: Include casetab.h
697         * lisp.h: Remove bogus extern.
698         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
699         * search.c: Include casetab.h
700         (TRANSLATE_ASCII): Removed.
701         (TRANSLATE): Unconditionally translate character.
702         (looking_at_1): Use case-table.
703         (string_match_1): Ditto.
704         (fast_string_match): Ditto.
705         (search_command): Ditto.
706         (search_buffer): Separate boyer_moore.  Check whether
707         boyer_moore is possible.
708         (simple_search): New function.
709         (boyer_moore): Separated from search_buffer. Translate char.
710
711 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
712
713         * regex.c (RE_TR_ASCII): Removed.
714         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
715         (PATFETCH): Call PATFETCH_RAW.
716         (PATFETCH_RAW): Fetch Emchar.
717         (PATUNFETCH): Decrement charptr.
718         (GET_BUFFER_SPACE): Rename b to buf_end.
719         (BUF_PUSH): Ditto.
720         (BUF_PUSH_2): Ditto.
721         (BUF_PUSH_3): Ditto.
722         (EXTEND_BUFFER): Ditto.
723         (SET_LIST_BIT): Ditto.
724         (regex_compile): Ditto.  Translate non ASCII char.
725         (compile_range): Ditto.
726         (re_search_2): Ditto.
727         (re_match_2_internal): Compare Emchar.
728         (bcmp_translate): Ditto.
729
730 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
731
732         * lisp.h (basic char/int typedefs):  comment improvement.
733
734 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
735
736         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
737         unstomp inhibit_site_lisp.  Improve comments.
738
739 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
740
741         * mule-charset.c (Fcharset_property):  improve type checking, comments.
742
743 2000-11-28  Andy Piper  <andy@xemacs.org>
744
745         * redisplay-output.c (redisplay_output_subwindow): make sure we do
746         clipped display for windows in the gutter also.
747         (redisplay_display_boxes_in_window_p): change semantics of return
748         codes to be more intuitive.
749
750         * gutter.h: declare display_boxes_in_gutter_p.
751
752         * gutter.c (display_boxes_in_gutter_p): new function for
753         redisplay.
754
755 2000-11-22  Andy Piper  <andy@xemacs.org>
756
757         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
758         autodetect domain.
759
760 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
761
762         * callproc.c (Fold_call_process_internal):
763         * gpm.c (Freceive_gpm_event):
764         (tty_get_foreign_selection): Might be just warning supression.
765         * fileio.c (Fwrite_region_internal):
766         (Fset_visited_file_modtime):
767         * keymap.c (event_matches_key_specifier_p):
768         Initialize GCPROed variable.
769
770         * menubar-x.c (command_builder_find_menu_accelerator):
771         Initialize before use.
772
773 2000-11-23  Andy Piper  <andy@xemacs.org>
774
775         * unexcw.c (unexec): make the resulting executable executable.
776
777 2000-11-21  Martin Buchholz  <martin@xemacs.org>
778
779         * doc.c (get_doc_string):
780         Use size_t, not int, for result of XSTRING_LENGTH.
781
782         * cmds.c (Fdelete_char):
783         * cmds.c (Fpoint_at_eol):
784         * cmds.c (Fself_insert_command):
785         Use EMACS_INT, not int, for result of XINT.
786         Someday, someone will want to insert more than 2**31 identical characters.
787
788         * cmds.c (Fdelete_char):
789         * cmds.c (Fdelete_backward_char):
790         * syntax.c (Fforward_word):
791         * syntax.c (Fforward_comment):
792         Make COUNT argument optional, for consistency with forward-char et al.
793
794 2000-11-22  Martin Buchholz  <martin@xemacs.org>
795
796         * lisp.h:
797         * print.c (long_to_string):
798         Return a useful value: the pointer at end of data written.
799
800         * doprnt.c:
801         Use `static const char * const' for constant strings.
802         (union printf_arg): Delete `i', `ui' members.
803         (get_doprnt_args):
804         (emacs_doprnt_1):
805         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
806         Do all printf-ing via the `l' specifier.
807         Use EMACS_INT instead of int.
808         Optimize.
809
810 2000-11-20  Didier Verna  <didier@xemacs.org>
811
812         * faces.c (update_face_cachel_data): don't frob the background
813         pixmap when the window is being created. The face is needed but
814         does not exist yet.
815
816 2000-11-20  Andy Piper  <andy@xemacs.org>
817
818         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
819         messing with a debug environment.
820
821 2000-11-20  Martin Buchholz  <martin@xemacs.org>
822
823         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
824
825 2000-11-20  Martin Buchholz  <martin@xemacs.org>
826
827         * casetab.c (Fcase_table_p): Fix compile error and crash.
828
829 2000-11-18  Philip Aston  <philipa@mail.com>
830
831         * s/cygwin32.h: Cygwin has SVR4-like pty support.
832
833 2000-11-18  Martin Buchholz  <martin@xemacs.org>
834
835         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
836         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
837
838 2000-11-17  Martin Buchholz  <martin@xemacs.org>
839
840         * config.h.in: Define HAVE_ELF_H if elf.h exists.
841         * unexelf.c: Use HAVE_ELF_H.
842         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
843         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
844         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
845         Greg Harrington <greg_harrington@hotmail.com> provided a machine
846         for testing.
847         So this is an unexelfsgi.c from a different line of development.
848
849 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
850
851         * regex.c (RE_TR_ASCII): New function.
852         (RE_TRANSLATE): Call it.
853
854 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
855
856         * buffer.h (TRT_TABLE_OF): Remove assert.
857         (IN_TRT_TABLE_DOMAIN): Removed.
858
859 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
860
861         * free-hook.c (log_gcpro):
862         (show_gcprohist): Add support for GCPRO5.
863
864 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
865
866         * emacs.c (main_1): Improve -sd error message when --pdump=no.
867
868 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
869
870         * symeval.h: Declare flush_all_buffer_local_cache.
871
872         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
873         (flush_buffer_local_cache): Added.
874         (flush_all_buffer_local_cache): Added.
875
876         * lrecord.h: Remove unused XD_LO_RESET_NIL.
877
878         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
879         (pdump_dump_data): Ditto.
880         (pdump_reloc_one): Ditto.
881         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
882         before dumping.
883
884
885 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
886
887         * buffer.c: Remove if 0'ed entry.
888         * buffer.h: Rewrite TRT to use char-table.
889         * bufslots.h: Remove mirror tables.
890         * casetab.c: Remove mirror tables.
891         (CASE_TABLE_P): New macro.
892         (Fcase_table_p): Element of a case table is string or char-table.
893         (make_mirror_trt_table): Removed.
894         (set_case_table): Setup char-table from strings for backward
895         compatibility.
896         * dired.c (Fdirectory_files):
897         * dired-msw.c: (mswindows_get_files):
898         * lisp.h: Change prototype of re_pattern_buffer.
899         * regex.c: (RE_TRANSLATE): New macro.
900         (TRANSLATE_P): Ditto.
901         Change translate to type RE_TRANSLATE_TYPE.
902         * regex.h: Define RE_TRANSLATE_TYPE
903         * search.c (TRANSLATE): New macro.
904         (TRANSLATE_ASCII): New macro.
905         Translate table is changed to Lisp_Object.
906         (signal_failure): Inhibit return.
907
908 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
909
910         * device-msw.c:
911         * eldap.c:
912         * event-Xt.c:
913         * event-stream.c:
914         * print.c:
915         Do UNGCPRO before return.
916
917 2000-11-14  Martin Buchholz <martin@xemacs.org>
918
919         * XEmacs 21.2.37 is released.
920
921 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
922
923         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
924         Add comments about discarded return value.
925
926 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
927
928         * callint.c:
929         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
930
931 2000-10-27  Andy Piper  <andy@xemacs.org>
932
933         * gutter.c (Fset_default_gutter_position): default left and right
934         gutters to visible.
935         (calculate_gutter_size): calculate resonable heuristic for left
936         and right gutter sizes.
937         (specifier_vars_of_gutter): change left and right gutter sizes to
938         autodetect.
939         (calculate_gutter_size_from_display_lines): new function.
940         (output_gutter): check for resizing on left and right gutters.
941         (clear_gutter): don't special case top and left gutters.
942         (specifier_vars_of_gutter): use new signature for
943         set_specifier_caching.
944
945         * glyphs-x.c (x_redisplay_widget): spelling fix.
946         * glyphs.c (specifier_vars_of_glyphs):
947         * menubar.c (specifier_vars_of_menubar):
948         * redisplay.c (specifier_vars_of_redisplay):
949         * toolbar.c (specifier_vars_of_toolbar):
950         * window.c (specifier_vars_of_window):
951         * scrollbar.c (specifier_vars_of_scrollbar):
952         (complex_vars_of_scrollbar): use new signature for
953         set_specifier_caching.
954
955         * specifier.c (set_specifier_caching): include recompute flag.
956         (recompute_one_cached_specifier_in_window): always recompute if
957         flag set.
958         (recompute_one_cached_specifier_in_frame): ditto.
959
960         * specifier.h (struct specifier_caching): add recompute flag.
961
962 2000-10-24  Andy Piper  <andy@xemacs.org>
963
964         * unexcw.c (copy_executable_and_dump_data_section): add new
965         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
966         5.0 happy.
967
968 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
969
970         * console-x.h (x_device): New member modifier_release_time.
971         * event-Xt.c (x_handle_sticky_modifiers):
972         Bound interval modifier keys are sticky.
973         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
974         * events.h: extern it.
975
976 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
977
978         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
979
980 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
981
982         * event-stream.c (execute_command_event): Preserve current_events
983         and the like when event is misc-user-event.
984         Inhibit quit during the call to maybe_echo_keys.
985
986 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
987
988         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
989         symlink when buffer is killed.
990         (inhibit_clash_detection): New variable.
991
992 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
993
994         * console.c (Fset_input_method): Trigger redisplay on tty.
995
996 2000-11-07  Martin Buchholz  <martin@xemacs.org>
997
998         * process.c (Fprocess_status): Revert to previous behavior:
999         (process-status "nosuchprocess") ==> nil
1000
1001 2000-11-06  Martin Buchholz  <martin@xemacs.org>
1002
1003         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
1004         Work around another GCC 2.95.2 optimizer bug.
1005
1006 2000-11-02  Martin Buchholz  <martin@xemacs.org>
1007
1008         * process.c (Fget_process): Use LIST_LOOP_2.
1009         (kill_buffer_processes): Use LIST_LOOP_2.
1010
1011         * minibuf.c (Fall_completions):
1012         Delete old non-functional code for FSF fourth argument.
1013
1014         * frame.c (frame_matches_frame_spec):
1015         Renamed from `frame_matches_frametype'.  Update all callers.
1016         (device_matches_device_spec):
1017         Renamed from 'device_matches_console_spec'.  Update all callers.
1018
1019         * doc.c (Fsubstitute_command_keys):
1020         Remove buffer overflow crash.  Small code cleanups.
1021
1022         * casetab.c (check_case_table): Simpler code.
1023
1024         * window.c (Freplace_buffer_in_windows):
1025         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
1026         (and similar implementation) as Fdelete_windows_on.
1027         Update all callers.
1028
1029         * alloc.c (Fmake_list):
1030         * alloc.c (make_vector):
1031         * alloc.c (Fmake_vector):
1032         * alloc.c (make_bit_vector):
1033         * alloc.c (Fmake_bit_vector):
1034         * alloc.c (Fbit_vector):
1035         * alloc.c (Fmake_string):
1036         * alloc.c (Fpurecopy):
1037         * alloc.c (Fmemory_limit):
1038         * buffer.c:
1039         * buffer.c (Fget_buffer):
1040         * buffer.c (Fkill_buffer):
1041         * buffer.c (complex_vars_of_buffer):
1042         * bytecode.c (Fcompiled_function_stack_depth):
1043         * callint.c (Fprefix_numeric_value):
1044         * event-stream.c:
1045         * event-stream.c (Fread_key_sequence):
1046         * casetab.c:
1047         * casetab.c (Fcase_table_p):
1048         * casetab.c (check_case_table):
1049         * casetab.c (Fset_case_table):
1050         * casetab.c (Fset_standard_case_table):
1051         * chartab.c:
1052         * chartab.c (Fchar_table_type):
1053         * chartab.c (Freset_char_table):
1054         * chartab.c (Fget_char_table):
1055         * chartab.c (Fget_range_char_table):
1056         * chartab.c (Fput_char_table):
1057         * chartab.c (Fmap_char_table):
1058         * chartab.c (Fcategory_table_p):
1059         * chartab.c (Fcheck_category_at):
1060         * chartab.c (Fchar_in_category_p):
1061         * chartab.c (Fcategory_table):
1062         * chartab.c (Fcopy_category_table):
1063         * chartab.c (Fset_category_table):
1064         * chartab.c (Fcategory_designator_p):
1065         * chartab.c (Fcategory_table_value_p):
1066         * cmds.c (Fdelete_char):
1067         * cmds.c (Fdelete_backward_char):
1068         * cmds.c (Fself_insert_command):
1069         * cmds.c (Fself_insert_internal):
1070         * console.c (Fvalid_console_type_p):
1071         * console.c (Fcdfw_console):
1072         * console.c (Fconsole_type):
1073         * console.c (Fconsole_name):
1074         * console.c (Fconsole_device_list):
1075         * console.c (Fconsole_on_window_system_p):
1076         * data.c:
1077         * data.c (Feq):
1078         * data.c (Fold_eq):
1079         * data.c (Fsubr_interactive):
1080         * data.c (Fchar_to_int):
1081         * data.c (Fint_to_char):
1082         * data.c (Fsetcar):
1083         * data.c (Fsetcdr):
1084         * data.c (Fnumber_to_string):
1085         * data.c (Fstring_to_number):
1086         * data.c (Frem):
1087         * database.c (mark_database):
1088         * database.c (finalize_database):
1089         * database.c (Fdatabase_live_p):
1090         * database.c (Fdatabasep):
1091         * device-x.c (Fx_get_resource):
1092         * device.c (Fdfw_device):
1093         * dired.c:
1094         * dired.c (Ffile_name_completion):
1095         * dired.c (Ffile_name_all_completions):
1096         * dired.c (Fuser_name_completion):
1097         * dired.c (Fuser_name_completion_1):
1098         * dired.c (Fuser_name_all_completions):
1099         * doc.c (Fdocumentation):
1100         * doc.c (Fdocumentation_property):
1101         * doc.c (Fsubstitute_command_keys):
1102         * editfns.c:
1103         * editfns.c (Fchar_to_string):
1104         * editfns.c (Fstring_to_char):
1105         * editfns.c (Ftemp_directory):
1106         * editfns.c (Finsert_char):
1107         * editfns.c (Fbuffer_substring_no_properties):
1108         * editfns.c (Fnarrow_to_region):
1109         * editfns.c (Fchar_equal):
1110         * editfns.c (Fchar_Equal):
1111         * editfns.c (Ftranspose_regions):
1112         * emacs.c (Fdump_emacs):
1113         * eval.c (Fthrow):
1114         * eval.c (Fcommand_execute):
1115         * eval.c (Fautoload):
1116         * eval.c (Fbacktrace):
1117         * eval.c (Fbacktrace_frame):
1118         * events.c:
1119         * events.c (Fcopy_event):
1120         * events.c (Fcharacter_to_event):
1121         * events.c (Fevent_button):
1122         * events.c (Fevent_process):
1123         * extents.c:
1124         * extents.c (Fnext_extent_change):
1125         * extents.c (Fextent_property):
1126         * faces.c (Ffacep):
1127         * faces.c (Fmake_face):
1128         * file-coding.c:
1129         * file-coding.c (Fencode_shift_jis_char):
1130         * file-coding.c (Fencode_big5_char):
1131         * fileio.c (Ffile_name_directory):
1132         * fileio.c (Ffile_name_nondirectory):
1133         * fileio.c (Ffile_name_as_directory):
1134         * fileio.c (Fdirectory_file_name):
1135         * fileio.c (Ffile_truename):
1136         * fileio.c (Fsubstitute_in_file_name):
1137         * fileio.c (Ffile_modes):
1138         * fileio.c (Fset_file_modes):
1139         * fileio.c (Fset_default_file_modes):
1140         * fileio.c (Fverify_visited_file_modtime):
1141         * floatfns.c (Facos):
1142         * floatfns.c (Fasin):
1143         * floatfns.c (Fatan):
1144         * floatfns.c (Fcos):
1145         * floatfns.c (Fsin):
1146         * floatfns.c (Ftan):
1147         * floatfns.c (Fbessel_j0):
1148         * floatfns.c (Fbessel_j1):
1149         * floatfns.c (Fbessel_jn):
1150         * floatfns.c (Fbessel_y0):
1151         * floatfns.c (Fbessel_y1):
1152         * floatfns.c (Fbessel_yn):
1153         * floatfns.c (Ferf):
1154         * floatfns.c (Ferfc):
1155         * floatfns.c (Flog_gamma):
1156         * floatfns.c (Fexp):
1157         * floatfns.c (Fexpt):
1158         * floatfns.c (Flog):
1159         * floatfns.c (Flog10):
1160         * floatfns.c (Fsqrt):
1161         * floatfns.c (Fcube_root):
1162         * floatfns.c (Facosh):
1163         * floatfns.c (Fasinh):
1164         * floatfns.c (Fatanh):
1165         * floatfns.c (Fcosh):
1166         * floatfns.c (Fsinh):
1167         * floatfns.c (Ftanh):
1168         * floatfns.c (Fabs):
1169         * floatfns.c (Ffloat):
1170         * floatfns.c (Flogb):
1171         * floatfns.c (Fceiling):
1172         * floatfns.c (Ffloor):
1173         * floatfns.c (Fround):
1174         * floatfns.c (Ftruncate):
1175         * floatfns.c (Ffceiling):
1176         * floatfns.c (Fffloor):
1177         * floatfns.c (Ffround):
1178         * floatfns.c (Fftruncate):
1179         * fns.c (Fstring_equal):
1180         * fns.c (Fstring_lessp):
1181         * fns.c (concat2):
1182         * fns.c (concat3):
1183         * fns.c (vconcat2):
1184         * fns.c (vconcat3):
1185         * fns.c (Fsubstring):
1186         * fns.c (Fassoc):
1187         * fns.c (Fold_assoc):
1188         * fns.c (assoc_no_quit):
1189         * fns.c (Fassq):
1190         * fns.c (Fold_assq):
1191         * fns.c (assq_no_quit):
1192         * fns.c (Frassoc):
1193         * fns.c (Fold_rassoc):
1194         * fns.c (Frassq):
1195         * fns.c (Fold_rassq):
1196         * fns.c (rassq_no_quit):
1197         * fns.c (Fremassoc):
1198         * fns.c (remassoc_no_quit):
1199         * fns.c (Fremassq):
1200         * fns.c (remassq_no_quit):
1201         * fns.c (Fremrassoc):
1202         * fns.c (Fremrassq):
1203         * fns.c (remrassq_no_quit):
1204         * fns.c (Fsort):
1205         * fns.c (Fplist_get):
1206         * fns.c (Fplist_put):
1207         * fns.c (Fplist_remprop):
1208         * fns.c (Fplist_member):
1209         * fns.c (Flax_plist_get):
1210         * fns.c (Flax_plist_put):
1211         * fns.c (Flax_plist_remprop):
1212         * fns.c (Flax_plist_member):
1213         * fns.c (Fequal):
1214         * fns.c (Fold_equal):
1215         * fns.c (Frequire):
1216         * fns.c (Fbase64_encode_region):
1217         * fns.c (Fbase64_encode_string):
1218         * fns.c (Fbase64_decode_region):
1219         * frame.c:
1220         * frame.c (frame_matches_frame_spec):
1221         * frame.c (device_matches_device_spec):
1222         * frame.c (next_frame):
1223         * frame.c (previous_frame):
1224         * frame.c (Fnext_frame):
1225         * frame.c (Fprevious_frame):
1226         * frame.c (Fframe_property):
1227         * frame.c (Fset_frame_height):
1228         * frame.c (Fset_frame_size):
1229         * frame.h:
1230         * glyphs.c:
1231         * glyphs.c (if):
1232         * glyphs.c (decode_error_behavior_flag):
1233         * glyphs.c (Fmake_image_instance):
1234         * indent.c (Findent_to):
1235         * intl.c (Fignore_defer_gettext):
1236         * keymap.c (Fkeymapp):
1237         * keymap.c (Flookup_key):
1238         * lread.c:
1239         * lread.c (Fload_internal):
1240         * lread.c (Feval_buffer):
1241         * lread.c (Feval_region):
1242         * macros.c (Fexecute_kbd_macro):
1243         * marker.c (set_marker_internal):
1244         * marker.c (Fset_marker):
1245         * marker.c (set_marker_restricted):
1246         * marker.c (Fcopy_marker):
1247         * marker.c (noseeum_copy_marker):
1248         * menubar.c:
1249         * menubar.c (Fpopup_menu):
1250         * minibuf.c:
1251         * mule-charset.c (Fcharset_name):
1252         * mule-charset.c (Fchar_charset):
1253         * mule-charset.c (Fchar_octet):
1254         * mule-charset.c (Fsplit_char):
1255         * mule-wnnfns.c (Fwnn_open):
1256         * mule-wnnfns.c (Fwnn_dict_comment):
1257         * mule-wnnfns.c (Fwnn_quit_henkan):
1258         * mule-wnnfns.c (Fwnn_word_toroku):
1259         * mule-wnnfns.c (Fwnn_word_sakujo):
1260         * mule-wnnfns.c (Fwnn_word_use):
1261         * mule-wnnfns.c (Fwnn_hindo_set):
1262         * objects.c:
1263         * objects.c (Fmake_color_instance):
1264         * objects.c (Fmake_font_instance):
1265         * print.c (Fwrite_char):
1266         * process.c:
1267         * process.c (mark_process):
1268         * process.c (print_process):
1269         * process.c (get_process_from_usid):
1270         * process.c (Fprocessp):
1271         * process.c (Fprocess_live_p):
1272         * process.c (Fget_process):
1273         * process.c (Fget_buffer_process):
1274         * process.c (get_process):
1275         * process.c (Fprocess_id):
1276         * process.c (Fprocess_name):
1277         * process.c (Fprocess_command):
1278         * process.c (init_process_io_handles):
1279         * process.c (start_process_unwind):
1280         * process.c (Fstart_process_internal):
1281         * process.c (Fopen_multicast_group_internal):
1282         * process.c (Fset_process_window_size):
1283         * process.c (read_process_output):
1284         * process.c (send_process):
1285         * process.c (Fprocess_tty_name):
1286         * process.c (Fset_process_buffer):
1287         * process.c (Fprocess_buffer):
1288         * process.c (Fprocess_mark):
1289         * process.c (set_process_filter):
1290         * process.c (Fset_process_filter):
1291         * process.c (Fprocess_filter):
1292         * process.c (Fprocess_send_region):
1293         * process.c (Fprocess_send_string):
1294         * process.c (exec_sentinel):
1295         * process.c (Fset_process_sentinel):
1296         * process.c (Fprocess_sentinel):
1297         * process.c (status_notify):
1298         * process.c (Fprocess_status):
1299         * process.c (Fprocess_exit_status):
1300         * process.c (process_send_signal):
1301         * process.c (Fprocess_send_eof):
1302         * process.c (deactivate_process):
1303         * process.c (remove_process):
1304         * process.c (Fdelete_process):
1305         * process.c (kill_buffer_processes):
1306         * process.c (Fprocess_kill_without_query):
1307         * process.c (Fprocess_kill_without_query_p):
1308         * rangetab.c:
1309         * rangetab.c (Fget_range_table):
1310         * rangetab.c (Fput_range_table):
1311         * rangetab.c (Fremove_range_table):
1312         * rangetab.c (Fclear_range_table):
1313         * search.c:
1314         * search.c (Fskip_chars_forward):
1315         * search.c (Fskip_chars_backward):
1316         * search.c (Fskip_syntax_forward):
1317         * search.c (Fskip_syntax_backward):
1318         * search.c (search_command):
1319         * search.c (Freplace_match):
1320         * search.c (Fregexp_quote):
1321         * select.c (Fown_selection_internal):
1322         * select.c (Fselection_owner_p):
1323         * select.c (Fselection_exists_p):
1324         * select.c (Fget_selection_internal):
1325         * specifier.c:
1326         * symbols.c:
1327         * symbols.c (Fintern):
1328         * symbols.c (Fintern_soft):
1329         * symbols.c (Funintern):
1330         * symbols.c (Fapropos_internal):
1331         * symbols.c (Fset_default):
1332         * syntax.c:
1333         * syntax.c (Fsyntax_table_p):
1334         * syntax.c (Fcopy_syntax_table):
1335         * syntax.c (Fset_syntax_table):
1336         * syntax.c (Fchar_syntax):
1337         * syntax.c (syntax_match):
1338         * syntax.c (Fmatching_paren):
1339         * syntax.c (Fforward_word):
1340         * syntax.c (scan_lists):
1341         * syntax.c (Fscan_lists):
1342         * syntax.c (Fscan_sexps):
1343         * syntax.c (Fparse_partial_sexp):
1344         * toolbar.c (Fcheck_toolbar_button_syntax):
1345         * tooltalk.doc:
1346         * window.c:
1347         * window.c (Fwindowp):
1348         * window.c (Fwindow_live_p):
1349         * window.c (Fwindow_point):
1350         * window.c (Fdelete_window):
1351         * window.c (Fnext_window):
1352         * window.c (Fprevious_window):
1353         * window.c (Fother_window):
1354         * window.c (window_loop):
1355         * window.c (Fget_lru_window):
1356         * window.c (Fsplit_window):
1357         * window.c (Fenlarge_window):
1358         * window.c (Fenlarge_window_pixels):
1359         * window.c (Fshrink_window):
1360         * window.c (Fshrink_window_pixels):
1361         * window.c (change_window_height):
1362         * window.c (Fwindow_configuration_p):
1363         * window.c (Fcurrent_window_configuration):
1364         * window.h:
1365         * casefiddle.c (casify_object):
1366         * casefiddle.c (Fupcase):
1367         * casefiddle.c (Fdowncase):
1368         * casefiddle.c (Fcapitalize):
1369         * casefiddle.c (Fupcase_initials):
1370         * casefiddle.c (casify_region_internal):
1371         * casefiddle.c (casify_region):
1372         * casefiddle.c (Fupcase_region):
1373         * casefiddle.c (Fdowncase_region):
1374         * casefiddle.c (Fcapitalize_region):
1375         * casefiddle.c (Fupcase_initials_region):
1376         * casefiddle.c (Fupcase_word):
1377         * casefiddle.c (Fdowncase_word):
1378         * casefiddle.c (Fcapitalize_word):
1379         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
1380         Replace 0 with '\0' when working with bytes.
1381         Replace initial "(" with "\(" in docstrings.
1382
1383 2000-11-01  Martin Buchholz  <martin@xemacs.org>
1384
1385         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
1386
1387         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
1388
1389 2000-10-31  Martin Buchholz  <martin@xemacs.org>
1390
1391         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
1392
1393 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
1394
1395         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
1396         correctly.
1397
1398 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
1399
1400         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
1401         (inhibit_auto_save_session): New variable.
1402         (vars_of_fileio): Declare and initialize them.
1403         * fileio.c (Fdo_auto_save): Don't create session file if
1404         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
1405
1406 2000-10-31  Martin Buchholz  <martin@xemacs.org>
1407
1408         * sgiplay.c (play_internal): C++ compilability.
1409         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
1410         * callproc.c (Fold_call_process_internal):
1411         Remove unused vars `env', `first'.
1412         * scrollbar.c (update_scrollbar_instance):
1413         #### unused var `current_window'.
1414         * redisplay-tty.c: Put currently unused vars insert_mode_on,
1415         etc. within #ifdef NOT_YET.
1416         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
1417         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
1418         * specifier.c (specifier_instance):
1419         #### unused var `tag'.
1420         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
1421
1422 2000-10-27  Martin Buchholz  <martin@xemacs.org>
1423
1424         * fns.c (Fbutlast):
1425         * fns.c (list_sort):
1426         * fns.c (Ffillarray):
1427         * fns.c (bytecode_nconc2):
1428         * fns.c (Fnconc):
1429         * fns.c (mapcar1):
1430         * fns.c (Fmapconcat):
1431         Be pedantically 64-bit correct.  For the time when someone will
1432         want to have a list with length > 2**32.
1433
1434         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
1435         Work around MIPSpro compiler bug.
1436
1437         * process-unix.c (unix_kill_child_process): Add snarky comment.
1438         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
1439
1440         * config.h.in: Oops, _getpt ==> _getpty
1441
1442 2000-10-26  Martin Buchholz  <martin@xemacs.org>
1443
1444         * config.h.in:
1445         * regex.c:
1446         Use void*, not char*, as return type of alloca().
1447
1448         * alloc.c (free_marker): Side effect inside assert expression!
1449
1450 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
1451
1452         * mule-charset.c (Fset_charset_ccl_program): To check
1453         if the given ccl program is valid, use setup_ccl_program()
1454         instead of CHECK_VECTOR().
1455         (Fmake_charset): Likewise.
1456
1457 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
1458
1459         * faces.c (get_extent_fragment_face_cache_index):
1460         Fix cachel.merged_faces memory leak.
1461
1462 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
1463
1464         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
1465         Reset MSB of octets obtained by DECODE_SJIS
1466         because of the incompatibility with Emacs.
1467         (ccl_driver)<CCL_ENCODE_SJIS>:
1468         Set MSB of octets before passing them to
1469         ENCODE_SJIS because of the incompatibility
1470         with Emacs.
1471
1472 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
1473
1474         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
1475         (DECLARE_LRECORD): Undo the last change.
1476         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
1477
1478 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
1479
1480         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
1481         the implementation to lrecord_implementations_table.
1482
1483 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
1484
1485         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
1486         initial value of `lrecord_type_##c_name' and
1487         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
1488         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
1489         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
1490         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
1491         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
1492
1493 2000-10-17  Martin Buchholz  <martin@xemacs.org>
1494
1495         * miscplay.c (sndcnv8S_2mono):
1496         (sndcnv2monounsigned):
1497         (sndcnvULaw_2linear):
1498         (sndcnv16swap):
1499         Remove implementation-defined behavior.
1500
1501 2000-10-12  Martin Buchholz  <martin@xemacs.org>
1502
1503         * input-method-xlib.c: Warning suppression.
1504
1505 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
1506
1507         * mule-ccl.c: Sync up with Emacs 21.0.90.
1508         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
1509         Do nothing.
1510         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
1511         Likewise.
1512         (ccl_driver[WriteMultibyteChar2]): Bug fix.
1513         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
1514         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
1515         leading char belongs to official 2-dimensional charset.
1516         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
1517         write the given character as is.  Otherwise,
1518         if it is a multibyte char, convert it by
1519         non_ascii_set_charptr_emchar, then write it.
1520         (CCL_WRITE_STRING): Likewise.
1521         (ccl_get_compiled_code): New function.
1522         (setup_ccl_program): When ccl_prog is invalid,
1523         return -1.
1524         (Fregister_code_conversion_map): New function.
1525         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
1526
1527         * mule-ccl.h: Sync up with Emacs 21.0.90.
1528         (Fregister_ccl_program): export it.
1529
1530         * redisplay-msw.c (separate_textual_runs):
1531         If ccl program is not valid, don't do ccl conversion.
1532
1533         * redisplay-x.c (separate_textual_runs): Ditto.
1534
1535         * file-coding.c (Fmake_coding_system):
1536         When type is ccl and value is vector, register it
1537         with a proper symbol.  And checks whether the
1538         given ccl program is valid.
1539         (mule_decode): When calling ccl_driver, if src indicates
1540         NULL pointer, set an empty string instead.
1541         (mule_encode): Likewise.
1542
1543 2000-10-11  Martin Buchholz  <martin@xemacs.org>
1544
1545         The following large batch of changes gets us back to a state of
1546         C++ compilability.  Extbyte is now a char, which means that
1547         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
1548
1549         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
1550
1551         * sound.c (Fplay_sound): Type correctness.
1552
1553         * select-x.c (hack_motif_clipboard_selection): Type correctness.
1554         (x_get_window_property): Type correctness.
1555         (receive_incremental_selection): unsigned char ==> Extbyte
1556         (selection_data_to_lisp_data): unsigned char ==> Extbyte
1557         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
1558         (Fx_store_cutbuffer_internal): Type correctness.
1559
1560         * process-unix.c (try_to_initialize_subtty): Type correctness.
1561
1562         * objects-x.c (x_print_color_instance): Type correctness.
1563         (x_print_font_instance): Type correctness.
1564         (x_list_fonts): SExtbyte ==> Extbyte.
1565         (valid_x_font_name_p): SExtbyte ==> Extbyte.
1566         (x_find_charset_font): SExtbyte ==> Extbyte.
1567         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
1568         (truename_via_XListFonts): SExtbyte ==> Extbyte.
1569         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
1570         Use bufbyte_strcmp.
1571
1572         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
1573         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
1574         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
1575         (BYTE_C0_P): Use bit ops for char-signedness safety.
1576         (BYTE_C1_P): Use bit ops for char-signedness safety.
1577         (CHARSET_BY_LEADING_BYTE):
1578         (CHARSET_BY_ATTRIBUTES):
1579         Always use inline function.
1580         Use type_checking_assert.
1581         Hide chlook.
1582
1583         * mule-charset.c (non_ascii_charptr_copy_char):
1584         Modify to work with both ASCII and non-ASCII characters.
1585         Improve docs and variable names.
1586         Replace over-clever fall-through switch with a simple loop.
1587         (Lstream_get_emchar_1):
1588         Replace over-clever fall-through switch with a simple loop.
1589
1590         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
1591         Warning suppression.
1592
1593         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
1594         the return value of Lstream_getc, which could be EOF as well.
1595
1596         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
1597
1598         * lisp.h: Make Extbyte a char, not unsigned char, so that external
1599         APIs can be used on Extbytes without casts.  Risky!
1600         (SExtbyte): Remove.
1601         (UExtbyte): Remove.
1602
1603         * input-method-xlib.c (XIM_init_device):
1604         Use Xlib.h instead of IntrinsicP.h.
1605         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
1606         which will break in X11R7.
1607         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
1608         to call XRegisterIMInstantiateCallback with correct types.
1609
1610         * gui-x.c (button_item_to_widget_value): Type correctness.
1611
1612         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
1613
1614         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
1615         (xbm_instantiate_1): Type correctness.
1616         (BUILD_GLYPH_INST):  Type correctness.
1617
1618         * fileio.c (Fsubstitute_in_file_name): Type correctness.
1619
1620         * file-coding.c:
1621         (decode_coding_sjis):
1622         (decode_coding_big5):
1623         (decode_coding_ucs4):
1624         (decode_coding_utf8):
1625         (decode_coding_iso2022):
1626         (decode_coding_no_conversion):
1627         Make all decoding functions take an Extbyte * arg.
1628         (encode_coding_sjis):
1629         (encode_coding_big5):
1630         (encode_coding_ucs4):
1631         (encode_coding_utf8):
1632         (encode_coding_iso2022):
1633         (encode_coding_no_conversion):
1634         Make all encoding functions take a Bufbyte * arg.
1635         Use size_t instead of unsigned int for memory sizes.
1636         Only cast to unsigned char whenever dereferencing Extbyte *.
1637
1638         * doc.c (unparesseuxify_doc_string): Type correctness.
1639
1640         * console-x.c (split_up_display_spec):
1641         Rewrite without using details of internal string representation.
1642         (x_semi_canonicalize_device_connection): Type correctness.
1643
1644         * config.h.in:
1645         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
1646         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
1647         (HAVE_XFREE386): Removed.
1648
1649         * buffer.h (DEC_CHARPTR): `const' correctness.
1650         (bufbyte_strcmp): New.
1651         (bufbyte_memcmp): New.
1652
1653         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
1654
1655         * buffer.h (XCHAR_OR_CHAR_INT):
1656         Always use inline function.
1657         Remove redundant type checking assert() - XINT will abort quite nicely.
1658
1659 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
1660
1661         * search.c (Freplace_match): Set newtext to an empty string.
1662
1663 2000-10-10  Martin Buchholz  <martin@xemacs.org>
1664
1665         * s/decosf1-3.h: Remove #include of stropts.h
1666         * s/ptx.h: Remove #include of stropts.h
1667         * s/usg5-4.h: Remove #include of stropts.h
1668         * sysproc.h:
1669         * config.h.in:
1670         Use stropts.h, not sys/stropts.h.
1671         Use strtio.h, not sys/strtio.h.
1672
1673 2000-10-04  Martin Buchholz <martin@xemacs.org>
1674
1675         * XEmacs 21.2.36 is released.
1676
1677 2000-09-21  Andy Piper  <andy@xemacs.org>
1678
1679         * glyphs-x.c (x_redisplay_widget): make sure non-structural
1680         changes still involve copying the widget tree.
1681         (update_widget_face): make sure a change is register in the widget
1682         tree. Call update_tab_widget_face appropriately.
1683         (update_tab_widget_face): ditto.
1684         (x_tab_control_redisplay): make sure non-structural changes still
1685         involve copying the widget tree.
1686
1687 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
1688
1689         * lread.c (locate_file): Check the path element is non-nil.
1690
1691 2000-10-02  Martin Buchholz  <martin@xemacs.org>
1692
1693         * lisp.h: Warning suppression for SCO compilers.
1694
1695         * redisplay-tty.c (reset_tty_modes): Fix crash.
1696         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
1697
1698 2000-09-27  Martin Buchholz  <martin@xemacs.org>
1699
1700         Big signal/process handling overhaul.  Bugs fixed:
1701         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
1702         M-x comint-kill-subjob should work for both values nil and t of
1703         process-connection-type. It was broken on most platforms.
1704         Testing on Irix and Cygwin still needed.  Other plaforms tested.
1705         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
1706         * process-unix.c: Signal/Process handling overhaul.
1707         (pty_name): make 64 bytes, as `expect' does, for paranoia.
1708         (allocate_pty): Use all available modern methods of allocating
1709         ptys, falling back to old style BSD allocation as a last resort.
1710         Use allegedly more secure Unix98 pty allocation by default.
1711         (allocate_pty_the_old_fashioned_way): New. the last resort.
1712         (unix_create_process): Push ptem, ldterm, ttcompat where
1713         available.  Autoconfiscate.
1714         (try_to_initialize_subtty): New.
1715         (unix_kill_child_process): Proper signal handling for ptys on most
1716         platforms, using special knowledge of AIX, BSD, etc...
1717         (unix_create_process): Always disconnect_controlling_terminal() for
1718         subprocesses, whether using ptys or not.
1719         * process.h: Remove old getpt-dependent PTY code.
1720         * process.c (Fprocess_send_signal): New, obvious generic function.
1721         (decode_signal): New.
1722         (Finterrupt_process):
1723         (Fkill_process):
1724         (Fquit_process):
1725         (Fstop_process):
1726         (Fcontinue_process):
1727         (Fsignal_process): Use decode_signal.
1728         (process_send_signal):
1729         Many docstring corrections.
1730         Allow any signal to be sent to a process object.
1731         * config.h.in: Add symbols for big signal/process overhaul.
1732         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
1733         * sysproc.h: Include process-related headers, where available:
1734         sys/stropts.h sys/strtio.h pty.h libutil.h
1735         * s/irix4-0.h:
1736         * s/irix5-0.h:
1737         * s/cygwin32.h:
1738         * s/gnu.h:
1739         * s/linux.h:
1740         * s/hpux.h:
1741         * s/aix3-1.h:
1742         Remove old S&M pty stuff.
1743         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
1744         * systty.h: Simplify cpp hackery, improve comments.
1745         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
1746
1747         * editfns.c (Fformat_time_string):
1748         Be a little more paranoid with the return value of ctime.
1749
1750         * fileio.c (check_executable):
1751         (check_writable):
1752         Use symbolic constants X_OK, W_OK.
1753
1754         * console-x.c (split_up_display_spec): Fix a warning.
1755
1756 2000-10-02  Martin Buchholz  <martin@xemacs.org>
1757
1758         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
1759         * ntproc.c (sys_spawnve): make_string ==> build_string
1760         Small clarity improvements.
1761
1762 2000-09-30  Martin Buchholz  <martin@xemacs.org>
1763
1764         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
1765
1766         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
1767
1768         * config.h.in (HAVE_STRCASECMP): Remove.
1769
1770 2000-09-29  Martin Buchholz  <martin@xemacs.org>
1771
1772         * redisplay-output.c (redisplay_output_pixmap):
1773         Cleaner and possibly more 64-bit correct code.
1774
1775 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
1776
1777         * dumper.c (pdump_load_finish): move restoration of
1778         `noninteractive1' to emacs.c (main_1).
1779         * emacs.c (main_1): protect LISP-visible command-line flags
1780         from pdump_load().
1781
1782 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
1783
1784         * Makefile.in.in (versionclean):  Use EXE_TARGET and
1785         DUMP_TARGET instead of literal program names.
1786
1787 2000-09-20  Martin Buchholz  <martin@xemacs.org>
1788
1789         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
1790
1791 2000-09-19  Martin Buchholz  <martin@xemacs.org>
1792
1793         * *: Spelling mega-patch
1794
1795 2000-09-19  Martin Buchholz  <martin@xemacs.org>
1796
1797         * fns.c (bad_bad_turtle):
1798         Delete "Eek!" comment, since we fixed the bug to which it refers.
1799
1800 2000-09-16  Martin Buchholz  <martin@xemacs.org>
1801
1802         * alloca.c: Replace REGISTER with register.
1803
1804 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
1805
1806         * file-coding.c (ucs_to_char): Use countof.
1807
1808 2000-09-16  Martin Buchholz  <martin@xemacs.org>
1809
1810         * file-coding.c: (ucs_to_char):
1811         (complex_vars_of_file_coding):
1812         Use countof instead of sizeof.
1813         Use CHECK_NATNUM instead of CHECK_INT.
1814
1815         * sysdep.c (strcasecmp): Remove.
1816         * device-x.c (ascii_strcasecmp): New.
1817         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
1818         Avoid using non-standard non-portable strcasecmp.
1819
1820 2000-09-16  Martin Buchholz  <martin@xemacs.org>
1821
1822         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
1823         * font-lock.c: remove reference to emacsfns.h.
1824         * search.c: small doc improvement.
1825         * event-Xt.c: correct file names in comments.
1826         * console-x.h Correct file names in comments.
1827         * frame.c: Correct file names in comments.
1828         * event-stream.c: remove Energize from comments.
1829
1830 2000-09-15  Martin Buchholz  <martin@xemacs.org>
1831
1832         * symeval.h (DEFERROR_STANDARD):
1833         (DEFERROR):
1834         (DEFSYMBOL):
1835         (DEFSYMBOL_NO_DUMP):
1836         (DEFSYMBOL_MULTIWORD_PREDICATE):
1837         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
1838         (DEFKEYWORD):
1839         The construct &##name is not sensible C.
1840         Fixes compilation errors with Unixware native compiler.
1841
1842 2000-09-14  Martin Buchholz  <martin@xemacs.org>
1843
1844         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
1845         (next_frame_internal): Removed.  We now just have next_frame.
1846         (next_frame):
1847         Write a simpler and cleaner one-pass algorithm.
1848         Remove called_from_delete_device arg and #ifdefed-out code.
1849         (previous_frame):
1850         Renamed from prev_frame.  Update callers.
1851         Cleaned up to have an analogous implementation to next_frame.
1852         (other_visible_frames_internal): Remove the
1853         called_from_delete_device bogus arg, and hence, remove this
1854         function.  Just use other_visible_frames().
1855
1856         * window.c (Fnext_window):
1857         Prettify docstring.
1858         Since next_frame() is guaranteed to return a frame, remove check
1859         for nil inserted in previous patch.
1860         (Fprevious_window):
1861         Prettify docstring.
1862         Make code look more like Fnext_window.
1863         (window_loop):
1864         Respect the `console' arg when iterating through windows.
1865         Fixes bug: (get-buffer-window buffer t device) not respecting
1866         the `device' arg.
1867         This function needs more work, as others have pointed out.
1868
1869         * frame.h: Rename prev_frame to previous_frame.
1870         device_matches_console_spec no longer takes a `frame' arg.
1871
1872         * s/gnu.h:
1873         * s/linux.h:
1874         * s/hpux.h:
1875         Use EMACS_BLOCK_SIGNAL instead of sigblock.
1876         From "Golubev I. N." <gin@mo.msk.ru>.
1877
1878         * make-src-depend: Fix typo.
1879
1880 2000-09-13  Martin Buchholz  <martin@xemacs.org>
1881
1882         * window.c (Fnext_window):
1883         next_frame() might return nil, not a frame.
1884         Fixes this crash:
1885         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
1886
1887         * frame.c (next_frame_internal):
1888         We've passed a frame if we've passed its device.
1889         Fixes this crash:
1890         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
1891 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
1892
1893 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
1894
1895         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
1896         Allow option to suppress accelerators in menu/dialog items.
1897         (populate_or_checksum_helper): Pass dialog title through above.
1898
1899 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
1900
1901         * event-msw.c (mswindows_key_to_emacs_keysym):
1902         Add "pause" key, fix "menu" key.
1903
1904 2000-09-09  Martin Buchholz  <martin@xemacs.org>
1905
1906         * eval.c (reinit_vars_of_eval):
1907         Increase max_lisp_eval_depth to 1000,
1908         required for thai-xtis.el to byte-compile under some circumstances.
1909
1910 2000-09-04  Martin Buchholz  <martin@xemacs.org>
1911
1912         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
1913         From Kenichi Handa.
1914
1915 2000-09-01  Martin Buchholz  <martin@xemacs.org>
1916
1917         * make-src-depend: Make the generated Makefiles smaller.
1918
1919         * s/hpux.h (SETUP_SLAVE_PTY):
1920         Provide a %d in the format string for the errno argument.
1921
1922         * editfns.c (Ftemp_directory):
1923         Warning fix.
1924         Avoid buffer overrun on very long file name.
1925
1926         * input-method-xlib.c (XIM_init_device):
1927         6th parameter of XRegisterIMInstantiateCallback has different
1928         pointer types on different OSes, so simply cast to (void *).
1929
1930         * unexhp9k800.c: Warning fixes.  Fiddly changes.
1931
1932         * sysdll.c (dll_open):
1933         shl_load will hang hard if passed a NULL filename.
1934         Simply return NULL for compatibility with dlopen.
1935         * sysdll.c: Conform to XEmacs coding standards.
1936
1937         * sysdep.c (get_pty_max_bytes):
1938         Support pty input lines longer than 512 bytes on HP-UX 10.20.
1939
1940 2000-08-31  Martin Buchholz  <martin@xemacs.org>
1941
1942         * tooltalk.c: Add #include <syssignal.h>
1943
1944 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
1945
1946         * s/hpux.h: Don't use undefined function sigunblock().
1947
1948 2000-08-31  Martin Buchholz  <martin@xemacs.org>
1949
1950         * config.h.in: Add HAVE_BALLOON_HELP.
1951         * emacs.c: Use HAVE_BALLOON_HELP.
1952         * Makefile.in.in (x_objs):
1953         Make Balloon Help conditional on finding shape.h.
1954
1955 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
1956
1957         * syntax.c (regex_emacs_buffer_p): New variable.
1958         * syntax.h (regex_emacs_buffer_p): extern.
1959         * search.c (looking_at_1):
1960         (string_match_1):
1961         (fast_string_match):
1962         (search_buffer): Set regex_emacs_buffer_p.
1963         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
1964         when before_dot, at_dot, after_dot.
1965
1966 2000-08-23  Andy Piper  <andy@xemacs.org>
1967
1968         * gui-x.c (popup_selection_callback): Only set action_occurred
1969         when we really have an image instance.
1970         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
1971
1972 2000-08-23  Andy Piper  <andy@xemacs.org>
1973
1974         * gui-msw.c (mswindows_handle_gui_wm_command): set
1975         action_occurred.
1976         * gui-x.c (popup_selection_callback): ditto.
1977
1978         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
1979         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
1980         (struct Lisp_Image_Instance): add action_occurred flag.
1981
1982         * glyphs.c (redisplay_subwindow): use action_occurred flag.
1983         (image_instance_changed): ditto.
1984         (reset_frame_subwindow_instance_cache): only unmap windows - do
1985         not remove them from the cache also.
1986
1987         * glyphs-widget.c (tab_control_update): better debug.
1988         (progress_gauge_update): ditto.
1989         (layout_update): ditto.
1990         (layout_instantiate): ditto.
1991         (tab_control_order_only_changed): cope with null pending items.
1992
1993         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
1994         debug. Force selection of an item when an action occurred. Cope
1995         with null pending_items.
1996         (mswindows_progress_gauge_redisplay): better debug.
1997         * glyphs-x.c (x_tab_control_redisplay): ditto.
1998
1999         * redisplay.c (redisplay_frame): reset the frame cache if the
2000         frame is garbaged.
2001
2002         * window.c (Fset_window_configuration): potentially re-enable
2003         frame cache reset.
2004         (window_unmap_subwindows): need to finalize instances here since
2005         it is only used in mark_window_as_deleted.
2006
2007 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
2008
2009         * nas.c (SndOpenDataForReading):
2010         nas.c (WaveOpenDataForReading):
2011         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
2012         Somehow escaped from the 2000-08-14 patch.
2013
2014 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
2015
2016         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
2017         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
2018
2019 2000-08-21  Andy Piper  <andy@xemacs.org>
2020
2021         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
2022         window if it is not already displayed.
2023
2024         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
2025         it is not already displayed.
2026
2027         * window.c (Fset_window_configuration): don't reset the frame
2028         cache.
2029
2030         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
2031         instances from the frame cache if we are actually finalizing them.
2032         (reset_frame_subwindow_instance_cache): reset frame cache only
2033         after unmapping everything.
2034         (map_subwindow): set displayed flag after mapping.
2035
2036 2000-08-21  Martin Buchholz  <martin@xemacs.org>
2037
2038         * data.c (indirect_function):
2039         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
2040
2041         * eval.c (function_argcount):
2042         Use original function when signaling errors.
2043
2044 2000-08-18  Andy Piper  <andy@xemacs.org>
2045
2046         * frame.c (delete_frame_internal): use new
2047         free_frame_subwindow_instances name.
2048
2049         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
2050         (add_tab_item): make return type correct.
2051         (mswindows_tab_control_instantiate): assert index of tab.
2052         (mswindows_tab_control_redisplay): Re-code to use
2053         gui_item_equal_sans_selected and gui_item_list_find_selected.
2054
2055         * glyphs-widget.c (tab_control_update): Correct comment.
2056
2057         * window.c (window_unmap_subwindows): use new
2058         unmap_subwindow_instance_cache_mapper.
2059         (window_unmap_subwindows_cache_mapper): deleted.
2060         (Fset_window_configuration): comparisons should now be with
2061         EQ. Preserve the subwindow instance cache across configuration
2062         changes.
2063         (allocate_window): ditto.
2064         (make_dummy_parent): ditto.
2065
2066         * glyphs.c (free_frame_subwindow_instances): rename from
2067         free_frame_subwindow_instance_cache. finalize all instances rather
2068         than just those in the display cache.
2069         (finalize_all_subwindow_instances): walk windows unmapping and
2070         finalizing subwindows.
2071         (unmap_subwindow_instance_cache_mapper): moved from
2072         window.c. Allow finalization as well as unmapping.
2073
2074         * gui.c (gui_item_list_find_selected): new function.
2075
2076         * gui.h (gui_item_list_find_selected): declare.
2077
2078         * glyphs-x.c (x_tab_control_redisplay): pick tab
2079         explicitly. Re-code to use gui_item_equal_sans_selected and
2080         gui_item_list_find_selected.
2081
2082         * glyphs-x.h: add lwlib-utils.h
2083
2084         * buffer.c (Frecord_buffer): undo previous change.
2085
2086 2000-08-09  Vin Shelton  <acs@xemacs.org>
2087
2088         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
2089         possible.  Create temporary files more securely.  The patch was
2090         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
2091         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
2092         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
2093         for details.
2094
2095 2000-08-07  Ben Wing  <ben@xemacs.org>
2096
2097         * getloadavg.c: remove duplicate (and windows-breaking)
2098         includes of fcntl.h and sys/file.h.
2099
2100         * nt.c: remove duplicate getloadavg() definition.
2101
2102         * sysdll.h (Qdll_filename_encoding): add missing stand-in
2103         encodings.
2104
2105 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
2106
2107         * eval.c (function_argcount): If function needs to be autoloaded
2108         actually use the loaded definition.
2109         GCPRO function.
2110
2111 2000-08-05  Ben Wing  <ben@xemacs.org>
2112
2113         * getloadavg.c: add prototype for getloadavg().  remove
2114         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
2115         of the code).  remove duplicate header includes.
2116
2117         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
2118
2119         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
2120         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
2121         useful load average.
2122
2123         * alloc.c (reinit_alloc_once_early): removed references to
2124         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
2125         the lisp vars are the only things referencing the malloc_sbrk_*
2126         vars, and they were already if 0'd out.  these vars only exist
2127         in the older malloc.c, which is basically unused, and they're
2128         only for informational purposes.
2129
2130         * m\*.h: removed useless VIRT_ADDR_VARIES.
2131
2132         * m\powerpc.h: removed stray NO_ARG_ARRAY.
2133
2134 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
2135
2136         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
2137         color if the image is a mono pixmap.
2138
2139 2000-07-30  Ben Wing  <ben@xemacs.org>
2140
2141         * Makefile.in.in (release):
2142         Remove stray @.
2143
2144         * buffer.c (directory_is_current_directory):
2145         * dired-msw.c (mswindows_get_files):
2146         * dired.c:
2147         * dired.c (Fdirectory_files):
2148         * dired.c (file_name_completion_stat):
2149         * dired.c (Ffile_attributes):
2150         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
2151         preprocessor tricks, to avoid problems on some machines
2152         (e.g. SCO).
2153
2154         * callproc.c (egetenv): GC docs.
2155
2156         * console-msw.h:
2157         * console-msw.h (struct mswindows_dialog_id):
2158         * lrecord.h (lrecord_type):
2159         New object for use with MSW dialogs.
2160
2161         * console.h (struct console_methods):
2162         New enable/disable frame methods, for proper modal dialogs.
2163
2164         * device-msw.c (msprinter_default_printer): Fix to follow
2165         proper Mule conventions.
2166
2167         * device-msw.c:
2168         * device-msw.c (signal_open_printer_error):
2169         * device-msw.c (msprinter_init_device):
2170         * device-msw.c (ensure_not_printing):
2171         * device-msw.c (plist_get_margin):
2172         * device-msw.c (Fmsprinter_select_settings):
2173         * device-msw.c (finalize_devmode):
2174         * device-msw.c (Fmsprinter_settings_despecialize):
2175         * device-msw.c (signal_enum_priner_error):
2176         * extents.c (decode_extent):
2177         * extents.c (decode_map_extents_flags):
2178         * extents.c (decode_extent_at_flag):
2179         * extents.c (Fextent_at):
2180         * extents.c (Fextents_at):
2181         * extents.c (symbol_to_glyph_layout):
2182         [[[[2]]]] Use structured errors.
2183
2184         * dialog-msw.c:
2185         * dialog-msw.c (mswindows_is_dialog_msg):
2186         * dialog-msw.c (mark_mswindows_dialog_id):
2187         * dialog-msw.c (dialog_proc):
2188         * dialog-msw.c (handle_question_dialog_box):
2189         * dialog-msw.c (syms_of_dialog_mswindows):
2190         Define new object to clean up marking; use it as a dialog identifier.
2191         Call new delete-dialog-box-hook.
2192
2193         * dialog-x.c (dbox_selection_callback):
2194         * dialog-x.c (dbox_descriptor_to_widget_value):
2195         * dialog-x.c (x_make_dialog_box_internal):
2196         Call new delete-dialog-box-hook.
2197         Return an id.
2198
2199         * dialog.c:
2200         * dialog.c (syms_of_dialog):
2201         * dialog.c (vars_of_dialog):
2202         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
2203
2204         * eval.c:
2205         * eval.c (signal_call_debugger):
2206         when noninteractive, output stack traces on the console instead
2207         of in a (never-seen) buffer.
2208
2209         * eval.c (signal_type_error):
2210         * eval.c (invalid_argument_2):
2211         * lisp.h:
2212         new funs for use w/structured errors.
2213
2214         * event-Xt.c:
2215         * event-Xt.c (x_to_emacs_keysym):
2216         * event-Xt.c (describe_event):
2217         * event-Xt.c (emacs_Xt_event_handler):
2218         * event-Xt.c (vars_of_event_Xt):
2219         * event-msw.c:
2220         * event-msw.c (mswindows_wnd_proc):
2221         * event-msw.c (vars_of_event_mswindows):
2222         rename {x,mswindows}-debug-events to debug-{}-events for
2223         consistency with other debug-foo variables.
2224
2225         * event-stream.c:
2226         document next-event more clearly.
2227
2228         * fileio.c (Ffile_name_directory):
2229         * fileio.c (Ffile_name_nondirectory):
2230         * fileio.c (Funhandled_file_name_directory):
2231         * fileio.c (file_name_as_directory):
2232         * fileio.c (Ffile_name_as_directory):
2233         * fileio.c (directory_file_name):
2234         * fileio.c (Fdirectory_file_name):
2235         * fileio.c (Fmake_temp_name):
2236         * fileio.c (Ffile_truename):
2237         * fileio.c (Fsubstitute_in_file_name):
2238         * fileio.c (expand_and_dir_to_file):
2239         * fileio.c (barf_or_query_if_file_exists):
2240         * fileio.c (check_executable):
2241         * fileio.c (Ffile_exists_p):
2242         * fileio.c (Ffile_writable_p):
2243         * fileio.c (Ffile_directory_p):
2244         * fileio.c (Ffile_regular_p):
2245         * fileio.c (Ffile_modes):
2246         * fileio.c (Ffile_newer_than_file_p):
2247         * fileio.c (Fverify_visited_file_modtime):
2248         * fileio.c (Fset_visited_file_modtime):
2249         * fileio.c (auto_save_1):
2250         (1). (2).
2251         fix up gcpro's.
2252
2253         * frame-msw.c:
2254         * frame-msw.c (mswindows_init_frame_1):
2255         * frame-msw.c (mswindows_enable_frame):
2256         * frame-msw.c (error_frame_unsizable):
2257         * frame-msw.c (msprinter_init_frame_1):
2258         * frame-msw.c (msprinter_init_frame_3):
2259         * frame-msw.c (console_type_create_frame_mswindows):
2260         (2).
2261         implement new enable/disable frame methods.
2262
2263         * frame-x.c:
2264         * frame-x.c (x_enable_frame):
2265         * frame-x.c (console_type_create_frame_x):
2266         implement new enable/disable frame methods.
2267
2268         * frame.c:
2269         * frame.c (Fdisable_frame):
2270         * frame.c (syms_of_frame):
2271         * frame.h (struct frame):
2272         implement new enable/disable frame methods/functions.
2273
2274         * general-slots.h:
2275         add initial-focus.
2276
2277         * glyphs-msw.c (mswindows_widget_instantiate):
2278         comment that initial-focus should be implemented.
2279
2280         * glyphs-widget.c:
2281         * glyphs-widget.c (check_valid_instantiator):
2282         * glyphs-widget.c (check_valid_orientation):
2283         * glyphs-widget.c (check_valid_tab_orientation):
2284         * glyphs-widget.c (check_valid_justification):
2285         * glyphs-widget.c (check_valid_border):
2286         * glyphs-widget.c (check_valid_callback):
2287         * glyphs-widget.c (check_valid_int_or_function):
2288         * glyphs-widget.c (check_valid_string_or_vector):
2289         * glyphs-widget.c (check_valid_item_list_1):
2290         * glyphs-widget.c (widget_validate):
2291         * glyphs-widget.c (combo_box_validate):
2292         * glyphs-widget.c (widget_instantiate):
2293         * glyphs-widget.c (syms_of_glyphs_widget):
2294         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
2295         * glyphs-widget.c (image_instantiator_combo_box):
2296         * glyphs-widget.c (image_instantiator_scrollbar):
2297         * glyphs-widget.c (image_instantiator_tab_control):
2298         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
2299         (2).
2300         support (unimplemented) keyword initial-focus.
2301         reindent long macros.
2302
2303         * glyphs-x.c (x_redisplay_widget):
2304         * glyphs-x.c (x_button_instantiate):
2305         * glyphs-x.c (x_button_redisplay):
2306         * glyphs-x.c (x_progress_gauge_instantiate):
2307         * glyphs-x.c (x_edit_field_instantiate):
2308         * glyphs-x.c (x_combo_box_instantiate):
2309         * glyphs-x.c (x_tab_control_instantiate):
2310         * glyphs-x.c (x_label_instantiate):
2311         * gui-x.c:
2312         * gui-x.c (button_item_to_widget_value):
2313         * gui-x.c (gui_items_to_widget_values_1):
2314         * gui-x.c (gui_item_children_to_widget_values):
2315         * gui-x.c (gui_items_to_widget_values):
2316         * gui-x.h:
2317         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
2318         add new flag to gui-parsing routines to indicate whether
2319         accelerator specs should be supported.
2320
2321         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
2322
2323         * glyphs.h (struct Lisp_Image_Instance):
2324         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
2325         add initial-focus flag.
2326
2327         * gui.c:
2328         * gui.c (syms_of_gui):
2329         * gui.c (vars_of_gui):
2330         clean up menu-no-selection-hook.
2331
2332         * gui.h:
2333         support delete-dialog-box-hook.
2334
2335         * lread.c (Fload_internal):
2336         * lread.c (locate_file_in_directory_mapper):
2337         (1).
2338
2339         * lrecord.h:
2340         * lrecord.h (struct toolbar_button):
2341         * lrecord.h (syms_of_toolbar):
2342         document how to create a new object.
2343
2344         * menubar-msw.c (mswindows_char_is_accelerator):
2345         may be called on frames w/o menus.
2346
2347         * menubar.c (vars_of_menubar):
2348         clean up :filter docs.
2349
2350         * nt.c (readdir):
2351         * ntproc.c:
2352         (1).
2353
2354         * process-nt.c:
2355         * process-nt.c (validate_signal_number):
2356         * process-nt.c (signal_cannot_launch):
2357         * process-nt.c (nt_create_process):
2358         * process-nt.c (nt_send_process):
2359         * process-nt.c (nt_kill_child_process):
2360         * process-nt.c (nt_open_network_stream):
2361         * process-nt.c (syms_of_process_nt):
2362         (2).
2363         delete quote-handling.  call new lisp code that does it better.
2364
2365         * process-unix.c (connect_to_file_descriptor):
2366         * process-unix.c (allocate_pty):
2367         * process-unix.c (unix_send_process):
2368         * process-unix.c (unix_kill_child_process):
2369         * process-unix.c (unix_open_network_stream):
2370         * process-unix.c (unix_open_multicast_group):
2371         (1). (2).
2372
2373         * process.c:
2374         * process.c (Fstart_process_internal):
2375         (2).  need to canonicalize process path even if absolute.
2376
2377         * select-msw.c (symbol_to_ms_cf):
2378         * select-msw.c (ms_cf_to_symbol):
2379         * select-msw.c (cf_is_autofreed):
2380         * select-msw.c (mswindows_destroy_selection):
2381         * select.c:
2382         * select.c (syms_of_select):
2383         * select.h:
2384         support dibv5, fix bugs. (from Mike Alexander)
2385
2386         * select.c (Fget_selection_internal):
2387         * select.c (select_convert_out):
2388
2389         * sysdep.c:
2390         * sysdep.c (xemacs_stat):
2391         renamed.
2392
2393         * sysdep.c (mkdir):
2394         * sysdep.c (rmdir):
2395         but keep original stat() here because we provide encapsulation
2396         around these funs.
2397
2398         * sysfile.h:
2399         * sysfile.h (fstat):
2400         remove stat garbage.
2401
2402         * syswindows.h:
2403         fix X/MSW conflict.
2404         don't include tchar.h.  it's inappropriate because it makes
2405         compile-time distinctions when we want runtime distinctions.
2406         (we provide our own tchar replacements)
2407
2408         * toolbar.c:
2409         use default object printer for toolbar-button.
2410
2411         * unexcw.c:
2412         make sure we don't encapsulate.
2413
2414         * window.c (vars_of_window):
2415         emphasize that temp-buffer-show-hook is obsolete.
2416
2417 2000-08-05  Martin Buchholz  <martin@xemacs.org>
2418
2419         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
2420         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
2421
2422         * events.c (Fevent_timestamp_lessp):
2423         Not 64-bit clean.  Use EMACS_INT, not int.
2424
2425 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
2426
2427         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
2428         unsigned int and changed the last enum to
2429         lrecord_type_last_built_in_type.
2430         (lrecord_implementations_table): changed prototype to know how
2431         long the array is supposed to be.
2432         (lrecord_type_count): new unsigned int to keep track of the
2433         current number of lisp lrecord types.
2434         (DEFINE_EXTERNAL_LRECORD):
2435         (DECLARE_EXTERNAL_LRECORD): Added these two for external
2436         dynamic-modules to declare new lisp types. They are the same
2437         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
2438         int for each new type, and increment lrecord_type_count by 1.
2439
2440         * alloc.c (lrecord_implementations_table): Changed to reference
2441         lrecord_type_last_built_in_type for the size of the array.
2442         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
2443
2444 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
2445
2446         * glyphs.h (check_valid_item_list): Renamed from
2447         check_valid_item_list_1.
2448
2449 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
2450
2451         * select.c (Qselect_coerce): New.
2452         * select.c (Vselection_coercion_alist): New.
2453         * select.c (syms_of_select): Declare.
2454         * select.c (get-selection-internal): Use it.
2455         Use the new select-coerce functionality.
2456
2457         * select.c (select_coerce): New.
2458         * select.h (select_coerce): Declare.
2459         New function to coerce one type of data into another.
2460
2461 2000-08-03  Martin Buchholz  <martin@xemacs.org>
2462
2463         * callproc.c (Fcall_process_internal):
2464         (Fcall_process_internal):
2465         * process-unix.c (unix_create_process):
2466         Save and restore the value of errno, so that error messages are accurate.
2467
2468 2000-08-01  Martin Buchholz  <martin@xemacs.org>
2469
2470         * elhash.c (print_hash_table):
2471         Fix printing of hash tables to also use `key-and-value' instead of `t'.
2472         Prettify docstrings and indentation.
2473
2474 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
2475
2476         * window.c (Fwindow_pixel_edges): Subtract frame border and
2477         gutter size.
2478
2479 2000-07-31  Andy Piper  <andy@xemacs.org>
2480
2481         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
2482         will acknowledge the change.
2483
2484         * glyphs.h: declare tab_control_order_only_changed.
2485
2486         * glyphs-x.c (x_tab_control_redisplay): use
2487         tab_control_order_only_changed.
2488
2489         * glyphs-widget.c (tab_control_order_only_changed): new function.
2490
2491         * glyphs-msw.c (mswindows_tab_control_redisplay): use
2492         tab_control_order_only_changed.
2493
2494         * gui.c (gui_item_equal_sans_selected): new function.
2495         (gui_item_equal): use it.
2496
2497         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
2498         :properties in favor of :items..
2499
2500         * glyphs-widget.c (check_valid_item_list): rename from
2501         check_valid_item_list_1.
2502         (check_valid_item_list_1): renamed.
2503         (combo_box_validate): deprecate :properties in favor of :items.
2504         (widget_instantiate): ditto.
2505         (tab_control_update): ditto.
2506         (image_instantiator_combo_box): ditto.
2507         (image_instantiator_tree_view): ditto.
2508         (image_instantiator_tab_control): ditto.
2509         (layout_post_instantiate): remove dead code.
2510
2511         * print.c (debug_print_no_newline): only write to debugger if in
2512         WIN32_NATIVE.
2513
2514         * elhash.c (Fmake_hash_table): update doc string.
2515
2516         * event-msw.c (mswindows_wnd_proc): don't allow processing of
2517         messages whilst in GC. This at least stops XEmacs crashing but has
2518         the potential for wierd behaviour.
2519
2520 2000-07-31  Martin Buchholz  <martin@xemacs.org>
2521
2522         * config.h.in:
2523         Make existence of s&m files optional.
2524
2525         * s/bsd386.h: Remove HAVE_GETLOADAVG.
2526         * s/freebsd.h: Remove HAVE_GETLOADAVG.
2527         * s/gnu.h: Remove HAVE_GETLOADAVG.
2528         * s/netbsd.h: Remove HAVE_GETLOADAVG.
2529         * s/sol2.h: Remove HAVE_GETLOADAVG.
2530         * lisp.h: Remove getloadavg() declaration.
2531         * fns.c:
2532         Include <sys/loadavg.h> if available.
2533         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
2534         * config.h.in:  Group together getloadavg()-related macros.
2535         Use only configure-time tests to detect getloadavg().
2536
2537 2000-07-30  Martin Buchholz  <martin@xemacs.org>
2538
2539         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
2540
2541 2000-07-25  Andy Piper  <andy@xemacs.org>
2542
2543         * syswindows.h: add tchar.h for native builds.
2544
2545         * frame.c (syms_of_frame): remove set-glyph-image.
2546
2547         * general-slots.h: add Qset_glyph_image.
2548
2549         * glyphs-widget.c (layout_update): add domain arg to
2550         set-glyph-image.
2551         (syms_of_glyphs_widget): remove set-glyph-image.
2552
2553 2000-07-23  Ben Wing  <ben@xemacs.org>
2554
2555         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
2556         Vpopup_frame_list.
2557
2558 2000-07-22  Andy Piper  <andy@xemacs.org>
2559
2560         * symsinit.h: add syms_of_win32().
2561
2562         * gui-msw.c (syms_of_gui_mswindows): remove
2563         Fmswindows_shell_execute.
2564         (Fmswindows_shell_execute): moved to win32.c.
2565
2566         * emacs.c (main_1): add syms_of_win32 ().
2567
2568         * win32.c (init_potentially_nonexistent_functions): rewrite in
2569         compiler-friendly terms.
2570         (Fmswindows_shell_execute): move here from gui-msw.c.
2571         (syms_of_win32): new.
2572
2573         * device-msw.c (Fmswindows_printer_list): clean up args to
2574         EnumPrinters.
2575         Don't include tchar under cygwin or mingw.
2576         (msprinter_default_printer): make cygwin-friendly.
2577
2578 2000-07-21  Andy Piper  <andy@xemacs.org>
2579
2580         * glyphs-widget.c (image_instantiator_tree_view): use tab
2581         control's update function.
2582         (layout_property): new function. Retrieve items.
2583
2584         * glyphs-msw.c (mswindows_tree_view_redisplay): new
2585         function. Re-populate the tree view from the pending items.
2586
2587         * glyphs.c (instantiate_image_instantiator): Make sure the domain
2588         is designated the parent if the domain is an image instance. This
2589         is needed so that dirtiness can be cascade up the hierarchy and
2590         thus for layout children to be redisplayed correctly.
2591         (allocate_image_instance): rename glyph -> parent.
2592
2593         * redisplay.h: change redisplay_output_layout signature.
2594
2595         * redisplay-msw.c (mswindows_output_display_block): use domain
2596         arg.
2597
2598         * redisplay-x.c (x_output_display_block): use domain arg.
2599
2600 2000-07-10  Andy Piper  <andy@xemacs.org>
2601
2602         * window.c (Fset_window_configuration): add comment.
2603
2604         * redisplay-output.c (compare_runes):
2605         (redisplay_output_subwindow): redisplay rather than update subwindow.
2606         (redisplay_output_layout): ditto.
2607
2608         * redisplay-msw.c (mswindows_frame_output_end):
2609         (mswindows_frame_output_end): make defer window pos optional.
2610
2611         * lisp.h: add Flast.
2612
2613         * glyphs.h (struct image_instantiator_methods): add dest_mask top
2614         normalize method. Change update method to be for changed
2615         instantiators. Add redisplay method. Change signature of layout
2616         method.
2617         (struct Lisp_Image_Instance): add instantiator.
2618         (IMAGE_INSTANCE_INSTANTIATOR): new.
2619         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
2620         (XIMAGE_INSTANCE_INSTANTIATOR): new.
2621         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
2622
2623         * glyphs.c:
2624         (find_instantiator_differences): new function.
2625         (Fset_instantiator_property): new convenience function.
2626         (check_image_instance_structure): strictly check for vector
2627         instantiators.
2628         (normalize_image_instantiator): make non-static.
2629         (instantiate_image_instantiator): pass on dest_mask and use new
2630         signatures for image_instance_layout and friends.
2631         (mark_image_instance): mark the instantiator. Mark the subwindow
2632         face not the widget face.
2633         (image_instance_equal): add instantiator.
2634         (image_instance_hash): ditto.
2635         (allocate_image_instance): ditto.
2636         (Fset_image_instance_property): removed.
2637         (Fimage_instance_file_name): ditto.
2638         (Fcolorize_image_instance): ditto.
2639         (image_instance_layout): add offsets to be set.
2640         (update_image_instance): new function. update an image instance
2641         from its changed instantiator.
2642         (inherit_normalize): add dest_mask.
2643         (xbm_normalize): ditto.
2644         (xface_normalize): ditto.
2645         (xpm_normalize): ditto.
2646         (text_update): set_property -> update.
2647         (image_instantiate): use the glyph identity as a hash key, not the
2648         instantiator.
2649         (glyph_width): use new image_instance_layout signature.
2650         (glyph_ascent): ditto.
2651         (glyph_descent): ditto.
2652         (glyph_height): ditto.
2653         (glyph_query_geometry): ressurrect.
2654         (glyph_layout): ditto.
2655         (redisplay_subwindow): update -> redisplay.
2656         (syms_of_glyphs): add Fset_instantiator_property.
2657         (image_instantiator_format_create): set_property -> update.
2658
2659         * glyphs-x.c:
2660         (autodetect_normalize): add dest_maks to signature.
2661         (x_redisplay_subwindow): update -> redisplay.
2662         (x_redisplay_widget): ditto.
2663         (x_button_redisplay): ditto.
2664         (x_progress_gauge_redisplay): ditto.
2665         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
2666         stacking order.
2667         (console_type_create_glyphs_x): update -> redisplay.
2668         (image_instantiator_format_create_glyphs_x): ditto.
2669
2670         * glyphs-widget.c:
2671         (check_valid_instantiator): disallow glyphs in the instantiator,
2672         they must now be vectors.
2673         (check_valid_instantiator_list): ditto.
2674         (glyph_instantiator_to_glyph): use internal symbol rather than
2675         intern.
2676         (widget_update): renamed from widget_set_property. Call cascaded
2677         update methods.
2678         (redisplay_widget): renamed from update_widget.
2679         (widget_layout): image_instance_layout now takes position as well
2680         as size.
2681         (widget_normalize): ditto.
2682         (widget_instantiate): ditto.
2683         (tab_control_query_geometry) ditto.:
2684         (tab_control_update): renamed from tab_control_set_property.
2685         (progress_gauge_update): set_property -> update.
2686         (layout_normalize): rewrite so that child instantiators are
2687         normalized also.
2688         (layout_update): new function. Create glyphs from the normalized
2689         children and cope with any other layout keywords. We do not
2690         instantiate children here that will be take care of by
2691         redisplay_output_layout.
2692         (layout_instantiate): call layout_update and not much else.
2693         (layout_post_instantiate): not sure whether this is needed
2694         anymore.
2695         (layout_query_geometry): query glyph geometry rather than
2696         image_instance geometry.
2697         (layout_layout): set offsets from pass in parameters. Use glyph
2698         geometry and layout functions rather than image instance ones.
2699         (native_layout_layout): ditto.
2700         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
2701         (image_instantiator_widget): set_property -> update.
2702         (image_instantiator_buttons): ditto.
2703         (image_instantiator_progress_guage): ditto.
2704         (image_instantiator_tab_control): ditto.
2705         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
2706         (image_instantiator_layout): add update method.
2707
2708         * glyphs-msw.c (bmp_normalize):
2709         (mswindows_resource_normalize): add dest_mask so that it can be
2710         proprogated by layout_normalize.
2711         (begin_defer_window_pos): make optional because it may not be the
2712         right thing to do and it introduces differences with X.
2713         (mswindows_unmap_subwindow): ditto.
2714         (mswindows_map_subwindow): ditto.
2715         (mswindows_redisplay_subwindow): renamed from
2716         mswindows_update_subwindow.
2717         (mswindows_redisplay_widget): ditto.
2718         (mswindows_button_redisplay): renamed from
2719         mswindows_button_update. Update is now what the instantiation
2720         function does for a changed instantiator.
2721         (mswindows_progress_gauge_instantiate): set the progress value
2722         here if appropriate.
2723         (mswindows_tab_control_redisplay): cope with re-ordering of the
2724         members of the tab widget by simply selecting the new top
2725         widget. This makes things appear ok if you click on a tab.
2726         (mswindows_combo_box_instantiate): image_instance_layout now takes
2727         position as well as size.
2728         (mswindows_progress_gauge_redisplay): renamed from
2729         mswindows_progress_gauge_update.
2730         (console_type_create_glyphs_mswindows): fix update -> redisplay.
2731         (image_instantiator_format_create_glyphs_mswindows): ditto.
2732
2733         * glyphs-eimage.c (jpeg_normalize):
2734         (gif_normalize):
2735         (png_normalize):
2736         (tiff_normalize): add dest_mask so that it can be proprogated by
2737         layout_normalize.
2738
2739         * elhash.c:
2740         (print_hash_table):
2741         (hash_table_weakness_validate):
2742         (decode_hash_table_weakness):
2743         (Fhash_table_weakness):
2744         (Fhash_table_type):
2745         (syms_of_elhash): use Ben's naming scheme for hashtable types..
2746
2747         * console.h (struct console_methods): move update_* to
2748         redisplay_*.
2749
2750 2000-07-20  Ben Wing  <ben@xemacs.org>
2751
2752         * *.[ch] (XSETOBJ): remove unused middle argument.
2753         lisp-disunion.h: correct wrap_object() to one argument.
2754
2755 2000-07-15  Ben Wing  <ben@xemacs.org>
2756
2757         * s/cygwin32.h:
2758         * s/cygwin32.h (CYGWIN_CONV_PATH):
2759         Add missing logb prototype for v1.1.
2760         Use post-b20 names and alias to pre-b20 names when pre-b20.
2761
2762         * s/windowsnt.h: [5].
2763
2764 2000-07-15  Ben Wing  <ben@xemacs.org>
2765
2766         * Makefile.in.in (x_objs):
2767         * Makefile.in.in (sheap_objs):
2768         * Makefile.in.in (objs):
2769         added win32.o, cosmetic cleanups.
2770
2771         * alloc.c (Fmake_byte_code):
2772         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
2773         etc. macros which declare their own args now.
2774
2775         * alloc.c (syms_of_alloc):
2776         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
2777
2778         * buffer.c:
2779         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
2780
2781         * buffer.c (Fget_file_buffer):
2782         Fixed GCPRO problem.
2783
2784         * buffer.c (get_truename_buffer):
2785         Fixed comment about GC checking.
2786
2787         * buffer.c (syms_of_buffer):
2788         Undeclared those dedicated frame funs.
2789         [2].
2790
2791         * buffer.h:
2792         Define convenience macros for internal/external conversions.
2793         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
2794         and Qenvironment_variable_encoding for cleaner code.
2795
2796         * bufslots.h:
2797         Remove dedicated-frame; in lisp.
2798
2799         * bytecode.c (funcall_compiled_function):
2800         [1].
2801
2802         * bytecode.c (syms_of_bytecode):
2803         [2].
2804
2805         * console-msw.c:
2806         * console-msw.c (mswindows_show_console): Rewrote.
2807
2808         * console-msw.c (Fmswindows_debugging_output): New.
2809         Sends to OutputDebugString (special MSWin debugger interface).
2810
2811         * console-msw.c (Fmswindows_message_box):
2812         Fixed stupid bugs so it works when called from kill-emacs.
2813
2814         * console-msw.c (syms_of_console_mswindows):
2815         Declare Fmswindows_debugging_output.
2816
2817         * console-msw.h:
2818         New MSWin prototypes.
2819
2820         * console-msw.h (struct mswindows_frame):
2821         New entry last-click-mods for improved button-modifier support.
2822
2823         * console-msw.h (FRAME_MSWINDOWS_POPUP):
2824         New struct entry `popup' with corresponding accessor.
2825
2826         * console-x.c:
2827         * console-x.c (split_up_display_spec):
2828         * console-x.c (get_display_arg_connection):
2829         * console-x.c (x_semi_canonicalize_console_connection):
2830         * console-x.c (x_canonicalize_device_connection):
2831         [[[6]]]: Change char to more specific type.
2832         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
2833
2834         * console-x.c (x_semi_canonicalize_console_connection):
2835         * console-x.c (x_canonicalize_device_connection):
2836         [[[9]]]: Fix up error signalling to use new structured error system.
2837
2838         * console-x.h:
2839         [[[4]]]: Define codesys aliases:
2840         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
2841         Qx_color_name_encoding, Qx_display_name_encoding.
2842
2843         * console.h (struct console_methods):
2844         New method make_dialog_box_internal supersedes older
2845         popup_dialog_box method.
2846
2847         * data.c:
2848         Define many new errors, part of new structured errors.
2849
2850         * data.c (init_errors_once_early):
2851         * data.c (syms_of_data):
2852         [2].
2853
2854         * device-msw.c (mswindows_init_device):
2855         [[[5]]]: Cleanup to support NT 3.51.
2856
2857         * device-msw.c (decode_devmode): Cleanup.
2858
2859         * device-msw.c (mswindows_handle_print_setup_dialog_box):
2860         * device-msw.c (mswindows_handle_print_dialog_box):
2861         * device-msw.c (mswindows_handle_page_setup_dialog_box):
2862         * device-msw.c (syms_of_device_mswindows):
2863         Delete the dialog box primitives recently introduced by Kirill and
2864         instead interface to general dialog box interface.
2865
2866         * device-x.c:
2867         * device-x.c (compute_x_app_name):
2868         * device-x.c (x_init_device):
2869         * device-x.c (Fx_valid_keysym_name_p):
2870         * device-x.c (Fx_set_font_path):
2871         [6].
2872         [7].
2873
2874         * device.h (wrap_device): New.
2875         First of its kind; meant to replace XSETDEVICE.
2876
2877         * dialog-msw.c: Many file-dialog symbols.
2878
2879         * dialog-msw.c (mswindows_register_popup_frame): New.
2880         * dialog-msw.c (mswindows_is_dialog_msg): New.
2881         For supporting kbd traversal in dialog boxes.
2882
2883         * dialog-msw.c (dialog_proc):
2884         Support hitting ESC in dialogs.
2885
2886         * dialog-msw.c (struct):
2887         Common dialog box errors.
2888
2889         * dialog-msw.c (handle_file_dialog_box): New.
2890         Add file dialog code.
2891
2892         * dialog-msw.c (handle_question_dialog_box):
2893         Redo existing code to support new question dialog syntax.
2894
2895         * dialog-msw.c (console_type_create_dialog_mswindows):
2896         We support new dialog console method.
2897
2898         * dialog-msw.c (syms_of_dialog_mswindows):
2899         * dialog-msw.c (vars_of_dialog_mswindows):
2900         New file dialog symbols, vars.
2901
2902         * dialog-x.c:
2903         * dialog-x.c (maybe_run_dbox_text_callback):
2904         * dialog-x.c (dbox_descriptor_to_widget_value):
2905         * dialog-x.c (x_make_dialog_box_internal):
2906         * dialog-x.c (console_type_create_dialog_x):
2907         Mule-ize entire file.
2908         Redo to support question dialog syntax.
2909         [6].
2910
2911         * dialog.c:
2912         * dialog.c (Fmake_dialog_box_internal):
2913         * dialog.c (syms_of_dialog):
2914         Kill old popup-dialog-box, replace with new primitive.
2915         Just call device method or signal error.
2916
2917         * eldap.c (Fldap_open):
2918         * eldap.c (Fldap_search_basic):
2919         * eldap.c (Fldap_add):
2920         * eldap.c (Fldap_modify):
2921         [1].
2922         [7].
2923
2924         * emacs.c:
2925         * emacs.c (make_arg_list_1):
2926         * emacs.c (make_arg_list):
2927         Mule-ize call to dll_init().
2928         [6].
2929         [8].
2930
2931         * emacs.c (make_argc_argv):
2932         * emacs.c (free_argc_argv):
2933         * emacs.c (init_cmdargs):
2934         * emacs.c (main_1):
2935         * emacs.c (Fkill_emacs):
2936         * emacs.c (Fdump_emacs):
2937         Update comments about what can be used in syms_* etc.
2938         Call init_win32() when necessary.
2939         Fix up MS Win dialog box in kill-buffer to actually work right.
2940         [7].
2941
2942         * eval.c:
2943         * eval.c (For):
2944         * eval.c (Fand):
2945         * eval.c (Fprogn):
2946         * eval.c (Fprog1):
2947         * eval.c (Fprog2):
2948         * eval.c (FletX):
2949         * eval.c (Flet):
2950         * eval.c (condition_case_3):
2951         * eval.c (Feval):
2952         * eval.c (function_argcount):
2953         * eval.c (funcall_lambda):
2954         [1].
2955
2956         * eval.c (type_error): New.
2957         * eval.c (maybe_type_error): New.
2958         * eval.c (continuable_type_error): New.
2959         * eval.c (maybe_continuable_type_error): New.
2960         * eval.c (type_error_with_frob): New.
2961         * eval.c (maybe_type_error_with_frob): New.
2962         * eval.c (continuable_type_error_with_frob): New.
2963         * eval.c (maybe_continuable_type_error_with_frob): New.
2964         New functions for use with structured errors.
2965
2966         * event-Xt.c:
2967         * event-Xt.c (x_event_to_emacs_event):
2968         Buttons are now modifiers too.
2969
2970         * event-Xt.c (emacs_Xt_current_event_timestamp):
2971         Implement new event method.
2972         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
2973
2974         * event-msw.c:
2975         * event-msw.c (ntpipe_shove_writer): [5].
2976         * event-msw.c (mswindows_enqueue_mouse_button_event):
2977         * event-msw.c (mswindows_drain_windows_queue):
2978         * event-msw.c (mswindows_wnd_proc): [7].
2979         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
2980         * event-msw.c (mswindows_modifier_state):
2981         Throughout: support new button modifiers.
2982
2983         * event-msw.c (emacs_mswindows_current_event_timestamp):
2984         Implement new event method.
2985         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
2986
2987         * event-stream.c:
2988         * event-stream.c (event_stream_current_event_timestamp): New.
2989         * event-stream.c (maybe_kbd_translate): New functionality.
2990         * event-stream.c (vars_of_event_stream):
2991         Document new kbd-translate-table functionality.
2992
2993         * event-stream.c (Fcurrent_event_timestamp): New.
2994         New primitive for use in fabricated events.
2995         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
2996
2997         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
2998
2999         * events.c:
3000         * events.c (Fmake_event):
3001         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
3002         [1].
3003         [9].
3004
3005         * events.c (format_event_object): fix gcc warnings.
3006
3007         * events.c (Fevent_timestamp): Document new primitives.
3008
3009         * events.c (TIMESTAMP_HALFSPACE): New.
3010
3011         * events.c (Fevent_timestamp_lessp): New.  New primitive for
3012         comparing timestamps correctly (half-space algorithm).
3013
3014         * events.c (Fevent_modifier_bits): Doc fix.
3015
3016         * events.c (Fevent_modifiers): Major doc addition.
3017         * events.c (event_x_y_pixel_internal): Typo fix.
3018         * events.c (syms_of_events): Declare new primitives.
3019
3020         * events.h:
3021         Update long comment for button modifiers, timestamps.
3022
3023         * events.h (struct event_stream):
3024         New current_event_timestamp method.
3025
3026         * extents.c:
3027         * extents.c (extent_in_region_p):
3028         * extents.c (decode_extent):
3029         * extents.c (Fset_extent_parent):
3030         * extents.c (decode_map_extents_flags):
3031         Fix gcc warnings.
3032         [9].
3033
3034         * extents.c (struct extent_at_arg):
3035         * extents.c (decode_extent_at_flag):
3036         * extents.c (extent_at_mapper):
3037         * extents.c (extent_at_bytind):
3038         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
3039         * extents.c (Fextents_at): New primitive. [9].
3040         * extents.c (symbol_to_glyph_layout): [9].
3041         Support new primitive `extents-at'.
3042
3043
3044         * extents.c (get_text_property_bytind):
3045         extent_at_bytind has another arg.
3046         [9].
3047
3048         * extents.c (syms_of_extents): New primitive.
3049
3050         * file-coding.c (Fmake_coding_system): [1].
3051         * file-coding.c (subsidiary_coding_system): fix gcc warning
3052         * file-coding.c (syms_of_file_coding): [2].
3053
3054         * fileio.c (Fexpand_file_name):
3055         * fileio.c (Fsysnetunam):
3056         * fileio.c (Ffile_exists_p):
3057         * fileio.c (Ffile_executable_p):
3058         * fileio.c (Fverify_visited_file_modtime):
3059         Clean up GCPROing.
3060
3061         * fileio.c (syms_of_fileio): [2].
3062
3063         * filelock.c (lock_file_1):
3064         * filelock.c (current_lock_owner):
3065         * filelock.c (lock_if_free):
3066         * filelock.c (lock_file):
3067         * filelock.c (unlock_file):
3068         Clean up GCPROing.
3069
3070         * fns.c (concat): Fix gcc warning.
3071
3072         * fns.c (Fmember):
3073         * fns.c (Fold_member):
3074         * fns.c (Fmemq):
3075         * fns.c (Fold_memq):
3076         * fns.c (memq_no_quit):
3077         * fns.c (Fassoc):
3078         * fns.c (Fold_assoc):
3079         * fns.c (Fassq):
3080         * fns.c (Fold_assq):
3081         * fns.c (assq_no_quit):
3082         * fns.c (Frassoc):
3083         * fns.c (Fold_rassoc):
3084         * fns.c (Frassq):
3085         * fns.c (Fold_rassq):
3086         * fns.c (rassq_no_quit):
3087         * fns.c (Fdelete):
3088         * fns.c (Fold_delete):
3089         * fns.c (Fdelq):
3090         * fns.c (Fold_delq):
3091         * fns.c (delq_no_quit):
3092         * fns.c (Fremassoc):
3093         * fns.c (Fremassq):
3094         * fns.c (remassq_no_quit):
3095         * fns.c (Fremrassoc):
3096         * fns.c (Fremrassq):
3097         * fns.c (remrassq_no_quit):
3098         * fns.c (Freverse):
3099         * fns.c (mapcar1):
3100         [1].
3101
3102         * frame-msw.c (mswindows_init_frame_1):
3103         * frame-msw.c (mswindows_delete_frame):
3104         Register popups with dialog code so keyboard traversing works.
3105
3106         * frame-tty.c (tty_raise_frame_no_select): [1].
3107
3108         * frame-x.c:
3109         * frame-x.c (x_set_frame_text_value):
3110         * frame-x.c (x_set_frame_properties):
3111         * frame-x.c (x_create_widgets):
3112         [7].
3113
3114         * frame.c:
3115         * frame.c (Fmouse_pixel_position): Minor doc fixes.
3116
3117         * frame.h (wrap_frame): New.
3118         Macro like wrap_device.
3119
3120         * general.c:
3121         * general.c (SYMBOL):
3122         * general.c (syms_of_general):
3123         Major reorg.  This is now just a wrapper and symbols themselves
3124         are listed in general-slots.h.
3125
3126         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
3127         * glyphs-msw.c (mswindows_resource_instantiate): [5].
3128
3129         * glyphs-msw.c (mswindows_native_layout_instantiate):
3130         Add DS_CONTROL so keyboard traversal will work.
3131
3132         * glyphs-widget.c:
3133         * glyphs-widget.c (syms_of_glyphs_widget):
3134         Move some symbols to general-slots.h.
3135
3136         * glyphs-x.c:
3137         * glyphs-x.c (xbm_instantiate_1):
3138         * glyphs-x.c (x_xbm_instantiate):
3139         * glyphs-x.c (x_xface_instantiate):
3140         * glyphs-x.c (autodetect_instantiate):
3141         * glyphs-x.c (cursor_font_instantiate):
3142         * glyphs-x.c (x_update_widget):
3143         * glyphs-x.c (x_widget_instantiate):
3144         * glyphs.c (bitmap_to_lisp_data):
3145         * glyphs.c (pixmap_to_lisp_data):
3146         [7].
3147
3148         * glyphs.c (syms_of_glyphs):
3149         [2].
3150
3151         * gui-x.c:
3152         * gui-x.c (print_widget_value):
3153         * gui-x.c (menu_separator_style_and_to_external):
3154         * gui-x.c (add_accel_and_to_external):
3155         * gui-x.c (button_item_to_widget_value):
3156         * gui-x.c (gui_items_to_widget_values_1):
3157         * gui-x.c (gui_items_to_widget_values):
3158         * gui-x.c (syms_of_gui_x):
3159         * gui-x.c (vars_of_gui_x):
3160         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
3161         [9].
3162
3163         * gui-x.h:
3164         Muleize, prototype changes matching gui-x.c.
3165
3166         * gui.c:
3167         * gui.c (separator_string_p):
3168         * gui.c (gui_item_add_keyval_pair):
3169         * gui.c (make_gui_item_from_keywords_internal):
3170         * gui.c (signal_too_long_error):
3171         * gui.c (parse_gui_item_tree_item):
3172         * gui.c (syms_of_gui):
3173         * gui.c (vars_of_gui):
3174         * gui.h:
3175         menu-no-selection-hook moved here (used by MSWin).
3176         Move some symbols to general-slots.h.
3177         [6].
3178         [9].
3179
3180         * insdel.c (get_buffer_pos_char):
3181         * insdel.c (get_buffer_range_char):
3182         Add GC comments.
3183
3184         * keymap.c (keymap_lookup_directly):
3185         * keymap.c (keymap_store):
3186         * keymap.c (ensure_meta_prefix_char_keymapp):
3187         * keymap.c (describe_map):
3188         * keymap.h:
3189         Support new button modifiers.
3190
3191         * lisp-disunion.h (wrap_object):
3192         * lisp-disunion.h (XSETOBJ):
3193         Rename make_obj to wrap_object.
3194
3195         * lisp-union.h:
3196         * lisp-union.h (make_int):
3197         * lisp-union.h (make_char):
3198         Support wrap_object.
3199
3200         * lisp.h:
3201         * lisp.h (LIST_LOOP):
3202         * lisp.h (EXTERNAL_LIST_LOOP):
3203         * lisp.h (LIST_LOOP_2):
3204         * lisp.h (EXTERNAL_LIST_LOOP_1):
3205         * lisp.h (EXTERNAL_LIST_LOOP_2):
3206         * lisp.h (EXTERNAL_LIST_LOOP_3):
3207         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
3208         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
3209         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
3210         * lisp.h (EXTERNAL_ALIST_LOOP_5):
3211         * lisp.h (EXTERNAL_ALIST_LOOP_6):
3212         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
3213         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
3214         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
3215         * lisp.h (struct Lisp_Symbol):
3216         * lisp.h (maybe_continuable_error_with_frob):
3217         Fix up section comments.
3218         Add new types for char to indicate usage.
3219         Delete symbols auto-generated from general-slots.h.
3220         Add prototypes for structured error functions.
3221         Add long comments describing looping macros and change interface
3222         so that lvalues are automatically declared.
3223         Add NO_DECLARE macro in case callers want to declare lvalues
3224         themselves.
3225
3226         * lread.c (read_syntax_error):
3227         * lread.c (continuable_read_syntax_error):
3228         * lread.c (read_structure):
3229         * lread.c (sequence_reader):
3230         * lread.c (read_list_conser):
3231         * lread.c (read_compiled_function):
3232         Rename syntax_error and continuable_syntax_error to avoid clash
3233         with same-named structured error functions.
3234
3235         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
3236         * menubar-msw.c (populate_menu_add_item):
3237         * menubar-msw.c (populate_or_checksum_helper):
3238         [5].
3239         [9].
3240
3241         * menubar-x.c:
3242         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
3243         Mule-ize whole file.
3244
3245         * menubar.c (Fnormalize_menu_item_name): Add optimization.
3246
3247         * mule-charset.c (Fmake_charset):
3248         * mule-wnnfns.c (Fwnn_set_param):
3249         [1].
3250
3251         * ntproc.c (create_child):
3252         * ntproc.c (Fwin32_set_current_locale):
3253         Add comments portending doom.
3254
3255         * objects-msw.c:
3256         * objects-msw.c (old_font_enum_callback_2):
3257         * objects-msw.c (font_enum_callback_1):
3258         * objects-msw.c (mswindows_enumerate_fonts):
3259         [5].
3260
3261         * objects-x.c:
3262         * objects-x.c (allocate_nearest_color):
3263         * objects-x.c (x_parse_nearest_color):
3264         * objects-x.c (x_initialize_color_instance):
3265         * objects-x.c (x_print_color_instance):
3266         * objects-x.c (x_finalize_color_instance):
3267         * objects-x.c (x_valid_color_name_p):
3268         * objects-x.c (x_initialize_font_instance):
3269         * objects-x.c (x_print_font_instance):
3270         * objects-x.c (valid_x_font_name_p):
3271         * objects-x.c (truename_via_FONT_prop):
3272         * objects-x.c (truename_via_random_props):
3273         * objects-x.c (truename_via_XListFonts):
3274         * objects-x.c (x_font_truename):
3275         * objects-x.c (x_font_instance_truename):
3276         * objects-x.c (x_font_instance_properties):
3277         * objects-x.c (x_list_fonts):
3278         * objects-x.c (x_find_charset_font):
3279         Mule-ize entire file.
3280         [7].
3281
3282         * objects-x.h:
3283         Mule-verify.
3284
3285         * print.c:
3286         * print.c (std_handle_out_external):
3287         * print.c (debug_print_no_newline):
3288         * print.c (syms_of_print):
3289         Output to all debugger kinds in debug-print.
3290         Fix console-output code under MSWin to actually work.
3291
3292         * process-nt.c (send_signal):
3293         * process-nt.c (nt_create_process):
3294         Use newer Unicode macros.
3295
3296         * process-unix.c (unix_create_process):
3297         * process-unix.c (unix_canonicalize_host_name):
3298         * process-unix.c (unix_open_network_stream):
3299         [7].
3300
3301         * scrollbar-x.c:
3302         Mule-verify.
3303
3304         * search.c (syms_of_search):
3305         [2].
3306
3307         * select-msw.c (mswindows_destroy_selection):
3308         Use LIST_LOOP_2.
3309
3310         * select-x.c (symbol_to_x_atom):
3311         [7].
3312
3313         * select.c (syms_of_select):
3314         [2].
3315
3316         * sound.c (Fplay_sound_file):
3317         [7].
3318
3319         * specifier.c:
3320         * specifier.c (decode_specifier_type):
3321         * specifier.c (Fvalid_specifier_locale_type_p):
3322         * specifier.c (check_valid_locale_or_locale_type):
3323         * specifier.c (decode_locale):
3324         * specifier.c (decode_locale_type):
3325         * specifier.c (decode_locale_list):
3326         * specifier.c (check_valid_domain):
3327         * specifier.c (decode_specifier_tag_set):
3328         * specifier.c (Fcanonicalize_tag_set):
3329         * specifier.c (Fdefine_specifier_tag):
3330         * specifier.c (Fspecifier_tag_predicate):
3331         * specifier.c (check_valid_inst_list):
3332         * specifier.c (check_valid_spec_list):
3333         * specifier.c (decode_how_to_add_specification):
3334         * specifier.c (check_modifiable_specifier):
3335         * specifier.c (specifier_add_spec):
3336         * specifier.c (boolean_validate):
3337         * specifier.c (display_table_validate):
3338         [9].
3339
3340         * specifier.c (syms_of_specifier):
3341         Move some symbols to general-slots.h.
3342         [2].
3343
3344         * symbols.c:
3345         * symbols.c (Fmapatoms):
3346         * symbols.c (Fapropos_internal):
3347         Add GCPROs.
3348
3349         * symbols.c (set_default_buffer_slot_variable):
3350         * symbols.c (set_default_console_slot_variable):
3351         [1].
3352
3353         * symbols.c (defsymbol_massage_name_1):
3354         * symbols.c (defkeyword_massage_name):
3355         * symbols.c (deferror_1):
3356         * symbols.c (deferror):
3357         * symbols.c (deferror_massage_name_and_message):
3358         * symeval.h:
3359         * symeval.h (DEFSYMBOL):
3360         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
3361
3362         * symbols.c (syms_of_symbols):
3363         [2].
3364
3365         * symsinit.h:
3366         * symsinit.h (init_win32): New.
3367         Also new is syms_of_dialog_mswindows.
3368
3369         * syswindows.h:
3370         Add new Unicode macros, missing Cygwin wide-char functions,
3371         convenience conversion macros for Qmswindows_tstr, macros for
3372         encapsulating required MSWin <-> Cygwin filename conversions,
3373         prototype for dynamically-extracted (not in NT 3.51) functions.
3374
3375         * toolbar-x.c:
3376         Mule-verify.
3377
3378         * tooltalk.c (Fadd_tooltalk_message_arg):
3379         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
3380         * tooltalk.c (Fadd_tooltalk_pattern_arg):
3381         [7].
3382
3383         * tooltalk.c (syms_of_tooltalk):
3384         [2].
3385
3386         * unexnt.c:
3387         * unexnt.c (unexec):
3388         Fix up headers, declaration of unexec() to be more standard.
3389
3390 2000-07-20  Martin Buchholz  <martin@xemacs.org>
3391
3392         * offix.h: Revert change to guard macros - they're used in offix.c!
3393
3394 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
3395
3396         * lisp.h: Defsubred Fdelete.
3397
3398         * console-msw.h:  (msprinter_default_printer): Added.
3399
3400         * console-msw.c (msprinter_canonicalize_console_connection):
3401         (msprinter_canonicalize_device_connection): Added.
3402
3403         * device-msw.c (msprinter_default_printer):
3404         (Fmswingows_get_default_printer):
3405         (signal_enum_priner_error):
3406         (Fmswingows_printer_list): Added.
3407
3408 2000-07-19  Martin Buchholz <martin@xemacs.org>
3409
3410         * XEmacs 21.2.35 is released.
3411
3412 2000-07-19  Martin Buchholz  <martin@xemacs.org>
3413
3414         * select-x.c (x_handle_selection_request):
3415         Text selected in xemacs and pasted into xterm failed to appear.
3416         Spelling fixes and cosmetic changes.
3417
3418 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
3419
3420         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
3421         XEmacs frame (fix for doubling chars in dialog boxes).
3422
3423 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
3424
3425         * select.c (select_convert_in, select_convert_out):
3426         Don't call intern() every time.
3427
3428         * select.c (Qselect_convert_in, Qselect_convert_out): New.
3429         * select.c (vars_of_select): Initialise them.
3430
3431 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
3432
3433         * select.c (selection-coercible-types): New.
3434
3435         * select.c (own-selection-internal):
3436         * select.c (get-selection-internal):
3437         MULE bug fix - these should default to COMPOUND_TEXT and not
3438         STRING for MULE. I think.
3439
3440         * select.c (select_convert_out): Use selection-coercible-types
3441         to find types that we can attempt to perform coercions on.
3442
3443 2000-07-18  Martin Buchholz  <martin@xemacs.org>
3444
3445         * mule-wnnfns.c:
3446         * mule-canna.c:
3447         Add coding: cookie to identify encoding.
3448
3449         * mule-canna.c (CANNA_mode_keys): make static.
3450         Use proper prototypes, even for functions of no arguments.
3451         Remove external prototype for Fding().
3452
3453         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
3454
3455         * select.c (syms_of_select): Add missing DEFSUBR.
3456
3457 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
3458
3459         * select.c (get_selection_internal, own_selection_internal):
3460         Make the type default to STRING, rather than placing a nil type
3461         into Vselection_alist.
3462
3463 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
3464
3465         * gpmevent.c (tty_selection_exists_p):
3466         * gpmevent.c (tty_own_selection):
3467         Updated parameter lists.
3468
3469 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
3470
3471         * select.h (selection-alist): Removed declaration.
3472
3473         * select.h (get_local_selection):
3474         * select.c (get_local_selection):
3475         Made static.
3476
3477         * select.h (convert_selection): Removed declaration.
3478         * select.c (convert_selection): Removed.
3479         This function belongs in Lisp.
3480
3481         * select.h (select_convert_in): Declare.
3482         * select.h (select_convert_out): Declare.
3483         * select.c (select_convert_in): New.
3484         * select.c (select_convert_out): New.
3485         New conversion functions for other files to call.
3486
3487         * select.h (select_notify_buffer_kill): Declare.
3488         * select.c (select_notify_buffer_kill): New.
3489         New functions that get called from kill-buffer.
3490
3491         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
3492         X-specific lisp code.
3493
3494         * select.h: Declare some of the lisp-visible functions for
3495         external use.
3496
3497         * select.c (clean_local_selection_data): Removed. This was
3498         a disgusting function, and previously should have been in
3499         select-x.c in any case. The functionality is now provided
3500         in select-convert-from-integer (select.el).
3501
3502         * select.c (available-selection-types): Fixed stupidity where
3503         INTEGER and ATOM got added twice. Also add STRING when we see an
3504         extent.
3505
3506         * select.c (get-selection-internal): Removed symbol stripping. No
3507         longer causes conversion when data comes from the internal cache.
3508
3509         * select.c (syms_of_select): Added new functions.
3510
3511         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
3512         error checking - previously this called abort!
3513
3514         * select-x.c (x_own_selection): Changed comment.
3515
3516         * select-x.c (x_handle_selection_request): Use select_convert_out.
3517         Don't mess with selection-alist; it's an internal variable of select.c.
3518
3519         * select-x.c (x_get_foreign_selection): Use select_convert_in.
3520
3521         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
3522         rather than messing with selection-alist.
3523
3524         * select-msw.c (mswindows_get_foreign_selection):
3525         Use TO_INTERNAL_FORMAT rather than hacking.
3526
3527 2000-07-14  Martin Buchholz  <martin@xemacs.org>
3528
3529         * process-unix.c (unix_open_multicast_group):
3530         (unix_open_multicast_group): Remove useless casts.
3531
3532 2000-07-13  Martin Buchholz  <martin@xemacs.org>
3533
3534         * sound.c (Fplay_sound): Fix `unused variable' warning.
3535
3536         * emacs.c (main): Use correct type for _environ on SCO5.
3537
3538 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
3539
3540         * console.h (own_selection_method):
3541         * console.h (selection_exists_p_method):
3542         * console.h (available_selection_types_method): New.
3543         * console.h (register_selection_data_type_method): New.
3544         * console.h (selection_data_type_name): New.
3545
3546         * console-msw.h (mswindows_destroy_selection): Declare it.  New
3547         function & alist to track GlobalAlloc()'d handles that need
3548         releasing when the clipboard data gets replaced or emptied.
3549
3550         * event-msw.c (mswindows_wnd_proc): Call it.
3551
3552         * lisp.h, general.c (Qappend): New symbol representing a
3553         `how-to-add' mode.
3554
3555         * select.c (own-selection-internal):
3556         * select.c (selection-exists-p):
3557         * select.c (available-selection-types): New.
3558         * select.c (register-selection-data-type): New.
3559         * select.c (selection-data-type-name): New.  New functions to deal
3560         with device-specific selection data formats.
3561         * select.c (selection-converter-out-alist): Renamed.
3562         * select.c (selection-converter-in-alist): New.
3563         * select.c (selection-appender-alist): New.  Added new alists.
3564         * select.c (syms_of_select, vars_of_select): Added new symbols &
3565         variables.
3566         * select.c (get_local_selection): Split.
3567         * select.c: Removed spurious type checking - selections may now be
3568         of any type, not just strings.
3569         * select.c (own-selection-internal):
3570
3571         * select.h, select.c (convert_selection): New. Created
3572         convert_selection() function based on get_local_selection().
3573         * select.h, select.c (QCF_*): New symbols representing mswindows
3574         clipboard formats.
3575         * select.h, select.c (Qreplace_all, Qreplace_existing): New
3576         symbols representing `how-to-add' modes.
3577
3578         * select-msw.c (x_sym_p): New.
3579         * select-msw.c (symbol_to_ms_cf): New.
3580         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
3581         symbols & clipboard formats. Can also handle string names.
3582         * select-msw.c (mswindows_own_selection):
3583         * select-msw.c (mswindows_selection_exists_p):
3584         Added `data-type' parameter. Use it.
3585         * select-msw.c (mswindows_available_selection_types): New.
3586         * select-msw.c (mswindows_register_selection_data_type): New.
3587         * select-msw.c (mswindows_selection_data_type_name): New.
3588         * select-msw.c (mswindows_own_selection):
3589         * select-msw.c (mswindows_get_foreign_selection):
3590         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
3591         * select-msw.c (console_create_select_mswindows): Added new methods.
3592         * select-msw.c (mswindows_destroy_selection): New.
3593         * select-msw.c (Vhandle_alist): New list.
3594         * select-msw.c (mswindows_own_selection):
3595
3596         * select-x.c (x_own_selection):
3597         * select-x.c (x_selection_exists_p):
3598         * select-x.c: Added some comments about maybe using new
3599         functionality.
3600         * select-x.c (x_own_selection):
3601
3602         * specifier.c: Remove definition of Qappend (now in general.c)
3603         * specifier.c (syms_of_specifier): Remove Qappend.
3604
3605 2000-07-12  Martin Buchholz  <martin@xemacs.org>
3606
3607         * config.h.in: Add socklen_t.
3608
3609         * s/decosf4-0.h: No special compiler flags needed or desired.
3610         In particular, undefine _BSD for DEC OSF 4.0.
3611
3612 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
3613
3614         * redisplay-msw.c (msprinter_frame_output_end): Added.
3615         (console_type_create_redisplay_mswindows): Referred the above.
3616
3617         * frame.c (setup_frame_without_minibuffer): Do not create a
3618         default minibuffer frame on a printer device.
3619
3620         * frame-msw.c (apply_dc_geometry): Added.
3621         (msprinter_start_page):
3622         (msprinter_init_frame_3):
3623         (msprinter_eject_page): Use it.
3624
3625         * console-msw.h (struct msprinter_frame): Added pix_left and top,
3626         and removed residual duplex and orientation properties.
3627
3628 2000-07-11  Martin Buchholz  <martin@xemacs.org>
3629
3630         * eval.c (function_argcount): Work around a DEC CC compiler bug.
3631
3632         * unexalpha.c: Remove system prototypes from C sources!
3633
3634 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
3635
3636         * eval.c: Remove references to M-x edit-options in DEFUNs for
3637         `defvar' and `defconst'.
3638
3639 2000-07-09  Martin Buchholz  <martin@xemacs.org>
3640
3641         * config.h.in: Remove SMART_INCLUDE hackery.
3642
3643         PostgreSQL hacking:
3644         * config.h.in: Don't use SMART_INCLUDE.
3645
3646         * postgresql.h: Include libpq-fe.h here.  Fix typo.
3647         * inline.c: Simply #include "postgresql.h"
3648         * postgresql.c:
3649         - Don't use SMART_INCLUDE
3650         - Use simply "const".
3651         - Use standard doc string conventions.
3652         - Use correct type for result of PQstatus.
3653
3654 2000-07-09  Martin Buchholz  <martin@xemacs.org>
3655
3656         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
3657
3658         C++ compilation changes.
3659         * config.h.in (EXTERN_C): Define.
3660         * config.h.in (not): This is also a C++ keyword.
3661         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
3662         * cm.c: Use EXTERN_C.
3663         * redisplay-tty.c: Use EXTERN_C.
3664         * sysdep.c: Use EXTERN_C.  Remove Gould support.
3665
3666 2000-07-09  Martin Buchholz  <martin@xemacs.org>
3667
3668         * general.c: Remove duplicate definition for Qfunction.
3669
3670 2000-07-08  Ben Wing  <ben@xemacs.org>
3671
3672         * device-msw.c (msprinter_init_device):
3673         * device-msw.c (sync_printer_with_devmode):
3674         * device-msw.c (handle_devmode_changes):
3675         * device-msw.c (print_dialog_worker):
3676         * device-msw.c (Fmsprinter_apply_settings):
3677         * device-msw.c (hash_devmode):
3678         * device-msw.c (Fmsprinter_settings_despecialize):
3679         use Qmswindows_tstr, not Qctext.
3680
3681         * vm-limit.c (check_memory_limits):
3682         avoid infinite loop printing warning messages.
3683
3684 2000-07-05  Craig Lanning  <lanning@scra.org>
3685
3686         * Makefile.in.in: Add support for including the Windows resources
3687         when building with the cygwin and mingw targets.
3688
3689         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
3690         not set or not correct.
3691         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
3692         (init_initial_directory): Don't try to use $PWD on the
3693         WIN32_NATIVE target.
3694
3695         * s\cygwin32.h:
3696         [[Add -mwindows to eliminate console window.]] not required --ben
3697         (HAVE_NATIVE_SOUND): removed; now handled by configure.
3698         (MAIL_USE_POP): removed; now handled by configure.
3699
3700         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
3701         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
3702         (HAVE_NATIVE_SOUND): removed; now handled by configure.
3703         (MAIL_USE_POP): removed; now handled by configure.
3704         (ENCAPSULATE_STAT): from Dan Holmsand, added.
3705         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
3706         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
3707         constant string.
3708         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
3709         up from <winsock.h> via systime.h.
3710         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
3711         (getpagesize): from Dan Holmsand, added.
3712         Added #endif which was left dangling by Ben's mega patch; added
3713         comment to help prevent this in the future.
3714
3715         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
3716
3717 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
3718
3719         * console-msw.h (struct mswindows_device): Removed unnecessary
3720         cached device geometry values.
3721         Added update_tick and an accessor macro.
3722         (Lisp_Devmode): Added lrecord declaration.
3723         (struct msprinter_device): Contain devmode as a Lisp object.
3724         Added mswindows_get_selected_frame_hwnd();
3725
3726         * console.h (struct console_methods): Indentation nitpicking.
3727
3728         * device-msw.c (mswindows_init_device): Do not initialize geometry
3729         cache. Initialize update tick.
3730         (mswindows_device_system_metrics): Ask the device for its geometry.
3731         (global_free_2_maybe):
3732         (devmode_to_hglobal):
3733         (handle_printer_changes):
3734         (ensure_not_printing):
3735         (print_dialog_worker):
3736         (Fmsprinter_print_setup_dialog):
3737         (Fmsprinter_print_dialog):
3738         (plist_get_margin):
3739         (plist_set_margin):
3740         (Fmsprinter_page_setup_dialog): Added functions.
3741         (sync_printer_with_devmode):
3742         (handle_devmode_changes):
3743         (Fmsprinter_get_settings):
3744         (Fmsprinter_select_settings):
3745         (Fmsprinter_apply_settings):
3746         (allocate_devmode):
3747         (Fmsprinter_settings_copy):
3748         (Fmsprinter_settings_despecialize):
3749         (print_devmode):
3750         (finalize_devmode):
3751         (equal_devmode):
3752         (hash_devmode): Added functions
3753         (syms_of_device_mswindows): Init devmode lrecord class.
3754
3755         * device.h: Added an exfun for find-device.
3756
3757         * event-msw.c (mswindows_wnd_proc): Do not update the cached
3758         geometry; although, recreate the device compatible DC.
3759
3760         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
3761         (msprinter_init_frame_3):
3762         (msprinter_frame_property):
3763         (msprinter_internal_frame_property_p):
3764         (msprinter_frame_properties):
3765         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
3766         print job properties (will move to device settings).
3767
3768         * lisp.h: Added symbols.
3769
3770         * general.c (syms_of_general): Declared them.
3771
3772         * hash.c (string_hash): Added.
3773
3774         * lrecord.h (lrecord_type): Added devmode lrecord type.
3775
3776 2000-07-02  Mike Sperber <mike@xemacs.org>
3777
3778         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
3779         FreeBSD 4.0.
3780
3781 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
3782
3783         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
3784         integer.
3785
3786 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3787
3788         * data.c (Fstring_to_number): Don't recognize floating point if
3789         base is not 10.
3790
3791 2000-06-22  Martin Buchholz  <martin@xemacs.org>
3792
3793         * glyphs-widget.c (tab_control_query_geometry):
3794         (widget_query_geometry):
3795         (button_query_geometry):
3796         * glyphs.c (text_query_geometry):
3797         Enforce type correctness.
3798
3799 2000-06-18  Martin Buchholz  <martin@xemacs.org>
3800
3801         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
3802         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
3803
3804 2000-06-17  Martin Buchholz  <martin@xemacs.org>
3805
3806         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
3807         conflicts with gcc's fixincluded version of FOO.h.
3808
3809         * glyphs.h (image_instance_geometry): Remove trailing `,'
3810
3811 2000-06-08  Mike Alexander  <mta@arbortext.com>
3812
3813         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
3814         (shove_thread): Don't write the same output twice
3815         (make_ntpipe_output_stream): Increase priority of shove thread
3816         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
3817         chance to run
3818         (ntpipe_shove_closer): Don't delete the pipe until we're done with
3819         it.
3820
3821 2000-06-12  Ben Wing  <ben@xemacs.org>
3822
3823         * s\mingw32.h (sigset):
3824         * s\windowsnt.h (sigset):
3825         rename msw_ to mswindows_ for consistency with general convention.
3826
3827 2000-06-12  Ben Wing  <ben@xemacs.org>
3828
3829         * console-msw.c:
3830         * console-msw.c (mswindows_get_console_hwnd):
3831         * console-msw.c (mswindows_ensure_console_allocated):
3832         * console-msw.c (mswindows_hide_console):
3833         * console-msw.c (mswindows_show_console):
3834         * console-msw.c (mswindows_ensure_console_buffered):
3835         * console-msw.c (mswindows_output_console_string):
3836         * console-msw.c (mswindows_windows9x_p):
3837         * console-msw.h:
3838         * device-msw.c (mswindows_get_workspace_coords):
3839         * device-msw.c (mswindows_device_system_metrics):
3840         * dialog-msw.c (mswindows_popup_dialog_box):
3841         * event-msw.c (mswindows_wnd_proc):
3842         * frame-msw.c (mswindows_size_frame_internal):
3843         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
3844         * menubar-msw.c (displayable_menu_item):
3845         * menubar-msw.c (mswindows_char_is_accelerator):
3846         * nt.c:
3847         * nt.c (mswindows_sigset):
3848         * nt.c (mswindows_sigrelse):
3849         * nt.c (mswindows_sigpause):
3850         * nt.c (mswindows_raise):
3851         * nt.c (timer_proc):
3852         * ntproc.c:
3853         * ntproc.c (find_child_console):
3854         * ntproc.c (sys_kill):
3855         * print.c:
3856         * print.c (std_handle_out_external):
3857         * process-nt.c (find_child_console):
3858         * process-nt.c (send_signal_the_95_way):
3859         * process-nt.c (ensure_console_window_exists):
3860         * process-nt.c (nt_create_process):
3861         * syssignal.h:
3862         rename msw_ to mswindows_ for consistency with general convention.
3863
3864         * emacs.c:
3865         * dumper.c:
3866         include nt.h, not syswindows.h.
3867
3868         * nt.c (mswindows_fstat):
3869         * nt.c (mswindows_stat):
3870         prefix mswindows_ instead of attempting to directly override the
3871         library functions.  fix declarations.
3872
3873         * nt.h:
3874         include syswindows.h.  move some sysdep.h stuff here.
3875
3876         * ntheap.h:
3877         include syswindows.h, not <windows.h>.
3878
3879         * ntplay.c:
3880         clean up headers.
3881
3882         * sysdep.c:
3883         clean up headers.
3884
3885         * sysdep.c (sys_fstat):
3886         * sysdep.c (sys_stat):
3887         call mswindows versions when appropriate.
3888
3889         * sysdep.h:
3890         move mswin decls to nt.h.
3891
3892         * syswindows.h:
3893         add long comment describing appropriate use of the various windows
3894         headers.
3895
3896 2000-06-11  Ben Wing  <ben@xemacs.org>
3897
3898         * device-x.c: Correct doc string for sixth arg of x-get-resource.
3899
3900 2000-06-10  Ben Wing  <ben@xemacs.org>
3901
3902         * Makefile.in.in (release):
3903         Correction to make sure xemacs.exe always dumped when correct.
3904
3905         * alloca.c:
3906         * balloon_help.c:
3907         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
3908
3909         * buffer.c (set_buffer_internal):
3910         [[[[2]]]]: Remove HAVE_FEP code.
3911
3912         * buffer.c (init_initial_directory):
3913         [3].
3914
3915         * bytecode.c:
3916         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
3917         individual files.
3918
3919         * callproc.c:
3920         * callproc.c (call_process_cleanup):
3921         * callproc.c (Fold_call_process_internal):
3922         * callproc.c (child_setup):
3923         * callproc.c (getenv_internal):
3924         * callproc.c (init_callproc):
3925         * callproc.c (vars_of_callproc):
3926         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
3927         __CYGWIN32__ -> CYGWIN.
3928         DOS_NT -> WIN32_NATIVE.
3929         Remove MSDOS support/references, converting to WIN32_NATIVE
3930           where correct.
3931         __MINGW32__ -> MINGW.
3932         Fix windows.h includes.
3933         Remove bogus HAVE_NTGUI.
3934
3935         * config.h.in:
3936         [2].
3937
3938         * console-msw.c:
3939         mswindows_message_outputted added for use in allowing startup
3940         errors on the console to be seen.
3941
3942         * console-msw.c (msw_ensure_console_allocated):
3943         * console-msw.c (msw_output_console_string):
3944         * console-msw.c (DHEADER):
3945         * console-msw.c (DOPAQUE_DATA):
3946         * console-msw.c (DEVENT):
3947         * console-msw.c (DCONS):
3948         * console-msw.c (DCONSCDR):
3949         * console-msw.c (DSTRING):
3950         * console-msw.c (DVECTOR):
3951         * console-msw.c (DSYMBOL):
3952         * console-msw.c (DSYMNAME):
3953         Fix warnings.
3954
3955         * console-stream.c (stream_init_console):
3956         Fix text/binary problems.
3957
3958         * device-msw.c:
3959         * device-msw.c (mswindows_finish_init_device):
3960         * device-msw.c (mswindows_delete_device):
3961         [1].
3962
3963         * device.c (handle_asynch_device_change):
3964         [3].
3965
3966         * dgif_lib.c:
3967         * dgif_lib.c (DGifOpenFileName):
3968         * dgif_lib.c (DGifOpenFileHandle):
3969         * dgif_lib.c (DGifGetLine):
3970         * dgif_lib.c (DGifGetPixel):
3971         Added config.h/lisp.h, fix up includes.
3972         [1].
3973
3974         * dired-msw.c:
3975         [4].
3976
3977         * dired.c:
3978         * dired.c (file_name_completion):
3979         * dired.c (Ffile_attributes):
3980         * dired.c (syms_of_dired):
3981         [1].
3982
3983         * dumper.c:
3984         * dumper.c (pdump_file_unmap):
3985         * dumper.c (pdump_load):
3986         [1].
3987
3988         * editfns.c:
3989         * editfns.c (Ftemp_directory):
3990         * editfns.c (user_login_name):
3991         * editfns.c (Fuser_real_login_name):
3992         * editfns.c (get_home_directory):
3993         [1].
3994
3995         * elhash.c (finish_marking_weak_hash_tables):
3996         [[[[5]]]]: Fix GCC warnings.
3997
3998         * emacs.c:
3999         * emacs.c (mswindows_handle_hardware_exceptions):
4000         * emacs.c (make_arg_list_1):
4001         * emacs.c (main_1):
4002         * emacs.c (Fkill_emacs):
4003         * emacs.c (Fdump_emacs):
4004         [1].
4005         Fix problems with nested crashes, add long comment.
4006
4007         * event-Xt.c (init_event_Xt_late):
4008         [1].
4009
4010         * event-msw.c:
4011         * event-msw.c (mswindows_dde_callback):
4012         * event-msw.c (mswindows_handle_sticky_modifiers):
4013         * event-msw.c (mswindows_wnd_proc):
4014         [1].
4015         [5].
4016
4017         * events.c (character_to_event):
4018         [1].
4019
4020         * fileio.c:
4021         * fileio.c (Ffile_name_directory):
4022         * fileio.c (Ffile_name_nondirectory):
4023         * fileio.c (directory_file_name):
4024         * fileio.c (Fexpand_file_name):
4025         * fileio.c (Fsubstitute_in_file_name):
4026         * fileio.c (Ffile_name_absolute_p):
4027         * fileio.c (check_executable):
4028         * fileio.c (Ffile_readable_p):
4029         * fileio.c (Ffile_accessible_directory_p):
4030         * fileio.c (Ffile_modes):
4031         * fileio.c (Funix_sync):
4032         * fileio.c (vars_of_fileio):
4033         [1]. [4].
4034
4035         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
4036
4037         Expand getdefdir defn.
4038         Fix bogus rename() comment.
4039
4040         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
4041         to use standard XEmacs include files, e.g. sysfile.h, rather
4042         than system-specific includes.
4043
4044         * fns.c:
4045         * fns.c (Fsubseq):
4046         [5]. [6].
4047
4048         * frame.c (vars_of_frame):
4049         [1].
4050
4051         * getloadavg.c:
4052         * getloadavg.c (getloadavg):
4053         [1]. [6].
4054         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
4055         (We don't use it elsewhere in the code; just add a comment.)
4056
4057         * gif_io.c:
4058         [6].
4059         Add config.h.
4060
4061         * glyphs-msw.c:
4062         * glyphs-msw.c (mswindows_resource_instantiate):
4063         [1].
4064
4065         * glyphs-x.c (x_native_layout_instantiate):
4066         [5].
4067
4068         * gui-msw.c (Fmswindows_shell_execute):
4069         [1].
4070
4071         * insdel.c:
4072         [4].
4073
4074         * lisp.h:
4075         [4]. [5].
4076
4077         * lread.c (locate_file_in_directory_mapper):
4078         [1].
4079
4080         * lstream.c:
4081         [4].
4082
4083         * mem-limits.h:
4084         * mem-limits.h (get_lim_data):
4085         [1].
4086
4087         * menubar-msw.c:
4088         [4].
4089
4090         * ndir.h:
4091         [1].
4092
4093         * nt.c:
4094         * nt.c (getwd):
4095         * nt.c (closedir):
4096         * nt.c (rva_to_section):
4097         * nt.c (mswindows_executable_type):
4098         [1]. [6].
4099         Fix closedir() defn.
4100
4101         * nt.h:
4102         [[[[8]]]]: *_OK defs moved to sysfile.h.
4103
4104         * ntproc.c:
4105         [6]. [7].
4106
4107         * objects-x.c:
4108         [4].
4109
4110         * print.c:
4111         * print.c (std_handle_out_external):
4112         [1]. [4].
4113
4114         * process-nt.c:
4115         * process-nt.c (nt_create_process):
4116         [6].
4117         try to fix process quoting somewhat.
4118
4119         * process-unix.c (unix_create_process):
4120         [1].
4121
4122         * process.c:
4123         * process.c (vars_of_process):
4124         Add Vnull_device.
4125
4126         * process.h:
4127         [1].
4128
4129         * realpath.c:
4130         * realpath.c (xrealpath):
4131         [1].
4132
4133         * redisplay-tty.c (init_tty_for_redisplay):
4134         [3].
4135
4136         * redisplay.c:
4137         [4]. [6].
4138
4139         * scrollbar-msw.c:
4140         [4].
4141
4142         * sheap.c:
4143         * sheap.c (more_static_core):
4144         * sheap.c (report_sheap_usage):
4145         [5]. [6].
4146
4147         * signal.c:
4148         * signal.c (alarm_signal):
4149         [1]. [6].
4150
4151         * sound.c:
4152         [6].
4153
4154         * strftime.c:
4155         * strftime.c (zone_name):
4156         [1]. [5].
4157
4158         * symsinit.h (init_sunpro):
4159         [1].
4160
4161         * syscommctrl.h:
4162         commctrl.h not in Cygwin b20.1.
4163
4164         * sysdep.c:
4165         * sysdep.c (endif):
4166         * sysdep.c (sys_subshell):
4167         * sysdep.c (init_baud_rate):
4168         * sysdep.c (emacs_get_tty):
4169         * sysdep.c (emacs_set_tty):
4170         * sysdep.c (tty_init_sys_modes_on_device):
4171         * sysdep.c (init_system_name):
4172         * sysdep.c (sys_open):
4173         * sysdep.c (interruptible_open):
4174         * sysdep.c (sys_fopen):
4175         * sysdep.c (sys_mkdir):
4176         * sysdep.c (sys_rename):
4177         * sysdep.c (get_process_times_1):
4178         [1]. [6].
4179
4180         * sysdep.h:
4181         [1].
4182
4183         * sysdir.h:
4184         * sysdir.h (DIRENTRY_NONEMPTY):
4185         [1]. [6].
4186
4187         * sysdll.c (dll_init):
4188         * sysdll.h:
4189         [1].
4190
4191         * sysfile.h:
4192         [1]. [6]. [8].
4193         added text/binary defs.
4194
4195         * sysfloat.h:
4196         [1].
4197
4198         * sysproc.h:
4199         * sysproc.h (EDESTADDRREQ):
4200         * sysproc.h (poll_fds_for_input):
4201         [1]. [6].
4202
4203         * syspwd.h:
4204         [6].
4205
4206         * syssignal.h:
4207         [1].
4208
4209         * systime.h:
4210         [1]. [6].
4211
4212         * systty.h:
4213         [1].
4214
4215         * syswindows.h:
4216         [1].
4217         Always define WIN32_LEAN_AND_MEAN.
4218
4219         * unexcw.c (unexec):
4220         [5].
4221
4222         * unexec.c:
4223         * unexec.c (copy_text_and_data):
4224         * unexec.c (adjust_lnnoptrs):
4225         [1].
4226
4227         * unexnt.c:
4228         * unexnt.c (_start):
4229         [1].
4230
4231 2000-06-07  Ben Wing  <ben@xemacs.org>
4232
4233         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
4234         was used only as a model.  We've long since extracted any useful
4235         logic or code out of this. (I just did an exhaustive search.)
4236
4237         * s\msdos.h: Removed.
4238
4239         * s\windows95.h: Removed.
4240
4241 2000-06-10  Ben Wing  <ben@xemacs.org>
4242
4243         * s\cygwin32.h:
4244         [1]. [5].
4245         Don't use extern with fun defs.
4246
4247         * s\mingw32.h:
4248         [1]. [7].
4249         Remove nt\inc include.
4250         Remove getdisk, getdefdir. (The former is unused, the latter
4251         expanded in fileio.h.)
4252
4253         * s\windowsnt.h:
4254         * s\windowsnt.h (WIN32_NATIVE):
4255         * s\windowsnt.h (HAVE_STRCASECMP):
4256         [1]. [7].
4257         Add long comment about preprocessor changes.
4258         Remove getdisk, getdefdir. (The former is unused, the latter
4259         expanded in fileio.h.)
4260
4261 2000-06-10  Ben Wing  <ben@xemacs.org>
4262
4263         * m\arm.h:
4264         * m\delta.h:
4265         * m\intel386.h:
4266         * m\sequent.h:
4267         * m\template.h:
4268         * m\windowsnt.h:
4269         [1].
4270         Remove bogus/unused NO_SOCK_SIGIO.
4271
4272 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
4273
4274         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
4275         not an Emchar.
4276
4277 2000-06-04  Mike Sperber <mike@xemacs.org>
4278
4279         * casetab.c (set_case_table): For `set-standard-case-table',
4280         actually deposit the new case tables where the rest of XEmacs can
4281         see them.
4282
4283 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
4284
4285         * data.c (Faset): Don't cast XCHAR() to unsigned char.
4286
4287 2000-06-05  Ben Wing  <ben@xemacs.org>
4288
4289         * callproc.c (child_setup): Don't do close_load_descs() under
4290         MS Windows.  Put in a comment explaining why.
4291
4292 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
4293
4294         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
4295         Toolkit shell" which breaks `kill-compilation' on Windows NT
4296         native, retaining STDERR handling improvements.
4297
4298 2000-06-01  Andreas Jaeger  <aj@suse.de>
4299
4300         * s/s390.h: Support for S390, based on a patch by Martin
4301         Schwidefsky <schwidefsky@de.ibm.com>.
4302
4303 2000-05-30  Andy Piper  <andy@xemacs.org>
4304
4305         * window.c (allocate_window):
4306         (make_dummy_parent):
4307         (Fset_window_configuration): use new hashtable type.
4308
4309         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
4310         (struct image_instantiator_methods):
4311         (struct Lisp_Image_Instance): make instance geometry signed.
4312
4313         * glyphs.c (instantiate_image_instantiator):
4314         (image_instance_query_geometry):
4315         (image_instance_layout):
4316         (image_instance_layout):
4317         (query_string_geometry):
4318         (text_query_geometry):
4319         (image_instantiate):
4320         (image_instantiate):
4321         (cache_subwindow_instance_in_frame_maybe):
4322         (subwindow_query_geometry): make instance geometry signed.
4323
4324         * glyphs-widget.c (widget_query_geometry):
4325         (widget_layout):
4326         (button_query_geometry):
4327         (tree_view_query_geometry):
4328         (tab_control_query_geometry):
4329         (layout_query_geometry):
4330         (layout_layout):
4331         (native_layout_layout): make instance geometry signed.
4332
4333 2000-05-29  Olivier Galibert  <galibert@pobox.com>
4334
4335         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
4336         constant.
4337
4338         * general.c (syms_of_general): Add Qfull_assoc symbol.
4339
4340         * data.c (finish_marking_weak_lists): Mark full-assoc lists
4341         correctly.
4342         (decode_weak_list_type): Decode full-assoc type.
4343         (encode_weak_list_type): Encode full-assoc type.
4344         (Fmake_weak_list): Update doc string.
4345
4346 2000-05-30  Andy Piper  <andy@xemacs.org>
4347
4348         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
4349
4350         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
4351         (decode_hash_table_weakness): ditto.
4352         (Fhash_table_weakness): ditto.
4353         (Fhash_table_type): ditto.
4354         (finish_marking_weak_hash_tables): ditto.
4355         (hash_table_weakness_validate): ditto.
4356         (syms_of_elhash): ditto.
4357
4358 2000-05-28  Martin Buchholz <martin@xemacs.org>
4359
4360         * XEmacs 21.2.34 is released.
4361
4362 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
4363
4364         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
4365         start cache.
4366         (updating_line_start_cache): Gone.
4367         (regenerate_window): Replace resetting of VERTICAL_CLIP by
4368         generic code to force a minimum of 1 line laid out in the
4369         CMOTION_DISP case.
4370
4371 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
4372
4373         * glyphs.c (instantiate_image_instantiator): Check for initialized
4374         height & width no longer special cases IMAGE_NOTHING.
4375         (nothing_instantiate): Set height and width of instance.
4376
4377 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
4378
4379         * unexelf.c (unexec): Search for ".data" section.
4380         Initialize new_data2_offset from old_data_index.
4381         Remove redundant check for ElfW.
4382
4383 2000-05-23  Andy Piper  <andy@xemacs.org>
4384
4385         * glyphs.c (get_image_instantiator_governing_domain): allow more
4386         specific domains as the governing domain rather than expecting an
4387         exact match. This fixes problems with layouts.
4388
4389 2000-05-22  Andy Piper  <andy@xemacs.org>
4390
4391         * redisplay-output.c (compare_runes): check for non-images
4392
4393         * glyphs.c (set_glyph_dirty_p): ditto.
4394         (update_glyph_cachel_data): ditto.
4395
4396         * glyphs-widget.c (layout_post_instantiate): ditto.
4397         (layout_post_instantiate): ditto.
4398
4399         * event-msw.c (mswindows_wnd_proc): warning removal.
4400
4401 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
4402
4403         * s\mingw32.h: Added #undef for CLASH_DETECTION.
4404
4405         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
4406
4407         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
4408
4409         * nt.c (rva_to_section): mingw32 needs rva_to_section.
4410         (mswindows_executable_type): mingw32 now has enough headers for
4411         this to work.
4412
4413 2000-05-20  Andy Piper  <andy@xemacs.org>
4414
4415         * console-msw.c (mswindows_output_last_error): ; -> ,
4416
4417 2000-05-12  Andy Piper  <andy@xemacs.org>
4418
4419         * console-msw.c (FROB): compare ints with ints.
4420
4421 2000-05-11  Andy Piper  <andy@xemacs.org>
4422
4423         * glyphs-x.c (x_finalize_image_instance): make minimal build
4424         happy.
4425
4426 2000-05-20  Ben Wing  <ben@xemacs.org>
4427
4428         * event-Xt.c:
4429         * event-Xt.c (vars_of_event_Xt):
4430         move modifier-keys-are-sticky to event-stream.c.
4431
4432         * event-msw.c:
4433         * event-msw.c (mswindows_enqueue_mouse_button_event):
4434         * event-msw.c (key_needs_default_processing_p):
4435         * event-msw.c (XEMSW_LCONTROL):
4436         * event-msw.c (mswindows_handle_sticky_modifiers):
4437         * event-msw.c (FROB):
4438         * event-msw.c (clear_sticky_modifiers):
4439         * event-msw.c (output_modifier_keyboard_state):
4440         * event-msw.c (output_alt_keyboard_state):
4441         * event-msw.c (mswindows_wnd_proc):
4442         * event-msw.c (mswindows_modifier_state):
4443         * event-msw.c (emacs_mswindows_handle_magic_event):
4444         implement sticky modifiers.
4445
4446         * event-stream.c:
4447         * event-stream.c (vars_of_event_stream):
4448         move modifier-keys-are-sticky here.
4449
4450         * lisp.h:
4451         add CHECK_FUNCTION.
4452
4453         * rangetab.c:
4454         implement map-range-table.
4455
4456
4457 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
4458
4459         * redisplay-tty.c (reset_tty_modes):
4460         (tty_redisplay_shutdown): Adjust argument type to
4461         tty_frame_output_end.
4462
4463 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
4464
4465         * eval.c (Fbacktrace): Don't output a line with only right
4466         parenthesis.
4467
4468 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
4469
4470         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
4471         (Fpq_reset_poll): Ditto.
4472
4473 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
4474
4475         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
4476
4477 2000-05-16  Ben Wing  <ben@xemacs.org>
4478
4479         * buffer.c:
4480         * buffer.c (dfc_convert_to/from_internal_format):
4481         * buffer.c (reinit_vars_of_buffer):
4482         Fix conversion functions to allow reentrancy.
4483
4484         * console-msw.c:
4485         * console-msw.c (mswindows_output_last_error):
4486         New fun, generally useful -- output a human-readable
4487         version of GetLastError() on the console.
4488
4489         * console-msw.h:
4490         * console-msw.h (struct mswindows_frame):
4491         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
4492
4493         * console-stream.c (stream_output_begin):
4494         * console-stream.c (stream_output_end):
4495         * console-stream.c (stream_output_vertical_divider):
4496         * console-stream.c (stream_clear_region):
4497         * console-stream.c (stream_flash):
4498         * console-stream.c (console_type_create_stream):
4499         Delete blank stream methods, not needed.
4500
4501         * console.h (struct console_methods):
4502         Split begin/end methods into window and frame.
4503
4504         * event-msw.c:
4505         * event-msw.c (mswindows_handle_paint):
4506         * event-msw.c (output_alt_keyboard_state):
4507         * event-msw.c (mswindows_wnd_proc):
4508         * event-msw.c (vars_of_event_mswindows):
4509         Comment about problems with ignored-expose.
4510         Define mswindows-debug-events; not really implemented.
4511
4512         * frame-msw.c (mswindows_init_frame_1):
4513         random cleanups.
4514
4515         * glyphs-msw.c:
4516         * glyphs-msw.c (begin_defer_window_pos):
4517         * glyphs-msw.c (mswindows_unmap_subwindow):
4518         * glyphs-msw.c (mswindows_map_subwindow):
4519         * glyphs-msw.c (mswindows_resize_subwindow):
4520         Use DeferWindowPos to reduce flashing when mapping/unmapping.
4521
4522         * glyphs.c (make_image_instance_1):
4523         Fix crash.
4524
4525         * gutter.c (Fredisplay_gutter_area):
4526         Use new begin/end methods.
4527
4528         * lisp.h (Dynarr_new2):
4529         New creation fun.
4530
4531         * redisplay-msw.c:
4532         * redisplay-msw.c (mswindows_frame_output_begin):
4533         * redisplay-msw.c (mswindows_frame_output_end):
4534         * redisplay-msw.c (console_type_create_redisplay_mswindows):
4535         New begin/end methods -- handle DeferWindowPos.
4536
4537         * redisplay-output.c (redisplay_move_cursor):
4538         * redisplay-output.c (redraw_cursor_in_window):
4539         * redisplay-output.c (redisplay_update_line):
4540         * redisplay-output.c (redisplay_output_window):
4541         New begin/end methods.
4542
4543         * redisplay-tty.c:
4544         * redisplay-tty.c (tty_frame_output_begin):
4545         * redisplay-tty.c (tty_frame_output_end):
4546         * redisplay-tty.c (console_type_create_redisplay_tty):
4547         New begin/end methods.
4548
4549         * redisplay-x.c:
4550         * redisplay-x.c (x_window_output_begin):
4551         * redisplay-x.c (x_window_output_end):
4552         * redisplay-x.c (console_type_create_redisplay_x):
4553         New begin/end methods.
4554
4555         * redisplay.c (redisplay_frame):
4556         * redisplay.c (Fredisplay_echo_area):
4557         New begin/end methods.
4558         use MAYBE_DEVMETH for clear_frame; it may not exist.
4559
4560         * window.h (WINDOW_XFRAME):
4561         WINDOW_XFOO macros -- get locale and decode struct pointer.
4562
4563
4564 2000-05-12  Ben Wing  <ben@xemacs.org>
4565
4566         * emacs.c:
4567         * emacs.c (ensure_no_quitting_from_now_on):
4568         * emacs.c (fatal_error_signal):
4569         * emacs.c (mswindows_handle_hardware_exceptions):
4570         * emacs.c (main):
4571         * emacs.c (Fkill_emacs):
4572         * emacs.c (shut_down_emacs):
4573         * emacs.c (assert_failed):
4574         various improvements in fatal error handling.
4575
4576         * eval.c:
4577         move preparing_for_armageddon to emacs.c.
4578
4579         * lisp.h:
4580         declare fatal_error_in_progress.
4581
4582         * print.c:
4583         * print.c (std_handle_out_external):
4584         * print.c (std_handle_out_va):
4585         * print.c (stderr_out):
4586         * print.c (stdout_out):
4587         use console under mswin when no standard output.
4588         don't do code conversion during fatal error.
4589
4590         * scrollbar.c (Fscrollbar_page_up):
4591         * scrollbar.c (Fscrollbar_page_down):
4592         fix missing else.  reindent.
4593
4594 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
4595
4596         Emergency fix.
4597
4598         * glyphs.h (GLYPH_CACHEL_DESCENT):
4599         (GLYPH_CACHEL_DESCENT):
4600         (GLYPH_CACHEL_DESCENT):
4601         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
4602         used in case these are inline functions.
4603         Use more absurd values to error check.
4604
4605         include window.h for error check functions.
4606
4607 2000-05-11  Ben Wing  <ben@xemacs.org>
4608
4609         * cmdloop.c (Freally_early_error_handler):
4610         Display message box under windows; otherwise, message will disappear
4611         before it can be viewed.
4612
4613         * console-msw.c:
4614         * console-msw.c (Fmswindows_message_box):
4615         * console-msw.c (FROB):
4616         * console-msw.c (syms_of_console_mswindows):
4617         Define new fun `mswindows-message-box'.
4618         #### I will merge this into `popup-dialog-box'; just give me
4619         a bit of time.
4620
4621         * general.c:
4622         * general.c (syms_of_general):
4623         Some new symbols used in `mswindows-message-box'.
4624
4625         * glyphs.c:
4626         * glyphs.c (Fset_image_instance_property):
4627         put warning in this fun.
4628
4629         * glyphs.h:
4630         * glyphs.h (GLYPH_CACHEL_WIDTH):
4631         * glyphs.h (GLYPH_CACHEL_ASCENT):
4632         * glyphs.h (GLYPH_CACHEL):
4633         * glyphs.h (GLYPH_CACHEL_GLYPH):
4634         define error-checking versions to try to catch a bug i've seen --
4635         redisplay gets in an infinite loop because the glyph width of the
4636         continuation glyph is 65535.
4637
4638         * lisp.h:
4639         Extern message-box stuff.
4640
4641         * window.c (allocate_window):
4642         * window.c (make_dummy_parent):
4643         * window.c (Fset_window_configuration):
4644         Use EQUAL not EQ for subwindow caches to make them work a bit
4645         better. (Something is still very broken.)
4646
4647
4648 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
4649
4650         * glyphs.c (image_instantiate): Suppress gcc warnings.
4651         (Fmake_image_instance): Fix doc string.
4652         * specifier.c (Fmake_specifier): Ditto.
4653
4654 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
4655
4656         * paths.h.in (PATH_LOCK): Removed.
4657         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
4658         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
4659
4660 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
4661
4662         * fns.c (Ffeaturep): Update e-mail address in doc-string.
4663         Document (featurep '(and xemacs 21.02)).
4664
4665 2000-05-09  Ben Wing  <ben@xemacs.org>
4666
4667         * buffer.c (complex_vars_of_buffer):
4668         update modeline-format doc.
4669
4670         * device.h:
4671         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
4672
4673         * emacs.c:
4674         timeline of all released versions of Emacs, for use in creating
4675         authorship comments and in synching up.
4676
4677         * glyphs-widget.c (image_instantiator_buttons):
4678         * glyphs-widget.c (image_instantiator_edit_fields):
4679         * glyphs-widget.c (image_instantiator_combo_box):
4680         * glyphs-widget.c (image_instantiator_scrollbar):
4681         * glyphs-widget.c (image_instantiator_progress_guage):
4682         * glyphs-widget.c (image_instantiator_tree_view):
4683         * glyphs-widget.c (image_instantiator_tab_control):
4684         * glyphs-widget.c (image_instantiator_labels):
4685         * glyphs-widget.c (image_instantiator_layout):
4686         * glyphs-widget.c (image_instantiator_native_layout):
4687         rename decode_domain method to governing_domain.
4688
4689         * glyphs.c:
4690         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
4691         * glyphs.c (add_entry_to_device_ii_format_list):
4692         make sure we don't put an entry more than once into the list.
4693         * glyphs.c (check_instance_cache_mapper):
4694         *************************************************************
4695         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
4696         HAVE BEEN GETTING.
4697         *************************************************************
4698         * glyphs.c (get_image_instantiator_governing_domain):
4699         clean up, expand on new concept of governing domain.
4700         * glyphs.c (instantiate_image_instantiator):
4701         * glyphs.c (allocate_image_instance):
4702         use governing_domain instead of cache_domain in naming.
4703         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
4704         * glyphs.c (make_image_instance_1):
4705         * glyphs.c (Fmake_image_instance):
4706         allow for any domain (not just device), and process the
4707         governing domain correctly.  very big doc fix.
4708         * glyphs.c (Fimage_instance_domain):
4709         new primitive, to retrieve the governing domain of an image instance.
4710         * glyphs.c (image_instantiate):
4711         use new governing_domain stuff.  this fixes a crash you could get
4712         by instantiating certain widget glyphs in frame locales. (should
4713         signal an error instead of crashing.)
4714         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
4715         * glyphs.c (Fglyphp): clean up doc.
4716         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
4717         * glyphs.c (syms_of_glyphs):
4718         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
4719         * glyphs.c (image_instantiator_format_create): add some comments about
4720         bogus code.
4721         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
4722         for current-display-table. (Apparently Hrjove implemented in 1998 a
4723         design I wrote up in 1996, but didn't update the doc string.)
4724
4725         * glyphs.h: clean up a doc string.
4726         * glyphs.h (governing_domain):
4727         * glyphs.h (struct image_instantiator_methods):
4728         changes for governing_domain stuff.
4729
4730         * gutter.c:
4731         * gutter.c (Fgutter_specifier_p):
4732         * gutter.c (Fgutter_size_specifier_p):
4733         * gutter.c (Fgutter_visible_specifier_p):
4734         * objects.c:
4735         * objects.c (Fcolor_specifier_p):
4736         * objects.c (Ffont_specifier_p):
4737         * objects.c (Fface_boolean_specifier_p):
4738         doc strings moved to make-*-specifier.
4739
4740         * redisplay.c (add_disp_table_entry_runes_1):
4741         * redisplay.c (generate_fstring_runes):
4742         * redisplay.c (screen):
4743         add random comments and doc strings.
4744
4745         * specifier.c:
4746         * specifier.c (Fmake_specifier):
4747         major overhaul of this doc string.
4748
4749         * specifier.c (Fvalid_specifier_domain_p):
4750         comment about the bogosity of image instances being domains.
4751         * specifier.c (decode_domain):
4752         now non-static, used in glyphs.c.
4753         * specifier.c (specifier_instance):
4754         comment about the bogosity of image instances being domains.
4755         * specifier.c (Fgeneric_specifier_p):
4756         move doc string to make-generic-specifier.
4757         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
4758         rebackslashify.
4759
4760         * specifier.h:
4761         * specifier.h (DOMAIN_FRAME):
4762         * specifier.h (DOMAIN_LIVE_P):
4763         * specifier.h (DOMAIN_XDEVICE):
4764         rebackslashify.
4765         add comments about problems with these macros.
4766         prototype for decode_domain.
4767
4768         * toolbar.c:
4769         * toolbar.c (Ftoolbar_specifier_p):
4770         move doc string to `make-toolbar-specifier'.
4771
4772         * window.c (window_unmap_subwindows_cache_mapper):
4773         *************************************************************
4774         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
4775         HAVE BEEN GETTING.
4776         *************************************************************
4777
4778 2000-05-09  Andy Piper  <andy@xemacs.org>
4779
4780         * glyphs.h: declare reset_frame_subwindow_instance_cache.
4781
4782         * window.c (Fset_window_configuration): reset the frame subwindow
4783         cache and re-initialize the window subwindow caches.
4784
4785         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
4786
4787 2000-05-09  Ben Wing  <ben@xemacs.org>
4788
4789         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
4790         DWORD.
4791
4792 2000-04-26  Mike Woolley  <mike@bulsara.com>
4793
4794         * ntheap.c: Changed recreate_heap to limit the amount reserved
4795         for the heap to that which is actually available. Also now
4796         displays a message box (with some dignostics) in the event that
4797         it still can't start.
4798
4799 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
4800
4801         * callproc.c (Fold_call_process_internal): GCPRO path
4802
4803 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
4804
4805         Patch by Bill Perry.
4806
4807         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
4808         back data instead of #ifdef.
4809         (Fscrollbar_page_down): ditto.
4810
4811 2000-05-07  Ben Wing  <ben@xemacs.org>
4812
4813         * buffer.h:
4814         Kludge for defining Qmswindows_tstr.
4815
4816         * nt.c:
4817         * nt.c (open_input_file):
4818         * nt.c (open_output_file):
4819         * nt.c (rva_to_section):
4820         * nt.c (mswindows_executable_type):
4821         Move all memory-mapped-file routines here (some were in unexnt.c,
4822         which is bad because they are used by process-nt.c, and unexnt
4823         won't be around when portable dumping).  Synched the above routines
4824         with FSF 20.6.
4825
4826         * nt.h:
4827         Removed ifdef'd out bogus code.
4828         Fixed some prototypes.
4829
4830         * nt.h (file_data):
4831         * nt.h (OFFSET_TO_RVA):
4832         * nt.h (RVA_TO_OFFSET):
4833         * nt.h (RVA_TO_PTR):
4834         Moved the memory-mapped-file structures, macros and prototypes
4835         here, to parallel nt.c.  ntheap.h should really be removed
4836         entirely, and it's a non-portable-dumper specific file.
4837
4838         * ntheap.h (round_to_next):
4839         Moved the memory-mapped-file structures, macros and prototypes
4840         to nt.h.
4841
4842         * ntproc.c (compare_env):
4843         Moved rva_to_section and mswindows_executable_type to nt.c.
4844         Moved compare_env to process-nt.c.
4845         ntproc.c will die, one day.
4846
4847         * ntproc.c (sys_spawnve):
4848         Account for win32_ -> mswindows_.
4849
4850         * process-nt.c:
4851         * process-nt.c (struct nt_process_data):
4852         * process-nt.c (ensure_console_window_exists):
4853         * process-nt.c (compare_env):
4854         * process-nt.c (nt_create_process):
4855         * process-nt.c (nt_kill_process_by_pid):
4856         * process-nt.c (syms_of_process_nt):
4857         * process-nt.c (vars_of_process_nt):
4858         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
4859         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
4860         changes).  Eliminate our old `nt-quote-process-args' mechanism.
4861         Synch up nt_create_process with FSF 20.6 sys_spawnve.
4862         Move compare_env here from ntproc.c.
4863
4864         * process.c (Fprocess_send_region):
4865         Takes an optional fourth argument, BUFFER, which should fix some
4866         problems with call-process.
4867
4868         * syscommctrl.h:
4869         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
4870
4871         * syswindows.h:
4872         Move ICC_BAR_CLASSES to syscommctrl.h.
4873         Add preliminary macros for MSWindows/Mule.  More to come.
4874
4875         * unexnt.c:
4876         * unexnt.c (unexec):
4877         open_output_file moved to nt.c.
4878
4879
4880 2000-05-05  Andy Piper  <andy@xemacs.org>
4881
4882         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
4883         instance from the frame cache also since GC may catch up too late
4884         to make frame deletion sane.
4885
4886 2000-05-04  Andy Piper  <andy@xemacs.org>
4887
4888         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
4889         (x_finalize_image_instance): ungcpro on deletion.
4890
4891         * glyphs.c (image_instantiator_format_create): give pointers a
4892         query geometry method so that the geometry is at least set.
4893
4894         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
4895         initialize layouts if using widgets.
4896
4897 2000-05-03  Andy Piper  <andy@xemacs.org>
4898
4899         * nt.c: remove bogus reference to sysmmsystem.h
4900
4901         * gui-x.c (popup_selection_callback): fix no selection abort.
4902
4903 2000-05-02  Andy Piper  <andy@xemacs.org>
4904
4905         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
4906         (mswindows_widget_instantiate): ditto.
4907
4908         * glyphs-widget.c (initialize_widget_image_instance): initialize
4909         children correctly.
4910         (widget_instantiate): cope with children and items in the same
4911         instance.
4912
4913         * glyphs.c (mark_image_instance): cope with children as a first
4914         class member.
4915         (image_instance_equal): ditto.
4916         (image_instance_hash): ditto.
4917         (image_instance_changed): ditto.
4918
4919 2000-04-30  Andy Piper  <andy@xemacs.org>
4920
4921         * glyphs.c (subwindow_query_geometry): new function. Return some
4922         defaults.
4923         (subwindow_instantiate): don't assign dimensions if none have been
4924         given.
4925         (image_instantiator_format_create): add subwindow_query_geometry.
4926         (print_image_instance): cope with layouts as widgets.
4927
4928 2000-04-29  Andy Piper  <andy@xemacs.org>
4929
4930         * frame.c (delete_frame_internal): call
4931         free_frame_subwindow_instance_cache so that all subwindows are
4932         finalized before their parent.
4933         (mark_frame): remove subwindow_cachels.
4934         (Fmake_frame): remove subwindow_cachel manipulation.
4935         (allocate_frame_core): subwindow_instance_cache is a weak list.
4936         (delete_frame_internal): set subwindow_instance_cache to nil.
4937
4938         * glyphs-msw.c (mswindows_finalize_image_instance): make double
4939         finalization safe.
4940         (mswindows_finalize_image_instance): use the device
4941         not the domain as the domain may have died already.
4942
4943         * glyphs-x.c (x_finalize_image_instance): ditto.
4944         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
4945         HEIGHT.
4946
4947         * redisplay-output.c (redisplay_unmap_subwindows): update for
4948         subwindow instance cache as a weak list.
4949         (redisplay_unmap_subwindows_maybe): ditto.
4950         (redisplay_unmap_subwindows_except_us): ditto.
4951
4952         * glyphs.c (unmap_subwindow): error checking will check the domain
4953         so don't deal with it here. Don't use cachels anymore.
4954         (map_subwindow): ditto.
4955         (update_subwindow_cachel_data): remove old accessor names.
4956         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
4957         (Fresize_subwindow): don't update cachel.
4958         (mark_subwindow_cachels):
4959         (update_subwindow_cachel_data):
4960         (add_subwindow_cachel):
4961         (get_subwindow_cachel_index):
4962         (update_subwindow_cachel):
4963         (reset_subwindow_cachels):
4964         (mark_subwindow_cachels_as_not_updated): deleted.
4965         (cache_subwindow_instance_in_frame_maybe): new function. Add a
4966         subwindow instance to the frame cache.
4967         (find_matching_subwindow): update for subwindow instance cache as
4968         a weak list.
4969         (update_widget_instances): ditto.
4970         (image_instance_type_to_mask):inlined.
4971         (free_frame_subwindow_instance_cache): new function. finalize all
4972         subwindows that are instantiated.
4973
4974         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
4975         of cachel information.
4976         (IMAGE_INSTANCE_DISPLAY_X):
4977         (IMAGE_INSTANCE_DISPLAY_Y):
4978         (IMAGE_INSTANCE_DISPLAY_WIDTH):
4979         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
4980         (XIMAGE_INSTANCE_DISPLAY_X):
4981         (XIMAGE_INSTANCE_DISPLAY_Y):
4982         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
4983         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
4984         remove subwindow_cachel structure and function references.
4985         (image_instance_type_to_mask): inline from glyphs.c
4986
4987         * redisplay.c (redisplay_frame): remove subwindow_cachel
4988         references.
4989
4990         * frame.h (struct frame): remove subwindow_cachels.
4991         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
4992
4993         * frameslots.h: add subwindow_instance_cache.
4994
4995         * window.c (replace_window): check subwindow cache of replacement.
4996         (window_unmap_subwindows_cache_mapper):
4997         (window_unmap_subwindows): new functions. Unmap all subwindows
4998         cached on this window.
4999         (mark_window_as_deleted): unmap all subwindows.
5000
5001 2000-04-27  Andy Piper  <andy@xemacs.org>
5002
5003         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
5004
5005         * glyphs-widget.c (widget_layout): return something.
5006         (layout_layout): return something. Fail if not initialized.
5007         (layout_query_geometry): ditto.
5008         (image_instantiator_native_layout): new function. Initialized the
5009         native layout type.
5010         (widget_instantiate): don't do layout stuff here.
5011
5012         * glyphs.c (instantiate_image_instantiator): reorded calling or
5013         instantiate and post_instantiate with layout in between.
5014         (image_instance_layout): be more selective about deciding whether
5015         the layout has been done or not.
5016
5017         * glyphs.h (struct image_instantiator_methods): return a value
5018         from layout_method.
5019
5020 2000-04-26  Andy Piper  <andy@xemacs.org>
5021
5022         * glyphs.c (allocate_image_instance): make initial width and
5023         height unspecified. Set initialized to 0.
5024
5025         * syscommctrl.h new file. Encapsulates commctrl.h.
5026
5027         * syswindows.h new file. Encapsulates windows.h.
5028
5029         * ntplay.c: use new syswindows.h and syscommctrl.h header.
5030         * nt.c: ditto.
5031         * console-msw.h: ditto.
5032
5033         * redisplay-tty.c (tty_output_display_block): remove layout references.
5034
5035         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
5036         window handle rather than just the frame.
5037
5038         * glyphs.c (mark_image_instance): remove layout references.
5039         (print_image_instance): ditto.
5040         (image_instance_equal): ditto.
5041         (image_instance_hash): ditto.
5042         (decode_image_instance_type): ditto.
5043         (encode_image_instance_type): ditto.
5044         (image_instantiate): ditto.
5045         (allocate_glyph): ditto.
5046         (Fimage_instance_height): ditto.
5047         (Fimage_instance_width): ditto.
5048         (update_subwindow): ditto.
5049
5050         * redisplay-x.c (x_output_display_block): recode for layouts as
5051         widgets.
5052
5053         * redisplay-output.c (redisplay_output_layout): recode for layouts
5054         as widgets.
5055         (compare_runes): remove layout references.
5056
5057         * redisplay-msw.c (mswindows_output_display_block): recode for
5058         layouts as widgets.
5059
5060         * glyphs-widget.c (image_instantiator_layout): remove
5061         layout_possible_dest_types.
5062         (layout_possible_dest_types): deleted.
5063
5064         * glyphs.h (image_instance_type): remove layout references.
5065         (struct Lisp_Image_Instance): ditto. Add initialized flag.
5066         (IMAGE_INSTANCE_INITIALIZED): new accessor.
5067         (XIMAGE_INSTANCE_INITIALIZED): ditto.
5068
5069 2000-04-25  Andy Piper  <andy@xemacs.org>
5070
5071         * glyphs-widget.c (image_instantiator_buttons):
5072         (image_instantiator_edit_fields):
5073         (image_instantiator_combo_box):
5074         (image_instantiator_scrollbar):
5075         (image_instantiator_progress_guage):
5076         (image_instantiator_tree_view):
5077         (image_instantiator_tab_control):
5078         (image_instantiator_labels):
5079         (image_instantiator_layout): call default post_instantiate method.
5080         (widget_post_instantiate): new function. Simply lays out the
5081         widgets.
5082
5083         * glyphs.h (struct image_instantiator_methods): add
5084         post_instantiate method.
5085
5086         * glyphs.c (instantiate_image_instantiator): add post_instantiate
5087         method calls.
5088
5089 2000-04-23  Andy Piper  <andy@xemacs.org>
5090
5091         * glyphs.h (struct image_instantiator_methods): add
5092         decode_domain_method.
5093         (struct Lisp_Image_Instance): remove subwindow frame - it can be
5094         derived from the domain.
5095         (IMAGE_INSTANCE_FRAME): new accessor.
5096         (XIMAGE_INSTANCE_FRAME): ditto.
5097
5098         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
5099         instead of _SUBWINDOW_FRAME.
5100         (finalize_image_instance): ditto.
5101         (Fimage_instance_foreground): ditto.
5102         (Fimage_instance_background): ditto.
5103         (image_instantiate): ditto.
5104         (update_subwindow_cachel): ditto.
5105         (update_subwindow): ditto.
5106         (unmap_subwindow): ditto.
5107         (map_subwindow): ditto
5108         (subwindow_instantiate): ditto.
5109         * glyphs-msw.c (mswindows_update_widget): ditto.
5110         (mswindows_progress_gauge_instantiate): ditto.
5111         (mswindows_tab_control_update): ditto.
5112         * glyphs-x.c (x_update_widget): ditto.
5113         (x_widget_instantiate): ditto.
5114         (x_tab_control_instantiate): ditto.
5115         (x_tab_control_update): ditto.
5116         * event-msw.c (mswindows_wnd_proc): ditto
5117
5118         * glyphs-widget.c (image_instantiator_layout): use
5119         subwindow_decode_domain.
5120         (image_instantiator_buttons): ditto.
5121         (image_instantiator_edit_fields): ditto.
5122         (image_instantiator_combo_box): ditto.
5123         (image_instantiator_scrollbar): ditto.
5124         (image_instantiator_progress_guage): ditto.
5125         (image_instantiator_tree_view): ditto.
5126         (image_instantiator_tab_control): ditto.
5127         (image_instantiator_labels): ditto.
5128         (image_instantiator_layout): ditto.
5129
5130         * glyphs.c: add instance error checking to many functions.
5131         (instantiate_image_instantiator): decode device from cache_domain.
5132         (image_instantiate): partially rewrite by using
5133         decode_image_instantiator_domain to determine what domain the
5134         instance needs to be cached in.
5135         (decode_image_instantiator_domain): new function. Determine what
5136         domain the image needs to be cached in.
5137         (check_window_subwindow_cache): new error checking function.
5138         (check_instance_cache_mapper): ditto.
5139         (check_image_instance_structure): ditto.
5140         (subwindow_decode_domain): new function. Encodes a window as a
5141         subwindow's cache domain.
5142         (image_instantiator_format_create): use it for text and
5143         subwindows.
5144
5145 2000-04-21  Andy Piper  <andy@xemacs.org>
5146
5147         * glyphs.c (image_instance_device): new function.
5148         (image_instance_frame): new function.
5149         (image_instance_window): new function.
5150         (image_instance_live_p): new function.
5151
5152         * window.c (mark_window_as_deleted): reset the subwindow_instance_
5153         cache to nil.
5154
5155         * glyphs.h (struct Lisp_Image_Instance): device->domain.
5156         (IMAGE_INSTANCE_DOMAIN): new accessor.
5157         (XIMAGE_INSTANCE_DOMAIN): ditto.
5158
5159         * glyphs-x.c (x_finalize_image_instance): device->domain.
5160
5161         * glyphs-msw.c (init_image_instance_geometry): device->domain.
5162         (mswindows_finalize_image_instance): ditto.
5163
5164         * glyphs-eimage.c (jpeg_instantiate): device->domain.
5165         (gif_instantiate): ditto.
5166         (png_instantiate): ditto.
5167         (tiff_instantiate): ditto.
5168
5169         * glyphs.c (instantiate_image_instantiator): use domain rather
5170         than device.
5171         (mark_image_instance): device -> domain.
5172         (print_image_instance): ditto.
5173         (finalize_image_instance): ditto.
5174         (image_instance_equal): ditto.
5175         (allocate_image_instance): ditto.
5176         (Fcolorize_image_instance): ditto.
5177         (query_string_geometry): ditto.
5178         (image_instantiate): ditto
5179         (query_string_font): ditto.
5180         (image_instantiate): ditto.
5181         (update_subwindow): ditto.
5182         (unmap_subwindow): ditto.
5183         (map_subwindow): ditto.
5184         (subwindow_instantiate): ditto.
5185
5186         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
5187         (DOMAIN_FRAME): ditto.
5188         (DOMAIN_WINDOW): ditto.
5189         (DOMAIN_LIVE_P): ditto.
5190         (XDOMAIN_DEVICE): ditto.
5191         (XDOMAIN_FRAME): ditto.
5192         (XDOMAIN_WINDOW): ditto.
5193
5194         * specifier.c (Fvalid_specifier_domain_p): add image instances as
5195         a valid specifier domain.
5196
5197 2000-04-19  Andy Piper  <andy@xemacs.org>
5198
5199         * glyphs-widget.c (syms_of_glyphs_widget): remove
5200         widget-callback-current-channel.
5201         (vars_of_glyphs_widget): ditto.
5202         * glyphs.h: ditto
5203
5204         * gui.c (get_gui_callback): revert to previous behaviour.
5205
5206 2000-04-18  Andy Piper  <andy@xemacs.org>
5207
5208         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
5209         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
5210         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
5211
5212         * glyphs.c (image_instance_equal): add margin_width.
5213         (image_instance_hash): ditto.
5214
5215         * glyphs-widget.c (widget_instantiate): deal with margin-width.
5216         (layout_query_geometry): ditto.
5217         (layout_layout): ditto.
5218         (syms_of_glyphs_widget): add margin-width.
5219         (image_instantiator_layout): allow margin-width.
5220
5221         * glyphs.c (update_widget_instances): make a normal function.
5222         (syms_of_glyphs): remove Qupdate_widget_instances.
5223         * glyphs.h: ditto.
5224
5225         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
5226         so that we don't corrupt ideas about the last event or
5227         command. Remove widget-callback-current-channel fiddling.
5228         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
5229
5230 2000-05-01  Martin Buchholz <martin@xemacs.org>
5231
5232         * XEmacs 21.2.33 is released.
5233
5234 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
5235
5236         * make-src-depend: Allow dots in header file name.
5237
5238 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
5239
5240         * mule-charset.h (struct charset_lookup): Add
5241         next_allocated_1_byte_leading_byte and
5242         next_allocated_2_byte_leading_byte.
5243         * mule-charset.c: Move above two variables so that those values
5244         will be dumped.
5245
5246 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
5247
5248         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
5249         when string length is zero.
5250         (find_charsets_in_emchar_string): Ditto.
5251
5252 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
5253
5254         * lisp.h: extern Qdialog and Qmenubar.
5255
5256         * gui-x.c: added events.h.
5257                 also fixed typo which made the file uncompilable.
5258
5259         * general.c: Added Qmenubar and Qdialog
5260
5261 2000-04-28  Ben Wing  <ben@xemacs.org>
5262
5263         * frame-msw.c (mswindows_init_frame_1):
5264         * frame-msw.c (mswindows_mark_frame):
5265         * event-msw.c (mswindows_enqueue_dispatch_event):
5266         * console-msw.h:
5267         * console-msw.h (struct mswindows_frame):
5268         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
5269         there are now three hash tables for callbacks.
5270         mswindows_enqueue_dispatch_event is no longer static.
5271
5272         * dialog-x.c (maybe_run_dbox_text_callback):
5273         * dialog-x.c (dbox_descriptor_to_widget_value):
5274         switch to new cons3 form for callbacks.
5275
5276         * glyphs-msw.c (mswindows_register_gui_item):
5277         * glyphs-msw.c (mswindows_widget_instantiate):
5278         * glyphs-msw.c (add_tree_item):
5279         * glyphs-msw.c (add_tab_item):
5280         new image instance parameter, so it can be passed to callback-ex.
5281         respect :callback-ex as well as :callback.
5282
5283         * glyphs-widget.c (VALID_GUI_KEYWORDS):
5284         add :callback-ex.
5285
5286         * glyphs.c (print_image_instance):
5287         prettify, e.g. now prints widget type.
5288
5289         * gui-x.h:
5290         certain funs have new image instance parameter.
5291
5292         * gui.c:
5293         * gui.c (get_gui_callback):
5294         * gui.c (gui_item_add_keyval_pair):
5295         * gui.c (gui_item_init):
5296         * gui.c (gui_add_item_keywords_to_plist):
5297         * gui.c (mark_gui_item):
5298         * gui.c (gui_item_hash):
5299         * gui.c (gui_item_equal):
5300         * gui.c (copy_gui_item):
5301         * gui.c (syms_of_gui):
5302         recognize callback-ex in a number of places.
5303         also, fix the annoying "can't get out of yes-no dialog" bug.
5304
5305         * gui.h:
5306         * gui.h (struct Lisp_Gui_Item):
5307         recognize callback-ex in a number of places.
5308
5309         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
5310         new parameter in button_item_to_widget_value.
5311
5312         * glyphs-x.c (x_update_widget):
5313         * glyphs-x.c (x_button_instantiate):
5314         * glyphs-x.c (x_button_update):
5315         * glyphs-x.c (x_progress_gauge_instantiate):
5316         * glyphs-x.c (x_edit_field_instantiate):
5317         * glyphs-x.c (x_combo_box_instantiate):
5318         * glyphs-x.c (x_tab_control_instantiate):
5319         * glyphs-x.c (x_label_instantiate):
5320         new image instance parameter in various places.
5321
5322         * event-Xt.c:
5323         * event-Xt.c (enqueue_Xt_dispatch_event):
5324         this fun gets exported.
5325
5326         * gui-msw.c:
5327         * gui-msw.c (mswindows_handle_gui_wm_command):
5328         handle both :callback and :callback-ex, and generate our own
5329         event because it's one of the callback-ex arguments.
5330
5331         * gui-x.c:
5332         * gui-x.c (popup_selection_callback):
5333         handle both :callback and :callback-ex, and generate our own
5334         event because it's one of the callback-ex arguments.
5335         * gui-x.c (button_item_to_widget_value):
5336         * gui-x.c (gui_items_to_widget_values_1):
5337         * gui-x.c (gui_item_children_to_widget_values):
5338         * gui-x.c (gui_items_to_widget_values):
5339         new image instance parameter in various places.
5340
5341         * fns.c (Freplace_list):
5342         fix small typo in doc string.
5343
5344         * lisp.h:
5345         declare enqueue_Xt_dispatch_event.
5346
5347 2000-04-28  Ben Wing  <ben@xemacs.org>
5348
5349         * buffer.c:
5350         * buffer.c (Frecord_buffer):
5351         * buffer.c (syms_of_buffer):
5352         delete record-buffer-hook.
5353
5354         * fns.c:
5355         * fns.c (Freplace_list):
5356         * fns.c (syms_of_fns):
5357         new primitive replace-list.
5358
5359         * frameslots.h:
5360         slot for old buffer-alist.
5361
5362         * lisp.h:
5363         exfun replace-list.
5364
5365         * redisplay.c:
5366         * redisplay.c (redisplay_frame):
5367         * redisplay.c (syms_of_redisplay):
5368         * redisplay.c (vars_of_redisplay):
5369         new hook buffer-list-changed-hook.
5370         call it.
5371
5372 2000-04-27  Ben Wing  <ben@xemacs.org>
5373
5374         * extents.h: extern in_modeline_generation.
5375
5376         * redisplay.c (generate_formatted_string_db): set
5377         in_modeline_generation.
5378
5379         * extents.c (extent_changed_for_redisplay): don't mark redisplay
5380         flags if in modeline generation.  otherwise frame-modified-tick
5381         is ticked far too often.
5382         Declare in_modeline_generation.
5383
5384 2000-04-26  Ben Wing  <ben@xemacs.org>
5385
5386         * emacs.c (vars_of_emacs): document quick-build "error-checking"
5387         option.
5388         (vars_of_emacs): add quick-build as an error-checking option.
5389         A bit kludgy, but there doesn't seem much point in creating
5390         a real var for this.
5391
5392         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
5393
5394 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
5395
5396         * redisplay.h (struct display_line): Add a new variable,
5397         line_continuation.
5398
5399         * redisplay.c (create_text_block): Set dl->line_continuation if
5400         the line continues.
5401         (create_string_text_block): Ditto.
5402         (regenerate_window_incrementally): Use line_continuation instead
5403         of searching continuation glyph.
5404         (add_margin_runes): Call add_glyph_rune.
5405         (add_glyph_rune): Handle margin glyph.
5406
5407 2000-04-20  Martin Buchholz  <martin@xemacs.org>
5408
5409         * filelock.c (fill_in_lock_file_name):
5410         ANSIfy.
5411         Check for IS_ANY_SEP instead of '/'.
5412         (lock_file_1):
5413         Avoid generating gratuitous garbage.  Call user_login_name() directly.
5414         Never check errno without first seeing that system call failed.
5415         (unlock_file): Add GCPRO.
5416         (Flock_buffer): Fix docstring.
5417         (Ffile_locked_p): Fix docstring.  Add GCPRO.
5418
5419 2000-04-19  Martin Buchholz  <martin@xemacs.org>
5420
5421         * sysdep.c (get_pty_max_bytes):
5422         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
5423         strings longer than 252 bytes.
5424
5425         * md5.c: Unconditionally include ANSI header <limits.h>
5426
5427         * glyphs-x.c (convert_EImage_to_XImage):
5428         * lisp-union.h (union Lisp_Object):
5429         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
5430
5431 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
5432
5433         * filelock.c (current_lock_owner): Remove unused variable o, p.
5434
5435 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
5436
5437         * callint.c: Remove multiply defined symbol Qlet
5438         (syms_of_callint): ditto.
5439
5440 2000-04-14  Andy Piper  <andy@xemacs.org>
5441
5442         * general.c (syms_of_general): add last-command, this-command, let
5443         and funcall.
5444
5445         * lisp.h: declare various symbols.
5446
5447         * glyphs.h: declare Qwidget_callback_current_channel;
5448
5449         * glyphs-widget.c (syms_of_glyphs_widget): add
5450         Qgui_callback_current_channel.
5451         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
5452
5453         * gui-msw.c (mswindows_handle_gui_wm_command): bind
5454         widget-callback-current-channel when invoking the interactive
5455         arg. Also bind last-command and next-command when invoking the
5456         widget updates.
5457         * gui-x.c (popup_selection_callback): ditto.
5458
5459         * gui.c (get_gui_callback): massage args so that we are always
5460         calling eval. This allows us to add our own variable bindings
5461         outside.
5462
5463         * glyphs-x.c (x_button_instantiate): use
5464         gui_items_to_widget_values since this is GC safe.
5465         (x_progress_gauge_instantiate): ditto.
5466         (x_edit_field_instantiate): ditto.
5467         (x_label_instantiate): ditto.
5468
5469         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
5470         (emacs_Xt_event_widget_focus_out): new function
5471         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
5472         focus.
5473         (emacs_Xt_event_add_widget_actions): new function. add focus
5474         functions as actions.
5475         (init_event_Xt_late): use it.
5476
5477 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
5478
5479         * event-stream.c (Fdispatch_event): Doc fix.
5480
5481 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
5482
5483         * postgresql.c: Remove all references to PQsetenv*.
5484
5485         * postgresql.h: Remove references to PGsetenvHandler object.
5486         * lrecord.h (lrecord_type): Ditto.
5487
5488 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
5489
5490         * glyphs-msw.h (struct mswindows_image_instance_data): Added
5491         real_heigh and real_width members, and accessor macros for these.
5492
5493         * glyphs-msw.c (init_image_instance_geometry): New function.
5494         (init_image_instance_from_dibitmap): Use it.
5495         (mswindows_resource_instantiate): Use it.
5496         (init_image_instance_from_xbm_inline): Use it.
5497         (mswindows_initialize_image_instance_mask): Use real bitmap
5498         geometry.
5499         (mswindows_create_resized_bitmap): Ditto.
5500         (mswindows_create_resized_mask): Ditto.
5501
5502         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
5503         and bitmap to their surface size.
5504
5505 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
5506
5507         * process-unix.c (unix_send_process): Guard against process MIA
5508         after Faccept_process_output.
5509
5510 2000-04-11  Ben Wing  <ben@xemacs.org>
5511
5512         * eval.c (unbind_to_hairy): fix brokenness introduced by
5513         nanosecond speed improvements.
5514
5515 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
5516
5517         * sunplay.c (init_device): To play sounds correctly, the device
5518         apparently needs to be initialized at least once by XEmacs.  Make
5519         it so.
5520
5521 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
5522
5523         * redisplay.c (add_margin_runes): Add text image glyph
5524           handling.
5525
5526 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
5527
5528         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
5529         gcc is newer than 2.5.
5530
5531 2000-04-06  Colin Rafferty  <colin@xemacs.org>
5532
5533         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
5534
5535         * fns.c (size_bit_vector):
5536         * alloc.c (size_vector):
5537         (make_vector_internal):
5538         (make_bit_vector_internal):
5539         (sweep_bit_vectors_1):
5540         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
5541
5542 2000-04-06  Andy Piper  <andy@xemacs.org>
5543
5544         * gmalloc.c (malloc): undo previous change.
5545         (malloc): ditto.
5546         (free): ditto.
5547         (realloc): ditto.
5548
5549 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
5550
5551         * line-number.c (buffer_line_number): Revert to former version.
5552
5553 2000-04-06  Andy Piper  <andy@xemacs.org>
5554
5555         * gmalloc.c (malloc): add error checking.
5556         (malloc): ditto.
5557         (free): ditto.
5558         (realloc): ditto.
5559
5560         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
5561         button_item_to_widget_value arg.
5562
5563         * glyphs-x.c (x_button_instantiate): add extra
5564         button_item_to_widget_value arg.
5565         (x_progress_gauge_instantiate): ditto.
5566         (x_edit_field_instantiate): ditto.
5567         (x_label_instantiate): ditto.
5568
5569         * gui-x.c (gui_items_to_widget_values_1): add extra
5570         button_item_to_widget_value arg.
5571         (button_item_to_widget_value): add extra menu_item_p arg.
5572
5573         * gui-x.h: change signature of button_item_to_widget_value.
5574
5575         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
5576         button_item_to_widget_value arg.
5577
5578 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
5579
5580         * buffer.h (struct buffer): auto_save_modified should be long.
5581
5582 2000-04-05  Andy Piper  <andy@xemacs.org>
5583
5584         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
5585         type.
5586         (button_query_geometry): give a little more room so that athena
5587         buttons fit.
5588
5589 2000-04-05  Andy Piper  <andy@xemacs.org>
5590
5591         * faces.c (complex_vars_of_faces): The widget face should inherit
5592         the font of the gui-element face.
5593
5594 2000-04-04  Andy Piper  <andy@xemacs.org>
5595
5596         * glyphs-x.c (x_button_update): new function. unconditionally
5597         update a button's state when the instance is dirty.
5598         (image_instantiator_format_create_glyphs_x): add x_button_update.
5599         (x_widget_instantiate): remove old resize cruft.
5600
5601 2000-04-02  Andy Piper  <andy@xemacs.org>
5602
5603         * frame.c (change_frame_size_1): The introduction of gutters means
5604         that we need to allow 0 as a potential frame dimension.
5605
5606 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
5607
5608         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
5609         image glyph if allow_cursor.
5610         (add_hscroll_rune): Don't allow cursor to border glyph.
5611         (create_text_block): Ditto.
5612
5613         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
5614         text not in buffer.
5615         (redisplay_output_layout): Call ensure_face_cachel_complete for
5616         text image glyph.
5617
5618
5619 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
5620
5621         * redisplay.c (add_glyph_rune): Adding text image as text runes.
5622
5623         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
5624         not in buffer
5625
5626         * redisplay-tty.c (tty_output_display_block): Delete the routine
5627         for text image glyph
5628         * redisplay-x.c (x_output_display_block): ditto
5629         * redisplay-msw.c (mswindows_output_display_block): ditto
5630
5631 2000-02-02  Mike Alexander  <mta@arbortext.com>
5632
5633         Note: Some of these were committed by accident as part of other
5634         patches.
5635
5636         * regex.c (regex_compile): Avoid compiler warnings.
5637
5638         * ntproc.c (sys_spawnve): Avoid compiler warnings.
5639
5640         * nt.h: Declare term_ntproc correctly.
5641
5642         * nt.c: Remove incorrect declaration of get_home_directory which
5643         is declared correctly in lisp.h.
5644
5645         * keymap.c (get_keyelt): Avoid compiler warnings.
5646         (raw_lookup_key_mapper): Avoid compiler warnings.
5647
5648         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
5649
5650         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
5651
5652         * filemode.c (mode_string): Avoid compiler warnings.
5653
5654         * file-coding.c (Fcoding_system_aliasee): Add return statement to
5655         avoid warning.
5656
5657         * events-mod.h: Undef some things that winuser.h defines differently.
5658
5659         * data.c (Faset): Avoid compiler warnings.
5660
5661         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
5662
5663 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
5664
5665         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
5666         Fall through to simple beep on error.
5667         Replace "extern" by real header file.
5668
5669         * linuxplay.c: Use nativesound.h
5670         (play_sound_data): Return error code. Be less verbose on error.
5671
5672         * sunplay.c: Use nativesound.h
5673         (play_sound_data): Return error code. Be less verbose on error.
5674
5675         * ntplay.c: Use nativesound.h
5676         (play_sound_data): Return fake error code
5677
5678         * sgiplay.c: Use nativesound.h
5679         (play_sound_data): Return error code
5680
5681         * hpplay.c: Use nativesound.h, partially implement
5682         new error code. Break compilation until finished.
5683         (play_sound_data): error code.
5684
5685         * nativesound.h (play_sound_file):
5686           (play_sound_data): Prototype in new header.
5687
5688 2000-03-31  Andy Piper  <andy@xemacs.org>
5689
5690         * glyphs-widget.c: (button_query_geometry): new function. Adjust
5691         for toggle and radio buttons.
5692         (image_instantiator_buttons): use it.
5693
5694 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
5695
5696         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
5697         (x_update_horizontal_scrollbar_callback): Return if no mirror was
5698         found. Scrollbar event probably belonged to some old config.
5699
5700 2000-03-31  Andy Piper  <andy@xemacs.org>
5701
5702         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
5703         than 1.
5704         (initialize_widget_image_instance): default layout to
5705         LAYOUT_HORIZONTAL rather than 0.
5706         (widget_instantiate): reverse the item list at the end rather than
5707         every iteration.
5708         (layout_layout): re-code for the border text at the front of the
5709         item list rather than at the end.
5710         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
5711         provided by the user.
5712         (widget_query_geometry): comment.
5713
5714 2000-03-30  Andy Piper  <andy@xemacs.org>
5715
5716         * glyphs-widget.c (image_instantiator_layout): allow standard
5717         widget keywords in layouts.
5718
5719         * gutter.c (output_gutter): cope with nil gutter contents.
5720
5721         * frame.c (Fset_frame_properties): add gutter docs.
5722
5723 2000-03-29  Andy Piper  <andy@xemacs.org>
5724
5725         * toolbar-msw.c (TBSTYLE_FLAT): add.
5726         (mswindows_output_toolbar): minor fiddling.
5727
5728 2000-03-29  Andy Piper  <andy@xemacs.org>
5729
5730         * gutter.c (output_gutter): force gutter size recalculation if
5731         what we are trying to display won't fit.
5732         (update_gutter_geometry): new function. A per-gutter version of
5733         update_frame_gutter_geometry.
5734         (update_frame_gutter_geometry): use it.
5735         (redraw_exposed_gutter): add extra debugging output.
5736
5737 2000-03-28  Mike Alexander  <mta@arbortext.com>
5738
5739         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
5740         (pdump_file_unmap): Implement it on Windows
5741         (pdump_file_get): Save alocated handles for pdump_file_unmap
5742
5743 2000-03-28  Andy Piper  <andy@xemacs.org>
5744
5745         * gui.c (get_gui_callback): treat Quit specially.
5746
5747 2000-03-27  Andy Piper  <andy@xemacs.org>
5748
5749         * glyphs.c (image_instantiate): be careful to check in the same
5750         way we assigned.
5751
5752 2000-03-27  Didier Verna  <didier@xemacs.org>
5753
5754         * config.h.in: define the proper SMART_INCLUDE macro.
5755         handle renaming of `foo_h_path' to `foo_h_file'.
5756
5757         * database.c: ditto.
5758
5759         * emacs.c: ditto.
5760
5761         * linuxplay.c: ditto.
5762
5763         * terminfo.c: ditto.
5764
5765         * tooltalk.h: ditto.
5766
5767 2000-03-27  Andy Piper  <andy@xemacs.org>
5768
5769         * glyphs-msw.c (mswindows_update_widget): make sure the widget
5770         gets updated whenever the face might have changed.
5771
5772 2000-03-26  Mike Alexander  <mta@arbortext.com>
5773
5774         * dumper.c (pdump_resource_free): Fix the comment.
5775
5776 2000-03-21  Olivier Galibert  <galibert@pobox.com>
5777
5778         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
5779
5780 2000-03-22  Mike Alexander  <mta@arbortext.com>
5781
5782         * dumper.c: Include Windows headers on Windows
5783         (pdump_resource_free): Add a body to the function
5784         (pdump_load): exe_name -> exe_path and add some comments.
5785
5786 2000-03-25  Mike Alexander  <mta@arbortext.com>
5787
5788         * gui.c (copy_gui_item_tree): Return a value in all cases
5789
5790 2000-03-21  Didier Verna  <didier@xemacs.org>
5791
5792         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
5793         lwlib/config.h.in.
5794         (SMART_INCLUDE): new macro.
5795         (POSTGRES_INCLUDE): new macro to include postgresql headers from
5796         the proper location.
5797
5798         * postgresql.c: use it.
5799
5800         * inline.c: ditto.
5801
5802 2000-03-24  Andy Piper  <andy@xemacs.org>
5803
5804         * gutter.c (redraw_exposed_gutters): must be "in display" when we
5805         do this.
5806
5807 2000-03-24  Andy Piper  <andy@xemacs.org>
5808
5809         * redisplay-output.c (compare_runes): use image_instance_changed
5810         to detect changes. Do not depend on glyphs_changed, only depend on
5811         dirtiness.
5812          (redisplay_output_layout): add debug messages.
5813         (compare_runes): ditto.
5814
5815         * glyphs.h: declare new functions.
5816         (struct Lisp_Image_Instance): remove percent and associated
5817         accessors.
5818
5819         * gui.h: declare new copying functions.
5820
5821         * gui.c (copy_gui_item_tree): new function.
5822         (copy_gui_item): new function.
5823         (gui_item_id_hash): revert to standard hash.
5824         (gui_item_hash): ditto.
5825         (gui_item_hash_internal): deleted.
5826         (mark_gui_item): mark value.
5827         (gui_item_add_keyval_pair): add value.
5828         (gui_item_init): ditto.
5829         (gui_add_item_keywords_to_plist): ditto.
5830         (gui_item_equal): ditto.
5831         (syms_of_gui): add Q_value.
5832
5833         * glyphs-x.c (x_progress_gauge_update): use pending items and
5834         value for setting the state.
5835         (x_update_widget): don't set items from pending here.
5836
5837         * glyphs-widget.c (update_widget): update items here.
5838         (progress_gauge_set_property): use items for storing value. Put
5839         new value in pending items.
5840
5841         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
5842         items for new value. Convert percent -> value.
5843         (mswindows_tab_control_update): don't update items here.
5844
5845         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
5846         (update_subwindow): ditto.
5847         (image_instance_changed): new function. Compare hash values and
5848         past and present widget items.
5849         (image_instantiate): We more careful about where we instantiate
5850         things.
5851         (image_instantiate): add error checking.
5852
5853         * gutter.c (syms_of_gutter): use -hook.
5854
5855 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
5856
5857         * console-tty.c (Fset_console_tty_input_coding_system): Use
5858         Qkeyboard.
5859         (Fset_console_tty_output_coding_system): Use Qterminal.
5860         (tty_init_console): Use Qkeyboard and Qterminal.
5861
5862 2000-03-21  Ben Wing  <ben@xemacs.org>
5863
5864         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
5865         From Mike Alexander <mta@arbortext.com>.
5866
5867 2000-03-21  Ben Wing  <ben@xemacs.org>
5868
5869         * event-msw.c (mswindows_need_event): Horrible kludge to fix
5870         process brokenness.  Proper implementation to come.
5871         * callproc.c:
5872         Rename call-process-internal to old-call-process-internal.
5873         New impl. in process.el.
5874
5875 2000-03-21  Martin Buchholz  <martin@xemacs.org>
5876
5877         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
5878
5879 2000-03-20  Andy Piper  <andy@xemacs.org>
5880
5881         * glyphs.c (full_list_hash): make hashes of the same elements in
5882         different orders return different values.
5883
5884 2000-03-20  Martin Buchholz <martin@xemacs.org>
5885
5886         * XEmacs 21.2.32 is released.
5887
5888 2000-03-20  Martin Buchholz  <martin@xemacs.org>
5889
5890         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
5891         (DFC_MALLOC_USE_CONVERTED_DATA):
5892         Add aliasing-safe casts to allow use with char* or unsigned char*
5893         lvalues.
5894
5895         * eldap.c (Fldap_open):
5896         (Fldap_search_basic):
5897         (Fldap_add):
5898         (Fldap_modify):
5899         Make C++-compilable.
5900         Make sure GCPRO'ed variables are initialized.
5901         Use temp variables to avoid repeated calls to Flength.
5902
5903 2000-03-16  Martin Buchholz  <martin@xemacs.org>
5904
5905         * sysfile.h:
5906         Make sure PATH_MAX is always defined.
5907         Include limits.h for PATH_MAX.
5908         Deprecate use of MAXPATHLEN.
5909
5910 2000-03-10  Martin Buchholz  <martin@xemacs.org>
5911
5912         * emacs.c: Add reinit_vars_of_fileio.
5913         * symsinit.h: Add reinit_vars_of_fileio.
5914         * fileio.c (reinit_vars_of_fileio): New.
5915         * fileio.c (Fmake_temp_name):
5916         Initialize temp_name random number from microseconds to make
5917         collisions even less likely.  Initialize always at process startup
5918         time.  (make-temp-name) used to return the same file name twice in
5919         a row when PDUMP.
5920         Random stylistic fiddling.
5921         Comment fixes.
5922
5923 2000-03-20  Andy Piper  <andy@xemacs.org>
5924
5925         * glyphs.c (image_instantiate): allow text glyphs to be
5926         instantiated in the minibuffer window.
5927
5928 2000-03-19  Andy Piper  <andy@xemacs.org>
5929
5930         * glyphs.c (image_instance_hash): be careful about which items we
5931         hash on.
5932
5933         * glyphs-widget.c (tab_control_set_property): record into pending
5934         items rather than the actual items.
5935
5936         * glyphs-x.c (x_update_widget): use pending items to update with.
5937
5938         * glyphs-msw.c (mswindows_tab_control_update): use pending items
5939         to update with.
5940
5941         * glyphs.c (mark_image_instance): mark pending items.
5942
5943         * window.c (Fset_window_configuration): record the buffer.
5944         (Fselect_window): totally revert previous change which breaks many
5945         things.
5946
5947 2000-03-18  Andy Piper  <andy@xemacs.org>
5948
5949         * glyphs-msw.c (mswindows_tab_control_update): force selected
5950         item.
5951
5952         * glyphs.c (image_instantiate): don't allow the minibuffer as a
5953         window domain cache, otherwise we get inconsistencies at
5954         startup. There is something fishy at startup which can lead to the
5955         minibuffer being the selected window when the gutter content is
5956         instantiated.
5957
5958         * gui.c (parse_gui_item_tree_list): add probably unnecessary
5959         gcpros.
5960         (parse_gui_item_tree_children): ditto.
5961         (parse_gui_item_tree_item): ditto.
5962
5963         * glyphs.c (Fupdate_widget_instances): return something.
5964
5965 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
5966
5967         * window.c (Fselect_window): Undo 2000-03-17 change.
5968
5969 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
5970
5971         * postgresql.c (Fpq_setenv): Remove this turkey when linking
5972         against v7.0 libraries.  Insta-coredump city until the postgres
5973         folks fix it.
5974
5975 2000-03-17  Andy Piper  <andy@xemacs.org>
5976
5977         * faces.c (complex_vars_of_faces): don't give the widget face an
5978         inherited background pixmap.
5979
5980         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
5981         selected item.
5982
5983         * event-stream.c (Fdispatch_non_command_events): return something.
5984
5985         * gutter.c (output_gutter): use widget face.
5986         (clear_gutter): ditto.
5987
5988         * NEWS: adjust again.
5989
5990         * window.c (Fselect_window): make sure this runs to completion to
5991         avoid oddities with Fset_window_configuration.
5992         (Fcurrent_window_configuration): in general do not save the
5993         minibuffer as the selected window.
5994
5995         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
5996
5997 2000-03-16  Olivier Galibert  <galibert@pobox.com>
5998
5999         * emacs.c (Frunning_temacs_p): Revert previous patch.
6000         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
6001
6002 2000-03-16  Andy Piper  <andy@xemacs.org>
6003
6004         * glyphs-x.c (x_tab_control_update): if no widget values then
6005         return.
6006
6007         * NEWS: update for new features.
6008
6009         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
6010         synthetic event to the native system.
6011         (reinit_vars_of_event_Xt): set force_event_pending to
6012         emacs_Xt_force_event_pending.
6013
6014         * events.h (struct event_stream): add force_event_pending.
6015
6016         * specifier.c (recompute_one_cached_specifier_in_window): add
6017         comment.
6018
6019         * redisplay.c (redisplay_frame): don't call
6020         update_frame_subwindows. Reset subwindow cachels when
6021         subwindows_changed, removing this was an optimization too far.
6022
6023         * redisplay-output.c (compare_runes): reorganize so that we catch
6024         glyph changes when we want them. Set optimize_output when this
6025         would help layouts.
6026         (redisplay_output_layout): remove frame_really_changed, use
6027         optimize_output instead.
6028
6029         * redisplay-msw.c (mswindows_output_display_block): reset
6030         optimize_output after outputting a glyph.
6031         * redisplay-x.c (x_output_display_block): ditto.
6032         * redisplay-tty.c (tty_output_display_block): ditto.
6033
6034         * gutter.c: (specifier_vars_of_gutter): use new spec changed
6035         functions.
6036         (gutter_specs_changed): do specific gutter positions.
6037         (top_gutter_specs_changed): new function. Only update the
6038         specified gutter specs.
6039         (bottom_gutter_specs_changed): ditto.
6040         (left_gutter_specs_changed): ditto.
6041         (right_gutter_specs_changed): ditto.
6042
6043         * gui.c (gui_item_hash_internal): new function, does a real hash.
6044         (gui_item_id_hash): use it.
6045         (gui_item_hash): hash the eval'ed gui_item.
6046
6047         * gui-x.c (popup_selection_callback): send an eval event to call
6048         Fupdate_widget_instances.
6049
6050         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
6051         to call Fupdate_widget_instances.
6052
6053         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
6054         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
6055
6056         * glyphs.c: (update_frame_subwindows): deleted.
6057         (Fupdate_widget_instances): new function for updating the dirty
6058         state of widgets that might have changed.
6059         (syms_of_glyphs): add Qupdate_widget_instances.
6060         (full_list_hash): hash a list completely.
6061         (image_instance_hash): use it for items and properties.
6062
6063         * frame-msw.c (mswindows_size_frame_internal): remove unused
6064         variable.
6065
6066         * faces.h (struct face_cachel): fix comment.
6067
6068         * event-stream.c (Fdispatch_non_command_events): new
6069         function. Process non-command events, forcing an event cycle
6070         beforehand.
6071         (syms_of_event_stream): declare.
6072         (event_stream_force_event_pending): new function. Force an event
6073         on the native event queue so that an event cycle will occur next
6074         time we check.
6075
6076         * event-msw.c:
6077         (struct ntpipe_shove_stream):
6078         (mswindows_enqueue_dispatch_event):
6079         (mswindows_dequeue_dispatch_event):
6080         (mswindows_cancel_dispatch_event):
6081         (mswindows_pump_outstanding_events):
6082         (mswindows_drain_windows_queue):
6083         (mswindows_handle_paint):
6084         (mswindows_wnd_proc):
6085         (mswindows_key_to_emacs_keysym):
6086         (get_process_input_waitable):
6087         (emacs_mswindows_delete_stream_pair): re-indent file.
6088         (mswindows_need_event): do not process further fds if the windows
6089         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
6090         fixes the 100% cpu problem.
6091         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
6092
6093 2000-03-15  Olivier Galibert  <galibert@pobox.com>
6094
6095         * alloc.h: New.
6096         * dumper.h: New.
6097         * dumper.c: New.
6098
6099         * emacs.c: Moved dump file searching to dumper.c.
6100         (Frunning_temacs_p): Fixed.
6101
6102         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
6103         last_lrecord_type_index_assigned.
6104
6105 2000-02-20  Olivier Galibert  <galibert@pobox.com>
6106
6107         * symsinit.h: Added reinit parameter to init_console_stream
6108         declaration.
6109
6110         * lisp.h: Added file parameter to pdump_load declaration.
6111
6112         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
6113         support.  Added dump file searching.
6114
6115         * config.h.in: Added EMACS_PROGNAME.
6116
6117         * console-stream.c (init_console_stream): Fix reinitialisation
6118         when running from temacs.
6119
6120         * alloc.c (pdump): Add id support.
6121         (pdump_load): Add file parameter and signature/id support.
6122
6123         * Makefile.in.in: Add full pdump support.
6124
6125 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
6126
6127         * postgresql.c: Update documentation to reflect latest code
6128         status.
6129         (print_result): Show tuple counts in printed representation when
6130         appropriate.
6131         (Fpq_put_nbytes): MULE-ize.
6132         (Fpq_get_line_async): Ditto.
6133
6134 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
6135
6136         * postgresql.c (Fpq_lo_import): Fix return value.
6137         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
6138
6139 2000-03-13  Ben Wing  <ben@xemacs.org>
6140
6141         * alloc.c (pdump_load):
6142         Fix compile warning under mswin.
6143
6144 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
6145
6146         * postgresql.c: Mule-ization, bug fixes.
6147         Use PG_CODING to encapsulate coding system name changes.
6148         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
6149         (pg-coding-system): Create.
6150
6151         (Fpq_conn_defaults): Mule-ize.
6152         (Fpq_connectdb): Mule-ize & bug fix.
6153         (Fpq_connect_start): Mule-ize.
6154         (Fpq_set_client_encoding): Mule-ize.
6155         (Fpq_finish): Document `DEAD' connection status.
6156         (Fpq_clear): Ditto.
6157         (Fpq_pgconn): Mule-ize.
6158         (Fpq_exec): Mule-ize & bug fix.
6159         (Fpq_send_query): Ditto.
6160         (Fpq_get_result): Ditto.
6161         (Fpq_res_status): Mule-ize.
6162         (Fpq_result_error_message): Mule-ize.
6163         (Fpq_ntuples): fix comments.
6164         (Fpq_fname): Mule-ize.
6165         (Fpq_fnumber): Mule-ize.
6166         (Fpq_ftype): fix comments.
6167         (Fpq_get_value): Mule-ize.
6168         (Fpq_cmd_status): Ditto.
6169         (Fpq_cmd_tuples): Ditto.
6170         (Fpq_oid_value): Ditto.
6171         (Fpq_notifies): Ditto.
6172         (Fpq_lo_import): Ditto.
6173         (Fpq_lo_export): Ditto.
6174         (Fpq_get_line): Ditto.
6175         (Fpq_put_line): Mule-ize and bug fix.
6176         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
6177
6178 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
6179
6180         * postgresql.c (vars_of_postgresql): Mule-ize.
6181         (Fpq_conn_defaults): Ditto.
6182
6183 2000-03-12  Ben Wing  <ben@xemacs.org>
6184
6185         * alloc.c (Fmake_byte_code):
6186         * alloc.c (debug_string_purity_print):
6187         * alloc.c (pdump_backtrace):
6188         * alloc.c (pdump_get_indirect_count):
6189         * alloc.c (pdump_register_sub):
6190         * alloc.c (pdump_register_object):
6191         * alloc.c (pdump_register_struct):
6192         * alloc.c (pdump_dump_data):
6193         * alloc.c (pdump_reloc_one):
6194         Minor cleanups.
6195
6196         * console-msw.c:
6197         * console-msw.c (GetConsoleHwnd):
6198         * console-msw.c (msw_hide_console):
6199         * console-msw.c (msw_show_console):
6200         * console-msw.c (msw_ensure_console_buffered):
6201         * console-msw.c (msw_output_console_string):
6202         * console-msw.c (console_type_create_mswindows):
6203
6204         a) Added functions to manipulate the console window for use with
6205         shell support.
6206
6207         b) Added support for writing text to the console, which is now
6208         used under Windows when xemacs is not being run non-interactively,
6209         to write text that would otherwise be destined for stdout because
6210         under these circumstances, text written to stdout tends to
6211         disappear and not be seen.
6212
6213         * console-msw.h:
6214         * event-Xt.c:
6215         * event-Xt.c (x_event_to_emacs_event):
6216         * event-Xt.c (describe_event_window):
6217         * events-mod.h (XEMACS_MOD_CONTROL):
6218         * events.c:
6219         * events.c (Fmake_event):
6220         * events.c (character_to_event):
6221         * events.c (event_to_character):
6222         * events.c (format_event_object):
6223         * events.c (Fevent_modifiers):
6224         * events.h:
6225         * events.h (struct key_data):
6226         * events.h (struct button_data):
6227         * events.h (struct misc_user_data):
6228         * frame-x.c (Fcde_start_drag_internal):
6229         * frame-x.c (Foffix_start_drag_internal):
6230         * gpmevent.c (Freceive_gpm_event):
6231         * keymap.c:
6232         * keymap.c (bucky_sym_to_bucky_bit):
6233         * keymap.c (control_meta_superify):
6234         * keymap.c (make_key_description):
6235         * keymap.c (keymap_lookup_directly):
6236         * keymap.c (create_bucky_submap):
6237         * keymap.c (keymap_store):
6238         * keymap.c (define_key_check_and_coerce_keysym):
6239         * keymap.c (define_key_parser):
6240         * keymap.c (define_key_alternate_name):
6241         * keymap.c (Fdefine_key):
6242         * keymap.c (raw_lookup_key_mapper):
6243         * keymap.c (struct map_keymap_unsorted_closure):
6244         * keymap.c (map_keymap_unsorted_mapper):
6245         * keymap.c (map_keymap_sort_predicate):
6246         * keymap.c (map_keymap_sorted):
6247         * keymap.c (accessible_keymaps_mapper_1):
6248         * keymap.c (where_is_recursive_mapper):
6249         * keymap.c (describe_map_mapper):
6250         * keymap.c (describe_map_sort_predicate):
6251         * keymap.c (describe_map):
6252         * keymap.c (complex_vars_of_keymap):
6253         And a number of other files, the key modifier preprocessor
6254         constants that xemacs uses have names that conflict with constants
6255         defined under MS Windows for other purposes, so they were renamed
6256         to begin with the prefix XEMACS_. The variables that hold such
6257         modifiers were changed to consistently be of type int to fix
6258         various compile warnings.
6259
6260         * console.c (complex_vars_of_console):
6261         * device.c:
6262         * device-msw.c:
6263         * device-msw.c (mswindows_finish_init_device):
6264         * device-msw.c (msw_get_workspace_coords):
6265         * device-msw.c (mswindows_device_system_metrics):
6266         and various other files, added support for a new
6267         device property called offset-workspace which returns the position
6268         of the upper left corner of the workspace area and goes along with
6269         the existing size-workspace property.
6270
6271         * dialog-msw.c:
6272         * dialog-msw.c (push_bufbyte_string_as_unicode):
6273         * dialog-msw.c (mswindows_popup_dialog_box):
6274         Added support for XEmacs-style accelerator specifications in
6275         button text.  Note: I didn't add support for this under X Windows,
6276         and somebody needs to do this.
6277
6278         * dialog.c:
6279         * dialog.c (Fpopup_dialog_box):
6280         Documented the support for accelerators that was just mentioned.
6281
6282         editfns.c (get_home_directory): Changed behavior under Windows
6283         when HOME not defined; former behavior was irretrievably broken.
6284
6285         * emacs.c:
6286         * emacs.c (main_1):
6287         * emacs.c (main):
6288         * minibuf.c (clear_echo_area_internal):
6289         * minibuf.c (echo_area_append):
6290         * print.c:
6291         * print.c (std_handle_out_external):
6292         * print.c (std_handle_out_va):
6293         * print.c (fatal):
6294         * print.c (write_string_to_stdio_stream):
6295         * print.c (output_string):
6296         * print.c (debug_print):
6297         * print.c (debug_backtrace):
6298         * print.c (debug_short_backtrace):
6299         Cleaned up the code that prints text to stdout so that this can be
6300         changed to output into a console window instead under MS Windows,
6301         as described above.
6302
6303         * eval.c:
6304         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
6305         * eval.c (internal_catch):
6306         * eval.c (unwind_to_catch):
6307         * eval.c (throw_or_bomb_out):
6308         * eval.c (condition_case_1):
6309         * eval.c (signal_1):
6310         * eval.c (check_error_state_sanity):
6311         * eval.c (call_with_suspended_errors_1):
6312         * eval.c (call_with_suspended_errors):
6313         * eval.c (reinit_vars_of_eval):
6314         Added code to catch throw loops and check for a pesky bug that may
6315         be gone now.
6316
6317         * event-msw.c:
6318         * event-msw.c (key_needs_default_processing_p):
6319         * event-msw.c (mswindows_wnd_proc):
6320         * event-msw.c (mswindows_modifier_state):
6321         * event-msw.c (emacs_mswindows_quit_p):
6322         * event-msw.c (vars_of_event_mswindows):
6323         a) Added support for using the alt key to select menu items as is
6324         standard under MS Windows.  This is controlled using the variable
6325         menu-accelerator-enabled, just like under X Windows.  There is an
6326         option on the options menu to turn this support on.  I really
6327         think that it should be on by default under Windows, but I'm not
6328         going to make this change yet.
6329
6330         b)  Added support for dynamic display size changes under Windows.
6331
6332         * event-stream.c:
6333         * event-stream.c (maybe_echo_keys):
6334         * event-stream.c (Fnext_event):
6335         * event-stream.c (command_builder_find_leaf):
6336         * event-stream.c (lookup_command_event):
6337         * event-stream.c (execute_command_event):
6338         * event-stream.c (pre_command_hook):
6339         * event-stream.c (post_command_hook):
6340         * event-stream.c (syms_of_event_stream):
6341         * event-stream.c (vars_of_event_stream):
6342         * event-stream.c (complex_vars_of_event_stream):
6343         * events.h (struct command_builder):
6344
6345         a) Tried to clean up a little bit the horribly written x-specific
6346         accelerator code that crept into this file.  I moved this code
6347         into menubar-x.c where it belongs. I also needed to move the
6348         command builder structure into the file events.h because it is
6349         accessed directly by this accelerator code.  What I didn't do, but
6350         which should be done at some point, is to properly abstract this
6351         code using device methods instead of the kludgy way that it
6352         currently hooks into the event code.
6353
6354         b) Added the lisp variables this-command-properties and
6355         last-command- properties, which should be used to synchronize two
6356         adjacent commands in preference to playing games with the variable
6357         this-command, which is typically what happens.
6358
6359         c) Added some slightly nasty code to hook into the lisp support
6360         for shifted- motion-key selection.  This is actually necessary for
6361         somewhat complicated reasons, which are described in
6362         simple.el. (NB: I think the proper thing would be to have the code
6363         that calls the pre and post command hooks also call out to generic
6364         lisp functions in simple.el, where all built-in stuff could be
6365         added.  I will think about this more.)
6366
6367         * event-unixoid.c (poll_fds_for_input):
6368         * lread.c (readchar):
6369         * redisplay-tty.c (tty_clear_frame):
6370         * redisplay-x.c (x_get_gc):
6371         * signal.c (interrupt_signal):
6372         And a whole bunch of other files: fixed up places that printed
6373         directly to stderr to instead call the function stderr_out so that
6374         the changes I made under Windows work correctly.
6375
6376         * filemode.c (mode_string):
6377         Warning fixes.
6378
6379         * frame-msw.c:
6380         * frame-msw.c (mswindows_size_frame_internal):
6381         Fixed the computation of frame size and position to keep the frame
6382         within the workspace area, rather than within the physical
6383         dimensions of the screen, so that the frame doesn't overlap window
6384         manager decorations, such as the start menu and toolbar, typically
6385         at the bottom of the screen.
6386
6387         * frame.c (vars_of_frame):
6388         Changed the default frame title format under MS Windows to consist
6389         of buffername-XEmacs, which is standard under MS Windows.  I think
6390         it might be a good idea to change this everywhere because I think
6391         it is superior to the current frame title format, but this is the
6392         kind of change that is likely to cause some people to get annoyed,
6393         so I'm not making it.
6394
6395         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
6396
6397         * gui-msw.c (mswindows_handle_gui_wm_command):
6398         Fixed compile warnings.
6399
6400         * gui-x.c:
6401         * gui-x.c (strdup_and_add_accel):
6402         * gui-x.c (button_item_to_widget_value):
6403         * gui-x.h:
6404         Added code to automatically put an accelerator onto the beginning
6405         of menu items that don't have one as is now the standard, and is
6406         described more later.  Also fixed things so that the menu item
6407         name can be an evaluated expression, again a new standard.
6408
6409         * gui.c:
6410         * gui.c (gui_item_add_keyval_pair):
6411         * gui.c (make_gui_item_from_keywords_internal):
6412         * gui.c (gui_add_item_keywords_to_plist):
6413         * gui.c (gui_item_accelerator):
6414         * gui.c (gui_name_accelerator):
6415         * gui.c (gui_item_included_p):
6416         * gui.c (gui_item_display_flush_left):
6417         * gui.c (gui_item_display_flush_right):
6418         * gui.c (parse_gui_item_tree_item):
6419         * gui.c (parse_gui_item_tree_children):
6420         * gui.c (parse_gui_item_tree_list):
6421         Mule-ized.  Cleanup.  GCPRO addition.
6422
6423         * line-number.c (buffer_line_number):
6424         * lisp.h:
6425         * lisp.h (EMACS_INT_MAX):
6426         Added the manifest constant EMACS_INT_MIN corresponding to the
6427         existing constant EMACS_INT_MAX.  This is partially to fix compile
6428         warnings under Windows, and partly for cleanliness.
6429
6430         * menubar-msw.c:
6431         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
6432         * menubar-msw.c (msw_translate_menu_or_dialog_item):
6433         * menubar-msw.c (displayable_menu_item):
6434         * menubar-msw.c (populate_menu_add_item):
6435         * menubar-msw.c (populate_or_checksum_helper):
6436         * menubar-msw.c (populate_menu):
6437         * menubar-msw.c (update_frame_menubar_maybe):
6438         * menubar-msw.c (prune_menubar):
6439         * menubar-msw.c (msw_char_is_accelerator):
6440         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
6441         * menubar-msw.c (mswindows_handle_wm_command):
6442         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
6443         * menubar-msw.c (mswindows_handle_wm_initmenu):
6444         * menubar-msw.c (mswindows_update_frame_menubars):
6445         * menubar-msw.c (mswindows_free_frame_menubars):
6446         * menubar-msw.c (mswindows_popup_menu):
6447         Fixed a bug in handling accelerators where an extra character
6448         would be displayed in the menu item.  Also generalized the
6449         function displayable_menu_item because it is now used by the
6450         dialog box code as well.  And finally, added code in the functions
6451         that create the menubar to extract a list of accelerators for the
6452         top level menubar, which is used in the event code to determine
6453         whether a particular alt-key combination should be used to invoke
6454         a menu item, or should be passed through to access the standard
6455         XEmacs keymap binding for this key combination.
6456
6457         Much needed GCPROing.
6458
6459         * menubar-x.c:
6460         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
6461         * menubar-x.c (menu_item_descriptor_to_widget_value):
6462         * menubar-x.c (restore_in_menu_callback):
6463         * menubar-x.c (x_popup_menu):
6464         * menubar-x.c (menu_move_up):
6465         * menubar-x.c (menu_move_down):
6466         * menubar-x.c (menu_move_left):
6467         * menubar-x.c (menu_move_right):
6468         * menubar-x.c (menu_select_item):
6469         * menubar-x.c (command_builder_operate_menu_accelerator):
6470         * menubar-x.c (menu_accelerator_junk_on_error):
6471         * menubar-x.c (command_builder_find_menu_accelerator):
6472         * menubar-x.c (Faccelerate_menu):
6473         * menubar.h:
6474         Moved a whole bunch of code here that was previously in
6475         event-stream.c as described above.  There is also code connected
6476         to the new standard of adding an accelerator to the beginning of
6477         menu items that don't have one as described above and below.
6478
6479         * menubar.c:
6480         * menubar.c (menu_parse_submenu_keywords):
6481         * menubar.c (Fmenu_find_real_submenu):
6482         * menubar.c (Fnormalize_menu_item_name):
6483         * menubar.c (syms_of_menubar):
6484         * menubar.c (vars_of_menubar):
6485         * menubar.c (complex_vars_of_menubar):
6486
6487         a) Cleaned up a bunch of documentation and improved it.
6488
6489         b) XEmacs now automatically adds an accelerator onto the beginning
6490         of any menu items that don't have one.  I did this because there
6491         will inevitably be some menu items on the main menubar that don't
6492         have accelerators on them because the package that adds that
6493         particular menu item hasn't yet been fixed up to have accelerators
6494         in them and it looked rather strange to have some items with and
6495         some items without accelerators, especially since even in items
6496         without accelerators, you can, at least under windows, still
6497         access the item through an accelerator corresponding to the first
6498         character in the item's name.  If people don't like this behavior,
6499         I can add a variable to turn it off optionally, but I'm not sure
6500         this is a good idea because we really do need to have accelerators
6501         on all of the menu items, and if a package doesn't like the
6502         accelerators being put on the first character, then it should put
6503         the accelerators where they belong.
6504
6505         c) I made a behavior change, which is that the descriptor that
6506         specifies the text of the menu item, which formerly was just a
6507         string, can now also be an evaluated expression.  This makes this
6508         descriptor parallel with all of the others, which could also be
6509         evaluated expressions.  This also obviates the need for the
6510         keyword :label, which was previously listed in the documentation
6511         as unimplemented, and which was for the same purpose.
6512
6513         d) GCPROing.
6514
6515         * ntproc.c:
6516         * ntproc.c (new_child):
6517         * ntproc.c (sys_spawnve):
6518         * ntproc.c (find_child_console):
6519         * ntproc.c (sys_kill):
6520         Fixed compile warnings.  By the way, this file should really go
6521         away entirely, and this will happen as soon as Kirill makes his
6522         final round of process cleanups, which affect the function
6523         call-process.
6524
6525         * process-nt.c:
6526         * process-nt.c (struct nt_process_data):
6527         * process-nt.c (find_process_from_pid):
6528         * process-nt.c (send_signal_the_nt_way):
6529         * process-nt.c (enable_child_signals):
6530         * process-nt.c (find_child_console):
6531         * process-nt.c (send_signal_the_95_way):
6532         * process-nt.c (nt_finalize_process_data):
6533         * process-nt.c (ensure_console_window_exists):
6534         * process-nt.c (nt_create_process):
6535         * process-nt.c (nt_kill_child_process):
6536         * process-nt.c (nt_kill_process_by_pid):
6537         * process-nt.c (nt_open_network_stream):
6538         * process-nt.c (vars_of_process_nt):
6539         Copied over code from Emacs 20.5 to correctly send signals to sub-
6540         processes under Windows 95.  Also added code to automatically
6541         create and hide console window when a sub-process is created under
6542         Windows 95, which obviates the need for the separate runemacs.exe
6543         executable, and finally implemented some variables that were
6544         implemented in Emacs 20.5, but previously not in XEmacs.  These
6545         include mswindows- start-process-share-console and
6546         mswindows-start-process-inherit-error-mode. (Both of these only
6547         apply to Windows 95.)
6548
6549         * regex.c (regex_compile): Fixed a compile warning.
6550
6551         * select-msw.c:
6552         * select-msw.c (mswindows_own_selection):
6553         * select-msw.c (mswindows_get_foreign_selection):
6554         * select-msw.c (mswindows_disown_selection):
6555         * select-msw.c (console_type_create_select_mswindows):
6556         * select-msw.c (syms_of_select_mswindows):
6557         Cleaned up the file and implemented the device method
6558         selection_exists_p, which had accidentally been left out.  Also
6559         removed four lisp functions that were remnants from before the
6560         time when the selection code was properly device abstracted.
6561         These functions are no longer needed because there are generic
6562         equivalents, and because they were added recently and don't exist
6563         in FSF Emacs, I don't think there's any problem with just deleting
6564         them.
6565
6566         * sysdep.c:
6567         * sysdep.c (sys_subshell):
6568         Fixed a compile warning, although in this case there's probably
6569         something wrong with this code, and it ought to be looked into
6570         more thoroughly by somebody who understands it.
6571
6572         * window.c:
6573         * window.c (Fwindow_text_area_height):
6574         * window.c (Fwindow_width):
6575         * window.c (Fwindow_full_width):
6576         * window.c (Fwindow_pixel_width):
6577         * window.c (debug_print_window):
6578         * window.c (syms_of_window):
6579         Added functions window-text-area-height and window-full-width,
6580         which are functions for returning various width and height
6581         characteristics of a window. (One of these functions is necessary
6582         for making the file dialog box work correctly, and the other one
6583         was added for completeness.)  Also added a table to the
6584         documentation for window-height which describes the entire scheme
6585         for accessing width and height characteristics of a window.
6586
6587 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6588
6589         * nt.c (fstat): Added a comment for another problem with
6590         non-encapsulated [f]stat(), reported by Adrian Aichner
6591         <aichner@ecf.teradyne.com>.
6592
6593 2000-03-11  Andy Piper  <andy@xemacs.org>
6594
6595         * window.c (make_dummy_parent): initialize subwindow instance
6596         cache.
6597         (Fset_window_configuration): zero extent_modiff.
6598
6599 2000-03-10  Andy Piper  <andy@xemacs.org>
6600
6601         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
6602         more changes can be triggered.
6603         (Fredisplay_frame): ditto.
6604         (Fredraw_device): ditto.
6605         (Fredisplay_device): ditto.
6606         (redisplay_frame): make non-static.
6607         (redisplay_frame): call update_frame_gutter_geometry outside of
6608         display proper.
6609
6610         * gutter.h: declare update_frame_gutter_geometry.
6611
6612         * redisplay.h: declare redisplay_frame.
6613
6614         * gutter.c (update_frame_gutter_geometry): move geometry changes
6615         in update_frame_gutters here. Geometry changes can only occur
6616         outside of redisplay.
6617         (update_frame_gutters): remove geometry change code.
6618         (Fredisplay_gutter_area): make sure that we are in display when we
6619         update and that we have flushed any size changes.
6620
6621 2000-03-11  Andy Piper  <andy@xemacs.org>
6622
6623         * alloc.c (pdump_dump_data): remove i & count shadows.
6624
6625 2000-02-27  Mike Alexander  <mta@arbortext.com>
6626
6627         * sysdep.h: Declare pdump_read_file
6628
6629         * sysdep.c (pdump_read_file): New function
6630
6631         * alloc.c (pdump_load): Call pdump_read_file to get the portable
6632         dump data
6633
6634 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
6635
6636         * lrecord.h: add `lrecord_type_pgsetenv'.
6637
6638 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
6639
6640         * symsinit.h: declare (vars|syms)_of* functions.
6641         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
6642
6643 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
6644
6645         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
6646
6647         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
6648         GCCs.
6649
6650         * emacs.c (main_1): Call postgres initialization code.
6651
6652         * postgresql.h: New file.  PostgreSQL RDBMS support.
6653         * postgresql.c: New file.
6654
6655 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
6656
6657         * redisplay-output.c (redisplay_output_display_block): Disable
6658         redundant code.
6659
6660 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
6661
6662         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
6663         (Fcanna_henkan_next): Ditto.
6664         (Fcanna_bunsetu_henkou): Ditto.
6665         (Fcanna_henkan_kakutei): Ditto.
6666         (Fcanna_henkan_end): Ditto.
6667         (Fcanna_henkan_quit): Ditto.
6668         (Fcanna_henkan_next): Set retun value correctly.
6669         (c2mu): Use unsigned char instead of signed char.
6670
6671 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
6672
6673         * emacs.c (main_1): Always call syms_of_gui.
6674         * inline.c: include gui.h
6675
6676 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
6677
6678         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
6679         converted to Lisp_Object.
6680         (Qtop_bottom): New variable.
6681         (syms_of_redisplay): Initialize it.
6682         * redisplay.h (Vvisible_bell): Ditto.
6683         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
6684         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
6685         only flash top and bottom.
6686
6687 2000-03-08  Andy Piper  <andy@xemacs.org>
6688
6689         * buffer.c (Frename_buffer): record new buffer name the right way.
6690
6691 2000-03-08  Andy Piper  <andy@xemacs.org>
6692
6693         * glyphs.c (update_subwindow): increase hash depth so that widget
6694         items get picked up properly.
6695
6696         * redisplay-output.c (compare_runes): increase hash depth so that
6697         widget items get picked up properly.
6698
6699 2000-03-08  Andy Piper  <andy@xemacs.org>
6700
6701         * gutter.c (output_gutter): add some debug.
6702
6703         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
6704         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
6705         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
6706
6707         * redisplay-output.c (compare_runes): use display_hash to
6708         determine if glyphs really are not the same.
6709
6710         * glyphs.c (update_subwindow): check display_hash to see if
6711         anything really needs to be updated. If not then do
6712         nothing. Record the display_hash after updating.
6713         (image_instance_equal): compare the image_instance face also.
6714
6715 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
6716
6717         * redisplay.h: Fix comment style.
6718
6719 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
6720
6721         * consle-msw.h (struct mswindows_frame):
6722         Added new member paint_pending to indicate whether a WM_PAINT
6723         magic event has been queued for this frame.
6724
6725         * event-msw.c (mswindows_drain_windows_queue):
6726         Don't queue a WM_PAINT magic event if one is already queued.
6727         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
6728
6729         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
6730
6731 2000-03-07  Didier Verna  <didier@xemacs.org>
6732
6733         * dired.c: #include `regex.h' after `sysfile.h'.
6734
6735 2000-03-06  Martin Buchholz  <martin@xemacs.org>
6736
6737         * sound.c (init_nas_sound): Fix compiler warning.
6738
6739         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
6740         (FREE_STRUCT_P):
6741         (MARK_STRUCT_AS_FREE):
6742         (MARK_STRUCT_AS_NOT_FREE):
6743         Make `gcc -fstrict-aliasing' work properly.
6744
6745 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
6746
6747         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
6748         (mswindows_delete_device): Call CoUnnitialize().
6749
6750         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
6751
6752 2000-02-25    <CraigL@DyCon.com>
6753
6754         * process-nt.c: MinGW now has <shellapi.h>, but still needs
6755         <errno.h>.
6756
6757         * sysdep.c: This extern declaration for environ prevents MinGW
6758         from finding the variable in CRTDLL.DLL.
6759
6760         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
6761         windows headers.
6762         (SHGFI_EXETYPE): ..
6763         (WM_MOUSEWHEEL): ..
6764         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
6765         definitions.
6766         (MMRESULT): Removed, now defined in cygwin's windows headers.
6767         (TIMECAPS): ..
6768         (uid_t,gid_t,pid_t,ssize_t): ..
6769         (_timeb): Removed, MinGW defines both _timeb and timeb.
6770         (HAVE_H_ERRNO): Added.
6771         (HAVE_TZNAME): Added, configure is not detecting this.
6772
6773 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
6774
6775         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
6776         * syntax.c (syntax_match): Use it.
6777
6778         * cmds.c: Import auto-fill-chars from FSF Emacs.
6779         (Vauto_fill_chars): New variables.
6780         (internal_self_insert): Check Vauto_fill_chars.
6781         (vars_of_cmds):
6782         Declare auto-fill-chars as a Lisp variable and initialize it.
6783
6784 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
6785
6786         * fileio.c (Fmake_symbolic_link):
6787         (Ffile_symlink_p):
6788         Run handlers even if local machine doesn't have symlinks.
6789
6790 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
6791
6792         * event-msw.c (mswindows_drain_windows_queue):
6793         Don't generate paint magic events for non-XEmacs frames.
6794
6795 2000-03-05  Andy Piper  <andy@xemacs.org>
6796
6797         * redisplay.c (redisplay_frame): generate_displayable_area and
6798         friends assumes that we are not in GC, we therefore have to make
6799         sure that this doesn't happen.
6800
6801         * gutter.c (calculate_gutter_size): generate_displayable_area
6802         assumes that we are not in GC, we therefore have to make sure that
6803         this doesn't happen.
6804
6805 2000-03-05  Martin Buchholz  <martin@xemacs.org>
6806
6807         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
6808
6809 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
6810
6811         * redisplay.c (regenerate_window): Make sure we set a sane value
6812         for end_pos even if we jump out of the loop.
6813         (regenerate_window): Answer Ben's question :-).
6814         (start_end_of_last_line): Add may_error argument.
6815         (start_of_last_line):
6816         (end_of_last_line): Pass may_error = 0.
6817         (end_of_last_line_may_error): New function.
6818         (pixel_to_glyph_translation): Use it, so we don't crash in
6819         event_to_glyph.
6820
6821 2000-03-04  Andy Piper  <andy@xemacs.org>
6822
6823         * window.h (struct window): add gutter_extent_modiff.
6824
6825         * window.c (allocate_window): zero out gutter_extent_modiff.
6826
6827         * redisplay.h: declare sync_display_line_structs.
6828
6829         * redisplay.c (add_glyph_rune): add a better comment.
6830
6831         * redisplay-output.c (sync_display_line_structs): made non-static.
6832         (compare_runes): remove unneccesary glyph cachel access.
6833
6834         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
6835
6836         * gutter.c (output_gutter): don't output the gutter if extent
6837         changes only involve extents in buffers. use 4 sets of display
6838         lines.
6839         (gutter_extent_signal_changed_region_maybe): new function. Mark
6840         extents in gutters as changed.
6841         (update_frame_gutters): use 4 sets of display lines.
6842         (reset_gutter_display_lines): ditto.
6843         (free_frame_gutters): ditto.
6844         (redraw_exposed_gutter): force output of gutters.
6845
6846         * frame.h (struct frame): add 4 sets of gutter display lines.
6847
6848         * extents.c: (extent_changed_for_redisplay): signal changes to
6849         extents in strings in the gutter as well as extents in buffers.
6850
6851 2000-03-02  Andy Piper  <andy@xemacs.org>
6852
6853         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
6854
6855         * frame.c (Fmake_frame): make sure the gutters get initialized
6856         after the frame is visible.
6857         (set_frame_selected_window): re-arrange compilation macros a
6858         little.
6859         (change_frame_size_1): mark gutters changed.
6860
6861         * device.c (Fset_device_class): mark gutters changed.
6862
6863 2000-03-01  Andy Piper  <andy@xemacs.org>
6864
6865         * window.c (window_top_frame_gutter_height): deleted.
6866         (window_bottom_frame_gutter_height): ditto.
6867         (window_left_frame_gutter_height): ditto.
6868         (window_right_frame_gutter_height): ditto.
6869         (window_top_gutter_height): don't use them.
6870         (window_bottom_gutter_height): ditto.
6871         (window_left_gutter_width): ditto.
6872         (window_right_gutter_width): ditto.
6873         (Fsplit_window): ditto.
6874         (Fwindow_pixel_edges): don't use border dimensions here.
6875
6876         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
6877         (update_scrollbar_instance): ditto.
6878
6879         * redisplay.c (generate_modeline): don't take gutters into account.
6880         (generate_modeline): ditto.
6881         (redisplay_frame): small gutter display optimization.
6882
6883         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
6884
6885         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
6886         gutters into account.
6887
6888         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
6889         for window position and type.
6890
6891         * gutter.c (get_gutter_coords): fix for frame gutters.
6892         (update_frame_gutters): update frame geometry if the gutters have
6893         changed.
6894         (init_frame_gutters): record current gutter geometries.
6895
6896         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
6897         var.
6898         (mswindows_widget_instantiate): ditto.
6899
6900         * frame.h (struct frame): add current_gutter_bounds.
6901
6902         * frame.c (change_frame_size_1): position window and minibuffer
6903         appropriately taking into account the frame gutters.
6904
6905         * frame-x.c: (x_initialize_frame_size): take into account the
6906         frame gutters.
6907
6908 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
6909
6910         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
6911
6912 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
6913
6914         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
6915
6916 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
6917
6918         * file-coding.c (reset_decoding_stream): Clear previous
6919         detection state when autodetect.
6920
6921 2000-02-29  Didier Verna  <didier@xemacs.org>
6922
6923         * extents.c (set_extent_glyph_1): don't require extents to be
6924         attached.
6925
6926 2000-02-27  Andy Piper  <andy@xemacs.org>
6927
6928         * gutter.c (Fset_default_gutter_position): don't default left and
6929         right gutter visibility to t.
6930         (Fset_default_gutter_position): run
6931         default-gutter-position-changed-hook.
6932         (syms_of_gutter): add default-gutter-position-changed-hook.
6933
6934 2000-02-26  Andy Piper  <andy@xemacs.org>
6935
6936         * specifier.c (Fmake_specifier): add gutter references.
6937
6938         * gutter.h (RAW_WINDOW_GUTTER): new macro.
6939
6940         * lisp.h: declare Fvalid_plist_p.
6941
6942         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
6943         as changed.
6944         (default_gutter_visible_p_changed_in_window): invalidate gutter as
6945         well as its visibility so that it gets reconstructed.
6946         (construct_window_gutter_spec): new function. Construct a string
6947         to be displayed in the gutter from a plist of strings. Take care
6948         to only use elements that are declared as visible.
6949         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
6950         WINDOW_GUTTER.
6951         (gutter_validate): allow plists of strings in the specifier.
6952         (gutter_specs_changed): construct the real_gutter from the gutter
6953         specs using construct_window_gutter_spec.
6954         (gutter_visible_validate): gutter-visible is a new specifier type.
6955         (Fgutter_visible_specifier_p): new function for the new specifier.
6956         (syms_of_gutter): declare gutter-visible and
6957         Fgutter_visible_specifier_p.
6958         (specifier_type_create_gutter): intitalize new gutter-visible
6959         specifier.
6960         (reinit_specifier_type_create_gutter): ditto.
6961         (specifier_vars_of_gutter): use new specifier type for gutter
6962         visibility.
6963         (init_frame_gutters): construct real_gutter correctly.
6964         (Fgutter_specifier_p): beef up documentation.
6965         (Fgutter_size_specifier_p): ditto.
6966
6967         * winslots.h: add real_gutter slots.
6968
6969 2000-02-25  Andy Piper  <andy@xemacs.org>
6970
6971         * device-msw.c: Be kind to older cygwin versions. From Raymond
6972         Toy <toy@rtp.ericsson.se>.
6973
6974         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
6975         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
6976
6977 2000-02-25  Martin Buchholz  <martin@xemacs.org>
6978
6979         * elhash.c (MARK_OBJ): Practice macro hygiene.
6980
6981 2000-02-24  Martin Buchholz  <martin@xemacs.org>
6982
6983         * miscplay.c: s/__inline__/inline/g;
6984         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
6985         (get_device_compdc): INLINE ==> static inline
6986         * *.[ch]: Change INLINE to INLINE_HEADER globally.
6987         find -name '*.h' | \
6988         xargs global-replace \
6989         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
6990
6991 2000-02-25  Andy Piper  <andy@xemacs.org>
6992
6993         * window.c (window_top_frame_gutter_height): new function.
6994         (window_top_window_gutter_height): ditto.
6995         (window_top_gutter_height): use them.
6996         (window_bottom_frame_gutter_height): new function.
6997         (window_bottom_window_gutter_height): ditto.
6998         (window_bottom_gutter_height): use them.
6999         (window_left_window_gutter_width): new function.
7000         (window_left_frame_gutter_width): ditto.
7001         (window_left_gutter_width): use them.
7002         (window_right_window_gutter_width): new function.
7003         (window_right_frame_gutter_width): ditto.
7004         (window_right_gutter_width): use them.
7005         (window_pixel_height): new function. calulate window pixel height
7006         with frame gutter involvement.
7007         (Fsplit_window): calculate new sizes taking frame gutters into
7008         account.
7009         (window_char_height_to_pixel_height): don't include frame gutters.
7010         (window_char_height): use window_pixel_height.
7011         (window_pixheight): rename from window_pixel_height.
7012         (change_window_height): use it.
7013         (window_pixel_height_to_char_height): don't include frame gutters.
7014         (window_char_width_to_pixel_width): ditto.
7015
7016 2000-02-25  Andy Piper  <andy@xemacs.org>
7017
7018         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
7019         if it is.
7020
7021 2000-02-24  Martin Buchholz  <martin@xemacs.org>
7022
7023         * alloc.c (staticpro):
7024         (staticpro_nodump):
7025         (dumpstruct):
7026         (dumpopaque):
7027         (pdump_wire):
7028         (pdump_wire_list):
7029         (compact_string_chars):
7030         (pdump_dump_wired):
7031         Convert:  if (foo) abort();  ==>  assert (! foo);
7032
7033         * eldap.c (Fldap_search_basic):
7034         (Fldap_add):
7035         (Fldap_modify):
7036         (Fldap_delete):
7037         Fix compiler warnings, and possible crashes if (random) return
7038         value were to be used.
7039
7040 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7041
7042         * device-msw.c: Workaround ResetDC failure.
7043
7044         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
7045         applying a devmode.
7046
7047         * redisplay-msw.c (get_frame_dc): Added start_page_p.
7048         (mswindows_text_width): Do not start printer page.
7049
7050         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
7051
7052         * glyphs-msw.c: Added image methods to msprinter console and
7053         msprinter-specific image instantiation.
7054
7055 2000-02-20  Mike Alexander  <mta@arbortext.com>
7056
7057         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
7058         to avoid crashes when selection-sets-clipboard is on
7059         (mswindows_own_selection): ditto
7060
7061 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7062
7063         * glyphs-msw.c:
7064         * redisplay-msw.c (get_frame_dc):
7065         (get_frame_compdc):
7066         * console-msw.h:
7067         * device-msw.c (mswindows_init_device):
7068         (mswindows_delete_device):
7069         (msprinter_init_device):
7070         (msprinter_delete_device):
7071         * frame-msw.c (mswindows_init_frame_1):
7072         (mswindows_delete_frame):
7073         (msprinter_init_frame_3):
7074         (msprinter_delete_frame): Move compatible DC to device object from
7075         frame object, for both mswindows and msprinter. Only one at a time
7076         is needed, it is a real waste to have one per frame!
7077
7078 2000-02-23  Andy Piper  <andy@xemacs.org>
7079
7080         * glyphs.c: add dynamic width and height elements.
7081         (image_instance_equal): ditto.
7082
7083         * glyphs-widget.c (widget_query_geometry): calculate width and
7084         height dynamically if required.
7085         (initialize_widget_image_instance): initialize dynamic dimensions.
7086         (widget_instantiate): pick-up dynamic dimensions.
7087
7088         * glyphs.h (struct Lisp_Image_Instance): add width and height for
7089         dynamic determination. Add appropriate macros.
7090
7091         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
7092         dimensions safe.
7093         (WINDOW_GUTTER_SIZE): ditto.
7094         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
7095
7096         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
7097         inline.
7098         (get_frame_dc): ditto.
7099
7100         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
7101         here.
7102
7103 2000-02-23  Martin Buchholz <martin@xemacs.org>
7104
7105         * XEmacs 21.2.31 is released.
7106
7107 2000-02-22  Ben Wing <ben@xemacs.org>
7108
7109         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
7110
7111 2000-02-22  Andy Piper  <andy@xemacs.org>
7112
7113         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
7114
7115 2000-02-21  Mike Sperber <mike@xemacs.org>
7116
7117         * .dbxrc:
7118         * .gdbinit:
7119         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
7120         variables.
7121
7122 2000-02-21  Mike Sperber <mike@xemacs.org>
7123
7124         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
7125
7126 2000-02-21  Martin Buchholz <martin@xemacs.org>
7127
7128         * XEmacs 21.2.30 is released.
7129
7130 2000-02-20  Martin Buchholz  <martin@xemacs.org>
7131
7132         Performance hacking.
7133         * *.c (syms_of_*):
7134         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
7135         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
7136         * emacs.c (main_1):
7137         * lisp.h (DEFUN):
7138         * console.c (DEFVAR_CONSOLE_LOCAL_1):
7139         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
7140         * symeval.h (DEFVAR_SYMVAL_FWD):
7141         * symbols.c (guts_of_unbound_marker):
7142         Make all c_readonly objects also lisp_readonly and marked for life.
7143         * lrecord.h (struct lrecord_implementation):
7144         Document flags better.
7145         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
7146         * lrecord.h (DECLARE_LRECORD):
7147         * lrecord.h (XSETRECORD):
7148         * lrecord.h (RECORDP):
7149         * lrecord.h (RECORD_TYPEP):
7150         * lrecord.h (RECORD_MARKER): New.
7151         * lrecord.h (error_check_*):
7152         * lrecord.h (CONCHECK_NONRECORD):
7153         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
7154         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
7155         * lrecord.h (set_lheader_implementation):
7156         * lrecord.h (enum lrecord_type): New.
7157         * symeval.h (SYMBOL_VALUE_MAGIC_P):
7158         * alloc.c (disksave_object_finalization_1):
7159         * alloc.c (mark_object):
7160         * alloc.c (lrecord_type_index):
7161         * alloc.c (tick_lcrecord_stats):
7162         * alloc.c (Fgarbage_collect):
7163         * alloc.c (init_alloc_once_early):
7164         * alloc.c (pdump_load):
7165         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
7166         * alloc.c (lrecord_type_index): Delete.
7167         Make lisp object type indexes be constant.
7168           Makes (byte-compile) 5% faster.
7169         Put all marker functions into their own array.
7170           Makes (garbage-collect) 5% faster.
7171         Optimize SYMBOL_VALUE_MAGIC_P.
7172           Makes (byte-compile) 2-3% faster.
7173         * config.h.in (gc_checking_assert): New.
7174         * alloc.c: Use gc_checking_assert().
7175         * .dbxrc: Make compatible with new object type implementation.
7176         * .gdbinit: Make compatible with new object type implementation.
7177         * alloc.c: Delete all symbols defined only for debugging, such as
7178         Lisp_Type_Vector and lrecord_charset.
7179
7180 2000-02-21  Andy Piper  <andy@xemacs.org>
7181
7182         * gui-msw.c (Fmswindows_shell_execute): fix file location
7183         problems.
7184
7185         * buffer.c (Fkill_buffer): remove buffer from alist buffer
7186         unshowing so that set_window_buffer doesn't undo
7187         kill_buffer_hook's hard work.
7188
7189         * glyphs-widget.c (tab_control_query_geometry): don't count the
7190         first item when calculating geometry.
7191
7192         * glyphs.c (map_subwindow): remove redundant code.
7193         (update_frame_subwindows): be more circumspect about when to
7194         update subwindows.
7195
7196         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
7197         when items haven't changed. Update faces if faces have changed as
7198         well as just the widget face.
7199         (x_tab_control_update): Update faces if faces have changed as well
7200         as just the widget face.
7201
7202 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
7203
7204         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
7205         registration.
7206         (build_syscolor_string): Use mswindows_color_to_string to try to
7207         get a named color.
7208         (mswindows_device_system_metrics): Reverse the foreground and
7209         background colors so that they match the documentation.
7210
7211         * objects-msw.c: (mswindows_X_color_map): tweak some values so
7212         they match the default Windows palette.
7213         (mswindows_color_to_string): New function.
7214
7215 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
7216
7217         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
7218
7219 2000-02-18  Olivier Galibert  <galibert@pobox.com>
7220
7221         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
7222         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
7223
7224         * symbols.c (init_symbols_once_early): Removed obsolete
7225         DATA_SEG_BITS related kludge.
7226         (defvar_magic): Ditto.
7227
7228         * malloc.c: Removed obsolete DATA_SEG_BITS
7229         * ralloc.c: Ditto.
7230         * mem-limits.h: Ditto.
7231
7232         * Makefile.in.in: Removed obsolete HAVE_SHM
7233         * emacs.c: Ditto.
7234
7235 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
7236
7237         *  device-msw.c (mswindows_delete_device): Free DDE string
7238         handles.
7239
7240 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7241
7242         * keymap.c (get_keyelt):
7243         * unexnt.c (unexec):
7244         * vm-limit.c (memory_warnings):
7245         * ntheap.c (recreate_heap):
7246         * ntheap.h (UNINIT_PTR):
7247         * select-msw.c (Fmswindows_get_clipboard):
7248         (Fmswindows_set_clipboard):
7249         * objects-msw.h (MSWINDOWS_BAD_HFONT):
7250         * objects-msw.c:
7251         * menubar-msw.c (displayable_menu_item):
7252         * glyphs-msw.c:
7253         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
7254         * sysdep.c (sys_subshell):
7255         * process-nt.c (nt_create_process):
7256         * nt.c (normalize_filename):
7257         (dostounix_filename):
7258         (unixtodos_filename):
7259         * ntproc.c (win32_executable_type):
7260         * ntplay.c (play_sound_data_1):
7261         (play_sound_file):
7262         * editfns.c (get_home_directory):
7263         * event-msw.c (struct winsock_stream):
7264         (mswindows_dde_callback):
7265         * device-msw.c (msprinter_init_device):
7266         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
7267
7268         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
7269         mswindows_clear_toolbar were swapped!
7270
7271         * objects-msw.c:(colormap_t):
7272         (fontmap_t):
7273         * emacs.c (struct standard_args): Fixed const jumble.
7274
7275         * glyphs-widget.c (update_widget): Fixed comparison notation.
7276
7277         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
7278
7279         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
7280         __declspec(noreturn) syntax.
7281
7282 2000-02-19  Martin Buchholz  <martin@xemacs.org>
7283
7284         * eldap.c (Fldap_open):
7285         (Fldap_search_basic):
7286         (Fldap_add):
7287         (Fldap_modify):
7288         Use new coding system conversion macros.
7289
7290 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
7291
7292         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
7293
7294 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
7295
7296         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
7297         (Fldap_add, Fldap_modify, Fldap_delete): New functions
7298
7299         * eldap.c (Qadd, Qreplace): New constant symbols
7300         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
7301         interruptions by XEmacs signals
7302         Remove unnecessary calls to slow_down_interrupts and
7303         speed_up_interrupts
7304         (Fldap_search_basic): Renamed from Fldap_search_internal
7305         Added new optional parameter VERBOSE that triggers the
7306         display of progress messages
7307         Remove unnecessary calls to slow_down_interrupts and
7308         speed_up_interrupts
7309         LDAP result code analysis rewritten
7310         (Fldap_add, Fldap_modify, Fldap_delete): New functions
7311         (syms_of_eldap): Define the new symbols and functions
7312
7313
7314 2000-02-17  Martin Buchholz  <martin@xemacs.org>
7315
7316         * realpath.c: Determine PATH_MAX maximally portably.
7317
7318         * insdel.c (bytecount_to_charcount): Optimize.
7319         The function used to be optimized for entirely ASCII sequences.
7320         Now it is optimized for successive characters from the same
7321         charset.  This also wins big for _mostly_ ASCII sequences.
7322
7323         * fileio.c (Ffile_truename): convert return from realpath() using
7324         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
7325         - Rewrite GCPROing slightly.
7326
7327         * sysdep.c (sys_open): Do filename conversion, like all other
7328         sys_* functions.  Fixes bug:
7329         (let ((file-name-coding-system 'iso-8859-2))
7330            (write-region x y latin2-name))
7331         ==> writes filename using internal encoding.
7332
7333 2000-02-18  Martin Buchholz  <martin@xemacs.org>
7334
7335         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
7336         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
7337         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
7338         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
7339         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
7340         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
7341         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
7342         (CONST_IF_NOT_DEBUG): Delete.
7343         * alloc.c (this_one_is_unmarkable): Delete.
7344         (mark_object): Don't check for this_one_is_unmarkable. Use the
7345         c_readonly flag instead.
7346         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
7347
7348 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
7349
7350         * event-msw.c (mswindows_drain_windows_queue):
7351         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
7352         away redundant repaint events.
7353
7354 2000-02-17  Andy Piper  <andy@xemacs.org>
7355
7356         * redisplay.h: declare mark_redisplay_structs.
7357
7358         * redisplay.c (redisplay_window):
7359         (redisplay_frame): don't check subwindows_state_changed.
7360         (mark_redisplay): mark gutters here.
7361
7362         * glyphs.c: (instantiate_image_instantiator): always layout if we
7363         haven't done so already.
7364         (allocate_image_instance): don't mark as dirty.
7365         (update_subwindow): bind inhibit_quit.
7366
7367         * gutter.c (mark_gutters): new function.
7368
7369         * glyphs-x.c (x_update_widget): Always resize to get round a
7370         widget bug.
7371
7372         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
7373         breaking absolutely everything.
7374
7375         * gutter.h: declare mark_gutters.
7376
7377 2000-02-16  Martin Buchholz <martin@xemacs.org>
7378
7379         * XEmacs 21.2.29 is released.
7380
7381 2000-02-15  Olivier Galibert  <galibert@pobox.com>
7382
7383         * fns.c (size_bit_vector): Fix computation of the size.
7384
7385 2000-02-15  Martin Buchholz  <martin@xemacs.org>
7386
7387         * *.[ch]: Change CONST to const globally.
7388         find -name '*.[ch]' | \
7389         xargs global-replace \
7390         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
7391         - Remove vestigial references to CONST_IS_LOSING
7392
7393 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
7394
7395         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
7396         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
7397         events instead of dispatching them directly.
7398         (mswindows_handle_paint): New function to do repainting.
7399         (mswindows_wnd_proc):
7400         (emacs_mswindows_handle_magic_event): Call above function.
7401
7402 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
7403
7404         * objects-msw.c (mswindows_create_font_variant): Return the new
7405         font handle.
7406         (initialize_font_instance): Get font metrics from the underlined
7407         variant of the font to cope with the case where the underlined
7408         font has a bigger descent.
7409
7410 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
7411
7412         * gui.c (gui_item_accelerator): Return the first underlined
7413         character in item name.
7414
7415 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7416
7417         * lisp.h: Added Qprinter.
7418
7419         * general.c (syms_of_general): Initialized it.
7420
7421         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
7422         (get_frame_dc):
7423         (get_frame_compdc): Made inline.
7424
7425         * console.h (struct console_methods): Added eject_page method.
7426
7427         * frame.h: Added FRAME_DISPLAY_P and friends.
7428         Aligned backslahes in many macros in more readable fashion.
7429         Added page_number to struct frame, and an accessor macro
7430         for it.
7431
7432         * defice.h: Added DEVICE_DISPLAY_P and friends.
7433
7434         * device.c (Fdevice_printer_p): Used these.
7435
7436         * frame.c (allocate_frame_core): Initialize page number.
7437         (Fprint_job_page_number):
7438         (Fprint_job_eject_page): Implemented.
7439
7440         * frame-msw.c (msprinter_eject_page): Added method.
7441         (msprinter_start_page): Added.
7442
7443         * window.c (Fwindow_truncated_p): Fixed docstring.
7444         (Fwindow_last_line_visible_height): Implemented.
7445
7446 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
7447
7448         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
7449
7450 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
7451
7452         * syntax.c (scan_words): Always advance at least one character.
7453
7454 2000-02-13  Andy Piper  <andy@xemacs.org>
7455
7456         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
7457         to make sure the glyph is in the cachels.
7458
7459         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
7460         global image instance flag.
7461         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
7462         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
7463
7464         * glyphs.c (allocate_image_instance): set dirty bits correctly.
7465         (Fset_image_instance_property): mark layout as changed.
7466         (invalidate_glyph_geometry_maybe): mark layout as changed.
7467         (glyph_width): use new NEEDS_LAYOUT macro.
7468         (glyph_ascent): ditto.
7469         (glyph_descent): ditto.
7470         (glyph_height): ditto.
7471         (image_instance_layout): mark layout as clean after laying out.
7472         (update_subwindow): don't mark layout as clean here.
7473
7474         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
7475         should no longer be needed.
7476
7477         * glyphs-x.c (x_update_widget): sanitize asserts.
7478         (x_finalize_image_instance): sanitize assignment to widgets.
7479
7480         * glyphs-widget.c (widget_instantiate): don't need to clear the
7481         layout flag here.
7482
7483 2000-02-13  Martin Buchholz  <martin@xemacs.org>
7484
7485         * sysdep.c (getcwd): Use standard prototype.
7486         * sysdep.h (getcwd): Use standard prototype.
7487
7488         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
7489         (sequence, start, end).
7490         Remove redundant type checking.
7491         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
7492         view of `caller-protects') to avoid a crash where the real fix was
7493         found elsewhere.
7494
7495 2000-02-12  Martin Buchholz  <martin@xemacs.org>
7496
7497         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
7498
7499         * s/sol2.h: Remove feature macro initialization.
7500
7501         * alloc.c (alloc_lcrecord): Add more type checking assertions.
7502         (vector_hash): New.  Code from internal_hash.
7503         * lrecord.h:
7504         Fix up allocation subsystem comments.
7505
7506         * config.h.in: Add __EXTENSIONS__ for Solaris.
7507
7508         * systime.h (EMACS_GETTIMEOFDAY): New.
7509         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
7510         Remove Solaris-specific code.
7511         Use void* for the (ignored) second arg for gettimeofday().
7512
7513         * elhash.c (hash_table_hash): Implement it, finally.
7514         * elhash.c:  Use hashcode_t.
7515
7516         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
7517         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
7518
7519         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
7520         * fns.c (size_bit_vector):
7521         * alloc.c (size_vector):
7522         (make_vector_internal):
7523         (make_bit_vector_internal):
7524         (sweep_bit_vectors_1):
7525         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
7526
7527 2000-02-10  Martin Buchholz  <martin@xemacs.org>
7528
7529         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
7530         Include strings.h to avoid warnings for bzero and strcasecmp.
7531
7532 2000-02-10  Olivier Galibert  <galibert@pobox.com>
7533
7534         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
7535         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
7536
7537         * fns.c (size_bit_vector): New.  Declare bit vectors as a
7538         sequence.
7539
7540 2000-02-10  Olivier Galibert  <galibert@pobox.com>
7541
7542         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
7543         use a value field instead.
7544         (symbol_value_forward_forward): Use value field.
7545         (DEFVAR_SYMVAL_FWD): Use value field.
7546         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
7547         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
7548         (DEFVAR_CONST_INT): Ditto.
7549         (DEFVAR_BOOL): Ditto.
7550         (DEFVAR_CONST_BOOL): Ditto.
7551         (DEFVAR_INT_MAGIC): Ditto.
7552         (DEFVAR_BOOL_MAGIC): Ditto.
7553
7554         * symbols.c (guts_of_unbound_marker): Use value field.
7555         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
7556         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
7557
7558         * lisp.h: Declare dumpopaque and noninteractive1.
7559
7560         * alloc.c (dumpopaque): Added.
7561         (pdump_dump_opaquevec): Added.
7562         (pdump): Call pdump_dump_opaquevec to dump opaque data.
7563         (pdump_load): Reload opaque data.  Sync noninteractive1 with
7564         noninteractive.
7565
7566 2000-02-10  Andy Piper  <andy@xemacs.org>
7567
7568         * glyphs.c (image_instance_layout): if the size changes, mark it
7569         as such.
7570
7571         * redisplay-output.c (redisplay_output_layout): Update the
7572         subwindow here.
7573         (redisplay_output_subwindow): ditto.
7574
7575         * glyphs.c (update_subwindow): make sure we reset flags for
7576         layouts as well as everything else.
7577
7578         * glyphs-widget.c (layout_layout): don't need to set the instances
7579         dimensions here.
7580
7581 2000-02-09  Martin Buchholz  <martin@xemacs.org>
7582
7583         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
7584         not HAVE_DLOPEN, which is a lower-level thing.
7585
7586         * .cvsignore: Ignore gmon.out
7587
7588 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
7589
7590         * .cvsignore: Ignore portable dumper xemacs.dmp file
7591
7592 2000-02-09  Andy Piper  <andy@xemacs.org>
7593
7594         * redisplay-output.c (redisplay_output_layout): be more clever
7595         about when we output based on the changed flags.
7596
7597         * glyphs.h (struct image_instantiator_methods): add update_method.
7598         (struct Lisp_Image_Instance): add changed flags. Declare new
7599         macros for manipulating them.
7600
7601         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
7602         (image_instance_parent_glyph): find an image_instance's parent
7603         glyph or image_instance.
7604         (image_instance_layout): mark the size as changed.
7605         (set_image_instance_dirty_p): new function. mark an image
7606         instance, plus all of its parents, as dirty.
7607         (Fset_image_instance_property): use it.
7608         (Fglyph_animated_timeout_handler): use it.
7609         (update_subwindow): call update_widget and device methods for
7610         update_subwindow. Mark all changed flags as clean.
7611         (Fresize_subwindow): mark size as changed.
7612
7613         * glyphs-x.c (x_finalize_image_instance): try and detect gc
7614         failures.
7615         (x_update_subwindow): only resize subwindows here.
7616         (x_update_widget): new function. Update all changed properties of
7617         a widget.
7618         (x_resize_subwindow): deleted.
7619         (x_widget_set_property): deleted.
7620         (x_progress_gauge_set_property): deleted.
7621         (x_progress_gauge_update): new function. Implement recorded
7622         changes.
7623         (x_tab_control_update): ditto.
7624         (x_tab_control_set_property): deleted.
7625         (console_type_create_glyphs_x): declare new functions.
7626         (image_instantiator_format_create_glyphs_x): ditto.
7627
7628         * glyphs-widget.c (widget_set_property): mark text changed.
7629         (update_widget): new function. Update properties of a widget.
7630         (widget_instantiate): for layouts make sure we set their
7631         children's parent correctly.
7632         (tab_control_set_property): new function. Record changes that will
7633         take place under redisplay's control.
7634         (progress_gauge_set_property): ditto.
7635         (image_instantiator_progress_guage): declare new functions.
7636         (image_instantiator_tab_control): ditto.
7637
7638         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
7639         now.
7640         (mswindows_update_widget): new function. Update all properties on
7641         a widget that have changed.
7642         (mswindows_button_update): new function. Update a button's set
7643         state.
7644         (mswindows_tab_control_update): new function. Update the items in
7645         a tab.
7646         (mswindows_tab_control_set_property): deleted.
7647         (mswindows_progress_gauge_update): new function. Update the
7648         progress gauge's progress.
7649         (mswindows_widget_set_property): deleted. This is all done
7650         asynchronously now.
7651         (mswindows_progress_gauge_set_property): ditto.
7652         (console_type_create_glyphs_mswindows): declare new methods.
7653         (image_instantiator_format_create_glyphs_mswindows): ditto.
7654
7655         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
7656         (msprinter_set_frame_properties): ditto.
7657
7658         * console.h (struct console_methods): Add update_widget_method.
7659
7660 2000-02-09  Andy Piper  <andy@xemacs.org>
7661
7662         * gui-msw.c (Fmswindows_shell_execute): Make
7663         mswindows-shell-execute industrial strength.
7664
7665 2000-02-08  Martin Buchholz  <martin@xemacs.org>
7666
7667         * lrecord.h: Make macro argument `props' match member function `plist'.
7668         * fns.c (Fget):
7669         * fns.c (Fput):
7670         * fns.c (Fremprop):
7671         * fns.c (Fobject_plist):
7672         * alloc.c:
7673         * symbols.c:
7674         Object property list frobbing cleanup.
7675         - Allow any lisp object (compared with `eq'), not just symbols, as
7676           keys in object plists.
7677         - Move symbol plist frobbing into symbols.c, where it belongs.
7678         - Move string plist frobbing into alloc.c, where it belongs.
7679         - Everything's an lrecord now, so no need to test for symbolp, etc.
7680         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
7681
7682         * extents.c: Reorder code to remove declarations.
7683
7684         * frame.h (store_in_alist): Remove useless declaration.
7685
7686 2000-02-07  Martin Buchholz  <martin@xemacs.org>
7687
7688         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
7689         * config.h.in: Add HAVE_XCONVERTCASE.
7690
7691 2000-02-07  Andy Piper  <andy@xemacs.org>
7692
7693         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
7694         it breaks many things.
7695
7696 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
7697
7698         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
7699         actually can start a common comment type.
7700         * src/syntax.h (SYNTAX_END_P): ditto for end.
7701
7702 2000-02-07  Martin Buchholz <martin@xemacs.org>
7703
7704         * XEmacs 21.2.28 is released.
7705
7706 2000-02-06  Martin Buchholz  <martin@xemacs.org>
7707
7708         * event-Xt.c (x_keysym_to_character): New.
7709         (maybe_define_x_key_as_self_inserting_character): New.
7710         (x_has_keysym): New.
7711         Auto-define all keys on the keyboard as self-insert-key.
7712
7713 2000-02-02  Martin Buchholz  <martin@xemacs.org>
7714
7715         * menubar.c (vars_of_menubar): A small code simplification.
7716
7717         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
7718
7719         * ExternalShell.c:
7720         * ExternalClient.c:
7721         * EmacsShell-sub.c:
7722         * EmacsManager.c:
7723         * EmacsFrame.c:
7724         Use consistent style for specifying X resources.
7725
7726         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
7727         This makes (dontusethis-set-symbol-value-handler) actually usable.
7728
7729         * lrecord.h (lrecord_decription_type):
7730         * alloc.c (pdump_register_sub):
7731         (pdump_dump_data):
7732         (pdump_reloc_one):
7733         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
7734         Comply with XEmacs coding style.
7735         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
7736         args, and XD_LISP_OBJECT_ARRAY with 3 args.
7737
7738         * keymap.c (Faccessible_keymaps):
7739         Make (accessible-keymaps map "\C-h") do the Right Thing.
7740         Make (accessible-keymaps map []) do the Right Thing.
7741         Make (accessible-keymaps map "") do the Right Thing.
7742         (check_keymap_definition_loop): New function.
7743         (keymap_store_internal): Keep luser from shooting self in foot,
7744           via (define-key ctl-x-4-map "p" global-map).
7745         Remove fullness slot from struct Lisp_Keymap, since hash tables
7746         are now reliable.
7747         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
7748
7749 2000-01-30  Martin Buchholz  <martin@xemacs.org>
7750
7751         * redisplay.c (init_redisplay): Fix small memory leak.
7752         * elhash.h:
7753         * elhash.c (pdump_reorganize_hash_table):
7754         Rename from reorganize_hash_table. Change prototype.
7755         Reuse the original memory for hentries.  Save 100k.
7756         * alloc.c (PDUMP_READ): new macro.
7757         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
7758         * alloc.c: No need to #ifndef before #undef.
7759
7760         * print.c: Allow debug_print() to print readably by modifying
7761         debug_print_readably.  Use consistent variable names.
7762
7763         * .dbxrc: Try to get things to work even if stopped in a function
7764         without source available by explicitly specifying source files.
7765 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7766
7767         * unexnt.c (_start): Removed bogus code which caused loading heap
7768         from differrent executable file.
7769         Removed bogus assignment to _fmode, which caused inconsistencies.
7770
7771 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7772
7773         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
7774         Have spawnve encapsulation regard DONT_ENCAPSULATE.
7775         Do not preliminary `#define signal sigset'.
7776
7777         * systime.h: Do not prototype environ on windows nt and cygwin,
7778         this conflicts with system header.
7779
7780         * syssignal.h: Use correct define for WINDOWSNT
7781
7782         * sysdep.h: Do not prototype environ on windows nt, this conflicts
7783         with system header.
7784
7785         * sysdep.c (near start of file): Fixed commentary and rearranged
7786         ifdefs in readable order.
7787         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
7788         (start_of_text):
7789         (end_of_text):
7790         (end_of_data): Do not compile in if using PDUMP.
7791
7792         * symsinit.h: Prototyped vars_of_nt().
7793
7794         * ntproc.c (windows9x_p): Added, instead of os_subtype.
7795         (find_child_console): Use it.
7796         (sys_kill): Use it.
7797
7798         * ntheap.h: Do not extern os_subtype.
7799
7800         * ntheap.c (cache_system_info): Do not cache unneeded:
7801         nt_major_version, nt_minor_version and os_subtype.
7802         (recreate_heap): Do not compile in when PDUMPing.
7803
7804         * nt.c (geteuid and friends): Use the new varibale
7805         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
7806         (init_user_info): Removed the above mentioned hackery.
7807         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
7808         stat has been fixed in the C runtime.
7809         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
7810
7811         * file-coding.c (struct file_coding_dump): Do not define
7812         ucs_to_mule_table in the struct if not MULE.
7813         (struct struct lrecord_description fcd_description_1): Do not dump
7814         the above.
7815
7816         * emacs.c (main_1): Call vars_of_nt().
7817         (right before Fdump_emacs_data): Don't need lastfile if using both
7818         portabe dumper and system malloc.
7819
7820         * alloc.c (Fmemory_limit): Conditionalized out.
7821         (pdump): Use OPEN_BINARY for the portable dump file.
7822         (pdump_load): Ditto.
7823
7824 2000-02-02  Mike Alexander  <mta@arbortext.com>
7825
7826         * nt.c (convert_time): Set tm_isdst before calling mktime and
7827         avoid calling it at all if the compiler supports 64 bit integers.
7828         Also initialize utc_base_ft before using it.
7829
7830 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
7831
7832         * frame.c (change_frame_size_1): Take f->internal_border_width
7833         into consideration when calculating the width of the frame.
7834
7835 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7836
7837         * window.c (frame_min_height):
7838         (frame_size_valid_p):
7839         (frame_pixsize_valid_p): Added.
7840         (check_frame_size): Generalized.
7841
7842         * window.h: Prototyped the above.
7843
7844         * lisp.h:
7845         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
7846         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
7847         Deleted Vwin32_* and Vbinary_process_* unused variables.
7848
7849         * device-msw.c (msprinter_init_device): Do not get printer font
7850         list; Added DEVMODE functions.
7851
7852         * frame-msw.c: Added lots of printer code.
7853
7854         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
7855         general.c.
7856
7857         * console-msw.h: Added more msprinter device private slots.
7858
7859 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7860
7861         * event-msw.c (key_needs_default_processing_p): Added.
7862         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
7863
7864 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7865
7866         * glyphs.c (image_instance_layout): Mark image instance as clean
7867         after layout.
7868         (glyph_dirty_p): Removed redundant function.
7869         (invalidate_glyph_geometry_maybe): Added.
7870         (update_glyph_cachel_data): Call it.
7871
7872         * glyphs.h: Prototyped it.
7873
7874         * redisplay.c (add_glyph_rune): Call it.
7875         (redisplay_window): Reset glyphs cachels when frame faces have
7876         changed, thus forcing recomputation of built-in border glyphs.
7877
7878 2000-01-30  Martin Buchholz  <martin@xemacs.org>
7879
7880         * Makefile.in.in: Make portable dumper and purify play well together.
7881         Add imperfect, but better than nothing, support for pdump.
7882         Remove xemacs.dmp when temacs is re-generated.
7883         Don't ignore errors when dumping xemacs.
7884
7885         * symbols.c (maybe_call_magic_handler): Remove one magic number.
7886
7887 2000-01-28  Andy Piper  <andy@xemacs.org>
7888
7889         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
7890         (setup_normal_frame): ditto.
7891         (setup_frame_without_minibuffer): ditto.
7892         (setup_minibuffer_frame): ditto.
7893         (delete_frame_internal): ditto.
7894         (Fmake_frame_invisible): ditto.
7895         (Ficonify_frame): ditto.
7896
7897         * window.h: change Fset_window_buffer signature.
7898
7899         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
7900         (Fset_window_buffer): allow recording of buffer if the window is
7901         the selected window.
7902         (window_loop): Use new Fset_window signature.
7903
7904 2000-01-23  Daniel Pittman  <daniel@danann.net>
7905
7906         * config.h.in: Added template for `HAVE_ATHENA_3D'
7907
7908 2000-01-29  Andy Piper  <andy@xemacs.org>
7909
7910         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
7911
7912         * gutter.c (output_gutter): Don't output if the window isn't live.
7913
7914 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7915
7916         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
7917         of 01/12/00: Moved SetFocus back here where it belongs.
7918
7919 2000-01-23  Andy Piper  <andy@xemacs.org>
7920
7921         * s/cygwin32.h: declare printer things.
7922
7923 2000-01-26  Andy Piper  <andy@xemacs.org>
7924
7925         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
7926         Alexander.
7927
7928 2000-01-24  Andy Piper  <andy@xemacs.org>
7929
7930         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
7931         (mswindows_button_instantiate): Make sure glyph is a pixmap.
7932
7933         * glyphs-widget.c (widget_instantiate): Avoid shadows.
7934
7935         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
7936
7937         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
7938
7939         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
7940         (mswindows_output_display_block): Avoid local shadows.
7941
7942         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
7943         (mswindows_enqueue_mouse_button_event): ditto.
7944         (mswindows_handle_gui_wm_command): remove declaration.
7945
7946         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
7947         warnings.
7948
7949         * console-msw.h: Avoid shadows.
7950         (mswindows_get_toolbar_button_text):
7951         (emacs_mswindows_create_stream_pair):
7952         (emacs_mswindows_delete_stream_pair):
7953         (mswindows_handle_toolbar_wm_command): declare.
7954
7955         * device-msw.c (build_syscolor_string): Avoid shadows.
7956
7957 2000-01-23  Andy Piper  <andy@xemacs.org>
7958
7959         * glyphs-widget.c (widget_instantiate): reverse the items for
7960         layouts so that children are in the expected order.
7961
7962 2000-01-28  Martin Buchholz  <martin@xemacs.org>
7963
7964         * ralloc.c: safe_bcopy ==> memmove
7965         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
7966         * s/msdos.h: Remove BCOPY macros.
7967         * insdel.c (gap_right): Remove BCOPY conditional code.
7968         * insdel.c (gap_left): Remove BCOPY conditional code.
7969         XEmacs demands a working ANSI C compiler - hence memmove.
7970
7971         * regex.c (regex_compile): Remove accidental use of trigraphs.
7972
7973 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7974
7975         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
7976         event timestamp.
7977
7978 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7979
7980         * event-msw.c (mswindows_drain_windows_queue): Added the
7981         parameter.
7982         (mswindows_need_event): Commented the call to
7983         mswindows_drain_windows_queue().
7984         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
7985         only.
7986
7987         * console-msw.h: Moved a few function prototypes here from
7988         event-msw.c.
7989
7990         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
7991         parameter from unsigned short to unsigned long.
7992         (Fmswindows_shell_execute): Added return value.
7993
7994 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
7995
7996         * sysdep.c (init_system_name):
7997           process-unix.c (unix_canonicalized_host_name):
7998         Don't call freeaddrinfo() if getaddrinfo() fails.
7999
8000         * process-unix.c (unix_open_unix_network_stream):
8001         Moved the code to get a port # into address loop.
8002
8003 2000-01-27  Martin Buchholz  <martin@xemacs.org>
8004
8005         * buffer.c (reinit_vars_of_buffer):
8006         The right place to initialize conversion_in_dynarr and
8007         conversion_out_dynarr.
8008
8009         * alloc.c (pdump): Use the real open() till sys_open() is functional.
8010
8011         * process-unix.c (unix_canonicalize_host_name): Muleize.
8012         (unix_open_network_stream): Muleize.
8013
8014         * buffer.h: Fix up prototypes for ralloc.c functions.
8015
8016 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
8017         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
8018         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
8019                 instead of gethostbyname()
8020         * process-unix.c: In unix_canonicalize_host_name() and
8021                 unix_open_network_stream(), add code to use getaddrinfo()
8022                 instead of gethostbyname().
8023
8024 2000-01-27  Daniel Pittman <daniel@danann.net>
8025
8026         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
8027         libs when built with flat Athena.
8028
8029 2000-01-27  Martin Buchholz  <martin@xemacs.org>
8030
8031         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
8032         Use coding standards for function prototypes.
8033
8034 2000-01-25  Martin Buchholz  <martin@xemacs.org>
8035
8036         * dialog-msw.c (push_lisp_string_as_unicode):
8037         * doc.c (unparesseuxify_doc_string):
8038         * dired.c (Fuser_name_completion_1):
8039         * dired.c (Fuser_name_all_completions):
8040         * dired.c (free_user_cache):
8041         * dired.c (user_name_completion):
8042         * console-x.c (get_display_arg_connection):
8043         * minibuf.c (clear_echo_area_internal):
8044         * minibuf.c (echo_area_append):
8045         * eldap.c (Fldap_open):
8046         * eldap.c (Fldap_search_internal):
8047         * frame-x.c (x_set_frame_text_value):
8048         * frame-x.c (x_set_frame_properties):
8049         * frame-x.c (x_create_widgets):
8050         * redisplay-tty.c (term_get_fkeys_1):
8051         * objects-x.c (x_parse_nearest_color):
8052         * objects-x.c (x_valid_color_name_p):
8053         * objects-x.c (x_initialize_font_instance):
8054         * objects-x.c (x_list_fonts):
8055         * objects-x.c (x_find_charset_font):
8056         * tooltalk.c (Fadd_tooltalk_message_arg):
8057         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
8058         * tooltalk.c (Fadd_tooltalk_pattern_arg):
8059         * process-unix.c (unix_create_process):
8060         * ntproc.c (sys_spawnve):
8061         * sound.c (Fplay_sound_file):
8062         * sound.c (Fplay_sound):
8063         * buffer.c (init_initial_directory):
8064         * buffer.c (init_buffer):
8065         * editfns.c (init_editfns):
8066         * editfns.c (Ftemp_directory):
8067         * editfns.c (Fuser_full_name):
8068         * editfns.c (uncache_home_directory):
8069         * editfns.c (get_home_directory):
8070         * editfns.c (Fuser_home_directory):
8071         * editfns.c (Fformat_time_string):
8072         * editfns.c (Fcurrent_time_string):
8073         * gui-x.c (button_item_to_widget_value):
8074         * database.c (Fopen_database):
8075         * event-Xt.c (x_to_emacs_keysym):
8076         * event-Xt.c (x_event_to_emacs_event):
8077         * event-Xt.c (describe_event_window):
8078         * event-msw.c (mswindows_wnd_proc):
8079         * glyphs-eimage.c (jpeg_instantiate):
8080         * glyphs-eimage.c (gif_instantiate):
8081         * glyphs-eimage.c (png_instantiate):
8082         * glyphs-eimage.c (tiff_instantiate):
8083         * glyphs-x.c (xbm_instantiate_1):
8084         * glyphs-x.c (x_xbm_instantiate):
8085         * glyphs-x.c (x_xface_instantiate):
8086         * glyphs-x.c (autodetect_instantiate):
8087         * glyphs-x.c (cursor_font_instantiate):
8088         * glyphs-x.c (x_widget_instantiate):
8089         * glyphs-x.c (x_widget_set_property):
8090         * glyphs-x.c (x_widget_property):
8091         * glyphs-x.c (BUILD_GLYPH_INST):
8092         * print.c (write_string_to_stdio_stream):
8093         * print.c (output_string):
8094         * print.c (Falternate_debugging_output):
8095         * print.c (Fexternal_debugging_output):
8096         * glyphs-msw.c (extract_xpm_color_names):
8097         * glyphs-msw.c (mswindows_xpm_instantiate):
8098         * glyphs-msw.c (bmp_instantiate):
8099         * glyphs-msw.c (resource_name_to_resource):
8100         * glyphs-msw.c (mswindows_resource_instantiate):
8101         * glyphs-msw.c (xbm_instantiate_1):
8102         * glyphs-msw.c (mswindows_xbm_instantiate):
8103         * glyphs-msw.c (mswindows_xface_instantiate):
8104         * glyphs-msw.c (mswindows_widget_instantiate):
8105         * glyphs-msw.c (add_tree_item):
8106         * glyphs-msw.c (add_tab_item):
8107         * glyphs-msw.c (mswindows_combo_box_instantiate):
8108         * glyphs-msw.c (mswindows_widget_property):
8109         * glyphs-msw.c (mswindows_combo_box_property):
8110         * glyphs-msw.c (mswindows_widget_set_property):
8111         * console.c (stuff_buffered_input):
8112         * objects-msw.c (mswindows_initialize_color_instance):
8113         * objects-msw.c (mswindows_valid_color_name_p):
8114         * objects-msw.c (mswindows_list_fonts):
8115         * objects-msw.c (mswindows_font_instance_truename):
8116         * bytecode.c (optimize_compiled_function):
8117         * select-x.c (symbol_to_x_atom):
8118         * select-x.c (x_atom_to_symbol):
8119         * select-x.c (hack_motif_clipboard_selection):
8120         * select-x.c (selection_data_to_lisp_data):
8121         * select-x.c (lisp_data_to_selection_data):
8122         * select-x.c (Fx_get_cutbuffer_internal):
8123         * select-x.c (Fx_store_cutbuffer_internal):
8124         * buffer.h (TO_EXTERNAL_FORMAT): New function.
8125         * buffer.h (TO_INTERNAL_FORMAT): New function.
8126         * emacs.c (make_arg_list_1):
8127         * emacs.c (make_argc_argv):
8128         * emacs.c (main_1):
8129         * emacs.c (Fdump_emacs):
8130         * emacs.c (split_string_by_emchar_1):
8131         * file-coding.h:
8132         * lisp.h:
8133         * lstream.h:
8134         * symsinit.h:
8135         * device-x.c (x_init_device):
8136         * device-x.c (Fx_valid_keysym_name_p):
8137         * device-x.c (Fx_get_font_path):
8138         * device-x.c (Fx_set_font_path):
8139         * glyphs.c (bitmap_to_lisp_data):
8140         * glyphs.c (pixmap_to_lisp_data):
8141         * alloc.c (make_ext_string): Use coding system arguments.  Update
8142         all callers.
8143         * alloc.c (build_string):
8144         * callproc.c (child_setup):
8145         * callproc.c (init_callproc):
8146         * fileio.c (lisp_strerror):
8147         * fileio.c (directory_file_name):
8148         * fileio.c (Fexpand_file_name):
8149         * fileio.c (Ffile_truename):
8150         * fileio.c (Fsysnetunam):
8151         * fileio.c (Fdo_auto_save):
8152         * sysdep.c (sys_readdir):
8153         * tests.c: New file.  Allow adding C tests.
8154         Replace GET_* macros with a more comprehensible and flexible
8155         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
8156         Modify all calls.
8157         Any coding system can be used to do format conversion.
8158         Eliminate enum external_data_format.
8159         Eliminate convert_to_external_format.
8160         Eliminate convert_to_internal_format.
8161         Make sure file-name, keyboard, terminal, and ctext are always
8162         defined as coding systems or aliases.  Make
8163         file-name-coding-system, terminal-coding-system, and
8164         keyboard-coding-system magical variables that are equivalent to
8165         defining the corresponding coding system aliases.
8166
8167         * file-coding.c (Fcoding_system_canonical_name_p): New function.
8168         * file-coding.c (Fcoding_system_alias_p): New function.
8169         * file-coding.c (Fcoding_system_aliasee): New function.
8170         * file-coding.c (append_suffix_to_symbol): New function.
8171         * file-coding.c (dangling_coding_system_alias_p): New function.
8172         * file-coding.c (Ffind_coding_system):
8173         * file-coding.c (Fcopy_coding_system):
8174         * file-coding.c (encode_coding_no_conversion):
8175         * file-coding.c (syms_of_file_coding):
8176         * file-coding.c (vars_of_file_coding):
8177         Rewrite coding system alias code.
8178         Allow nested aliases, like symbolic links.
8179         Allow redefinition of coding system aliases.
8180         Prevent existence of dangling coding system aliases.
8181
8182         * dired.c (Fuser_name_completion_1):
8183         * dired.c (Fuser_name_all_completions):
8184         A crash would happen if user did QUIT in the middle of building
8185         user_name_cache.  Remove redundant code in mainline and unwind_protect.
8186
8187         * lisp.h:
8188         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
8189
8190         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
8191         an unsigned char *.  Update all callers.
8192
8193 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8194
8195         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
8196
8197 2000-01-25  Martin Buchholz  <martin@xemacs.org>
8198
8199         * elhash.c (hentry_description): Use more portable definition.
8200         (resize_hash_table): Initialize new hentries using
8201         xnew_array_and_zero, thereby simplifying the code.
8202
8203         * mule-charset.c (make_charset): Make sure entire object is
8204         initialized, to avoid Purify warnings.
8205
8206         * alloc.c (resize_string): Fix unlikely crash with big strings.
8207
8208 2000-01-24  Martin Buchholz  <martin@xemacs.org>
8209
8210         * realpath.c (xrealpath):
8211         Don't call getwd().
8212
8213 2000-01-25  Martin Buchholz  <martin@xemacs.org>
8214
8215         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
8216
8217 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
8218
8219         * unexelfsgi.c (unexec): Change the way we decide which segment
8220         should be extended.
8221
8222         Assumption that .bss section should be outside the PT_LOADable
8223         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
8224         it's present) is inside the 'data' segment. This would fail the
8225         test which was used to find a segment to grow and cover new
8226         heap. Instead of this assumption, I created another one - on IRIX
8227         the segment to grow should start below .bss and it's address
8228         should extent above the end of .bss. Once this segment is
8229         identified, it's grown to accommodate the new heap and new
8230         zero-length .bss section is added at the end of .data2.
8231
8232 2000-01-25  Martin Buchholz  <martin@xemacs.org>
8233
8234         * eval.c (Feval): Wrong number of arguments should use original
8235         function, not the indirect_function version of it.
8236
8237 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
8238
8239         * glyphs-x.c (x_button_instantiate): Don't add image if
8240         it is not a pixmap.
8241         (x_locate_pixmap_file): Call Fexpand_file_name when file name
8242         is relative.
8243
8244 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
8245
8246         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
8247         declaration.
8248         (DEFVAR_INT_MAGIC): Ditto.
8249         (DEFVAR_BOOL_MAGIC): Ditto.
8250         * glyphs.h: Reindent backslash.
8251
8252 2000-01-24  Martin Buchholz  <martin@xemacs.org>
8253
8254         * glyphs-widget.c (layout_query_geometry):
8255         (layout_layout): Use correct types for gheight, gwidth.
8256
8257 2000-01-24  Martin Buchholz  <martin@xemacs.org>
8258
8259         * EmacsManager.c (QueryGeometry): Purified.
8260
8261 2000-01-23  Martin Buchholz  <martin@xemacs.org>
8262
8263         * alloc.c (make_float): Make sure entire object is initialized, to
8264         avoid Purify warnings.
8265         (pdump_register_sub): Remove useless assignment.
8266         (pdump): Use xmalloc, not malloc.
8267         (pdump_load): Use xmalloc, not malloc.
8268
8269 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8270
8271         * callproc.c:
8272         * dired-msw.c:
8273         * fileio.c:
8274         * process-nt.c:
8275         * redisplay-msw.c:
8276         * sysdep.c: Removed redundant #include <windows.h>
8277
8278 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8279
8280         * frame.c (delete_frame_internal): Do not delete device when its
8281         implementation so declares.
8282         (delete_frame_internal): Set device selected frame to nil when
8283         last frame goes away.
8284
8285         * device-msw.c (msprinter_device_system_metrics): Implemented.
8286         (mswindows_device_system_metrics): Added 'device-dpi property.
8287
8288         * device.c: (Fdevice_printer_p): Added.
8289         Added 'offset-workspace device metric.
8290
8291         * console.h (device_metrics): Declared DM_offset_workspace.
8292
8293 2000-01-23  Martin Buchholz  <martin@xemacs.org>
8294
8295         * fileio.c (Ffile_truename): Remove pointless and confusing
8296         initialization of elen.
8297
8298         * glyphs-widget.c: Compiler warning fixes.
8299
8300 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
8301
8302         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
8303         instead of a Lisp_Object as argument to make it consistent with
8304         the other LIVE_P macros.
8305         (CHECK_LIVE_PROCESS): New macro.
8306
8307         * process.c: Declare Qprocess_live_p.
8308         (Fprocess_live_p): New function.
8309         (create_process): Use PROCESS_LIVE_P.
8310         (read_process_output): Ditto.
8311         (set_process_filter): Ditto.
8312         (Fdelete_process): Ditto.
8313         (kill_buffer_processes): Ditto
8314         (process_send_signal): Use CHECK_LIVE_PROCESS.
8315         (Fprocess_input_coding_system): Check whether process is still
8316         alive (fix PR#1061).
8317         (Fprocess_output_coding_system): Ditto.
8318         (Fprocess_coding_system): Ditto.
8319         (Fset_process_input_coding_system): Ditto.
8320         (Fset_process_output_coding_system): Ditto.
8321
8322 2000-01-23  Andy Piper  <andy@xemacs.org>
8323
8324         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
8325         layout and widget.
8326
8327         * glyphs.c (mark_image_instance): take into account changed
8328         image_instance format.
8329         (image_instance_equal): ditto.
8330         (image_instance_hash): ditto.
8331
8332         * glyphs-widget.c (widget_instantiate): Incorporate layout
8333         instantiation here. Delay layout of the layout until later.
8334         (layout_instantiate): deleted.
8335         (layout_query_geometry): new function. get the geometry of a
8336         layout.
8337         (layout_layout): layout a layout dynamically.
8338         (image_instantiator_widget): New function - splitting up
8339         image_instantiator_format_create_glyphs_widget for netwinder
8340         compilation.
8341         (image_instantiator_buttons):
8342         (image_instantiator_edit_fields):
8343         (image_instantiator_combo_box):
8344         (image_instantiator_scrollbar):
8345         (image_instantiator_progress_guage):
8346         (image_instantiator_tree_view):
8347         (image_instantiator_tab_control):
8348         (image_instantiator_labels):
8349         (image_instantiator_layout): ditto.
8350         (image_instantiator_format_create_glyphs_widget): Call preceding
8351         functions.
8352
8353 2000-01-22  Martin Buchholz  <martin@xemacs.org>
8354
8355         * process.c (Fset_process_coding_system):
8356         * device-x.c (Fx_keysym_hash_table):
8357         Docstring fixes.
8358
8359         * lstream.c (Lstream_write): Return documented value, not 0.
8360
8361         * fileio.c (directory_file_name):
8362         (Fsubstitute_in_file_name):
8363         (Fsubstitute_insert_file_contents_internal):
8364         (Fwrite_region_internal):
8365         * emacs.c:
8366         * sysdep.c:
8367         * getloadavg.c:
8368         * systty.h:
8369         Remove vestigial APOLLO-conditional code.
8370
8371 2000-01-21  Martin Buchholz  <martin@xemacs.org>
8372
8373         * getpagesize.h: Add guard macros.
8374         * libsst.h: Add guard macros.
8375         * libst.h: Add guard macros.
8376         * line-number.h: Add guard macros.
8377         * ndir.h: Add guard macros.
8378         * sysfloat.h: Add guard macros.
8379         * sysfile.h: Add guard macros.
8380         * sysproc.h: Add guard macros.
8381         * syswait.h: Add guard macros.
8382         * xintrinsic.h: Add guard macros.
8383         * xintrinsicp.h: Add guard macros.
8384         * xmmanager.h: Add guard macros.
8385         * xmmanagerp.h: Add guard macros.
8386         * xmprimitive.h: Add guard macros.
8387         * xmu.h: Add guard macros.
8388         * gpmevent.h: Add copyright statement. Add guard macros.
8389         * miscplay.h: Add guard macros.
8390         * *.h: Use consistent C-standards-approved guard macro names.
8391
8392         * opaque.c (make_opaque): Switch parameter order.
8393         * opaque.h (make_opaque): Switch parameter order.
8394         Update all callers.
8395         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
8396
8397         * config.h.in (type_checking_assert): Added.
8398         (bufpos_checking_assert): Added.
8399
8400 2000-01-21  Martin Buchholz  <martin@xemacs.org>
8401
8402         * alloc.c: Harmless pdump changes.
8403         - Use countof().
8404         - spell alignment correctly.
8405         * sysdep.c: Use countof()
8406
8407 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8408
8409         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
8410         initially_selected_for_input() console method, default to 0.
8411         (semi_canonicalize_console_connection): Try to delegate to
8412         canonicalize_console_connection if no such console method.
8413         (canonicalize_console_connection): Vice versa.
8414         (print_console): Do not print nil connection.
8415
8416         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
8417         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
8418         (XDEVIMPF_FRAMELESS_OK): Added.
8419         (CONSOLE_INHERITS_METHOD): Added.
8420
8421         * console-msw.c (mswindows_canonicalize_console_connection):
8422         Added.
8423         (mswindows_canonicalize_device_connection): Added.
8424
8425         * console-msw.h (struct msprinter_device): Added this struct and
8426         accessor macros.
8427         (mswindows_device): Made fontlist a lisp object.
8428
8429         * device.c (semi_canonicalize_device_connection):  Try to delegate
8430         to canonicalize_device_connection if no such console method.
8431         (canonicalize_device_connection): Vice versa.
8432         (print_device): Do not print nil connection.
8433
8434         * device-msw.c (mswindows_init_device): Call InitCommonControls
8435         when have widgets.
8436         (mswindows_delete_device): Removed fontlist deallocation.
8437         (mswindows_mark_device): Added.
8438
8439         * events.c (event_equal): Added abort() at unreached code.
8440         (event_hash): Ditto.
8441
8442         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
8443         fallback tags of Windows devices.
8444
8445         * general.c (syms_of_general): Initialized Qmsprinter.
8446
8447         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
8448         of fallback tags of Windows devices.
8449
8450         * lisp.h: Declared Qmsprinter.
8451
8452         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
8453         of strings.
8454         (mswindows_list_fonts): Ditto.
8455         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
8456         that it can be used by both mswindows and msprinter devices.
8457         (initialize_font_instance): Added.
8458         (mswindows_initialize_font_instance): Use it.
8459         (msprinter_initialize_font_instance): Added.
8460
8461         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
8462         and implementation flags check.
8463         (redisplay_without_hooks): Changed the call to the above.
8464         (Fredraw_device): Ditto.
8465         (Fredisplay_device): Ditto.
8466
8467         * redisplay-msw.c (get_frame_dc): Implemented.
8468         (get_frame_compdc): Implemented.
8469         (many functions): Use the two functions above to get device
8470         contexts, ether for a window or a printer.
8471
8472 2000-01-21  Olivier Galibert  <galibert@pobox.com>
8473
8474         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
8475         initialization here.
8476         (init_symbols_once_early): Call it.
8477         * emacs.c (main_1): Call it.
8478         * symsinit.h: Declare it.
8479
8480 2000-01-19  Olivier Galibert  <galibert@pobox.com>
8481
8482         * alloc.c: Use a lrecord_header * in the backtrace instead of a
8483         Lisp_Object.
8484         (pdump_backtrace): Ditto.
8485         (pdump_register_object): Ditto.  Cleanup use of the pointers.
8486         (pdump_get_entry): Abort if trying to register a null pointer.
8487         (pdump_dump_data): Cleanup types when relocating.
8488         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
8489         (pdump_dump_rtables): Remove bad casts.
8490         (pdump_load): Cleanup relocation w.r.t union type.  Use a
8491         Lisp_Object instead of a EMACS_INT for the hashtable
8492         reorganization.
8493
8494 2000-01-20  Martin Buchholz  <martin@xemacs.org>
8495
8496         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
8497
8498         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
8499
8500         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
8501
8502         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
8503
8504 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8505
8506         * faces.h (FACE_STRIKETHRU_P): Added.
8507
8508         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
8509         of font variants.
8510
8511         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
8512         (mswindows_set_dc_font): New function, aware of font variants,
8513         separated from mswindows_update_dc.
8514
8515         * objects-msw.h (struct mswindows_font_instance_data): Added
8516         definition.
8517
8518         * objects-msw.c (mswindows_finalize_font_instance): Delete all
8519         cached fonts and the data structure.
8520         (mswindows_initialize_font_instance): Added creation of font data
8521         structure.
8522         (mswindows_print_font_instance): Print at least something.
8523         (mswindows_create_font_variant): Implemented.
8524         (mswindows_get_hfont): Implemented.
8525
8526 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
8527
8528         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
8529         prototyping problem with msvc.
8530
8531         * emacs.c (main_1): added syms_of_gui_mswindows() call
8532
8533         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
8534         syms_of_gui_mswindows() function
8535
8536         * symsinit.h: added the prototype for syms_of_gui_mswindows()
8537
8538 2000-01-18  Martin Buchholz <martin@xemacs.org>
8539
8540         * XEmacs 21.2.27 is released.
8541
8542 2000-01-18  Martin Buchholz  <martin@xemacs.org>
8543
8544         * glyphs-eimage.c (struct tiff_error_struct):
8545         (tiff_error_func):
8546         (tiff_warning_func):
8547         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
8548
8549         * unexmips.c:
8550         * unexhp9k3.c:
8551         * unexfreebsd.c:
8552         * unexec.c: Remove vestigial Lucid C code.
8553         * unexalpha.c:
8554         * unexaix.c:
8555         * termcap.c:
8556         * libsst.c: Ansify.
8557         Remove declarations of errno and strerror().
8558
8559         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
8560
8561         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
8562
8563 2000-01-16  Martin Buchholz  <martin@xemacs.org>
8564
8565         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
8566         Optimize.
8567
8568 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
8569
8570         * md5.c:
8571         * file-coding.c:
8572         * file-coding.h:
8573         Change enum eol_type to eol_type_t.
8574
8575 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
8576
8577         * gui.c (get_gui_callback): Check cons before accessing car.
8578
8579 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
8580
8581         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
8582         (XSETSPECIFIER_TYPE): Ditto.
8583
8584 2000-01-17  Didier Verna  <didier@xemacs.org>
8585
8586         * redisplay.c (generate_fstring_runes): compute string size in
8587         characters, not bytes.
8588
8589 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
8590
8591         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
8592
8593 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
8594
8595         * print.c (print_error_message): Call print_prepare().
8596
8597 2000-01-14  Martin Buchholz  <martin@xemacs.org>
8598
8599         * .dbxrc: Renamed from dbxrc.
8600
8601         * events.c (event_to_character):
8602         Use `assert (foo)' instead of `if (!foo) abort()'
8603
8604         * .gdbinit (xtype): Add documentation.
8605         * .gdbinit (check-temacs): New function.
8606         * .gdbinit (check-xemacs): New function.
8607         * dbxrc (check-xemacs): New function.
8608         * dbxrc (check-xemacs): New function.
8609
8610 2000-01-14  Andy Piper  <andy@xemacs.org>
8611
8612         * glyphs-widget.c (widget_query_geometry): Make sure that we
8613         calculate default dimensions correctly.
8614
8615 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8616
8617         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
8618
8619         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
8620         pdump_wire'd variable.
8621
8622         * emacs.c: (main_1): Conditionalized calls to
8623         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
8624
8625 2000-01-13  Martin Buchholz  <martin@xemacs.org>
8626
8627         * window.c (Fset_window_configuration):
8628         * sysdep.c (_start):
8629         * input-method-motif.c (res):
8630         * event-Xt.c (Xt_process_to_emacs_event):
8631         Simple compiler warning fixes.
8632
8633         * bytecode.c (funcall_compiled_function): Use the original
8634         function symbol on the backtrace list in preference to the
8635         compiled_function object in error messages.
8636
8637 2000-01-13  Andy Piper  <andy@xemacs.org>
8638
8639         * glyphs-x.c (update_widget_face): Make sure we update the widget
8640         background as well as foreground.
8641
8642 2000-01-13  Andy Piper  <andy@xemacs.org>
8643
8644         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
8645         fields to subwindow.
8646         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
8647         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
8648         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
8649         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
8650
8651         * glyphs-widget.c (check_valid_tab_orientation): new function.
8652         (initialize_widget_image_instance): zero orientation and
8653         justification.
8654         (widget_instantiate): pick up orientation.
8655         (tab_control_query_geometry): return appropriate values for
8656         vertical tabs.
8657
8658         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
8659         appropriate creation flags for left, right and bottom tabs.
8660
8661         * s/cygwin32.h: add tab definitions.
8662
8663 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8664
8665         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
8666         frame upon hiding a subwindow.
8667         (mswindows_button_instantiate): Changed the push button style to
8668         BS_PUSHBUTTON.
8669         (mswindows_button_instantiate): Removed button BS_NOTIFY
8670         style.
8671         (mswindows_button_instantiate): Removed redundant check for
8672         a disabled gui item.
8673         (mswindows_button_instantiate): Made use of WS_TABSTOP
8674         consistent: "operable" controls (edit, button, tree, scroll) have
8675         this style, "display-only" ones (static, progress gauge) do
8676         not. This style is currently ignored by XEmacs though. Also,
8677         removed the WS_EX_CONTROLPARENT style - it is not for children,
8678         it is for their parents!
8679         (mswindows_edit_field_instantiate): Ditto.
8680         (mswindows_progress_gauge_instantiate): Ditto.
8681         (mswindows_tree_view_instantiate): Ditto.
8682         (mswindows_tab_control_instantiate): Ditto.
8683         (mswindows_scrollbar_instantiate): Ditto.
8684         (mswindows_combo_box_instantiate): Ditto.
8685         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
8686         style to the "clip" window.
8687         (mswindows_button_instantiate): Removed compilation warning by
8688         equally typing terms of the ?: operator.
8689
8690 2000-01-12  Didier Verna  <didier@xemacs.org>
8691
8692         * redisplay.c (generate_fstring_runes): new parameter holding the
8693         last modeline-format extent.
8694         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
8695         extent, fill the glyph block with it.
8696         (generate_fstring_runes): handle these parameters.
8697         (generate_formatted_string_db): ditto.
8698
8699         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
8700         glyphs'extents in the modeline.
8701
8702 1999-01-11  Mike Woolley  <mike@bulsara.com>
8703
8704         * ntheap.c: Reduced the reserved heap space from 1Gb down to
8705         256Mb, as a workaround for the non-starting problem many people
8706         have experienced.
8707
8708 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
8709
8710         * console-tty.c (Fset_console_tty_output_coding_system):
8711         Force redrawing tty frame.
8712
8713 2000-01-10  Didier Verna  <didier@xemacs.org>
8714
8715         * redisplay.c (generate_fstring_runes): fix size computation bug.
8716
8717 2000-01-09  William M. Perry <wmperry@aventail.com>
8718
8719         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
8720
8721 2000-01-09  Andy Piper  <andy@xemacs.org>
8722
8723         * glyphs-msw.c: index -> i to avoid shadows.
8724         (xbm_create_bitmap_from_data): make static.
8725         (check_valid_string_or_int): deleted.
8726         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
8727
8728         * glyphs-x.c (x_update_subwindow): remove unused args.
8729
8730         * glyphs.c (glyph_image_instance): return the thing. Don't set the
8731         back pointer - this is done in allocate_image_instance.
8732         (query_string_font): return Qnil to make the compiler happy.
8733         (unmap_subwindow): set to ~0 to make the compiler happy.
8734         (glyph_query_geometry): comment out until used.
8735         (glyph_layout): ditto.
8736
8737 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
8738
8739         * insdel.c (signal_after_change): Remove extraneous unbind_to().