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