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