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