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