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