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