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