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