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