Contents of release-21-2 at 1999-07-06-13.
[chise/xemacs-chise.git] / src / ChangeLog
1 1999-07-05  Didier Verna  <verna@inf.enst.fr>
2
3         * indent.c: new symbol Qcoerce.
4         (Fmove_to_column): use it + doc string update.
5
6 1999-07-04  Andy Piper  <andy@xemacs.org>
7
8         * console.c: undo earlier Fprovide changes.
9         * fns.c: ditto.
10         * console.h: ditto.
11
12         * console-tty.c (image_instantiator_format_create_glyphs_tty): new
13         function. validate appropriate image formats for tty.
14
15         * glyphs.h (INITIALIZE_IMAGE_INSTANTIATOR_FORMAT_NO_SYM):
16         initialize consoles parameter.
17         (struct image_instantiator_methods): add consoles parameter.
18         (IIFORMAT_VALID_CONSOLE): new function. validate the format on the
19         console.
20         (INITIALIZE_DEVICE_IIFORMAT): validate the format on the given
21         console.
22
23         * glyphs-msw.c: declare instantiators for later use.
24         (image_instantiator_format_create_glyphs_mswindows): validate xpm
25         and friends on the mswindows console.
26         * glyphs-x.c: ditto.
27
28         * glyphs.c (valid_image_instantiator_format_p): disallow glyphs
29         that have not been registered on the supplied device.
30         (Fvalid_image_instantiator_format_p): add locale argument.
31         (instantiate_image_instantiator): valid image instantiator on the
32         device.
33
34         * symsinit.h: add image_instantiator_format_create_glyphs_tty()
35         declaration.
36
37         * emacs.c (main_1): add call to
38         image_instantiator_format_create_glyphs_tty().
39
40 1999-06-29  Olivier Galibert  <galibert@pobox.com>
41
42         * lisp.h: Add #include <stddef.h>.
43
44         * sysdep.c: Remove #include <stddef.h>.
45         * symbols.c: Remove #include <stddef.h>.
46         * sheap.c: Remove #include <stddef.h>.
47         * opaque.c: Remove #include <stddef.h>.
48         * nt.c: Remove #include <stddef.h>.
49         * mule-charset.c: Remove #include <stddef.h>.
50         * marker.c: Remove #include <stddef.h>.
51         * file-coding.c: Remove #include <stddef.h>.
52         * extents.c: Remove #include <stddef.h>.
53         * elhash.c: Remove #include <stddef.h>.
54         * data.c: Remove #include <stddef.h>.
55         * chartab.c: Remove #include <stddef.h>.
56         * bytecode.c: Remove #include <stddef.h>.
57         * alloc.c: Remove #include <stddef.h>.  Fix vector description
58
59 1999-06-30  SL Baur  <steve@miho.m17n.org>
60
61         * editfns.c: Document "%s" format spec.
62         Suggested by Bob Weiner <weiner@altrasoft.com>
63
64 1999-06-29  Andy Piper  <andy@xemacs.org>
65
66         * event-msw.c: fix definition booboo.
67
68 1999-06-28  Andy Piper  <andy@xemacs.org>
69
70         * glyphs-x.c: change tree -> tree-view, progress ->
71         progress_gauge, edit -> edit-field, tab -> tab-control, combo ->
72         combo-box.
73         (complex_vars_of_glyphs_x): provide-on-console the implemented
74         widget types.
75
76         * glyphs-msw.c: ditto.
77         (complex_vars_of_glyphs_mswindows): ditto.
78
79         * lisp.h: add Fprovide_on_console.
80
81         * fns.c (Ffeaturep): add extra optional console argument.
82         (Fprovide_on_console): like Fprovide but provides only on the
83         specified console-type.
84         (Frequire): check console-features as well as global features.
85
86         * console.c (Fconsole_features): new function. return features for
87         this console.
88         (syms_of_console): add Fconsole_features.
89
90         * console.h (CONMETH_FEATURES): new function for accessing features.
91         (CONSOLE_FEATURES): ditto.
92         (struct console_methods): add features slot.
93         (INITIALIZE_CONSOLE_TYPE): initialize features slot.
94
95 1999-06-28  Andy Piper  <andy@xemacs.org>
96
97         * event-Xt.c (handle_focus_event_1): conditionally compile for
98         X11R5.
99
100         * s/cygwin32.h: fix me website address.
101
102         * event-msw.c: add NMHDR for pre b20 cygwin builds.
103
104         * gui-x.c (button_item_to_widget_value): only add callback if it
105         is non-nil.
106
107         * glyphs-x.c: add progress, edit and combo instantiators.
108         (x_widget_set_property): new function. uses lwlib to set widget
109         values.
110         (x_widget_property): new function. uses lwlib to get widget
111         values.
112         (x_button_instantiate): support images in buttons.
113         (x_button_property): new function. use lwlib to get the selected
114         state.
115         (x_progress_instantiate): new function for instantiating progress
116         gauges.
117         (x_progress_set_property): new function. sets the progress gauge
118         position.
119         (x_edit_instantiate): new function. for instantiating edit fields.
120         (x_combo_instantiate): new function. for instantiating combo
121         boxes.
122         (image_instantiator_format_create_glyphs_x): add new device ii
123         formats.
124
125         * glyphs-msw.c (mswindows_tab_instantiate): remove redundant var.
126
127         * console.h (CONSOLE_FEATURES): new features accesor.
128
129         * conslots.h (MARKED_SLOT): add features entry.
130
131 1999-06-25  Andy Piper  <andy@xemacs.org>
132
133         * menubar-x.c (menu_item_descriptor_to_widget_value_1): use new
134         gui functions.
135
136         * menubar-msw.c: move MAX_MENUITEM_LENGTH to gui.h
137
138         * gui.h (struct Lisp_Gui_Item): add accelerator.
139
140         * gui.c (gui_item_add_keyval_pair): deal with accelerators.
141         (gui_item_init): ditto.
142         (gui_add_item_keywords_to_plist): ditto.
143         (mark_gui_item): ditto.
144         (gui_item_hash): ditto.
145         (gui_item_accelerator): new function.
146         (gui_name_accelerator): new function stolen from gui-x.c
147
148         * gui-x.c (popup_selection_callback): always define. mark
149         subwindows changed after calling a callback.
150         (menu_name_to_accelerator): deleted.
151         (button_item_to_widget_value): forward gui_item things to gui_item
152         functions.
153
154         * glyphs-x.h (struct x_subwindow_data): add data for widgets. add
155         appropriate accesors.
156
157         * glyphs-x.c: declare new glyph formats.
158         (x_finalize_image_instance): unmanage and destroy widgets if they
159         exist.
160         (x_unmap_subwindow): handle widgets specially.
161         (x_map_subwindow): ditto. offset display of widgets by offset of
162         text widget within container.
163         (x_update_subwindow): new function. call lw_modify_all_widgets
164         when we are a widget.
165         (x_widget_instantiate): new function for generically creating
166         widgets-glyphs. toolkit specifics forwarded to lwlib.
167         (x_button_instantiate): new function for instantiating
168         widgets-glyph buttons.
169         (console_type_create_glyphs_x): register update_subwindow.
170         (image_instantiator_format_create_glyphs_x): register widget and
171         button types.
172
173         * event-msw.c (mswindows_wnd_proc): remove redundant variable.
174
175         * event-Xt.c (x_event_to_emacs_event): call handle_focus_event_1
176         when we get a button press in case we do not have the focus.
177         (handle_focus_event_1): set the keyboard focus to the text widget
178         if we do not have it.
179
180         * dialog-x.c (dbox_descriptor_to_widget_value): use new gui_item
181         functions.
182
183 1999-06-24  SL Baur  <steve@miho.m17n.org>
184
185         * syntax.c (scan_words): Restore non-Mule code.
186         (word_constituent_p): Restore.
187
188 1999-06-23  Olivier Galibert  <galibert@pobox.com>
189
190         * config.h.in: Add missing #undef *_USER_DEFINED.
191
192 1999-06-23  SL Baur  <steve@miho.m17n.org>
193
194         * lisp.h (set_bit_vector_bit): Force promotion to unsigned long
195         int (fixes a 64-bit problem).
196
197         * chartab.c (word_boundary_p): Use EQ not == for lisp_object
198         comparison.
199
200 1999-03-23  Michael Sperber [Mr. Preprocessor]  <sperber@informatik.uni-tuebingen.de>
201
202         * paths.h.in (PATH_DOC): Made doc-directory configurable.
203
204 1999-06-22  Olivier Galibert  <galibert@pobox.com>
205
206         * lrecord.h: Added basic external description system.
207
208         * symbols.c: Added symbol, symbol-value-buffer-local,
209         symbol-value-lisp-magic and symbol-value-varalias description.
210         * mule-charset.c: Added charset description.
211         * marker.c: Added marker description.
212         * keymap.c: Added keymap description.
213         * glyphs.c: Added glyph description.
214         * floatfns.c: Added float description.
215         * file-coding.c: Added coding-system description.
216         * extents.c: Added extent description.
217         * elhash.c: Added hash-table description.
218         * data.c: Added weak-list desciption.
219         * chartab.c: Added char-table-entry and char-table description.
220         * bytecode.c: Added compiled-function description.
221         * alloc.c: Added cons, vector and string description.
222
223 1999-06-22  Olivier Galibert  <galibert@pobox.com>
224
225         * lrecord.h (struct lrecord_header): Reduced size to 4 bytes.
226         Updated everything to the removal of the "flags" substructure.
227
228         * lisp.h (subr_lheader_initializer): Updated.
229         * symeval.h (symbol_value_forward_lheader_initializer): Updated.
230
231 1999-06-20  MORIOKA Tomohiko  <tomo@etl.go.jp>
232
233         * syntax.c (word_constituent_p): Deleted.
234         (scan_words): Use `WORD_BOUNDARY_P'.
235
236         * chartab.c (Vword_combining_categories): New variable.
237         (Vword_separating_categories): Likewise.
238         (CATEGORYP): New macro.
239         (CATEGORY_SET): Likewise.
240         (CATEGORY_MEMBER): Likewise.
241         (word_boundary_p): New function.
242         (complex_vars_of_chartab): Set up new variable
243         `word-combining-categories' and `word-separating-categories'.
244
245 1999-06-18  Olivier Galibert  <galibert@pobox.com>
246
247         * lrecord.h: Added description as a placehold in the lrecord
248         implementation structures.  Added the parameter to all constructor
249         defines.
250
251         * alloc.c: Added placeholders.
252         * buffer.c: Ditto.
253         * bytecode.c: Ditto.
254         * chartab.c: Ditto.
255         * console.c: Ditto.
256         * data.c: Ditto.
257         * database.c: Ditto.
258         * device.c: Ditto.
259         * eldap.c: Ditto.
260         * elhash.c: Ditto.
261         * eval.c: Ditto.
262         * event-stream.c: Ditto.
263         * events.c: Ditto.
264         * extents.c: Ditto.
265         * faces.c: Ditto.
266         * file-coding.c: Ditto.
267         * floatfns.c: Ditto.
268         * fns.c: Ditto.
269         * frame.c: Ditto.
270         * glyphs.c: Ditto.
271         * gui-x.c: Ditto.
272         * keymap.c: Ditto.
273         * lstream.c: Ditto.
274         * marker.c: Ditto.
275         * mule-charset.c: Ditto.
276         * objects.c: Ditto.
277         * opaque.c: Ditto.
278         * process.c: Ditto.
279         * rangetab.c: Ditto.
280         * specifier.c: Ditto.
281         * symbols.c: Ditto.
282         * toolbar.c: Ditto.
283         * tooltalk.c: Ditto.
284         * window.c: Ditto.
285
286 1999-06-22  XEmacs Build Bot <builds@cvs.xemacs.org>
287
288         * XEmacs 21.2.17 is released
289
290 1999-06-13  Oscar Figueiredo  <oscar@xemacs.org>
291
292         * config.h.in (HAVE_LDAP_SET_OPTION): New define
293         (HAVE_LDAP_GET_LDERRNO): Ditto
294         (HAVE_LDAP_RESULT2ERROR): Ditto
295         (HAVE_LDAP_PARSE_RESULT): Ditto
296         (HAVE_UMICH_LDAP): Removed
297         (HAVE_NS_LDAP): Removed
298
299         * eldap.h (struct Lisp_LDAP): Removed the `livep' member as
300         suggested by Olivier Galibert
301         (CHECK_LIVE_LDAP): Test on `ld' instead of `livep'
302
303         * eldap.c: Take the removal of `livep' into account in all the
304         necessary functions
305         (signal_ldap_error): Take two additional parameters
306         Added new finer compilation conditions in order to use
307         ldap_parse_result or ldap_result2error if available
308         (Fldap_open): Conform to this new API
309         (Fldap_search_internal): Ditto
310
311 1999-06-17  SL Baur  <steve@miho.m17n.org>
312
313         * data.c (struct int_or_double): Should use EMACS_INT not int.
314
315 1999-06-16  Norbert Koch  <n.koch@eai-delta.de>
316
317         * redisplay-msw.c: Run 'ccl_driver' with 'CCL_MODE_ENCODING' as in
318         redisplay-x.c
319
320 1999-06-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
321
322         * redisplay-x.c (separate_textual_runs): Run `ccl_driver' with
323         `CCL_MODE_ENCODING'.
324
325         * file-coding.c (mule_decode): Run `ccl_driver' with
326         `CCL_MODE_DECODING'.
327         (mule_encode): Run `ccl_driver' with `CCL_MODE_ENCODING'.
328
329         * mule-ccl.c (CCL_WRITE_CHAR): Refer `conversion_mode'.
330         (ccl_driver): Add new argument `conversion_mode'.
331         (Fccl_execute): Run `ccl_driver' with `CCL_MODE_ENCODING'.
332         (Fccl_execute_on_string): Likewise [perhaps it is better to add
333         new optional argument].
334
335         * mule-ccl.h (CCL_MODE_ENCODING): New macro.
336         (CCL_MODE_DECODING): New macro.
337         (ccl_driver): Add new argument `conversion_mode'.
338
339 1999-06-15  SL Baur  <steve@miho.m17n.org>
340
341         * mule-charset.c (Fsplit_char): New subr.
342         (Fchar_octet): delete.
343         (syms_of_mule_charset): DEFSUBR it.
344
345 1999-06-13  Andy Piper  <andy@xemacs.org>
346
347         * menubar.h: update declarations involving gui_items.
348
349         * lisp.h: declare Lisp_Gui_Item.
350
351         * glyphs.h (struct Lisp_Image_Instance): update type of gui_item.
352
353         * glyphs.c (mark_image_instance): modify for new lisp-based gui_items.
354         (print_image_instance): ditto.
355         (image_instance_equal): ditto.
356         (image_instance_hash): ditto.
357
358         * event-msw.c (mswindows_need_event): assert badly_p status.
359         (mswindows_wnd_proc): modify WM_NOTIFY handling to cope with
360         callbacks in tree-view and tab-control widgets.
361         (emacs_mswindows_next_event): modify use of
362         mswindows_dequeue_dispatch_event.
363
364         * dialog-msw.c (mswindows_popup_dialog_box): modify for new
365         lisp-based gui_items.
366
367         * glyphs-msw.c (mswindows_update_subwindow): update use of
368         gui_items.
369         (mswindows_register_gui_item): new function.
370         (mswindows_register_gui_item): fix to use lisp gui_items.
371         (mswindows_widget_instantiate): ditto.
372         (mswindows_button_instantiate): ditto.
373         (add_tree_item): new function to recursively add tree view
374         elements.
375         (add_tree_item_list): ditto.
376         (mswindows_tree_instantiate): new function. instantiate tree view
377         controls.
378         (add_tab_item): new function to add tabs to a tab control.
379         (mswindows_tab_instantiate): new function. instantiate tab
380         controls.
381         (image_instantiator_format_create_glyphs_mswindows): add tree view
382         and tab controls.
383         (vars_of_glyphs_mswindows): ditto.
384
385         * glyphs-widget.c (check_valid_item_list_1): allow nested lists in
386         item lists.
387         (check_valid_item_list): ditto.
388         (initialize_widget_image_instance): fix to use new lisp gui_item.
389         (widget_instantiate_1): allow the setting of default textwidth in
390         characters.
391         (widget_instantiate): change to use new widget_instantiate_1
392         signature.
393         (combo_instantiate): ditto.
394         (static_instantiate): ditto.
395         (tab_instantiate): new function for tab widgets.
396         (image_instantiator_format_create_glyphs_widget): add tab and tree
397         view widgets.
398
399         * menubar-msw.c (displayable_menu_item): convert to use lisp
400         gui_items.
401         (populate_menu_add_item): ditto.
402         (populate_or_checksum_helper): ditto.
403
404         * menubar.c (menu_parse_submenu_keywords): convert to use lisp
405         gui_items.
406         (Fmenu_find_real_submenu): ditto.
407
408         * gui.h (struct Lisp_Gui_Item): make gui_item a lisp oebjct.
409
410         * gui.c (gui_item_add_keyval_pair): gui_items are now lisp
411         objects, convert functions that use them accordingly.
412         (gui_item_init): ditto.
413         (gui_item_active_p): ditto.
414         (gui_item_selected_p): ditto.
415         (gui_item_included_p): ditto.
416         (gui_item_display_flush_left): ditto.
417         (gui_item_display_flush_right): ditto.
418         (mark_gui_item): ditto.
419         (allocate_gui_item): new function to create a gui_item.
420         (make_gui_item_from_keywords_internal): ditto. create and return a
421         gui_item as well as setting keywords.
422         (gui_parse_item_keywords): ditto.
423         (gui_parse_item_keywords_no_errors): ditto.
424         (gui_add_item_keywords_to_plist): new function, not yet used.
425         (gui_item_hash): new function.
426         (gui_item_id_hash): use gui_item_hash.
427         (gui_item_equal): new function.
428         (print_gui_item): new function.
429
430 1999-06-11  XEmacs Build Bot <builds@cvs.xemacs.org>
431
432         * XEmacs 21.2.16 is released
433
434 1999-06-10  Andy Piper  <andy@xemacs.org>
435
436         * select-msw.c (mswindows_own_selection): only set the clipboard
437         if asked.
438         (mswindows_get_foreign_selection): only get the clipboard if
439         asked.
440         (mswindows_disown_selection): only disown the clipboard if asked.
441
442 1999-06-03  MORIOKA Tomohiko  <tomo@etl.go.jp>
443
444         * file-coding.c (coding_system_from_mask): Use `raw-text' instead
445         of `no-conversion'.
446         (complex_vars_of_mule_coding): Use `raw-text' as the coding-system
447         of coding-category `no-conversion'.
448
449 1999-06-03  MORIOKA Tomohiko  <tomo@etl.go.jp>
450
451         * file-coding.c (Qraw_text): New variable.
452         (syms_of_mule_coding): Add new symbol `raw-text'.
453         (complex_vars_of_mule_coding): Add new coding-system `raw-text';
454         define coding-system `binary' independently; define coding-system
455         `no-conversion' as an alias for `raw-text'.
456
457         * file-coding.h (Qraw_text): New variable.
458
459 1999-06-08  SL Baur  <steve@xemacs.org>
460
461         * s/decosf4-0.h: Explicitly #undef SYSTEM_MALLOC.
462
463 1999-06-06  Hrvoje Niksic  <hniksic@srce.hr>
464
465         * fns.c (MIME_LINE_LENGTH): Default to 72, as in mimencode and
466         base64.el.
467         (base64_decode_1): Signal errors instead of returning -1.
468
469 1999-06-07  Hrvoje Niksic  <hniksic@srce.hr>
470
471         * mule-charset.c (Fmake_char): Update docstring.
472
473 1999-06-07  Hrvoje Niksic  <hniksic@srce.hr>
474
475         * fns.c (Fstring_lessp): Actually increment the Bufbyte pointers.
476
477 1999-06-05  Hrvoje Niksic  <hniksic@srce.hr>
478
479         * fns.c (base64_decode_1): Allow and ignore any non-base64
480         characters in input.
481
482 1999-05-27  Olivier Galibert  <galibert@pobox.com>
483
484         * emacs.c (Fdump_emacs): Add clear_message() lost with the removal
485         of report_pure_usage().
486
487 1999-06-04  Hrvoje Niksic  <hniksic@srce.hr>
488
489         * fns.c (Fstring_lessp): Remove O(n^2) under Mule.
490
491 1999-06-04  XEmacs Build Bot <builds@cvs.xemacs.org>
492
493         * XEmacs 21.2.15 is released
494
495 1999-06-01  Hirokazu FUKUI  <fukui@atesoft.advantest.co.jp>
496
497         * frame.c (Fset_mouse_position):
498         (Fset_mouse_pixel_position):
499         * window.c (Fsplit_window):
500         (Fmove_to_window_line):
501         Fix crash when invoking functions with an already-deleted window
502         argument.
503
504         * indent.c (vertical_motion_1):
505         (vmotion_pixels):
506         (Fvertical_motion_pixels):
507         * window.c (Fwindow_displayed_text_pixel_height):
508         Fix error message when invoking functions with an already-deleted
509         window argument.
510
511 1999-06-01  Jan Vroonhof  <vroonhof@math.ethz.ch>
512
513         * sysdep.c (request_sigio_on_device): Guard against glibc
514         2.1's stub streams implementation.
515
516 1999-06-03  SL Baur  <steve@xemacs.org>
517
518         * config.h.in:
519         * emacs.c:  Implement x.y.z version numbers
520         From Jan Vroonhof <vroonhof@math.ethz.ch>
521
522 1999-05-20  MORIOKA Tomohiko  <tomo@etl.go.jp>
523
524         * mule-charset.c (complex_vars_of_mule_charset): Registry of
525         japanese-jisx0208-1978 should not match with "jisx0208.1983" nor
526         "jisc6226.1983".
527
528 1999-06-03  SL Baur  <steve@xemacs.org>
529
530         * frame-x.c:
531         * device-x.c: rename session option to wmcommand.
532         From Oliver Graf <ograf@rhein-zeitung.de>
533
534 1999-05-27  Hrvoje Niksic  <hniksic@srce.hr>
535
536         * fns.c (Fsubstring): Don't traverse the same region twice with
537         charcount_to_bytecount().
538
539 1999-06-03  SL Baur  <steve@steve1.m17n.org>
540
541         * m/alpha.h (SYSTEM_MALLOC): Fix indented preprocessor directive
542         garbage.
543
544         * s/decosf4-0.h: Defining ORDINARY_LINK here is redundant (and it
545         doesn't really work as is implied by the commentary).
546         Don't define SYSTEM_MALLOC so the old GNU malloc can be used.
547
548 1999-06-02  SL Baur  <steve@steve1.m17n.org>
549
550         * symsinit.h: Declare vars_of_ntproc.
551         * emacs.c (main_1): Call it.
552
553         * ntproc.c (syms_of_ntproc): Move variable initializations from
554         here ...
555         (vars_of_ntproc): ... to here [new function].
556
557         * file-coding.c (syms_of_file_coding): Rename.
558         (vars_of_file_coding): Ditto.
559         (complex_vars_of_file_coding): Ditto.
560
561         * symsinit.h: Rename *_mule_coding to *_file_coding.
562
563         * emacs.c (main_1): Call them by the proper name.
564
565         * device-msw.c (syms_of_device_mswindows): Move variable
566         initializations from here ...
567         (vars_of_device_mswindows): ... to here.
568
569         * chartab.c (vars_of_chartab): New function.
570
571         * symsinit.h: New function, vars_of_chartab.
572
573         * emacs.c (main_1): Call it.
574
575         * mule-canna.c (syms_of_mule_canna): Move CANNA initialization ...
576         (vars_of_mule_canna): ... to here.
577
578         * mule-ccl.c (vars_of_mule_ccl): New function.  Move variable
579         initializations out of syms_of_mule_ccl.
580
581         * symsinit.h: Declare new function vars_of_mule_ccl.
582
583         * emacs.c (main_1): Call it.
584
585 1999-05-27  Hrvoje Niksic  <hniksic@srce.hr>
586
587         * fns.c (base64_decode_1): Ignore whitespace.
588
589 1999-05-27  Hrvoje Niksic  <hniksic@srce.hr>
590
591         * mule-charset.c (Fmake_char): Strip the eighth bit off ARG1 and
592         ARG2.
593
594 1999-05-21  Andy Piper  <andy@xemacs.org>
595
596         * xselect.c: deleted.
597
598         * symsinit.h: declare select initialisation.
599
600         * select.h: new file. declare commonly used select functions and
601         variables.
602
603         * select.c: new file. generalised from xselect.c.
604         (clean_local_selection_data): moved from xselect.c.
605         (get_local_selection): ditto. device specific pieces called via a
606         devmeth.
607         (handle_selection_clear): ditto.
608         (Fown_selection_internal): renamed and generalised from
609         Fx_own_selection_internal. moved from xselect.c.
610         (Fdisown_selection_internal): ditto.
611         (Fselection_owner_p): ditto.
612         (Fselection_exists_p): ditto.
613         (Fget_selection_internal): ditto.
614         (syms_of_select): new function. QXXXX values moved from xselect.c
615         (vars_of_select): new function. selection_converter_alist,
616         lost_selection_hooks moved and renamed from xselect.c
617
618         * select-x.c: renamed from xselect.c.
619         (x_own_selection): converted to device specific. non-X-specific
620         bits moved to select.c.
621         (x_get_foreign_selection): ditto.
622         (x_disown_selection): ditto.
623         (x_selection_exists_p): ditto.
624         (console_type_create_select_x): new function.
625
626         * select-msw.c (mswindows_own_selection): new device method to set
627         the clipboard when we 'own' the selection.
628         (mswindows_get_foreign_selection): new device method to get the
629         clipboard.
630         (mswindows_disown_selection): new device method to delete the
631         selection when we 'disown' it.
632         (console_type_create_select_mswindows): new function.
633
634         * emacs.c (main_1): add select to things to initialise.
635
636         * console.h (struct console_methods): new console methods for
637         selection.
638
639         * Makefile.in.in (x_objs): xselect.c renamed to select-x.c
640
641 1999-05-20  Hrvoje Niksic  <hniksic@srce.hr>
642
643         * print.c (long_to_string): Install a faster version.
644
645 1999-05-16  Andy Piper  <andy@xemacs.org>
646
647         * ntproc.c (syms_of_ntproc): default
648         win32-start-process-share-console to t.
649
650 1999-05-14  Hrvoje Niksic  <hniksic@srce.hr>
651
652         * config.h.in: Do it here.
653
654         * bytecode.c: Don't define ERROR_CHECK_TYPECHECK here.
655
656 1999-05-14  Andy Piper  <andy@xemacs.org>
657
658         * toolbar-msw.c (mswindows_output_toolbar): hash on something
659         hashable.
660
661 1999-05-14  XEmacs Build Bot <builds@cvs.xemacs.org>
662
663         * XEmacs 21.2.14 is released
664
665 1999-05-12  Andy Piper  <andy@xemacs.org>
666
667         * ntproc.c (sys_spawnve): kludge argv[0] in a MS compatible way.
668
669 1999-05-11  Gunnar Evermann  <ge204@eng.cam.ac.uk>
670
671         * emacs.c (Frun_emacs_from_temacs): (re)alloc natgs+2 entries for
672         run_temacs_argv array -- fixes random memory corruption crash
673
674 1999-05-12  Jan Vroonhof  <vroonhof@math.ethz.ch>
675
676         * window.c (Fcurrent_window_configuration):
677         Save minibuffer height;
678
679         * window.c (set_window_configuration): use it.
680
681 1999-05-10  Robert Pluim  <rpluim@bigfoot.com>
682
683         * lisp.h (NNUNGCPRO): fix typo in name of DEBUG_GCPRO version
684
685 1999-04-21  Jan Vroonhof  <vroonhof@math.ethz.ch>
686
687         * redisplay.c (redisplay_window): Do not put data
688         in the line start cache if it is not guaranteed to be correct
689
690 1999-04-02  Jan Vroonhof  <vroonhof@math.ethz.ch>
691
692         * window.c (struct window_config): Removed frame
693         size members.
694         (window_config_equal): No longer compare frame sizes.
695         (Fset_window_configuration): Resize old top window to fit in the
696         current frame directly, no longer use a fake frame resize.
697         (Fcurrent_window_configuration): No longer save frame size
698
699 1999-05-11  Andy Piper  <andy@xemacs.org>
700
701         * ntproc.c (sys_spawnve): actually assign argv[0] instead of the
702         first character.
703
704 1999-05-10  Hrvoje Niksic  <hniksic@srce.hr>
705
706         * sysdep.c (init_system_name): If gethostname gives a proper
707         domain name, don't look further for one.
708
709 1999-05-09  Hrvoje Niksic  <hniksic@srce.hr>
710
711         * symbols.c (Fintern): Avoid frequent XSYMBOL (foo).
712         (Fintern_soft): Accept a symbol argument.
713
714 1999-05-06  Hrvoje Niksic  <hniksic@srce.hr>
715
716         * symbols.c (Fintern): ...do it here.
717
718         * lread.c (read_atom): Don't handle keywords here.
719
720 1999-05-06  Hrvoje Niksic  <hniksic@srce.hr>
721
722         * symbols.c (reject_constant_symbols): Just use SYMBOL_IS_KEYWORD.
723
724 1999-05-03  Olivier Galibert  <galibert@pobox.com>
725
726         * lisp.h (SYMBOL_IS_KEYWORD): A symbol can be a keyword only if it
727         is interned in the main obarray.
728
729 1999-04-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
730
731         * menubar-x.c (pre_activate_callback): set accelerator field in
732         "No menu" entries to nil. Avoid crash in
733         command_builder_operate_menu_accelerator
734
735 1999-05-03  Olivier Galibert  <galibert@pobox.com>
736
737         * symeval.h (symbol_value_forward_lheader_initializer): Ditto.
738
739         * lisp.h (DEFUN): Fix lrecord header initialisation.
740
741 1999-05-02  Andy Piper  <andy@xemacs.org>
742
743         * objects-msw.c (mswindows_font_instance_truename): add a ';'.
744
745         * ntproc.c (sys_kill): cast using MS mandated defines.
746
747 1999-04-29  Andy Piper  <andy@xemacs.org>
748
749         * m/intel386.h: remove redundant definitions.
750
751         * s/mingw32.h: new header for mingw32.
752
753         * unexnt.c: (open_input_file): function moved to nt.c.
754         (close_file_data): ditto.
755         (rva_to_section): function moved to ntproc.
756
757         * symsinit.h: declare syms_of_ntproc();
758
759         * objects-msw.c (mswindows_font_instance_truename): new function.
760
761         * ntproc.c: remove many warnings.
762         (_sys_read_ahead): moved from nt.c and made static.
763         (rva_to_section): moved from unexnt.c but not defined under
764         mingw32.
765         (win32_executable_type): implement what we can for mingw32
766         headers.
767         (sys_spawnve): fix bad MULE/GCPRO bug in filename handling.
768
769         * ntheap.h: remove declarations of functions that are now static.
770
771         * ntheap.c: support static heap.
772
773         * nt.h: conditionalise X_OK definition.
774
775         * nt.c: eliminate many warnings and support mingw32.
776         (open_input_file): function moved from unexnt.c and made static
777         (close_file_data): ditto.
778         (_sys_read_ahead): moved to ntproc.c
779
780         * emacs.c: make sure syms_of_ntptroc gets called under windows.
781
782         * console-msw.h: support mingw32.
783         * getloadavg.c: ditto.
784         * ntplay.c: ditto.
785         * sysdep.c: ditto.
786         * sysdir.h: ditto.
787         * systime.h: ditto.
788         * systty.h: ditto.
789
790         * config.h.in: dont turn on DEBUG_ENCAPSULATION by default because
791         some systems don't have all of the encapsulated system calls.
792
793         * callproc.c: warning elimination.
794         * dired-msw.c: ditto.
795         * process-nt.c: ditto.
796         * realpath.c: ditto.
797
798         * Makefile.in.in: tweak : and ; for building under mswindows.
799
800 1999-04-26  Michael Harnois  <mharnois@willinet.net>
801
802         * eldap.c (allocate_ldap): Adapt to the new semantics of
803         alloc_lcrecord_type().
804
805 1999-03-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
806
807         * file-coding.c (DECODE_HANDLE_END_OF_CONVERSION): fixed.
808
809 1998-09-04  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
810
811         * Delete mule-coding.c and mule-coding.h because they are not
812         used.
813
814 1999-04-22  Gunnar Evermann  <ge204@eng.cam.ac.uk>
815
816         * objects.c (print_font_instance): Check for NILP(f->device),
817         i.e. Vthe_null_font_instance.
818         (font_instance_truename_internal): ditto.
819         (Ffont_instance_properties): ditto.
820
821 1999-04-22  Olivier Galibert  <galibert@pobox.com>
822
823         * lrecord.h (DECLARE_LRECORD): lrecord_implementation isn't an
824         array anymore.
825
826 1999-04-22  Hrvoje Niksic  <hniksic@srce.hr>
827
828         * Makefile.in.in (tests): Don't mention tests explicitly -- makes
829         it easier to add new ones.
830
831 1999-04-22  Hrvoje Niksic  <hniksic@srce.hr>
832
833         * symbols.c (reject_constant_symbols): Ditto.
834         (init_symbols_once_early): Ditto.
835
836         * print.c (print_symbol): Don't use ->obarray.
837
838         * symbols.c (Funintern): Ditto.
839
840         * alloc.c (Fmake_symbol): Don't set ->obarray.
841
842         * lisp.h (struct Lisp_Symbol): Removed .obarray field.
843
844         * symbols.c (init_symbols_once_early): Removed
845         Vpure_uninterned_symbol_table.
846         (Fintern): Don't store to ->obarray field.
847
848 1999-04-22  Hrvoje Niksic  <hniksic@srce.hr>
849
850         * data.c (vars_of_data): Default debug_issue_ebola_notices to 0.
851         (eq_with_ebola_notice): Remove abracadabra support.
852
853 1999-04-11  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
854
855         * eldap.c (Fldap_search_internal): Add a new parameter `withdn' to
856         retrieve the distinguished names of entries
857
858 1999-03-08  Martin Buchholz  <martin@xemacs.org>
859
860         * lread.c (read_escape): Make hex escapes read only two hex digits.
861
862 1999-04-05  Olivier Galibert  <galibert@pobox.com>
863
864         * Makefile.in.in: Remove puresize-adjust.h and recursive makes.
865         * make-src-depend: Remove puresize-adjust.h.
866         * src-headers: Remove puresize-adjust.h.
867         * config.h.in: Kill everything purespace/gung-ho related.
868
869         * dbxrc: Make gung-ho mandatory.
870         * gdbinit: Ditto.
871
872         * lrecord.h: Make gung-ho mandatory.  Remove pure flag and add
873         c_readonly and lisp_readonly.  Remove implementation arrays.
874         (C_READONLY_RECORD_HEADER_P): Added.
875         (LISP_READONLY_RECORD_HEADER_P): Added.
876         (SET_C_READONLY_RECORD_HEADER): Added.
877         (SET_LISP_READONLY_RECORD_HEADER): Added.
878
879         * lisp.h: Kill everything purespace/non gung-ho related.
880         (CHECK_C_WRITEABLE): Added.
881         (CHECK_LISP_WRITEABLE): Added.
882         (C_READONLY): Added.
883         (LISP_READONLY): Added.
884
885         * lisp-union.h: Make gung-ho mandatory.
886         * lisp-disunion.h: Ditto.
887
888         * alloc.c: Kill everything purespace/non  gung-ho related. Fix all
889         set_lheader_implementation calls.
890         (c_readonly): Added.
891         (lisp_readonly): Added.
892         (make_string_nocopy): Added.
893         (Fpurecopy):  Changed to do  nothing.   Kept the old documentation
894         for reference purposes for the next patches.
895         (sweep_lcrecords_1): Don't free C readonly lcrecords.
896         (sweep_bit_vectors_1): Don't free C readonly bitvectors.
897         (SWEEP_FIXED_TYPE_BLOCK): Don't free C readonly lrecords.
898
899         * fns.c: Make gung-ho mandatory.
900         (Fput): CHECK_IMPURE -> CHECK_LISP_WRITEABLE.
901         (Fremprop): Ditto.
902         (Ffillarray): Ditto.
903
904         * data.c: Make gung-ho mandatory.
905         (pure_write_error): Removed.
906         (c_write_error): Added.
907         (lisp_write_error): Added.
908         (Fsetcar): CHECK_IMPURE -> CHECK_LISP_WRITEABLE.
909         (Fsetcdr): Ditto.
910         (Faset): Ditto.
911
912         * symbols.c: Make gung-ho mandatory.  make_pure_pname ->
913                   make_string or make_string_nocopy.  Fix various
914                   alloc_lcrecord_type.
915
916         * lread.c: Remove everything purespace related.
917         (Flocate_file_clear_hashing): purified -> c_readonly.
918         (locate_file): Ditto.
919         (read_atom): make_pure_pname -> make_string.
920
921         * emacs.c (Frun_emacs_from_temacs): Remove purespace stats
922                   reporting.
923         (Fdump_emacs): Ditto.
924
925         * print.c (print_internal): Make gung-ho mandatory.
926         * ntheap.c (sbrk): Ditto.
927         * mem-limits.h (EXCEEDS_LISP_PTR): Ditto
928         * symeval.h (symbol_value_forward_lheader_initializer): Ditto.
929
930         * sheap.c (more_static_core): Remove puresize-adjust.h from
931                   message.
932
933         * syntax.c (complex_vars_of_syntax): make_pure_string ->
934                   make_string_nocopy.
935         * keymap.c (make_keymap): Fix alloc_lcrecord_type.
936         (vars_of_keymap): make_pure_string -> make_string_nocopy.
937         * events.c (deinitialize_event): Fix set_lheader_implementation.
938         (zero_event): Ditto.
939         * specifier.c (make_specifier_internal): Fix alloc_lcrecord.
940         * menubar-x.c (set_frame_menubar): Fix alloc_lcrecord_type.
941         * mule-charset.c (make_charset): Ditto.
942         * console.c (allocate_console): Ditto.
943         (complex_vars_of_console): Ditto.
944         * file-coding.c (allocate_coding_system): Ditto.
945         * device.c (allocate_device): Ditto
946         * gui-x.c (gcpro_popup_callbacks): Ditto.
947         * extents.c (allocate_extent_auxiliary): Ditto.
948         (allocate_extent_info): Ditto.
949         (copy_extent): Ditto.
950         * glyphs.c (allocate_image_instance): Ditto.
951         (allocate_glyph): Ditto.
952         * frame.c (allocate_frame_core): Ditto.
953         * database.c (allocate_database): Ditto.
954         * tooltalk.c (make_tooltalk_message): Ditto.
955         (make_tooltalk_pattern): Ditto.
956         * rangetab.c (Fmake_range_table): Ditto.
957         (Fcopy_range_table): Ditto.
958         * process.c (make_process_internal): Ditto.
959         * chartab.c (Fmake_char_table): Ditto.
960         (make_char_table_entry): Ditto.
961         (copy_char_table_entry): Ditto.
962         (Fcopy_char_table): Ditto.
963         * elhash.c (make_general_lisp_hash_table): Ditto.
964         (Fcopy_hash_table): Ditto.
965         * buffer.c (allocate_buffer): Ditto.
966         (complex_vars_of_buffer): Ditto.
967         * event-stream.c (allocate_command_builder): Ditto.
968         * objects.c (Fmake_color_instance): Ditto.
969         (Fmake_font_instance): Ditto.
970         (vars_of_objects): Ditto.
971         * toolbar.c (update_toolbar_button): Ditto.
972         * window.c (allocate_window): Ditto.
973         (make_dummy_parent): Ditto.
974         (Fcurrent_window_configuration): Fix alloc_lcrecord.
975         (vars_of_window): Fix make_lcrecord_list.
976         * faces.c (allocate_face): Fix alloc_lcrecord_type. pure_list ->
977                   Flist.
978         * lstream.c (Lstream_new): Fix make_lcrecord_list.
979         * opaque.c (make_opaque): Fix alloc_lrecord.
980         (make_opaque_list): Fix alloc_lrecord_type.
981
982 1999-04-19  Hrvoje Niksic  <hniksic@srce.hr>
983
984         * process.c (Fstart_process_internal): Ditto.
985
986         * ntproc.c (sys_spawnve): Use Vlisp_EXEC_SUFFIXES when calling
987         locate_file().
988
989         * glyphs-x.c (x_locate_pixmap_file): Ditto.
990
991         * glyphs-msw.c (mswindows_locate_pixmap_file): Fix call to
992         locate_file().
993
994         * emodules.c (vars_of_module): New variable Vmodule_extensions.
995         (emodules_load): Use it when calling locate_file().
996
997         * emacs.c (main_1): Use Vlisp_EXEC_SUFFIXES when calling
998         locate_file().
999
1000         * callproc.c: Vlisp_EXEC_SUFFIXES: New variable.
1001         (vars_of_callproc): Initialize it.
1002         (Fcall_process_internal): Use it when calling locate_file().
1003
1004         * alloc.c (disksave_object_finalization): Use
1005         Flocate_file_clear_hashing().
1006
1007         * lread.c (Flocate_file_clear_hashing): Clear all hasing when
1008         given `t' as argument.
1009
1010 1999-04-18  Hrvoje Niksic  <hniksic@srce.hr>
1011
1012         * lread.c (locate_file): Expand `pathel' when appropriate.
1013         (Flocate_file_clear_hashing): Expand path elements.
1014         (Flocate_file_clear_hashing): Use Vlocate_file_hash_table.
1015
1016         * dired.c (make_directory_hash_table): Create the hash-table only
1017         if the directory open is successful.
1018
1019         * lread.c (decode_mode_1): New function.
1020         (decode_mode): Ditto.
1021         (Flocate_file): Use them.
1022         (Flocate_file): Expand FILENAME.
1023         (locate_file_map_suffixes): New function.
1024         (locate_file_in_directory_mapper): New function.
1025         (locate_file_in_directory): Use locate_file_in_directory_mapper()
1026         and locate_file_map_suffixes().
1027         (locate_file_construct_suffixed_files): Use
1028         locate_file_map_suffixes().
1029         (locate_file_without_hash): Don't GCPRO path.
1030         (Flocate_file_clear_hashing): Use EXTERNAL_LIST_LOOP.
1031         (syms_of_lread): Remove Qlocate_file_hash_table.
1032         (locate_file_find_directory_hash_table): Use
1033         Vlocate_file_hash_table.
1034         (locate_file_refresh_hashing): Ditto.
1035
1036         * lread.c: Renamed read_objects to Vread_objects.
1037
1038 1999-04-16  Olivier Galibert  <galibert@pobox.com>
1039
1040         * mule-charset.c: Generally resync with fsf 20.3 charset
1041         interface.
1042         (make_charset): Add long and short name.  Use id instead of
1043         leading byte.
1044         (Fmake_charset): Ditto.
1045         (Fmake_reverse_direction_charset): Ditto.
1046         (Fcharset_property): Ditto.
1047         (Fcharset_short_name): Added.
1048         (Fcharset_long_name): Added.
1049         (Fcharset_description): Renamed from charset-doc-string.
1050         (syms_of_mule_charset): Synced symbols.
1051         (complex_vars_of_mule_charset): Synced charsets.
1052
1053         * mule-charset.h: Removed leading byte (uses id instead), added
1054         short and long name.
1055
1056 1999-04-15  Hrvoje Niksic  <hniksic@srce.hr>
1057
1058         * file-coding.c (Fdefine_coding_system_alias): New function.
1059
1060 1999-04-08  Olivier Galibert  <galibert@pobox.com>
1061
1062         * mule-charset.c (complex_vars_of_mule_charset): Allow all iso8859
1063         and -ascii fonts for displaying ascii instead of iso8859-1 only.
1064
1065 1998-12-14  Hrvoje Niksic  <hniksic@srce.hr>
1066
1067         * extents.c (set_extent_glyph_1): Make sure that the glyph we
1068         attach to the extent is valid.
1069
1070 1998-12-12  Hrvoje Niksic  <hniksic@srce.hr>
1071
1072         * dired.c (user_name_completion): Mule-ize.
1073         (user_name_completion): Use xmalloc/xrealloc/xfree.
1074         (user_name_completion): Use DO_REALLOC.
1075         (user_name_completion): Cut down the number of static variables;
1076         use a structure.
1077         (user_name_completion): Username completion is always
1078         case-sensitive.
1079
1080 1998-12-06  Hrvoje Niksic  <hniksic@srce.hr>
1081
1082         * fns.c (base64_decode_1): Remove COUNTER.
1083         (base64_decode_1): Accept CRLF in addition to CR.
1084         (base64_decode_1): Disallow a stray character after final EOF; the
1085         check was probably a remnant of buggy recode code.
1086
1087 1998-12-05  Hrvoje Niksic  <hniksic@srce.hr>
1088
1089         * fns.c (init_provide_once): Provide `base64'.
1090
1091 1998-12-04  Hrvoje Niksic  <hniksic@srce.hr>
1092
1093         * fns.c (XMALLOC_UNBIND): Include SPECCOUNT argument, for clarity.
1094         (Fbase64_encode_region): If buffer is read-only, bail out early.
1095         (Fbase64_decode_region): Ditto.
1096         (Fbase64_encode_region): Initialize SPECCOUNT to pacify the
1097         compiler.
1098         (Fbase64_encode_string): Ditto.
1099         (Fbase64_decode_region): Ditto.
1100         (Fbase64_decode_string): Ditto.
1101
1102 1998-11-25  Hrvoje Niksic  <hniksic@srce.hr>
1103
1104         * dired.c (Fdirectory_files): Remove redundant code.
1105
1106 1999-03-05  Philip Aston  <philipa@parallax.co.uk>
1107
1108         * frame-msw.c Make raise-frame restore minimised windows.
1109
1110 1999-03-05  Philip Aston  <philipa@parallax.co.uk>
1111
1112         * device-msw.c: Fix DEFVAR format - Death to phantom quote, and
1113         add magic newline.
1114
1115 1999-03-05  Philip Aston  <philipa@parallax.co.uk>
1116
1117         * toolbar-msw.c Consider captions when deciding whether to rebuild
1118         toolbar. This fixes the initial toolbar display for those of us
1119         who don't like captions. These patches applied by Andy Piper.
1120
1121 1999-03-12  XEmacs Build Bot <builds@cvs.xemacs.org>
1122
1123         * XEmacs 21.2.13 is released
1124
1125 1999-03-12  SL Baur  <steve@xemacs.org>
1126
1127         * file-coding.c: Guard ucs table initialization with ifdef MULE.
1128
1129 1999-03-10  Stephen J. Turnbull  <turnbull@sk.tsukuba.ac.jp>
1130
1131         * file-coding.c:  docstring and comment improvements.
1132         (decode_ucs4)  flag possible data loss with comment.
1133
1134 1999-03-10  Martin Buchholz  <martin@xemacs.org>
1135
1136         * file-coding.c (Fset_ucs_char): add CHECK_INT, CHECK_CHAR
1137         (ucs_to_char):
1138         (Fucs_char):
1139         (Fset_char_ucs):
1140         (decode_coding_ucs4):
1141         (encode_coding_ucs4):
1142         (detect_coding_utf8):
1143         (decode_coding_utf8):
1144         (encode_utf8):
1145         (encode_coding_utf8):
1146         Add CHECK_* macros where needed to avoid crashes.
1147         #ifdef out all composite character support using
1148         #ifdef ENABLE_COMPOSITE_CHARS
1149         Use normal XEmacs coding standards.
1150         Fix docstrings.
1151         Remove CODING_STREAM_COMPOSE, CODING_STREAM_DECOMPOSE.
1152
1153 1998-09-08  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
1154
1155         * file-coding.c (make-coding-system): Add description about
1156         `ucs-4' and `utf-8'.
1157         (detection_state): Modify to implement ucs-4 and utf-8.
1158         (detect_coding_type): Likewise.
1159         (detect_coding_ucs4): New implementation.
1160         (detect_coding_utf8): New implementation.
1161         (encode_utf8): fixed.
1162         (syms_of_mule_coding): Rename `ucs4' and `utf8' to `ucs-4' and
1163         `utf-8'.
1164
1165 1998-09-08  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
1166
1167         * file-coding.c (mule_char_to_ucs4): Encode 94x94 chars in ISO
1168         2022 registry to private area.
1169
1170 1998-09-07  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
1171
1172         * file-coding.c (encode_utf8): New function.
1173         (encode_coding_utf8): New implementation.
1174
1175 1998-09-07  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
1176
1177         * file-coding.c (ucs_to_mule_table): New variable; abolish
1178         `Vucs_to_mule_table'
1179         (mule_to_ucs_table): renamed from `Vmule_to_ucs_table'.
1180         (set-ucs-char): New function.
1181         (ucs_to_char): New function.
1182         (ucs-char): New function.
1183         (set-char-ucs): New function.
1184         (char-ucs): New function.
1185         (decode_ucs4): Use `ucs_to_char'.
1186         (complex_vars_of_mule_coding): Abolish `ucs-to-mule-table' and
1187         `mule-to-ucs-table'.
1188
1189 1998-09-06  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
1190
1191         * chartab.h: EXFUN `Fget_char_table'.
1192
1193         * file-coding.c (encode_ucs4): New function.
1194         (encode_coding_ucs4): Use `encode_ucs4'.
1195
1196 1998-09-06  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
1197
1198         * file-coding.c (decode_coding_ucs4): New implementation.
1199
1200 1998-09-06  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
1201
1202         * file-coding.c (decode_coding_ucs4): fixed.
1203
1204         * file-coding.c (Vmule_to_ucs_table): New variable.
1205         (mule_char_to_ucs4): New function.
1206         (encode_coding_ucs4): New implementation.
1207         (complex_vars_of_mule_coding): Define variable
1208         `mule-to-ucs-table'.
1209
1210 1998-09-06  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
1211
1212         * file-coding.c (decode_coding_utf8): New implementation.
1213
1214 1998-09-06  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
1215
1216         * file-coding.c (decode_coding_utf8): fixed.
1217
1218 1998-09-06  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
1219
1220         * file-coding.c (Vucs_to_mule_table): New variable.
1221         (decode_ucs4): Refer `Vucs_to_mule_table'.
1222         (complex_vars_of_mule_coding): Define variable
1223         `ucs-to-mule-table'.
1224
1225 1998-09-04  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
1226
1227         * file-coding.c (detect_coding_ucs4): New function (not
1228         implemented yet).
1229         (decode_coding_ucs4): New function.
1230         (encode_coding_ucs4): New function (not implemented yet).
1231         (detect_coding_utf8): New function (not implemented yet).
1232         (decode_coding_utf8): New function.
1233         (encode_coding_utf8): New function (not implemented yet).
1234         (make-coding-system): New type `ucs4' and `utf8'.
1235         (coding-system-type): Likewise.
1236         (detection_state): Add `ucs4' and `utf8'.
1237         (detect_coding_type): Likewise.
1238         (mule_decode): Use `decode_coding_ucs4' and `decode_coding_utf8'.
1239         (mule_encode): Use `encode_coding_ucs4' and `encode_coding_utf8'.
1240         (decode_ucs4): New function (very incomplete).
1241         (syms_of_mule_coding): Add `ucs4' and `utf8'.
1242
1243         * file-coding.h: Add definitions for UCS-4 and UTF-8.
1244
1245 1999-03-08  Martin Buchholz  <martin@xemacs.org>
1246
1247         * mule-charset.c:
1248         (non_ascii_valid_char_p):
1249         (lookup_composite_char):
1250         (composite_char_string):
1251         (make-composite-char):
1252         (composite-char-string):
1253         (syms_of_mule_charset):
1254         (complex_vars_of_mule_charset):
1255         * mule-charset.h (LEADING_BYTE_COMPOSITE):
1256         (CHAR_LEADING_BYTE):
1257         (MAKE_CHAR):
1258         * file-coding.h (CODING_STATE_COMPOSITE):
1259         (CODING_STATE_ISO2022_LOCK):
1260         (iso_esc_flag):
1261         (LEADING_BYTE_COMPOSITE):
1262         * file-coding.c (struct iso2022_decoder):
1263         (decoding_closer):
1264         (reset_iso2022):
1265         (parse_iso2022_esc):
1266         (encode_coding_iso2022):
1267         #ifdef out all composite character support using
1268         #ifdef ENABLE_COMPOSITE_CHARS
1269
1270         * alloc.c: Define lrecord_coding_system only if ! FILE_CODING
1271
1272 1999-03-04  Takeshi YAMADA <yamada@cslab.kecl.ntt.co.jp>
1273
1274         * fns.c (Fbase64_encode_string): Calculate `allength' in the same
1275         way of `Fbase64_encode_region'.
1276
1277 1999-02-18  Katsumi Yamaoka   <yamaoka@jpl.org>
1278
1279         * fns.c (base64_encode_1): Don't add a newline at the tail.
1280
1281 1999-03-08  Andy Piper  <andy@xemacs.org>
1282
1283         * menubar-msw.c (displayable_menu_item): correct off-by-one &
1284         handling.
1285
1286 1999-03-07  Martin Buchholz  <martin@xemacs.org>
1287
1288         * console-stream.h (struct stream_console):
1289         * event-unixoid.c (event_stream_unixoid_select_console):
1290         (event_stream_unixoid_unselect_console):
1291         * print.c (Fexternal_debugging_output):
1292         * sysdep.c (reset_one_device):
1293         * console-stream.c (stream_init_console):
1294         (stream_delete_console):
1295         (allocate_stream_console_struct): move into stream_init_console.
1296         (free_stream_console_struct): move into stream_delete_console.
1297         Use `fd' only for file descriptors.
1298         Therefore, rename members of struct stream_console.
1299
1300         * systime.h: Unix98 says sys/time.h should define select(), but
1301         some systems define that in unistd.h.  So include that file always.
1302
1303         * glyphs.h (MAYBE_IIFORMAT_METH): Don't use leading `_'.  Avoid
1304         multiple evaluation of first arg.  Do proper do {} while (0) wrapping.
1305         (HAS_IIFORMAT_METH_P): Prevent macro from being used in
1306         non-boolean context
1307         (MAYBE_IIFORMAT_DEVMETH): Use standard internal macro naming convention.
1308
1309         * EmacsShell.c:
1310         * balloon_help.c:
1311         Add #include <stdio.h>.
1312         Some versions of assert.h use printf() without #include'ing stdio.h
1313
1314         * free-hook.c (blocktype): Add gcpro5_type to blocktype.
1315         (log_gcpro): Remove unused variable FRAME.
1316         (show_gcprohist): Ansify.
1317         Comment the #endif's
1318
1319         * frame-x.c (x_delete_frame): Don't use FRAME_X_SHELL_WIDGET(f)
1320         after it's just been XtDestroy'ed!
1321
1322 1999-02-18  Martin Buchholz  <martin@xemacs.org>
1323
1324         * opaque.c (print_opaque):
1325         (sizeof_opaque):
1326         (equal_opaque):
1327         (hash_opaque):
1328         Egcs 1.1.1 seems to have a bug where
1329         INTP (p->size_or_chain)
1330         will crash XEmacs.  Fix by introducing intermediate variable.
1331
1332         * sound.c (Fdevice_sound_enabled_p): Fix compiler warning.
1333
1334         * dired.c (Fdirectory_files):
1335         (Ffile_name_completion):
1336         (Ffile_name_all_completions):
1337         (file_name_completion):
1338         - Use `directory' instead of `dirname' to sync with FSF Emacs and
1339         avoid compiler warnings.
1340         - Fix up docstrings so that C variables match documentation.
1341
1342 1999-03-05  Martin Buchholz  <martin@xemacs.org>
1343
1344         * alloc.c: (garbage_collect_1): Reorg code to make scope of local
1345         variables as small as possible to help out the compiler and the maintainer.
1346
1347         * alloc.c: (disksave_object_finalization):
1348         Set all the *-load-path variables to
1349         nil, not just load-path itself.  This gets the locate-file hash
1350         tables garbage collected BEFORE dump, and has the side effect of
1351         preventing crashes on OSF4.0+egcs.
1352
1353         * alloc.c:
1354         * gdbinit:
1355         * dbxrc:
1356         - Clean up gdb/dbx debugging support.
1357         - Storing an EMACS_INT in an enum is not 64-bit clean!
1358         - So change the enum to a set of separate variables.
1359         - Add test cases to help debug the debugging support!
1360         - Add `lisp-shadows' and `run-temacs' targets for dbx.
1361         - Both dbx and gdb have been tested now.
1362
1363 1999-03-05  XEmacs Build Bot <builds@cvs.xemacs.org>
1364
1365         * XEmacs 21.2.12 is released
1366
1367 1999-02-16  Kazuyuki IENAGA  <ienaga@jsys.co.jp>
1368
1369         * device-x.c: Support to find best visual without flashing.
1370
1371 1999-03-02  Paul Keusemann  <pkeusem@visi.com>
1372
1373         * database.c (berkdb_map): Add flags argument to cursor call (must
1374           be 0 according to docs) required for Berkeley DB 2.6.4 and later.
1375
1376 1999-03-03  Martin Buchholz  <martin@xemacs.org>
1377
1378         * hash.c:
1379         * hash.h:
1380         General cleanup.  Get free-hook.c working again.
1381         Remove unused functions:
1382         make_strings_hash_table, copy_hash, expand_hash_table.
1383
1384         * malloc.c:
1385         * mem-limits.h:
1386         Always use new ANSI-style function prototypes.
1387
1388         * unexalpha.c (unexec): Never use implicit int.
1389
1390         * sgiplay.c (close_sound_file):
1391         (play_sound_file):
1392         (restore_audio_port):
1393         (play_sound_data):
1394         (audio_initialize):
1395         (play_internal):
1396         (drain_audio_port):
1397         (write_mulaw_8_chunk):
1398         (write_linear_chunk):
1399         (write_linear_32_chunk):
1400         (initialize_audio_port):
1401         (open_audio_port):
1402         (set_channels):
1403         (set_output_format):
1404         (adjust_audio_volume):
1405         (get_current_volumes):
1406         (parse_snd_header):
1407         Always use new ANSI-style function prototypes.
1408         Use unistd.h for missing prototypes.
1409
1410         * unexelfsgi.c (round_up):
1411         (find_section):
1412         (unexec): Always use new ANSI-style function prototypes
1413
1414         * elhash.c (struct Lisp_Hash_Table): rename golden to golden_ratio
1415
1416         * console.h (struct console_methods): Always use full ANSI prototypes
1417
1418         * emacs.c (__sti__iflPNGFile_c___): Always use full ANSI prototypes
1419
1420 1999-03-02  Andy Piper  <andy@xemacs.org>
1421
1422         * event-stream.c (init_event_stream): make sure native mswindows
1423         gets an appropriate event loop.
1424
1425 1999-02-22  Andy Piper  <andy@xemacs.org>
1426
1427         * frame-msw.c (mswindows_make_frame_visible): use SW_SHOW rather
1428         than SW_SHOWNORMAL to prevent resizing of maximised frames.
1429         (mswindows_raise_frame): remove comment.
1430
1431 1999-03-01  XEmacs Build Bot <builds@cvs.xemacs.org>
1432
1433         * XEmacs 21.2.11 is released
1434
1435 1999-02-25  SL Baur  <steve@xemacs.org>
1436
1437         * mule-charset.c (Qleading_byte): New variable to implement
1438         charset-leading-byte function.
1439         (Fcharset_property): Use it.
1440         (syms_of_mule_charset): Initialize it.
1441         From Kazuyuki IENAGA <ienaga@jsys.co.jp>
1442
1443 1999-02-17  Kazuo Oishi <oishi@ae.agr.yamaguchi-u.ac.jp>
1444
1445         * glyphs-x.c (cononvert_EImage_to_XImage): correct
1446         bytes per pixel counting.
1447
1448 1999-02-15  Andy Piper  <andy@xemacs.org>
1449
1450         * s/cygwin32.h (BROKEN_SIGIO): don't define this as it causes
1451         major lockups.
1452
1453 1999-02-16  MORIOKA Tomohiko  <morioka@jaist.ac.jp>
1454
1455         * fns.c (Fbase64_encode_string): New optional argument
1456         `NO_LINE_BREAK'.
1457
1458 1999-02-16  Martin Buchholz  <martin@xemacs.org>
1459
1460         * gdbinit:  Fix up commands to run temacs.  Add lisp-shadows command.
1461         * alloc.c (xcalloc):  undef xcalloc, just like xmalloc
1462
1463 1999-02-10  Martin Buchholz  <martin@xemacs.org>
1464
1465         * s/bsdos4.h: New file.  Port to BSDI BSD/OS 4.0.
1466         * xintrinsic.h:  Redo CONST support for X11 R4 compatibility.
1467
1468 1999-02-05  XEmacs Build Bot <builds@cvs.xemacs.org>
1469
1470         * XEmacs 21.2.10 is released
1471
1472 1999-02-02  Gleb Arshinov  <gleb@cs.stanford.edu>
1473
1474         * process-nt.c (nt_send_process):
1475         Fix for process-send-region/process-send-string breaking when size
1476         of the input > 128 chars: change maximum chunk size for process
1477         stream from 512 to 128, thus guaranteeing that ntpipe_shove_writer
1478         succeeds.
1479
1480 1999-02-02  XEmacs Build Bot <builds@cvs.xemacs.org>
1481
1482         * XEmacs 21.2.9 is released
1483
1484 1999-01-30  Martin Buchholz  <martin@xemacs.org>
1485
1486         * bytecode.c (funcall_compiled_function): Call
1487         UNBIND_TO_GCPRO instead of UNBIND_TO_GCPRO_VARIABLES_ONLY.
1488
1489         * backtrace.h (UNBIND_TO_GCPRO_VARIABLES_ONLY):
1490         #ifdef 0 out unused macro.
1491
1492 1999-01-27  Martin Buchholz  <martin@xemacs.org>
1493
1494         * gui.c (gui_parse_item_keywords_internal): Make static.
1495
1496 1999-01-21  Andy Piper  <andy@xemacs.org>
1497
1498         * glyphs-msw.c: add xface support.
1499         (mswindows_xface_instantiate): new function copied from glyphs-x.c
1500         (image_instantiator_format_create_glyphs_mswindows): do device
1501         specific initialisation for xfaces.
1502         (xbm_create_bitmap_from_data): line data must be padded to a word
1503         boundary.
1504
1505         * glyphs-x.c (xface_validate): moved to glyphs.c
1506         (xface_normalize): ditto.
1507         (xface_possible_dest_types): ditto.
1508         (image_instantiator_format_create_glyphs_x): do device specific
1509         initialisation for xfaces.
1510
1511         * glyphs.h: declare xface symbol.
1512
1513         * glyphs.c: move generic xface support here.
1514         (xface_validate): moved from glyphs-x.c
1515         (xface_normalize): ditto.
1516         (xface_possible_dest_types): ditto.
1517         (image_instantiator_format_create): xface declarations moved from
1518         glyphs-x.c.
1519
1520 1999-01-14  Adrian Aichner  <aichner@ecf.teradyne.com>
1521
1522         * event-stream.c (vars_of_event_stream): Fixing documentation.
1523
1524 1999-01-17  Gunnar Evermann  <ge204@eng.cam.ac.uk>
1525
1526         * glyphs-eimage.c (gif_instantiate): Correct handling of
1527         interlaced gifs to avoid writing past the end of the eimage
1528         buffer.
1529
1530 1999-01-13  Hrvoje Niksic  <hniksic@srce.hr>
1531
1532         * search.c (Freplace_match): Handle single backslash at end of
1533         NEWTEXT correctly.
1534
1535 1999-01-12  William M. Perry  <wmperry@aventail.com>
1536
1537         * eldap.c (Fldap_open): slow down interrupts around ldap_open to
1538           avoid connection errors.
1539
1540 1999-01-12  Andy Piper  <andy@xemacs.org>
1541
1542         * redisplay-output.c (redisplay_update_line): backout change that
1543         shouldn't have gone ine.
1544
1545 1999-01-09  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
1546
1547         * eldap.c (vars_of_ldap): Do no provide `ldap' here since it may
1548         collide with ldap.el
1549
1550 1999-01-11  Andy Piper  <andy@xemacs.org>
1551
1552         * redisplay.h (DISPLAY_LINE_HEIGHT): new macro.
1553         (DISPLAY_LINE_YPOS): new macro.
1554
1555         * redisplay-msw.c (mswindows_output_string): use it.
1556         (mswindows_output_pixmap): ditto.
1557         (mswindows_output_display_block): ditto.
1558
1559         * redisplay-output.c (redisplay_output_display_block): new
1560         function. just call the devmeth, maybe insert some generic code
1561         here later.
1562         (compare_display_blocks): use it.
1563         (output_display_line): ditto.
1564         (redisplay_unmap_subwindows_maybe): new function. potentially
1565         unmap subwindows in the given area.
1566
1567         * glyphs.c (reset_subwindow_cachels): unmap subwindows that we are
1568         resetting.
1569
1570 1999-01-10  J. Kean Johnston  <jkj@sco.com>
1571
1572         * Makefile.in.in: Set value of moduledir
1573         - Changed DUMPENV to include $(MODULEPATH)
1574         - Added install rule to install header files for use by ellcc.
1575
1576         * config.h.in: Added INHIBIT_SITE_MODULES
1577         - Added HAVE__DLERROR
1578         - Added HAVE_DLFCN_H
1579         - Added DLSYM_NEEDS_UNDERSCORE
1580
1581         * dll.c: Removed.
1582
1583         * emodules.c: New file containing dynamic loading code.
1584
1585         * emodules.h: New file.
1586
1587         * emacs.c: Added variables Vmodule_directory,
1588         Vsite_module_directory, Vconfigure_module_directory and
1589         Vconfigure_site_module_directory.
1590         - (main_1): Added new variable inhibit_site_modules and command
1591         line options `-no-site-modules' and `--no-site-modules'.
1592         - (main_1): Call syms_of_module() instead of syms_of_dll().
1593         - (main_1): Call vars_of_module().
1594         - (vars_of_emacs): Introduce inhibit-site-modules,
1595         module-directory, configure-module-directory,
1596         site-module-directory, and configure-site-module-directory to the
1597         Lisp reader.
1598
1599         * lisp.h: Declare load_module and list_modules, as well as
1600         Vmodule_directory, Vsite_module_directory,
1601         Vconfigure_module_directory and Vconfigure_site_module_directory.
1602
1603         * paths.h.in: Added PATH_MODULESEARCH and PATH_SITE_MODULES.
1604         - Added correct support for site-lisp directory.
1605
1606         * symbols.c (defsubr): Modified to allow modules to add new subrs
1607         after dump time.
1608         - (defsubr_macro): Same.
1609         - (defvar_magick): Only use purespace when not initialized, so
1610         that loaded modules can still add symbols.
1611
1612         * symsinit.h: Add definitions for syms_of_module(),
1613         vars_of_module().  Removed syms_of_dll().
1614
1615         * sysdll.c: Include dlfcn.h if HAVE_DLFCN_H is defined.
1616         - (dll_variable): Take DLSYM_NEEDS_UNDERSCORE into account.
1617         - (dll_error): use _dlerror() if HAVE__DLERROR is defined.
1618
1619         * s/sco5-shr.h (C_SWITCH_SYSTEM): Correct for modern gcc and
1620         explicitly pass -belf for native cc.
1621
1622         * s/sco5.h (LIB_GCC): Use -print-libgcc-file-name instead of
1623         hard-coding the library name.
1624
1625 1999-01-01    <martin@xemacs.org>
1626
1627         * device-x.c (Fx_set_font_path):
1628         Add proper cast to permit compilation under C++.
1629
1630         * buffer.c (directory_is_current_directory):
1631         Add proper casts to permit compilation under C++.
1632
1633 1998-12-30  Damon Lipparelli  <lipp@primus.com>
1634
1635         * event-msw.c (mswindows_wnd_proc):
1636           Fixed failure when building with MSVC 5.
1637
1638 1998-12-29  Martin Buchholz  <martin@xemacs.org>
1639
1640         * file-coding.c (decode_coding_iso2022):
1641         - Prevent crash when decoding ISO7/Lock detected files
1642         - the usual martin fiddling
1643
1644 1998-12-29  Jonathan Harris  <jhar@tardis.ed.ac.uk>
1645
1646         * event-msw.c:
1647           glyphs-msw.c:
1648           Fixed failures when building with MSVC.
1649         * unexnt.c (dump_bss_and_heap):
1650           Removed compiler warning by removing bss_data variable.
1651
1652 1998-12-18  Jim Radford  <radford@robby.caltech.edu>
1653
1654         * device-x.c (Fx_set_font_path, Fx_get_font_path): New functions
1655         so that packages that distribute their own fonts can access them.
1656
1657 1998-12-28  Andy Piper  <andy@xemacs.org>
1658
1659         * glyphs-msw.c (mswindows_button_instantiate): cope with buttons
1660         that have an image provided.
1661
1662         * glyphs.h: add Q_image decl.
1663
1664         * glyphs-widget.c new functionality allowing images in
1665         widgets.
1666         (check_valid_glyph_or_image): new function to validate
1667         glyphs passed in through :image.
1668         (widget_normalize): new function. convert :image parameters into
1669         real glyphs if not already so.
1670         (widget_instantiate_1): mess with size parameters to be similar to
1671         :image if provided.
1672         (syms_of_glyphs_widget): new keyword :image.
1673         (image_instantiator_format_create_glyphs_widget): normalize
1674         buttons and allow :image.
1675
1676 1998-12-27  Andy Piper  <andy@xemacs.org>
1677
1678         * frame-msw.c (mswindows_init_frame_1): warning elimination.
1679
1680         * glyphs-widget.c (check_valid_anything): no-op function.
1681         (check_valid_callback): check callbacks in gui_items.
1682         (check_valid_symbol): as it sounds.
1683         (check_valid_string_or_vector): ditto.
1684         (widget_validate): modified for descriptors that are vectors or
1685         sequences of keyword/val pairs.
1686         (widget_instantiate_1): ditto.
1687         (image_instantiator_format_create_glyphs_widget): allow gui_item
1688         keywords in the instantiator.
1689
1690         * gui.c (gui_parse_item_keywords_internal): renamed from
1691         gui_parse_item_keywords but taking error behaviour.
1692         (gui_parse_item_keywords): use it.
1693         (gui_parse_item_keywords_no_errors): ditto.
1694         (gui_item_add_keyval_pair): add Error_behavior flag and only
1695         signal invalid keywords if required.
1696
1697         * gui.h: new gui signatures.
1698
1699         * menubar.c (menu_parse_submenu_keywords): use new
1700         gui_item_add_keyval_pair signature.
1701
1702         * s/cygwin32.h: modify PTY_ITERATION to eliminate warnings.
1703
1704 1998-12-28  Martin Buchholz <martin@xemacs.org>
1705
1706         * XEmacs 21.2.8 is released.
1707
1708 1998-12-28  Martin Buchholz  <martin@xemacs.org>
1709
1710         * editfns.c (get_home_directory):
1711         (user-home-directory): Simplify.
1712
1713
1714         * callproc.c (child_setup):
1715         - Environment variables were being passed to inferior processes
1716           using internal encoding.
1717         - Convert to external encoding.
1718         - Rename local var `tem' to better name `tail'.
1719         - Use Flength instead of `manual' calculation.
1720
1721         * buffer.c (kill-buffer):
1722         (record-buffer):
1723         (set-buffer-major-mode):
1724         (current-buffer):
1725         - Fix up parameter names to correspond to docstrings.
1726         - Don't use `bufname' when a buffer will do as well.
1727         - Remove one unneeded GCPRO.
1728
1729         * buffer.h (initial_directory):
1730         * buffer.c (init_initial_directory):
1731         - use correct conversions between internal and external format.
1732         (directory_is_current_directory): new function
1733         (init_buffer): convert initial_directory to internal format.
1734         - solve crashes when current working directory is non-ASCII.
1735
1736         * alloc.c (xmalloc):
1737         (xcalloc):
1738         (xrealloc):
1739         - remove stupid casts, since XEmacs requires an ANSI C system.
1740         (lrecord_type_index): replace abort() with more readable assert().
1741
1742         (reset_lcrecord_stats): remove.
1743         (sweep_lcrecords_1):
1744         - replace call to reset_lcrecord_stats() with call to xzero().
1745
1746 1998-12-27  Martin Buchholz  <martin@xemacs.org>
1747
1748         * process-unix.c (unix_create_process):
1749         - Fix crash invoking program with non-ASCII name.
1750           Try invoking xemacs with SHELL=/bin/sh, then M-x shell.
1751         - Remove unused variable `env'.
1752         - Rename `temp' to better name `save_errno'.
1753         - Reorganize code for clarity.  But still too chicken to nuke the
1754           BSD 4.2 support.
1755
1756 1998-12-24  Martin Buchholz <martin@xemacs.org>
1757
1758         * XEmacs 21.2.7 is released.
1759
1760 1998-12-23  Martin Buchholz  <martin@xemacs.org>
1761
1762         * glyphs.c (decode_device_ii_format):
1763         - Fix indentation.
1764         - Use GET_C_STRING_FILENAME_DATA_ALLOCA with char *, not Extbyte *.
1765
1766         * glyphs-x.c (x_subwindow_instantiate):
1767         - A image instance mask was being assigned to a image instance type!
1768         - X_SUBWINDOW_INSTANCE_DATA (ii) is not an lvalue in C++.
1769
1770         * glyphs-msw.c (mswindows_initialize_dibitmap_image_instance):
1771         Fix indentation.
1772         * glyphs-x.h: Make indentation consistent.
1773
1774         * emacs.c (Fdump_emacs): Remove Steve Martin merge artifacts.
1775
1776         * glyphs-widget.c (check_valid_glyph): Warning suppression.
1777         - Make it static
1778         - #ifdef it out, since it's not actually used yet (FIX THIS!)
1779
1780         * glyphs-widget.c:
1781         * glyphs.h:
1782         Move declarations of decode_device_ii_format and
1783         decode_image_instantiator_format into glyphs.h where they belong.
1784
1785 1998-12-22  Martin Buchholz  <martin@xemacs.org>
1786
1787         * frame-x.c (x_delete_frame): Revert part of my changes at the
1788         suggestion of Gunnar Evermann - unfortunately no one really
1789         understands this code.
1790
1791         * callproc.c (init_callproc): code cleanup.
1792
1793         * free-hook.c (malloc):
1794         (check_malloc):
1795         (__free_hook):
1796         (__malloc_hook):
1797         (__realloc_hook):
1798         (block_input_malloc):
1799         (block_input_realloc):
1800         * device-x.c (x_delete_device):
1801         * emacs.c (voodoo_free_hook):
1802         * events.c (print_event):
1803         (CHECK_EVENT_TYPE):
1804         (CHECK_EVENT_TYPE2):
1805         (CHECK_EVENT_TYPE3):
1806         Use proper prototypes.
1807         Make C_E_T macros a little faster.
1808         Pedantic fiddly little changes.  You really don't care.
1809
1810 1998-12-22  Andy Piper  <andy@xemacs.org>
1811
1812         * redisplay-output.c (redisplay_clear_region): make sure that
1813         fg/bg colors get set even when we are in the border area.
1814
1815 1998-12-13  Martin Buchholz  <martin@xemacs.org>
1816
1817         * console-msw.c: Function definitions follow coding standards
1818         - This prevents e.g. find-tag on Lisp_Event finding DEVENT
1819
1820 1998-12-11  Martin Buchholz  <martin@xemacs.org>
1821
1822         * events.h (struct timeout_data):
1823         * event-tty.c (tty_timeout_to_emacs_event):
1824         * event-msw.c (mswindows_wm_timer_callback):
1825         * event-Xt.c (Xt_timeout_to_emacs_event):
1826         * event-msw.c (mswindows_cancel_dispatch_event):
1827         Make sure Lisp_Objects inside events are initialized to Qnil, not
1828         Qnull_pointer, which is now illegal.
1829
1830 1998-12-10  Martin Buchholz  <martin@xemacs.org>
1831
1832         * lisp.h: Fix up prototypes to match alloc.c
1833
1834 1998-12-08  Martin Buchholz  <martin@xemacs.org>
1835
1836         * windowsnt.h: Remove `support' for using index and rindex
1837
1838         * filelock.c (current_lock_owner):
1839         - Change uses of index -> strchr, rindex -> strrchr
1840
1841 1998-12-07  Martin Buchholz  <martin@xemacs.org>
1842
1843         * sysdep.c (set_descriptor_non_blocking):
1844         Since O_NONBLOCK is now always #defined, make use of fcntl
1845         conditional on F_SETFL being defined.
1846
1847         * console-msw.c (DHEADgER):
1848         (DOPAQUE_DATA):
1849         (DEVENT):
1850         (DCONS):
1851         (DCONSCDR):
1852         (DSTRING):
1853         (DVECTOR):
1854         (DSYMBOL):
1855         (DSYMNAME):
1856         - max_align_t should not be visible to the user of the
1857           XOPAQUE_DATA macro.
1858         - use Bufbyte instead of char
1859         - parens around (FOOP (obj)) are always redundant.
1860           If they were necessary, we should fix the macro instead.
1861         - Always use string_data(foo) instead of foo->data.
1862
1863
1864 1998-12-06  Martin Buchholz  <martin@xemacs.org>
1865
1866         * frame-msw.c (mswindows_init_frame_1):
1867         - use make_lisp_hash_table, not Fmake_hash_table
1868         - include elhash.h
1869
1870         * lisp.h:
1871         * alloc.c (make_vector): remove travesty
1872         (Fmake_vector):
1873         (make_pure_vector):
1874         (pure_cons):
1875         (make_bit_vector_internal):
1876         (make_bit_vector):
1877         (make_bit_vector_from_byte_vector):
1878         (Fmake_bit_vector):
1879         - make vector_equal a little faster.
1880         - Don't use variable name `new'.
1881         - Use size_t instead of EMACS_INT.
1882         - usual Martin-style pointless bit-twiddling.
1883
1884         * fns.c (mapcar1):
1885         (Fmapconcat):
1886         (Fmapcar):
1887         (Fmapvector):
1888         Make mapcar faster.  In particular, make
1889           (mapc #'identity long-string)
1890         MUCH faster under Mule.
1891         * tests/automated/lisp-tests.el: Test 'em!
1892
1893         * bytecode.c (Ffetch_bytecode): Fix crash when loading lazy-loaded
1894         bytecode.
1895
1896 1998-12-01  Martin Buchholz  <martin@xemacs.org>
1897
1898         * menubar-x.c (menu_item_descriptor_to_widget_value_1): Always use
1899         Qnil, not NULL, to initialize `null' Lisp_Objects.
1900
1901 1998-11-29  Hrvoje Niksic  <hniksic@srce.hr>
1902
1903         * specifier.c (display_table_validate): Update.
1904
1905         * redisplay.c (create_text_block): Use them.
1906
1907         * glyphs.c (display_table_entry): New function.
1908         (get_display_tables): Ditto.
1909
1910 1998-12-15  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
1911
1912         * eldap.c (toplevel): Mention that eldap.c compiles with
1913         OpenLDAP libs
1914         (Fldap_open): Use `GET_C_STRING_OS_DATA_ALLOCA'
1915         (Fldap_search_internal): Ditto
1916
1917 1998-12-11  Martin Buchholz  <martin@xemacs.org>
1918
1919         * event-msw.c (mswindows_cancel_dispatch_event):
1920         Gratuitous code prettification
1921
1922
1923 1998-12-07  Hrvoje Niksic  <hniksic@srce.hr>
1924
1925         * fns.c (Fnconc): Fix use of wrong_type_argument().
1926
1927         * floatfns.c (Ffloat): Fix docstring.
1928         (Ffloat): Fix use of wrong_type_argument().
1929         (Fabs): Ditto.
1930         (extract_float): Ditto.
1931         (Fceiling): Ditto.
1932         (Fround): Ditto.
1933         (Ftruncate): Ditto.
1934
1935 1998-12-06  Martin Buchholz  <martin@xemacs.org>
1936
1937         * frame-msw.c (mswindows_init_frame_1):
1938         - use make_lisp_hash_table, not Fmake_hash_table
1939         - include elhash.h
1940
1941         * lisp.h:
1942         * alloc.c (make_vector): remove travesty
1943         (Fmake_vector):
1944         (make_pure_vector):
1945         (pure_cons):
1946         (make_bit_vector_internal):
1947         (make_bit_vector):
1948         (make_bit_vector_from_byte_vector):
1949         (Fmake_bit_vector):
1950         - make vector_equal a little faster.
1951         - Don't use variable name `new'.
1952         - Use size_t instead of EMACS_INT.
1953         - usual Martin-style pointless bit-twiddling.
1954
1955         * fns.c (mapcar1):
1956         (Fmapconcat):
1957         (Fmapcar):
1958         (Fmapvector):
1959         Make mapcar faster.  In particular, make
1960           (mapc #'identity long-string)
1961         MUCH faster under Mule.
1962         * tests/automated/lisp-tests.el: Test 'em!
1963
1964         * bytecode.c (Ffetch_bytecode): Fix crash when loading lazy-loaded
1965         bytecode.
1966
1967 1998-12-02  Didier Verna  <verna@inf.enst.fr>
1968
1969         * menubar-x.c (menu_item_descriptor_to_widget_value_1): set the
1970         accelerator field to nil for labels.
1971
1972 1998-12-16  Jonathan Harris  <jhar@tardis.ed.ac.uk>
1973
1974         * menubar-msw.c (displayable_menu_item):
1975           Escape occurrences of '&' and support occurrences of the
1976          '%_' accelerator indicator in menus.
1977
1978 1998-11-26  Didier Verna  <verna@inf.enst.fr>
1979
1980         * dired.c (Fdirectory_files): use make_string instead of
1981         make_ext_string on the filename. The conversion external->internal
1982         format is already done in sys_readdir.
1983
1984 1998-12-15  Gunnar Evermann  <ge204@eng.cam.ac.uk>
1985
1986         * glyphs.c (normalize_image_instantiator): GCPRO instantiator
1987
1988 1998-12-16  Jonathan Harris  <jhar@tardis.ed.ac.uk>
1989
1990         * event-msw.c
1991           (Belatedly) added Kirill to list of file's authors.
1992           emacs_mswindows_quit_p: Don't process WM_PAINT messages in
1993           quit checking. WM_PAINT messages cause redisplay, but
1994           windows' states are not necessarily stable when this function
1995           gets called.
1996
1997 1998-12-17  Andy Piper  <andy@xemacs.org>
1998
1999         * strftime.c (zone_name): CONSTify.
2000
2001 1998-12-15  Andy Piper  <andy@xemacs.org>
2002
2003         * glyphs-msw.c (mswindows_combo_instantiate): ditto.
2004         (mswindows_widget_property): return Qunbound when no property available.
2005         (mswindows_button_property): ditto.
2006         (mswindows_combo_property): ditto.
2007         (mswindows_widget_set_property): ditto.
2008
2009         * glyphs-widget.c (check_valid_item_list): use properties.
2010
2011         * glyphs.h (struct Lisp_Image_Instance): we have properties now.
2012
2013         * glyphs.c (Fset_image_instance_property): allow setting of arbitrary properties.
2014         (Fimage_instance_property): ditto.
2015         * glyphs-widget.c (widget_property): ditto.
2016         (widget_set_property): ditto.
2017
2018         * frame-msw.c (mswindows_set_frame_pointer): SetCursor() as well
2019         as setting the class cursor so that GC actually changes the
2020         cursor.
2021
2022         * config.h: don't undef MAIL_USE_POP.
2023
2024 1998-12-13  Andy Piper  <andy@xemacs.org>
2025
2026         * glyphs-msw.c
2027         (image_instantiator_format_create_glyphs_mswindows): line ->
2028         label.
2029         (mswindows_label_instantiate): ditto. Play with window flags.
2030         (image_instantiator_format_create_glyphs_mswindows): ditto.
2031         (vars_of_glyphs_mswindows): provide Qlabel as we support it now.
2032
2033         * glyphs-widget.c (widget_instantiate_1): re-jig autosizing to
2034         cope with lines and labels.
2035         (static_instantiate): use widget_instantiate_1.
2036         line -> label.
2037         (image_instantiator_format_create_glyphs_widget): ditto.
2038
2039 1998-12-10  Andy Piper  <andy@xemacs.org>
2040
2041         * Makefile.in.in (objs): add gui.o
2042
2043 1998-12-10  Andy Piper  <andy@xemacs.org>
2044
2045         * gui.c: adjust defines of HAVE_POPUPS so that we can build with
2046         no window system.
2047
2048 1998-12-09  Andy Piper  <andy@xemacs.org>
2049
2050         * glyphs.c (finalize_image_instance): mark glyphs changed when an
2051         image instance is removed so that the subwindow cache gets reset
2052         and thus destroyed images get GC'd.
2053
2054 1998-12-08  Andy Piper  <andy@xemacs.org>
2055
2056         * gui-msw.c (mswindows_handle_gui_wm_command): call
2057         MARK_SUBWINDOWS_CHANGED.
2058
2059         * glyphs-msw.c (mswindows_finalize_image_instance): make sure
2060         subwindows really get deleted.
2061
2062         * redisplay.c: new variable subwindows_changed[_set].
2063         (redisplay_window): use it.
2064         (redisplay_frame): ditto.
2065         (redisplay_device): ditto.
2066         (redisplay_without_hooks): ditto.
2067
2068         * device.h (MARK_DEVICE_SUBWINDOWS_CHANGED): new macro for
2069         subwindows redisplay as per glyphs equivalent.
2070         * redisplay.h: ditto.
2071         (MARK_SUBWINDOWS_CHANGED): ditto.
2072         (RESET_CHANGED_SET_FLAGS): ditto.
2073         * frame.h (MARK_FRAME_SUBWINDOWS_CHANGED): ditto.
2074
2075 1998-12-07  Andy Piper  <andy@xemacs.org>
2076
2077         * frame.c (Fmake_frame): reset subwindow cachels on non-stream
2078         frames.
2079
2080         * redisplay.c (redisplay_frame): invalidate subwindow cachels.
2081
2082         * event-msw.c (mswindows_wnd_proc): catch the various WM_CTLCOLOR*
2083         messages and paint widget glyphs as appropriate with their face fg
2084         & bg.
2085
2086 1998-12-06  Andy Piper  <andy@xemacs.org>
2087
2088         * glyphs-msw.c (vars_of_glyphs_mswindows): provide widget types
2089         here rather than in glyphs-widget - do this because we only want
2090         to provide what is really available.
2091
2092         * glyphs.c (Fimage_instance_property): new function to get the
2093         properties of image instances. wires through to console specific
2094         methods and then to widget specific methods.
2095         (Fset_image_instance_property): ditto but for setting widget properties.
2096         (check_valid_face): make extern so that it can be used elsewhere.
2097
2098         * glyphs-widget.c (widget_property): new function. gets the
2099         properties of widgets in general and wires the function through to
2100         widget specific ones.
2101         (widget_set_property): ditto but for setting widget properties.
2102
2103         * glyphs-msw.c (mswindows_combo_instantiate): Add functionality to
2104         add items to the list. Play with window styles a bit to get the
2105         desired effect.
2106         (mswindows_widget_property): break out specific widget properties.
2107         (mswindows_button_property): new function. gets the checked state
2108         of a button.
2109         (mswindows_combo_property): new function. gets the current
2110         selection in the combo box.
2111         (mswindows_widget_set_property): new function. sets specific
2112         properties of specific widgets.
2113
2114         * glyphs-widget.c (check_valid_item_list): new function. check
2115         that items for a combo-box are just a list of strings.
2116         (combo_validate): new function. check there is an item list.
2117         (widget_instantiate_1): new function. renamed from
2118         widget_instantiate so that we can do slightly different things for
2119         other widgets.
2120         (widget_instantiate): call widget_instantiate_1.
2121         (combo_instantiate): new function to instantiate combo boxes,
2122         defaults height to the pixel height of the number of items in the
2123         box.
2124         (syms_of_glyphs_widget): move widget keywords here.
2125         (image_instantiator_format_create_glyphs_widget): use new combo
2126         functions.
2127
2128 1998-12-04  Andy Piper  <andy@xemacs.org>
2129
2130         * event-msw.c (mswindows_wnd_proc): mule-ize.
2131
2132         * glyphs.c (pixmap_to_lisp_data): mule-ize.
2133
2134         * glyphs-msw.c (extract_xpm_color_names): mule-ize.
2135         (resource_name_to_resource): ditto.
2136         (mswindows_resource_instantiate): ditto.
2137         (mswindows_widget_instantiate): ditto.
2138         (mswindows_widget_set_property): ditto.
2139
2140         * redisplay-output.c (redisplay_output_subwindow): don't show
2141         subwindows if they are obscured at the edge of the frame, emacs
2142         gets into some sort of redisplay loop otherwise.
2143
2144         * gui.h: prototype gui_item_selected_p.
2145
2146         * gui.c (gui_item_selected_p): new function to determine the
2147         selected state of a gui_item.
2148
2149         * frame.h (struct frame): add subwindows_changed flag.
2150
2151         * redisplay.c (redisplay_frame): call update_frame_subwindows ().
2152
2153         * glyphs.c (update_subwindow): new function to update a
2154         subwindow's state.
2155         (update_frame_subwindows): new function to update all the
2156         subwindows on a frame.
2157
2158         * console.h (struct console_methods): add update_subwindow.
2159
2160         * glyphs-msw.c (mswindows_widget_property): return selected state
2161         for selected property.
2162         (mswindows_update_subwindow): new function. updates widget glyphs
2163         in redisplay as per menubars or toolbars e.g. selected state.
2164         (console_type_create_glyphs_mswindows): add update_subwindow.
2165
2166 1998-12-03  Andy Piper  <andy@xemacs.org>
2167
2168         * console-tty.c (syms_of_console_tty): MULE -> FILE_CODING since
2169         tty coding system things are such.
2170
2171         * glyphs-widget.c (widget_face_font_info): new function for
2172         pulling out height and width metrics for a widget's face.
2173         (widget_text_to_pixel_conversion): calculate pixel sizes of text
2174         for widgets.
2175
2176         * event-msw.c (mswindows_drain_windows_queue): translate messages
2177         that are destined for subwindows. This makes edit fields interact
2178         with the keyboard correctly.
2179         nuke warnings by #ifndef'ing out stuff not required by msg select().
2180
2181         * glyphs.h (INITIALIZE_IMAGE_INSTANTIATOR_FORMAT_NO_SYM): new
2182         macro defining the iiforma without the symbol required by widget.
2183         (INITIALIZE_IMAGE_INSTANTIATOR_FORMAT): use it.
2184
2185         * general.c (syms_of_general): add Qwidget, Qselected.
2186
2187         * faces.c (complex_vars_of_faces): add widget face inheriting from
2188         gui-element face.
2189
2190 1998-11-09  Andy Piper  <andy@xemacs.org>
2191
2192         * window.h (struct window): add a cache of subwindows on a
2193         per-window basis.
2194
2195         * window.c (mark_window): mark the subwindow_instance_cache.
2196         (allocate_window): initialise the subwindow instance_cache.
2197
2198         * toolbar-x.c (x_output_toolbar): call redisplay_clear_region
2199         instead of the devmeth.
2200         (x_clear_toolbar): ditto.
2201
2202         * redisplay-x.c (x_output_display_block): call
2203         redisplay_output_subwindow for subwindows and widgets.
2204
2205         * redisplay-tty.c (tty_output_display_block): add IMAGE_WIDGET to
2206         types to do nothing for.
2207
2208         * lisp.h: declare new widget/subwindow symbols.
2209
2210         * glyphs.c (image_instantiate): cache subwindows on a per-window
2211         basis.
2212         (subwindow_possible_dest_types): new function for subwindow dest
2213         types.
2214         (subwindow_instantiate): generic instantiation of a
2215         subwindow. specialised by device multi-methods.
2216         (Fsubwindowp): moved from glyphs-x.c. adapted for glyph-based
2217         subwindows.
2218         (Fimage_instance_subwindow_id): ditto.
2219         (Fresize_subwindow): ditto.
2220         (Fforce_subwindow_map): ditto.
2221
2222         * glyphs-x.c (x_print_image_instance): remove subwindow
2223         stuff. Handled genrically in glyphs.c.
2224         (x_image_instance_equal): ditto.
2225         (x_image_instance_hash): ditto.
2226         (x_finalize_image_instance): delete subwindows when required.
2227         (mark_subwindow) (print_subwindow) (finalize_subwindow)
2228         (subwindow_hash) (Fmake_subwindow): deleted because of new,
2229         glyph-based, subwindow implementation.
2230         (Fsubwindow_height) (Fsubwindow_width) (Fsubwindow_xid): aliased
2231         in glyphs.el
2232         (Fsubwindowp) (Fresize_subwindow) (Fforce_subwindow_map): moved to
2233         glyphs.c.
2234         (x_unmap_subwindow): new function to unmap X subwindows.
2235         (x_map_subwindow): new function to map X subwindows.
2236         (x_subwindow_instantiate): new function to instantiate X
2237         subwindows.
2238         (x_resize_subwindow): new function to resize X subwindows.
2239         (console_type_create_glyphs_x): add subwindow functions.
2240         (image_instantiator_format_create_glyphs_x): add device
2241         multi-methods for xpm, xbm and subwindow.
2242
2243         * glyphs.el (subwindow-xid): old alias for new subwindow functions.
2244         (subwindow-width): ditto.
2245         (subwindow-height): ditto.
2246
2247         * glyphs-msw.c (mswindows_widget_instantiate): new function for
2248         generally instantiating ms subwindows. Used by
2249         mswindows_*_instantiate.
2250         (mswindows_edit_instantiate): instantiate an edit field on a
2251         mswindows frame.
2252
2253 1998-11-04  Andy Piper  <andy@xemacs.org>
2254
2255         * symsinit.h: declare new functions.
2256
2257         * redisplay.h: declare new functions.
2258
2259         * redisplay-x.c (x_output_display_block): call
2260         redisplay_clear_region rather than x_clear_region.
2261         (x_output_string): ditto.
2262         (x_output_pixmap): ditto.
2263         (x_clear_to_window_end): ditto.
2264         (x_output_eol_cursor): ditto.
2265         (x_clear_region): only do X specific things. other duties handled
2266         in redisplay_clear_region.
2267
2268         * redisplay-tty.c (tty_clear_region): do tty specific things - some
2269         duties moved to redisplay_clear_region.
2270
2271         * redisplay-output.c (clear_left_border): use
2272         redisplay_clear_region instead of device method.
2273         (clear_right_border): ditto.
2274         (output_display_line): ditto.
2275         (redisplay_output_subwindow): ditto.
2276         (redisplay_clear_top_of_window): ditto.
2277         (redisplay_clear_region): perform duties previously handled by
2278         device methods. call the appropriate device method at the
2279         end. unmap subwindows if necessary.
2280
2281         * redisplay-msw.c (mswindows_output_string): use
2282         redisplay_clear_region instead of mswindows_clear_region.
2283         (mswindows_clear_to_window_end): ditto.
2284         (mswindows_output_display_block): output subwindows when required.
2285         (mswindows_clear_region): only do mswindows specific things,
2286         everything else is now handled in redisplay_clear_region.
2287
2288         * gui.h: add item id hash defines and declare function prototypes.
2289
2290         * gui.c (mark_gui_item): new function for marking gui_items.
2291         (gui_item_hash): generic hash function for generating command ids
2292         for gui_items.
2293
2294         * gui-msw.c: new file.
2295         (mswindows_handle_gui_wm_command): new function to handle widget
2296         callbacks.
2297
2298         * glyphs.h (MAYBE_IIFORMAT_DEVMETH): new function for device
2299         multi-methods.
2300         (IIFORMAT_HAS_SHARED_METHOD): ditto.
2301         (DEFINE_DEVICE_IIFORMAT): ditto.
2302         (INITIALIZE_DEVICE_IIFORMAT): ditto.
2303         (struct Lisp_Image_Instance): add widget and subwindow data plus
2304         appropriate access functions.
2305
2306         * glyphs.c (decode_device_ii_format): new function for decoding
2307         image instantiator functions based on a device type as well as an
2308         image format.
2309         (decode_image_instantiator_format): just call
2310         decode_device_ii_format with nil device.
2311         (add_entry_to_device_ii_format_list): new function for per device
2312         method instances.
2313         (add_entry_to_image_instantiator_format_list): just call
2314         add_entry_to_device_ii_format_list with nil device.
2315         (check_valid_vector): new function.
2316         (instantiate_image_instantiator): instantiate using per-format
2317         method and then per-format-per-device method (device
2318         multi-methods). signal an error if neither is possible.
2319         (mark_image_instance): cope with subwindows and widgets.
2320         (print_image_instance): ditto.
2321         (image_instance_equal): ditto.
2322         (image_instance_hash): ditto.
2323         (allocate_glyph): ditto.
2324         (glyph_width): ditto.
2325         (glyph_height_internal): ditto.
2326         (xpm_instantiate): removed because of device multi-methods.
2327         (mark_subwindow_cachels): new cachel functions for caching
2328         instantiated subwindows on a per-frame basis. mostly copied from
2329         glyph cachel functions.
2330         (update_subwindow_cachel_data): ditto.
2331         (add_subwindow_cachel): ditto.
2332         (get_subwindow_cachel_index): ditto.
2333         (reset_subwindow_cachels): ditto.
2334         (mark_subwindow_cachels_as_not_updated): ditto.
2335         (unmap_subwindow): generic unmapping of subwindows based on cachel
2336         data.
2337         (map_subwindow): ditto.
2338         (initialize_subwindow_image_instance): generic initialisation of
2339         subwindow data.
2340         (syms_of_glyphs): add widget keywords.
2341
2342         * glyphs-x.h (struct x_subwindow_data): convert Lisp_Subwindow to
2343         x_subwindow_data.
2344
2345 1998-11-04  Andy Piper  <andy@xemacs.org>
2346
2347         * glyphs-widget.c: new file for instantiating widget type glyphs.
2348         (widget_possible_dest_types): new general dest type function for
2349         widgets.
2350         (widget_validate): ditto.
2351         (initialize_widget_image_instance): ditto
2352         (widget_instantiate): ditto. Sets up fg/bg, gui_item parsing
2353         before handing on control to device multi-methods.
2354         (syms_of_glyphs_widget): new function.
2355         (image_instantiator_format_create_glyphs_widget): new function,
2356         added placeholders for button, edit, combo, scrollbar
2357         (vars_of_glyphs_widget): new function.
2358
2359         * glyphs-msw.h (WIDGET_INSTANCE_MSWINDOWS_HANDLE): new define for
2360         storing window ids of widgets.
2361
2362         * glyphs-msw.c (mswindows_finalize_image_instance): cope with
2363         deletion of widget and subwindow glyphs.
2364         (mswindows_unmap_subwindow): new device function for unmapping
2365         subwindows on a msw frame.
2366         (mswindows_map_subwindow): ditto.
2367         (mswindows_register_image_instance): register instantiated widgets
2368         with the widget hastable.
2369         (mswindows_button_instantiate): instantiate a button type widget
2370         on an msw frame.
2371         (mswindows_subwindow_instantiate): instanttiate a subwindow on a
2372         mswindows frame.
2373         (image_instantiator_format_create_glyphs_mswindows): add device
2374         multi-methods for xbm, xpm, subwindow, edit and button.
2375
2376         * frame.h (struct frame): add subwindow_cachels dynarr for caching
2377         information about subwindows visible on the current frame. used by
2378         redisplay_clear_region to unmap subwindows as required.
2379
2380         * frame.c (mark_frame): mark subwindow_cachels.
2381         (allocate_frame_core): instantiate subwindow_cachels.
2382
2383         * frame-msw.c (mswindows_init_frame_1): instntiate and mark the
2384         widget hashtable.
2385
2386         * event-msw.c (mswindows_wnd_proc): add call to
2387         mswindows_handle_gui_wm_command to handle widget callbacks.
2388
2389         * emacs.c (main_1): add calls to glyphs-widget initialisation
2390         routines.
2391
2392         * console.h (struct console_methods): add
2393         unmap/map_subwindow_method for use be redisplay_clear_region to
2394         map and unmap subwindows. Remove xpm and xbm stuff - now dealt
2395         with by image instantiator multi-methods. Add
2396         resize_subwindow_method.
2397
2398         * console-stream.c (stream_clear_region): change signature to
2399         match new generic clear region function.
2400
2401         * Makefile.in.in: add glyphs-widget.o to list of objects.
2402
2403         * console-msw.h (struct mswindows_frame): add widget hashtable for
2404         wiring command ids to callbacks.
2405
2406 1998-12-16  Andy Piper  <andy@xemacs.org>
2407
2408         * XEmacs 21.2.6 is released
2409
2410 1998-12-08  Hrvoje Niksic  <hniksic@srce.hr>
2411
2412         * md5.c (Fmd5): Correctly initiate string input stream.
2413
2414         * Makefile.in.in (tests): Add md5-tests.el.
2415
2416 1998-12-06  Martin Buchholz  <martin@xemacs.org>
2417
2418         * lisp.h:
2419         * alloc.c (make_vector): remove travesty
2420         (Fmake_vector):
2421         (make_pure_vector):
2422         (pure_cons):
2423         (make_bit_vector_internal):
2424         (make_bit_vector):
2425         (make_bit_vector_from_byte_vector):
2426         (Fmake_bit_vector):
2427         - make vector_equal a little faster.
2428         - Don't use variable name `new'.
2429         - Use size_t instead of EMACS_INT.
2430         - usual Martin-style pointless bit-twiddling.
2431
2432         * fns.c (mapcar1):
2433         (Fmapconcat):
2434         (Fmapcar):
2435         (Fmapvector):
2436         Make mapcar faster.  In particular, make
2437           (mapc #'identity long-string)
2438         MUCH faster under Mule.
2439         * tests/automated/lisp-tests.el: Test 'em!
2440
2441 1998-12-06  Martin Buchholz  <martin@xemacs.org>
2442
2443         * bytecode.c (Ffetch_bytecode): Fix crash when loading lazy-loaded
2444         bytecode.
2445
2446 1998-12-13  Martin Buchholz  <martin@xemacs.org>
2447
2448         * console-msw.c: Function definitions follow coding standards
2449         - This prevents e.g. find-tag on Lisp_Event finding DEVENT
2450
2451 1998-12-11  Martin Buchholz  <martin@xemacs.org>
2452
2453         * events.h (struct timeout_data):
2454         * event-tty.c (tty_timeout_to_emacs_event):
2455         * event-msw.c (mswindows_wm_timer_callback):
2456         * event-Xt.c (Xt_timeout_to_emacs_event):
2457         * event-msw.c (mswindows_cancel_dispatch_event):
2458         Make sure Lisp_Objects inside events are initialized to Qnil, not
2459         Qnull_pointer, which is now illegal.
2460
2461 1998-12-10  Martin Buchholz  <martin@xemacs.org>
2462
2463         * lisp.h: Fix up prototypes to match alloc.c
2464
2465 1998-12-09  Andy Piper  <andy@xemacs.org>
2466
2467         * glyphs-msw.c (init_image_instance_from_xbm_inline): don't use
2468         XSETINT for assigning lisp objects.
2469
2470 1998-12-07  Martin Buchholz  <martin@xemacs.org>
2471
2472         * opaque.h:
2473         * console-msw.c (DHEADER):
2474         (DOPAQUE_DATA):
2475         (DEVENT):
2476         (DCONS):
2477         (DCONSCDR):
2478         (DSTRING):
2479         (DVECTOR):
2480         (DSYMBOL):
2481         (DSYMNAME):
2482         - max_align_t should not be visible to the user of the
2483           XOPAQUE_DATA macro.
2484         - use Bufbyte instead of char
2485         - parens around (FOOP (obj)) are always redundant.
2486           If they were necessary, we should fix the macro instead.
2487         - Always use string_data(foo) instead of foo->data.
2488
2489 1998-12-07  Martin Buchholz  <martin@xemacs.org>
2490
2491         * sysdep.c (set_descriptor_non_blocking):
2492         Since O_NONBLOCK is now always #defined, make use of fcntl
2493         conditional on F_SETFL being defined.
2494
2495 1998-12-09  Andy Piper  <andy@xemacs.org>
2496
2497         * menubar-msw.c (mswindows_handle_wm_command): add back in checks
2498         that got removed in the merge
2499
2500 1998-11-30  Greg Klanderman  <greg@alphatech.com>
2501
2502         * dired.c (vars_of_dired): bugfix for previous conditionalization
2503         of user-name-completion on non- Windows NT.
2504
2505 1998-12-08  Martin Buchholz  <martin@xemacs.org>
2506
2507         * windowsnt.h: Remove `support' for using index and rindex
2508
2509         * filelock.c (current_lock_owner):
2510         - Change uses of index -> strchr, rindex -> strrchr
2511
2512 1998-12-06  Martin Buchholz  <martin@xemacs.org>
2513
2514         * frame-msw.c (mswindows_init_frame_1):
2515         - use make_lisp_hash_table, not Fmake_hash_table
2516         - include elhash.h
2517
2518 1998-12-05  XEmacs Build Bot <builds@cvs.xemacs.org>
2519
2520         * XEmacs 21.2.5 is released
2521
2522 1998-11-30  Martin Buchholz  <martin@xemacs.org>
2523
2524         * xselect.c (receive_incremental_selection):
2525         * xselect.c (x_get_window_property):
2526         * xmu.c (XmuReadBitmapDataFromFile):
2527         * xmu.c (XmuCursorNameToIndex):
2528         * xgccache.c (describe_gc_cache):
2529         * xgccache.c (gc_cache_lookup):
2530         * xgccache.c (free_gc_cache):
2531         * xgccache.c (make_gc_cache):
2532         * window.h:
2533         * window.c (map_windows_1):
2534         * window.c (Fother_window_for_scrolling):
2535         * window.c (window_scroll):
2536         * window.c (change_window_height):
2537         * window.c (Fsplit_window):
2538         * window.c (window_left_gutter_width):
2539         * window.c (window_modeline_height):
2540         * window.c (invalidate_vertical_divider_cache_in_window):
2541         * window.c (window_needs_vertical_divider_1):
2542         * window.c (update_mirror_internal):
2543         * window.c (SET_LAST_FACECHANGE):
2544         * widget.c (Fwidget_plist_member):
2545         * unexec.c (copy_text_and_data):
2546         * unexcw.c (copy_executable_and_dump_data_section):
2547         * tooltalk.doc:
2548         * tooltalk.c (struct Lisp_Tooltalk_Pattern):
2549         * tooltalk.c (struct Lisp_Tooltalk_Message):
2550         * toolbar.h (struct toolbar_button):
2551         * toolbar.c (default_toolbar_visible_p_changed_in_window):
2552         * toolbar.c (recompute_overlaying_specifier):
2553         * toolbar.c (toolbar_validate):
2554         * toolbar.c (toolbar_button_at_pixpos):
2555         * toolbar.c (get_toolbar_coords):
2556         * toolbar.c (update_frame_toolbars):
2557         * toolbar-x.c:
2558         * toolbar-msw.c (mswindows_handle_toolbar_wm_command):
2559         * toolbar-msw.c (mswindows_find_toolbar_pos):
2560         * toolbar-msw.c (mswindows_output_toolbar):
2561         * toolbar-msw.c (mswindows_clear_toolbar):
2562         * toolbar-msw.c:
2563         * systty.h:
2564         * syssignal.h:
2565         * sysproc.h:
2566         * sysfile.h:
2567         * sysdll.c:
2568         * sysdep.h:
2569         * sysdep.c (rmdir):
2570         * sysdep.c (sys_fopen):
2571         * sysdep.c (sys_open):
2572         * sysdep.c (tty_init_sys_modes_on_device):
2573         * sysdep.c (get_eof_char):
2574         * sysdep.c (child_setup_tty):
2575         * sysdep.c (set_descriptor_non_blocking):
2576         * syntax.h:
2577         * syntax.c (scan_words):
2578         * syntax.c:
2579         * symsinit.h:
2580         * symeval.h (struct symbol_value_varalias):
2581         * symeval.h (struct symbol_value_forward):
2582         * symbols.c (syms_of_symbols):
2583         * symbols.c (init_symbols_once_early):
2584         * symbols.c (Fbuilt_in_variable_type):
2585         * symbols.c (Fsymbol_value_in_buffer):
2586         * symbols.c (default_value):
2587         * symbols.c (Fset):
2588         * symbols.c (find_symbol_value_quickly):
2589         * symbols.c (store_symval_forwarding):
2590         * symbols.c (set_default_console_slot_variable):
2591         * symbols.c (set_default_buffer_slot_variable):
2592         * symbols.c (verify_ok_for_buffer_local):
2593         * symbols.c (symbol_is_constant):
2594         * symbols.c (oblookup):
2595         * symbols.c (Funintern):
2596         * symbols.c (Fintern):
2597         * symbols.c (check_obarray):
2598         * sunplay.c:
2599         * specifier.h (struct specifier_methods):
2600         * specifier.h:
2601         * specifier.c (specifier_instance):
2602         * specifier.c (specifier_instance_from_inst_list):
2603         * specifier.c (decode_locale_type):
2604         * specifier.c (specifier_equal):
2605         * specifier.c (finalize_specifier):
2606         * specifier.c (prune_specifiers):
2607         * specifier.c (kill_specifier_buffer_locals):
2608         * sound.c (init_native_sound):
2609         * sound.c:
2610         * signal.c (alarm):
2611         * search.c (Fmatch_data):
2612         * search.c (match_limit):
2613         * search.c (Freplace_match):
2614         * search.c (skip_chars):
2615         * search.c (scan_buffer):
2616         * search.c:
2617         * scrollbar.c (specifier_vars_of_scrollbar):
2618         * scrollbar.c (Fscrollbar_set_hscroll):
2619         * scrollbar.c (vertical_scrollbar_changed_in_window):
2620         * scrollbar.c (release_window_mirror_scrollbars):
2621         * scrollbar.c (free_scrollbar_instance):
2622         * scrollbar-x.c:
2623         * scrollbar-msw.c:
2624         * s/msdos.h (O_BINARY):
2625         * s/linux.h:
2626         * s/freebsd.h (LIBS_TERMCAP):
2627         * regex.c (re_match_2_internal):
2628         * regex.c (compile_extended_range):
2629         * regex.c (POP_FAILURE_POINT):
2630         * regex.c (PUSH_FAILURE_POINT):
2631         * redisplay.h (RESET_CHANGED_SET_FLAGS):
2632         * redisplay.h:
2633         * redisplay.h (struct display_line):
2634         * redisplay.h (struct rune):
2635         * redisplay.c (vars_of_redisplay):
2636         * redisplay.c (redisplay_variable_changed):
2637         * redisplay.c (UPDATE_CACHE_RETURN):
2638         * redisplay.c (validate_line_start_cache):
2639         * redisplay.c (mark_redisplay_structs):
2640         * redisplay.c (mark_glyph_block_dynarr):
2641         * redisplay.c (window_line_number):
2642         * redisplay.c (redisplay_frame):
2643         * redisplay.c (redisplay_window):
2644         * redisplay.c (generate_modeline):
2645         * redisplay.c (create_right_glyph_block):
2646         * redisplay.c (create_left_glyph_block):
2647         * redisplay.c (create_text_block):
2648         * redisplay.c:
2649         * redisplay-x.c (x_output_hline):
2650         * redisplay-x.c (x_output_vertical_divider):
2651         * redisplay-tty.c (tty_output_display_block):
2652         * redisplay-output.c (output_display_line):
2653         * redisplay-output.c:
2654         * redisplay-msw.c (mswindows_output_vertical_divider):
2655         * redisplay-msw.c (mswindows_ring_bell):
2656         * redisplay-msw.c (mswindows_output_cursor):
2657         * redisplay-msw.c:
2658         * rangetab.c:
2659         * ralloc.c:
2660         * puresize.h (RAW_PURESIZE):
2661         * profile.c (syms_of_profile):
2662         * profile.c (Fstart_profiling):
2663         * profile.c (sigprof_handler):
2664         * profile.c:
2665         * procimpl.h:
2666         * process.c (vars_of_process):
2667         * process.c (read_process_output):
2668         * process.c (get_process):
2669         * process.c:
2670         * process-unix.c (unix_open_multicast_group):
2671         * process-unix.c (unix_get_tty_name):
2672         * process-unix.c (unix_send_process):
2673         * process-unix.c (unix_reap_exited_processes):
2674         * process-unix.c (unix_create_process):
2675         * process-unix.c (unix_init_process_io_handles):
2676         * process-unix.c (allocate_pty):
2677         * process-unix.c:
2678         * process-nt.c (nt_open_network_stream):
2679         * process-nt.c (nt_update_status_if_terminated):
2680         * process-nt.c (nt_finalize_process_data):
2681         * process-nt.c:
2682         * print.c (debug_short_backtrace):
2683         * print.c (debug_backtrace):
2684         * print.c (print_symbol):
2685         * print.c (print_internal):
2686         * print.c (print_cons):
2687         * print.c (Fwrite_char):
2688         * print.c (print_prepare):
2689         * print.c (canonicalize_printcharfun):
2690         * print.c (output_string):
2691         * print.c:
2692         * opaque.h:
2693         * opaque.c (allocate_managed_opaque):
2694         * opaque.c:
2695         * offix.c (DndSetData):
2696         * objects.c (face_boolean_create):
2697         * objects.c (font_instantiate):
2698         * objects.c (font_create):
2699         * objects.c (color_create):
2700         * objects.c (finalize_font_instance):
2701         * objects.c (finalize_color_instance):
2702         * objects.c:
2703         * objects-x.c (x_font_instance_truename):
2704         * objects-x.c:
2705         * objects-x.c (x_initialize_font_instance):
2706         * objects-x.c (allocate_nearest_color):
2707         * objects-tty.c (tty_initialize_font_instance):
2708         * objects-tty.c (tty_initialize_color_instance):
2709         * objects-msw.c (mswindows_initialize_color_instance):
2710         * ntproc.c (syms_of_ntproc):
2711         * ntproc.c (Fwin32_set_process_priority):
2712         * ntproc.c (sys_spawnve):
2713         * ntproc.c:
2714         * ntheap.c (get_data_end):
2715         * nt.c (period):
2716         * nt.c:
2717         * nt.c (stat):
2718         * nt.c (generate_inode_val):
2719         * nt.c (sys_rename):
2720         * nas.c:
2721         * mule-wnnfns.c (Fwnn_hinsi_number):
2722         * mule-wnnfns.c (Fwnn_yuragi):
2723         * mule-wnnfns.c (Fwnn_common_learn):
2724         * mule-wnnfns.c (Fwnn_suffix_learn):
2725         * mule-wnnfns.c (Fwnn_prefix_learn):
2726         * mule-wnnfns.c (Fwnn_okuri_learn):
2727         * mule-wnnfns.c (Fwnn_complex_conv):
2728         * mule-wnnfns.c (Fwnn_last_is_first):
2729         * mule-wnnfns.c (Fwnn_bmodify_dict_add):
2730         * mule-wnnfns.c (Fwnn_notrans_dict_add):
2731         * mule-wnnfns.c (Fwnn_fiusr_dict_add):
2732         * mule-wnnfns.c (Fwnn_fisys_dict_add):
2733         * mule-wnnfns.c (Fwnn_hinsi_list):
2734         * mule-wnnfns.c (Fwnn_fuzokugo_set):
2735         * mule-wnnfns.c (Fwnn_dict_search):
2736         * mule-wnnfns.c (Fwnn_word_toroku):
2737         * mule-wnnfns.c (Fwnn_hindo_update):
2738         * mule-wnnfns.c (Fwnn_bunsetu_henkou):
2739         * mule-wnnfns.c (Fwnn_kakutei):
2740         * mule-wnnfns.c (Fwnn_begin_henkan):
2741         * mule-wnnfns.c (Fwnn_dict_comment):
2742         * mule-wnnfns.c (Fwnn_dict_add):
2743         * mule-wnnfns.c (Fwnn_open):
2744         * mule-mcpath.c (mc_getcwd):
2745         * mule-coding.c (vars_of_mule_coding):
2746         * mule-coding.c (convert_to_external_format):
2747         * mule-coding.c (encoding_marker):
2748         * mule-coding.c (decoding_marker):
2749         * mule-coding.c (Fcopy_coding_system):
2750         * mule-coding.c (Fmake_coding_system):
2751         * mule-coding.c (Fcoding_system_list):
2752         * mule-coding.c (Ffind_coding_system):
2753         * mule-coding.c (symbol_to_eol_type):
2754         * mule-coding.c:
2755         * mule-charset.c (complex_vars_of_mule_charset):
2756         * mule-charset.c (vars_of_mule_charset):
2757         * mule-charset.c (Fset_charset_ccl_program):
2758         * mule-charset.c (struct charset_list_closure):
2759         * mule-charset.c (Ffind_charset):
2760         * mule-charset.c (make_charset):
2761         * mule-charset.c (non_ascii_valid_char_p):
2762         * mule-charset.c:
2763         * mule-ccl.c (ccl_driver):
2764         * mule-canna.c (c2mu):
2765         * mule-canna.c (Fcanna_henkan_begin):
2766         * mule-canna.c (Fcanna_parse):
2767         * mule-canna.c (Fcanna_store_yomi):
2768         * mule-canna.c (Fcanna_touroku_string):
2769         * mule-canna.c (Fcanna_initialize):
2770         * minibuf.c:
2771         * menubar.c (menu_parse_submenu_keywords):
2772         * menubar-x.c (make_dummy_xbutton_event):
2773         * menubar-x.c (set_frame_menubar):
2774         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
2775         * menubar-x.c:
2776         * menubar-msw.h:
2777         * menubar-msw.c (mswindows_popup_menu):
2778         * menubar-msw.c (mswindows_update_frame_menubars):
2779         * menubar-msw.c (mswindows_handle_wm_command):
2780         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
2781         * menubar-msw.c (unsafe_handle_wm_initmenupopup_1):
2782         * menubar-msw.c (update_frame_menubar_maybe):
2783         * menubar-msw.c (populate_or_checksum_helper):
2784         * menubar-msw.c (empty_menu):
2785         * menubar-msw.c:
2786         * md5.c:
2787         * marker.c (set_marker_internal):
2788         * marker.c (print_marker):
2789         * malloc.c:
2790         * make-src-depend:
2791         * lstream.c (lisp_buffer_rewinder):
2792         * lstream.c (mark_lstream):
2793         * lrecord.h:
2794         * lrecord.h (struct lrecord_header):
2795         * lread.c (readevalloop):
2796         * lread.c (locate_file):
2797         * lread.c (locate_file_in_directory):
2798         * lread.c (Flocate_file):
2799         * lread.c (load_force_doc_string_unwind):
2800         * lread.c (ebolify_bytecode_constants):
2801         * lread.c:
2802         * lisp.h:
2803         * lisp-union.h:
2804         * lisp-disunion.h:
2805         * linuxplay.c (linux_play_data_or_file):
2806         * linuxplay.c (audio_init):
2807         * line-number.c:
2808         * keymap.h:
2809         * keymap.c (describe_map):
2810         * keymap.c (describe_map_mapper):
2811         * keymap.c (Fdescribe_bindings_internal):
2812         * keymap.c (Fsingle_key_description):
2813         * keymap.c (map_keymap_sorted):
2814         * keymap.c (get_relevant_keymaps):
2815         * keymap.c (Flookup_key):
2816         * keymap.c (raw_lookup_key_mapper):
2817         * keymap.c (Fdefine_key):
2818         * keymap.c (Fevent_matches_key_specifier_p):
2819         * keymap.c (key_desc_list_to_event):
2820         * keymap.c (define_key_parser):
2821         * keymap.c (define_key_check_and_coerce_keysym):
2822         * keymap.c (keymap_submaps):
2823         * keymap.c (keymap_store_internal):
2824         * keymap.c (keymap_delete_inverse_internal):
2825         * keymap.c (keymap_store_inverse_internal):
2826         * keymap.c (print_keymap):
2827         * keymap.c (Lisp_Keymap):
2828         * keymap.c:
2829         * intl.c:
2830         * insdel.c (convert_bufbyte_string_into_emchar_dynarr):
2831         * insdel.c (make_gap):
2832         * input-method-xlib.c (get_XIM_input):
2833         * input-method-xlib.c (XIM_init_frame):
2834         * imgproc.c:
2835         * hash.h:
2836         * hash.c:
2837         * gui.c:
2838         * gui-x.c (button_item_to_widget_value):
2839         * gui-x.c (popup_selection_callback):
2840         * glyphs.h (struct image_instantiator_methods):
2841         * glyphs.c (mark_glyph_cachels):
2842         * glyphs.c (Fglyph_type):
2843         * glyphs.c (image_instantiate):
2844         * glyphs.c (image_create):
2845         * glyphs.c (make_image_instance_1):
2846         * glyphs.c (finalize_image_instance):
2847         * glyphs.c:
2848         * glyphs-x.c (finalize_subwindow):
2849         * glyphs-x.c (xface_validate):
2850         * glyphs-x.c (x_locate_pixmap_file):
2851         * glyphs-x.c (convert_EImage_to_XImage):
2852         * glyphs-msw.c:
2853         * glyphs-msw.c (mswindows_resource_instantiate):
2854         * glyphs-msw.c (xpm_to_eimage):
2855         * glyphs-msw.c (convert_EImage_to_DIBitmap):
2856         * glyphs-eimage.c (tiff_instantiate):
2857         * glyphs-eimage.c (png_instantiate):
2858         * glyphs-eimage.c (struct png_error_struct):
2859         * glyphs-eimage.c (gif_memory_storage):
2860         * glyphs-eimage.c:
2861         * gifrlib.h:
2862         * getloadavg.c (getloadavg):
2863         * getloadavg.c:
2864         * gdbinit:
2865         * free-hook.c (log_gcpro):
2866         * free-hook.c (check_malloc):
2867         * free-hook.c (check_free):
2868         * free-hook.c (ROUND_UP_TO_PAGE):
2869         * free-hook.c:
2870         * frame.h (struct frame):
2871         * frame.h:
2872         * frame.c (change_frame_size_1):
2873         * frame.c (allocate_frame_core):
2874         * frame.c:
2875         * frame-x.c (x_focus_on_frame):
2876         * frame-x.c (x_init_frame_2):
2877         * frame-x.c (x_popup_frame):
2878         * frame-x.c (xemacs_XtPopup):
2879         * frame-x.c:
2880         * frame-x.c (Foffix_start_drag_internal):
2881         * frame-x.c (x_cde_destroy_callback):
2882         * frame-x.c (x_wm_hack_wm_protocols):
2883         * frame-tty.c (tty_frame_visible_p):
2884         * frame-msw.c (mswindows_make_frame_invisible):
2885         * frame-msw.c (mswindows_after_init_frame):
2886         * frame-msw.c (mswindows_init_frame_1):
2887         * fns.c (syms_of_fns):
2888         * fns.c (Fbase64_decode_string):
2889         * fns.c (Fnconc):
2890         * fns.c (Ffillarray):
2891         * fns.c (Fobject_plist):
2892         * fns.c (Fget):
2893         * fns.c (Fcanonicalize_lax_plist):
2894         * fns.c (Fcanonicalize_plist):
2895         * fns.c (Fplist_remprop):
2896         * fns.c (Fplist_get):
2897         * fns.c (advance_plist_pointers):
2898         * fns.c (internal_plist_put):
2899         * fns.c (Fnreverse):
2900         * fns.c (Fremassq):
2901         * fns.c (Felt):
2902         * fns.c (Fsubstring):
2903         * fns.c (Fbvconcat):
2904         * fns.c (Flength):
2905         * fns.c (length_with_bytecode_hack):
2906         * fns.c (print_bit_vector):
2907         * fns.c:
2908         * floatfns.c (Ffloor):
2909         * floatfns.c:
2910         * floatfns.c (in_float_error):
2911         * fileio.c (Ffile_modes):
2912         * fileio.c (Fexpand_file_name):
2913         * fileio.c (Fmake_temp_name):
2914         * fileio.c (Ffile_name_nondirectory):
2915         * fileio.c (Ffile_name_directory):
2916         * file-coding.h:
2917         * file-coding.c (vars_of_mule_coding):
2918         * file-coding.c (convert_to_external_format):
2919         * file-coding.c (encoding_marker):
2920         * file-coding.c (decoding_marker):
2921         * file-coding.c (Fcopy_coding_system):
2922         * file-coding.c (Fmake_coding_system):
2923         * file-coding.c (struct coding_system_list_closure):
2924         * file-coding.c (Ffind_coding_system):
2925         * file-coding.c (symbol_to_eol_type):
2926         * file-coding.c:
2927         * faces.h (struct face_cachel):
2928         * faces.c (vars_of_faces):
2929         * faces.c (face_property_was_changed):
2930         * faces.c (mark_face_cachels):
2931         * faces.c (temporary_faces_list):
2932         * faces.c (struct face_list_closure):
2933         * faces.c:
2934         * extents.h (struct extent):
2935         * extents.c (vars_of_extents):
2936         * extents.c (struct copy_string_extents_1_arg):
2937         * extents.c (add_string_extents_mapper):
2938         * extents.c (Fextent_property):
2939         * extents.c (Fset_extent_property):
2940         * extents.c (symbol_to_glyph_layout):
2941         * extents.c (properties_equal):
2942         * extents.c (print_extent):
2943         * extents.c (print_extent_1):
2944         * extents.c (extent_in_region_p):
2945         * extents.c (gap_array_make_gap):
2946         * extents.c:
2947         * events.h (struct Lisp_Event):
2948         * events.h:
2949         * events.c (Fevent_properties):
2950         * events.c (format_event_object):
2951         * events.c (Fmake_event):
2952         * events.c (event_equal):
2953         * events.c (print_event):
2954         * events.c (mark_event):
2955         * event-stream.c ((read-char)
2956         * event-stream.c (vars_of_event_stream):
2957         * event-stream.c (syms_of_event_stream):
2958         * event-stream.c (Fset_recent_keys_ring_size):
2959         * event-stream.c (Fsit_for):
2960         * event-stream.c (Fnext_event):
2961         * event-stream.c (execute_help_form):
2962         * event-stream.c (maybe_kbd_translate):
2963         * event-stream.c:
2964         * event-msw.c (vars_of_event_mswindows):
2965         * event-msw.c (mswindows_wnd_proc):
2966         * event-msw.c (mswindows_need_event):
2967         * event-msw.c (mswindows_drain_windows_queue):
2968         * event-msw.c (mswindows_pump_outstanding_events):
2969         * event-msw.c:
2970         * event-msw.c (slurp_thread):
2971         * event-msw.c (struct ntpipe_slurp_stream):
2972         * event-msw.c (HANDLE_TO_USID):
2973         * event-Xt.c (emacs_Xt_handle_magic_event):
2974         * event-Xt.c (x_event_to_emacs_event):
2975         * event-Xt.c (x_reset_modifier_mapping):
2976         * event-Xt.c (x_reset_key_mapping):
2977         * event-Xt.c:
2978         * eval.c (syms_of_eval):
2979         * eval.c (warn_when_safe):
2980         * eval.c (warn_when_safe_lispobj):
2981         * eval.c (Fbacktrace_frame):
2982         * eval.c (Fbacktrace):
2983         * eval.c (top_level_set):
2984         * eval.c (unbind_to_hairy):
2985         * eval.c (specbind_magic):
2986         * eval.c (specbind_unwind_wasnt_local):
2987         * eval.c (call2_trapping_errors):
2988         * eval.c (call1_trapping_errors):
2989         * eval.c (catch_them_squirmers_call2):
2990         * eval.c (call0_trapping_errors):
2991         * eval.c (run_hook_trapping_errors):
2992         * eval.c (catch_them_squirmers_eval_in_buffer):
2993         * eval.c (call4_in_buffer):
2994         * eval.c (call3_in_buffer):
2995         * eval.c (call2_in_buffer):
2996         * eval.c (call1_in_buffer):
2997         * eval.c (call0_in_buffer):
2998         * eval.c (run_hook):
2999         * eval.c (run_hook_with_args_in_buffer):
3000         * eval.c (Fapply):
3001         * eval.c (Feval):
3002         * eval.c (do_autoload):
3003         * eval.c (un_autoload):
3004         * eval.c (Fautoload):
3005         * eval.c (Finteractive_p):
3006         * eval.c (Fcommand_execute):
3007         * eval.c (signal_quit):
3008         * eval.c (call_with_suspended_errors):
3009         * eval.c (signal_error):
3010         * eval.c (return_from_signal):
3011         * eval.c (Fcall_with_condition_handler):
3012         * eval.c (run_condition_case_handlers):
3013         * eval.c (condition_case_1):
3014         * eval.c (Funwind_protect):
3015         * eval.c (unwind_to_catch):
3016         * eval.c (internal_catch):
3017         * eval.c (Fmacroexpand_internal):
3018         * eval.c (Fuser_variable_p):
3019         * eval.c (Fdefconst):
3020         * eval.c (Fdefvar):
3021         * eval.c (Ffunction):
3022         * eval.c (signal_call_debugger):
3023         * eval.c (call_debugger):
3024         * eval.c:
3025         * emacs.c (main):
3026         * emacs.c (sort_args):
3027         * emacs.c (main_1):
3028         * elhash.h:
3029         * elhash.c:
3030         * editfns.c (Fencode_time):
3031         * editfns.c (Fdecode_time):
3032         * editfns.c (Fuser_full_name):
3033         * editfns.c:
3034         * editfns.c (save_excursion_restore):
3035         * ecrt0.c:
3036         * dynarr.c:
3037         * doprnt.c (emacs_doprnt_1):
3038         * doc.c (verify_doc_mapper):
3039         * doc.c (Fsnarf_documentation):
3040         * doc.c (Fdocumentation):
3041         * dll.c:
3042         * dired.c (user_name_completion):
3043         * dired.c (Fdirectory_files):
3044         * dialog-x.c:
3045         * dialog-msw.c:
3046         * dgif_lib.c (FreeSavedImages):
3047         * dgif_lib.c (DGifGetImageDesc):
3048         * device.h:
3049         * device.h (struct device):
3050         * device.c (Fselect_device):
3051         * device.c (allocate_device):
3052         * device.c:
3053         * device-x.c (Fx_keysym_on_keyboard_p):
3054         * device-x.c (Fx_valid_keysym_name_p):
3055         * device-x.c (x_IO_error_handler):
3056         * device-x.c (x_delete_device):
3057         * device-x.c (x_finish_init_device):
3058         * device-x.c (x_init_device):
3059         * device-x.c:
3060         * device-msw.c (mswindows_init_device):
3061         * dbxrc:
3062         * database.c (vars_of_database):
3063         * database.c (Fput_database):
3064         * database.c (Fopen_database):
3065         * database.c (berkdb_remove):
3066         * database.c (berkdb_put):
3067         * database.c (Fdatabasep):
3068         * database.c (print_database):
3069         * database.c:
3070         * data.c (vars_of_data):
3071         * data.c (syms_of_data):
3072         * data.c (init_errors_once_early):
3073         * data.c (prune_weak_lists):
3074         * data.c (finish_marking_weak_lists):
3075         * data.c (print_weak_list):
3076         * data.c (Fmod):
3077         * data.c (Fstring_to_number):
3078         * data.c (Fnumber_to_string):
3079         * data.c (Findirect_function):
3080         * data.c (Fsetcdr):
3081         * data.c (Ffloatp):
3082         * data.c (Fsubr_interactive):
3083         * data.c (Farrayp):
3084         * data.c (Fkeywordp):
3085         * data.c (Fnull):
3086         * data.c:
3087         * console.h (CONSOLE_NAME):
3088         * console.h:
3089         * console.c (vars_of_console):
3090         * console.c (Fselect_console):
3091         * console.c:
3092         * console-x.h (DEVICE_X_COLORMAP):
3093         * console-x.h (struct x_device):
3094         * console-x.c (x_device_to_console_connection):
3095         * console-tty.h (CONSOLE_TTY_FINAL_CURSOR_Y):
3096         * console-tty.c (tty_init_console):
3097         * console-tty.c:
3098         * console-msw.h (struct mswindows_frame):
3099         * conslots.h:
3100         * config.h.in:
3101         * cmds.c (internal_self_insert):
3102         * cmds.c (Fforward_line):
3103         * cmds.c (Fforward_char):
3104         * cmds.c:
3105         * cmdloop.c:
3106         * chartab.c (mark_char_table_entry):
3107         * chartab.c:
3108         * casefiddle.c (casify_word):
3109         * callproc.c (child_setup):
3110         * callproc.c (Fcall_process_internal):
3111         * callproc.c:
3112         * callint.c (Fcall_interactively):
3113         * bytecode.h:
3114         * bytecode.c (execute_rare_opcode):
3115         * bytecode.c (execute_optimized_program):
3116         * bytecode.c:
3117         * bufslots.h:
3118         * buffer.h (BUFFER_REALLOC):
3119         * buffer.h (GET_CHARPTR_INT_DATA_ALLOCA):
3120         * buffer.h (GET_CHARPTR_EXT_DATA_ALLOCA):
3121         * buffer.h:
3122         * buffer.h (MAP_INDIRECT_BUFFERS):
3123         * buffer.h (CHECK_LIVE_BUFFER):
3124         * buffer.c (init_initial_directory):
3125         * buffer.c (complex_vars_of_buffer):
3126         * buffer.c (vars_of_buffer):
3127         * buffer.c (finish_init_buffer):
3128         * buffer.c (Fget_file_buffer):
3129         * buffer.c (Fbuffer_list):
3130         * buffer.c (mark_buffer):
3131         * balloon_help.c (balloon_help_move_to_pointer):
3132         * balloon_help.c (show_help):
3133         * balloon_help.c:
3134         * backtrace.h:
3135         * alloc.c (garbage_collect_1):
3136         * alloc.c (sweep_strings):
3137         * alloc.c (sweep_compiled_functions):
3138         * alloc.c (sweep_bit_vectors_1):
3139         * alloc.c (sweep_vectors_1):
3140         * alloc.c (sweep_lcrecords_1):
3141         * alloc.c (tick_lcrecord_stats):
3142         * alloc.c (pure_string_sizeof):
3143         * alloc.c (mark_conses_in_list):
3144         * alloc.c (mark_object):
3145         * alloc.c (report_pure_usage):
3146         * alloc.c (make_pure_float):
3147         * alloc.c (make_pure_string):
3148         * alloc.c (free_managed_lcrecord):
3149         * alloc.c (mark_string):
3150         * alloc.c (noseeum_make_marker):
3151         * alloc.c (allocate_event):
3152         * alloc.c (Fbit_vector):
3153         * alloc.c (Fvector):
3154         * alloc.c (make_float):
3155         * alloc.c (Fmake_list):
3156         * alloc.c (Flist):
3157         * alloc.c (FREE_FIXED_TYPE_WHEN_NOT_IN_GC):
3158         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST):
3159         * alloc.c (DECLARE_FIXED_TYPE_ALLOC):
3160         * alloc.c (dbg_constants):
3161         * alloc.c (gc_record_type_p):
3162         * alloc.c (free_lcrecord):
3163         * alloc.c (xmalloc):
3164         * alloc.c (NOSEEUM_INCREMENT_CONS_COUNTER):
3165         * abbrev.c:
3166         * Makefile.in.in (mostlyclean):
3167         * Makefile.in.in (external_client_xlib_objs_nonshared):
3168         * Makefile.in.in (temacs_link_args):
3169         * Makefile.in.in (release):
3170         * Makefile.in.in (dnd_objs):
3171         * Makefile.in.in (objs):
3172         * Makefile.in.in (PROGNAME):
3173         * EmacsShell.c: cast strings to (XtPointer)
3174         * EmacsFrame.c: cast strings to (XtPointer)
3175         - mega patch
3176         - rewrite basic lisp functions for speed
3177         - rewrite bytecode interpreter for speed
3178         - rewrite list looping constructs for speed and safety using
3179           tortoise/hare.
3180         - use size_t where appropriate.
3181         - new hashtable implementation
3182         - cleanup implementation of opaques
3183         - opaques can now be purecopy'ed
3184         - move some cl functionality into C for speed.
3185         - remove last remaining VMS support
3186         - spelling fixes
3187         - improve gdb/dbx debugger support
3188         - move pure.c back into alloc.c for performance
3189         - enable report_pure_usage() if --memory-usage-stats
3190         - remove remnants of Energize support (EMACS_BTL, cadillac...)
3191         - don't use symbols with leading `_' or embedded `__'
3192         - globally cleanup duplicated semicolons `;;'
3193         - I give in on %p vs %lx - we use printf("%lx",(long) p)
3194           globally.
3195         - globally replace O_NDELAY with O_NONBLOCK.
3196         - globally replace CDISABLE with _POSIX_VDISABLE.
3197         - use O_RDONLY and O_RDWR instead of magic `0' and `2'.
3198         - define (and maybe use!) STDERR_FILENO and friends.
3199         - add support for macros defined in C
3200         - `when', `unless', `not' and `defalias' now defined in C,
3201           so that they are universally available.
3202         - rename defvar_mumble to defvar_magic
3203         - rename RETURN__ to RETURN_SANS_WARNINGS
3204         - use consistent style of initial caps in error messages
3205         - implement last, butlast, nbutlast, copy-list in C.
3206         - provide typedefs for all struct Lisp_foo types
3207         - Lisp_Objects must be initialized to Qnil rather than 0.
3208         - make sure XEmacs runs (slowly) with always_gc == 1;
3209         - fast and safe LOOP_* macros
3210         - change calls to XSETOBJ to XSETFOO
3211         - replace calls to XSETINT by make_int()
3212         - plug up memory leaks
3213         - use style markobj (foo), not silly ((markobj) (foo))
3214         - use XFLOAT_DATA (obj) instead of float_data (XFLOAT (obj))
3215
3216 1998-12-02  P. E. Jareth Hein  <jareth@camelot.co.jp>
3217
3218         * unexec.c: Changed a #ifndef statement to fix XEmacs on BSDI 3.0
3219
3220 1998-11-28  SL Baur  <steve@altair.xemacs.org>
3221
3222         * XEmacs 21.2-beta4 is released.
3223
3224 1998-11-27  SL Baur  <steve@altair.xemacs.org>
3225
3226         * mule-charset.c (complex_vars_of_mule_charset): Fix graphic
3227         property in control-1 charset.
3228         From Julian Bradfield <jcb@daimi.au.dk>
3229
3230 1998-11-26  Jan Vroonhof  <vroonhof@math.ethz.ch>
3231
3232         * gui-x.c (button_item_to_widget_value): Ignore :key-sequence
3233         keyword.
3234         Add stub for :label.
3235
3236         * gui.c (gui_item_add_keyval_pair): ditto.
3237
3238         * menubar-x.c (menu_item_descriptor_to_widget_value_1): Ignore
3239         :key-sequence keyword.
3240         Add stub for:label.
3241         Support :active for submenus like the Windows code and FSF Emacs.
3242
3243 1998-11-27  Hrvoje Niksic  <hniksic@srce.hr>
3244
3245         * dired.c (make_directory_hash_table): make_string() is OK because
3246         readdir() Mule-encapsulates.
3247
3248 1998-11-26  Hrvoje Niksic  <hniksic@srce.hr>
3249
3250         * fns.c (Fbase64_encode_string): Fix docstring.
3251         (Fbase64_decode_string): Ditto.
3252
3253 1998-11-26  Hrvoje Niksic  <hniksic@srce.hr>
3254
3255         * editfns.c (Ftranslate_region): Use
3256         convert_bufbyte_string_into_emchar_string().
3257
3258 1998-11-25  Hrvoje Niksic  <hniksic@srce.hr>
3259
3260         * editfns.c (Ftranslate_region): Accept vectors and char-tables as
3261         well as strings.
3262         (Ftranslate_region): Turn table into an array of Emchars for
3263         larger regions.
3264
3265 1998-11-25  Hrvoje Niksic  <hniksic@srce.hr>
3266
3267         * chartab.c (Freset_char_table): Fix wrong placement of #endif.
3268
3269 1998-11-24  Hrvoje Niksic  <hniksic@srce.hr>
3270
3271         * chartab.c (Freset_char_table): Don't blindly fill chartables of
3272         type `char' with nils.
3273
3274         * chartab.c (canonicalize_char_table_value): Coerce ints to chars
3275         for tables of type `char'.
3276
3277 1998-11-26  Didier Verna  <verna@inf.enst.fr>
3278
3279         * input-method-xlib.c (Initialize_Locale): don't call
3280         XtSetLanguageProc. We've done the whole work here.
3281         * input-method-xfs.c (Initialize_Locale): ditto.
3282         * input-method-motif.c (Initialize_Locale): ditto.
3283
3284 1998-11-26  Didier Verna  <verna@inf.enst.fr>
3285
3286         * process-unix.c (unix_create_process): handle properly
3287         Vfile_name_coding_system for converting the program and directory
3288         names.
3289
3290 1998-11-27  SL Baur  <steve@altair.xemacs.org>
3291
3292         * m/arm.h: New file.
3293         From James LewisMoss <dres@ioa.com>
3294
3295 1998-11-27  Takeshi Hagiwara  <hagiwara@ie.niigata-u.ac.jp>
3296
3297         * m/mips-nec.h:
3298         Fix the realpath() problem of UnixWare2.1.3.
3299         Patches for NEC's sysv4.2 machine.
3300
3301 1998-11-25  Hrvoje Niksic  <hniksic@srce.hr>
3302
3303         * dired.c (Fdirectory_files): Remove redundant code.
3304
3305 1998-11-25  Hrvoje Niksic  <hniksic@srce.hr>
3306
3307         * fns.c (free_malloced_ptr): New function.
3308         (XMALLOC_OR_ALLOCA): New macro.
3309         (XMALLOC_UNBIND): Ditto.
3310         (Fbase64_encode_region): Use malloc() for large blocks; arrange it
3311         to be freed in case of non-local exit.
3312         (Fbase64_encode_string): Ditto.
3313         (Fbase64_decode_region): Ditto.
3314         (Fbase64_decode_string): Ditto.
3315         (STORE_BYTE): New macro.
3316         (base64_decode_1): Use it.
3317
3318 1998-11-25  Hrvoje Niksic  <hniksic@srce.hr>
3319
3320         * fns.c (base64_value_to_char): Base64 stuff.
3321
3322 1998-11-24  Hrvoje Niksic  <hniksic@srce.hr>
3323
3324         * editfns.c (Fbuffer_substring): New function.
3325
3326         * lisp.h: Declare make_string_from_buffer_no_extents().
3327
3328         * insdel.c (make_string_from_buffer_1): New function.
3329         (make_string_from_buffer_no_extents): Ditto.
3330
3331 1998-11-15  Michael Sperber [Mr. Preprocessor]  <sperber@informatik.uni-tuebingen.de>
3332
3333         * linuxplay.c: Including <fcntl.h> instead of <sys/fcntl.h> makes
3334         sound work on AIX with OSS installed.  Linux should still work.
3335
3336 1998-11-03  Andy Piper  <andyp@parallax.co.uk>
3337
3338         * config.h.in: name change for cygwin/version.h
3339
3340         * configure.in: check for cygwin/version.h now.
3341
3342         * cygwin32.h: track CYGWIN_DLL_VERSION_MAJOR ->
3343         CYGWIN_VERSION_DLL_MAJOR name change in cygwin b20.
3344         move cygwin32/version.h to cygwin/version.h
3345
3346 1998-11-03  Olivier Galibert  <galibert@pobox.com>
3347
3348         * lisp.h  (struct  Lisp_Bit_Vector): Fix declaration of  bits from
3349         int to long.
3350
3351 1998-10-22  Andy Piper  <andyp@parallax.co.uk>
3352
3353         * cygwin32.h: track CYGWIN_DLL_VERSION_MAJOR ->
3354         CYGWIN_VERSION_DLL_MAJOR name change in cygwin b20.
3355         enable BROKEN_SIGIO under b20 to make QUIT work.
3356
3357 1998-10-22  Andy Piper  <andyp@parallax.co.uk>
3358
3359         * frame-msw.c (mswindows_size_frame_internal): force frame sizing
3360         to fit within the constraints of the screen size. I.e. make the
3361         frame small enough to fit and move it if some of it will be
3362         off-screen.
3363
3364 1998-10-19  Greg Klanderman  <greg@alphatech.com>
3365
3366         * dired.c: conditionalize inclusion of user-name-completion
3367         primitives on non-Windows NT.  The needed functions don't exist on NT.
3368
3369 1998-11-24  SL Baur  <steve@altair.xemacs.org>
3370
3371         * gifrlib.h: Clean up types for 64 bit compile.
3372         * dgif_lib.c (DGifInitRead): Ditto.
3373         (MakeSavedImage): Ditto.
3374         * emacs.c (decode_path): Ditto.
3375         From Steve Carney <carney@pa.dec.com>
3376
3377 1998-10-16  William M. Perry  <wmperry@aventail.com>
3378
3379         * glyphs-msw.c (bitmap_table): Fixed typo in builtin bitmaps
3380           (cehckboxes instead of checkboxes).
3381
3382 1998-10-15  SL Baur  <steve@altair.xemacs.org>
3383
3384         * XEmacs 21.2-beta3 is released.
3385
3386 1998-10-13  Raymond Toy  <toy@rtp.ericsson.se>
3387
3388         * runemacs.c (WinMain): If the basename is "rungnuclient.exe", run
3389         gnuclient.  Otherwise, we run xemacs as we always did.  This gets
3390         rid of the annoying DOS window when running gnuclient.
3391
3392 1998-10-13  Andy Piper  <andyp@parallax.co.uk>
3393
3394         * dragdrop.c (vars_of_dragdrop): rename HAVE_MSWINDOWS ->
3395         HAVE_MS_WINDOWS typo.
3396
3397 1998-10-13  SL Baur  <steve@altair.xemacs.org>
3398
3399         * process-unix.c (unix_send_process): Set closed flag on writable
3400         pipe after SIGPIPE is received and before we call deactivate_process.
3401
3402 1998-10-03  Gunnar Evermann  <ge204@eng.cam.ac.uk>
3403
3404         * window.c (Fset_window_start): respect narrowing when
3405         checking wheter start is at the beginning of a line.
3406         (Fset_window_buffer): Ditto
3407         Fixes repeatable crash in VM.
3408
3409 1998-10-09  SL Baur  <steve@altair.xemacs.org>
3410
3411         * window.c (specifier_vars_of_window): Set default vertical
3412         divider width to 1 on ttys.
3413
3414 1998-10-08  Martin Buchholz  <martin@xemacs.org>
3415
3416         * alloc.c:
3417         * unexec.c:
3418         * malloc.c:
3419         Add <stddef.h> to get ptrdiff_t declaration
3420
3421 1998-10-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
3422
3423         * scrollbar-msw.c: Use the same vertical scrollbar drag hack as
3424           is used for Motif or Lucid scrollbars under X.
3425
3426 1998-10-08  Pierre Wendling  <pw@ebc.vbe.dec.com>
3427
3428         * m/alpha.h (UNEXEC): quoted to avoid bad expansion when running
3429         `configure'
3430
3431 1998-10-06  Takeshi Hagiwara  <hagiwara@ie.niigata-u.ac.jp>
3432
3433         * frame-x.c (x_delete_frame): Fix an argument of XtDestroyWidget.
3434
3435 1998-10-05  Andy Piper  <andyp@parallax.co.uk>
3436
3437         * s/cygwin32.h: more cygwin b20 reorganisation.
3438
3439 1998-10-01  Raymond Toy  <toy@rtp.ericsson.se>
3440
3441         * nas.c: Added necessary support functions to be able to handle
3442         WAVE files in memory, just like the support for SND files in
3443         memory.
3444
3445 1998-09-30  SL Baur  <steve@altair.xemacs.org>
3446
3447         * callproc.c (child_setup): Fix spelling typo.
3448
3449 1998-09-29  SL Baur  <steve@altair.xemacs.org>
3450
3451         * XEmacs 21.2-beta2 is released.
3452
3453 1998-09-27  P. E. Jareth Hein  <jareth@camelot.co.jp>
3454
3455         * regex.c (re_match_2_internal): Add in code to reset lowest_active_reg
3456         to prevent memory corruption in the case of jumping out of a series of
3457         nested match patterns. This is a rather brute force approach, though.
3458
3459 1998-09-02  Andy Piper  <andyp@parallax.co.uk>
3460
3461         * config.h.in: ditto.
3462
3463         * s/cygwin32.h: rearrange declarations to cope with cygwin
3464         b20. Include cygwin32/version.h if it exists.
3465
3466 1998-09-20  Jonathan Harris  <jhar@tardis.ed.ac.uk>
3467
3468         * device-msw.c (mswindows_init_device): Call new
3469           mswindows_enumerate_fonts() function in objects-msw.c instead
3470           of font_enum_callback_1() to enumerate fonts.
3471
3472           font_enum_callback_1() and _2() moved to objects-msw.c.
3473
3474         * faces.c (complex_vars_of_faces): Make the mswindows default
3475           face font fully specified and provide some fallbacks.
3476
3477         * objects-msw.c: font_enum_callback_1() and _2() moved here
3478           from objects-msw.c. Obtain the enumerated font's character
3479           sets by table lookup instead of using the locale-specific
3480           string provided by Windows.
3481
3482           New public non-method mswindows_enumerate_fonts() that fills
3483           in the supplied mswindows device's font list.
3484
3485           mswindows_initialize_font_instance: Use the supplied name
3486           variable instead of f->name when signalling errors. Match font
3487           weights and character sets using lookup tables which handle
3488           spaces instead of by frobbing.
3489
3490 1998-09-20  Jonathan Harris  <jhar@tardis.ed.ac.uk>
3491
3492         * process-nt.c: Define an arbitrary limit, FRAGMENT_CODE_SIZE,
3493           on the size of code fragments passed to run_in_other_process.
3494
3495           run_in_other_process(): Use FRAGMENT_CODE_SIZE to determine
3496           the amount of memory to allocate in the other process.
3497
3498           Removed sigkill_code_end(), sigint_code_end() and
3499           sig_enable_code_end() since they are now redundant.
3500
3501           send_signal() and enable_child_signals(): Don't try to work
3502           out the end of the code fragments passed to
3503           run_in_other_process()
3504
3505 1998-09-10  Kazuyuki IENAGA  <ienaga@jsys.co.jp>
3506
3507         * src/s/freebsd.h: Added __ELF__ and compiler/liker flags for
3508         FreeBSD-current.
3509
3510         * src/unexelf.c: Partially synched with FSF's 20.3.
3511
3512 1998-09-10  Hrvoje Niksic  <hniksic@srce.hr>
3513
3514         * insdel.c (signal_after_change): Map across indirect buffers
3515         here, and not in the upper-level functions.
3516         (signal_first_change): Don't check for Armageddon.
3517         (signal_before_change): Map across indirect buffers here.
3518         (prepare_to_modify_buffer): ...and here.
3519
3520 1998-09-09  Hrvoje Niksic  <hniksic@srce.hr>
3521
3522         * insdel.c (signal_after_change): Add return value.
3523         (buffer_insert_string_1): Use it.
3524         (buffer_delete_range): Ditto.
3525         (buffer_replace_char): Ditto.
3526         (cancel_multiple_change): Map the indirect buffers.
3527
3528 1998-09-06  Hrvoje Niksic  <hniksic@srce.hr>
3529
3530         * insdel.c (init_buffer_text): Remove INDIRECT_P parameter.
3531         (uninit_buffer_text): Ditto.
3532
3533         * buffer.c (Fmake_indirect_buffer): Implement stricter
3534         error-checking.
3535
3536 1998-09-04  Hrvoje Niksic  <hniksic@srce.hr>
3537
3538         * insdel.c (change_function_restore): Reverse order of
3539         function-call and assignment.
3540         (first_change_hook_restore): Ditto.
3541
3542         * extents.c (mark_extent_auxiliary): Mark them.
3543         (Fset_extent_property): Set them.
3544         (Fextent_property): Get them.
3545         (Fextent_properties): Ditto.
3546         (vars_of_extents): Set their default.
3547
3548         * extents.h (struct extent_auxiliary): Add before_change_functions
3549         and after_change_functions.
3550
3551         * insdel.c (signal_before_change): Use it.
3552         (signal_after_change): Ditto.
3553
3554         * extents.c (report_extent_modification): New function.
3555
3556         * insdel.c (signal_before_change): Don't check for Armageddon.
3557         (signal_after_change): Ditto.
3558
3559 1998-09-11  Gunnar Evermann  <Gunnar.Evermann@nats.informatik.uni-hamburg.de>
3560
3561         * redisplay.c (redisplay_window): make sure a new starting point
3562         is chosen if it somehow got moved from the beginning of the line
3563         -- this can happen because Fwiden was called recently.
3564
3565         * window.c (Fset_window_start): set start_at_line_beg correctly
3566         (Fset_window_buffer): Ditto
3567
3568 1998-09-06  Hrvoje Niksic  <hniksic@srce.hr>
3569
3570         * insdel.c (init_buffer_text): Remove INDIRECT_P parameter.
3571         (uninit_buffer_text): Ditto.
3572
3573         * buffer.c (Fmake_indirect_buffer): Implement stricter
3574         error-checking.
3575
3576 1998-05-14  Jan Vroonhof  <vroonhof@math.ethz.ch>
3577
3578         * emacs.c (main_1): Removed references to *vars_of_filelock.
3579
3580         * lisp.h: Added Fsystem_name.
3581
3582         * filelock.c: Replaced by version from FSF 20.2. Now implements
3583         locking by using symlinks which is NFS safe. However keep the
3584         GCPRO's in lock_file and the calls to callx_in_buffer like our old
3585         version (and of course use ansi C, acessor macros, etc).
3586
3587 1998-09-06  Jan Vroonhof  <vroonhof@math.ethz.ch>
3588
3589         * process-unix.c (unix_create_process): Reset SIGHUP handler to
3590         SIG_DFL. We now try to conserve any inherted SIG_IGN settings
3591         in init_signals_very_early. However these should not be passed
3592         on to children attached to the new pty.
3593
3594 1998-08-28  Andy Piper  <andyp@parallax.co.uk>
3595
3596         * glyphs-eimage.c (png_instantiate_unwind): clean up eimage after use.
3597
3598 1998-09-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
3599
3600         * fileio.c (file-name-directory, file_name_as_directory):
3601           Don't call CORRECT_DIR_SEPS, even when #defined WINDOWSNT.
3602
3603 1998-09-02  Andy Piper  <andyp@parallax.co.uk>
3604
3605         * emacs.c (main_1): init_ralloc() if initialised and we have REL_ALLOC
3606
3607         * ralloc.c: uncomment __morecore.
3608
3609 1998-09-92  Jonathan Harris  <jhar@tardis.ed.ac.uk>
3610
3611         * event-msw.c(winsock_writer): Supply a dummy 4th argument to
3612           WriteFile() to fix a winsock 1.x bug on Win95.
3613
3614 1998-08-28  Hrvoje Niksic  <hniksic@srce.hr>
3615
3616         * event-Xt.c (emacs_Xt_mapping_action): Check for device being
3617         deleted.
3618         (x_event_to_emacs_event): Ditto.
3619         (emacs_Xt_handle_focus_event): Ditto.
3620         (emacs_Xt_handle_magic_event): Ditto.
3621
3622         * console-x.h (struct x_device): New flag being_deleted.
3623         (DEVICE_X_BEING_DELETED): New macro.
3624
3625         * device-x.c (x_IO_error_handler): Throw to top-level instead of
3626         returning.  Before doing that, set the being_deleted flag on the
3627         device.
3628
3629 1998-08-27  Hrvoje Niksic  <hniksic@srce.hr>
3630
3631         * device-x.c (x-seppuku-on-epipe): Removed.
3632
3633 1998-08-26  Gunnar Evermann  <Gunnar.Evermann@nats.informatik.uni-hamburg.de>
3634
3635         * frame-x.c (x_delete_frame): Flush the X output buffer after
3636         calling XtDestroyWidget to ensure that the windows are really
3637         killed right now.
3638
3639 1998-08-26  Hrvoje Niksic  <hniksic@srce.hr>
3640
3641         * menubar-x.c (my_run_hook): New unused function.
3642         (pre_activate_callback): Use run_hook for Qactivate_menubar_hook,
3643         since we ignore the results of the contained functions anyway.
3644
3645 1998-08-26  P. E. Jareth Hein  <jareth@camelot.co.jp>
3646
3647         * glyphs-eimage.c (gif_instantiate): Fix a crash in handling
3648         interlaced GIF files that are smaller than 4 lines high...
3649
3650 1998-08-31  Hrvoje Niksic  <hniksic@srce.hr>
3651
3652         * buffer.c (map_over_sharing_buffers): Deleted.
3653
3654         * insdel.c (MAP_INDIRECT_BUFFERS): Move to buffer.h.
3655
3656         * buffer.c (Fkill_buffer): Keep indirect_children updated while
3657         killing them.
3658
3659 1998-08-31  Hrvoje Niksic  <hniksic@srce.hr>
3660
3661         * insdel.c (buffer_insert_string_1): Advance the point bytind in
3662         all the buffers.
3663         (buffer_delete_range): Ditto.
3664
3665         * marker.c (init_buffer_markers): Set point-marker to the value of
3666         point in an indirect buffer.
3667
3668 1998-08-30  Hrvoje Niksic  <hniksic@srce.hr>
3669
3670         * undo.c (undo_prelude): Test last-undo-buffer against base
3671         buffer.
3672
3673         * insdel.c (MAP_INDIRECT_BUFFERS): Use it.
3674
3675         * buffer.h (BUFFER_BASE_BUFFER): New macro.
3676
3677 1998-08-30  Hrvoje Niksic  <hniksic@srce.hr>
3678
3679         * insdel.c (init_buffer_text): Initialize it here.
3680
3681         * line-number.c: Address line_number_cache through buffer->text.
3682
3683         * buffer.c (mark_buffer): Mark line number cache.
3684
3685         * bufslots.h (line_number_cache): Move to struct buffer_text.
3686
3687         * insdel.c (buffer_insert_string_1): Propagate signals and changes
3688         across the children buffers.
3689         (buffer_delete_range): Ditto.
3690         (buffer_replace_char): Ditto.
3691         (gap_left): Ditto.
3692         (gap_right): Ditto.
3693
3694         * insdel.c (MAP_INDIRECT_BUFFERS): New macro.
3695
3696         * buffer.c (Fmake_indirect_buffer): Uncomment.
3697
3698 1998-08-31  Hrvoje Niksic  <hniksic@srce.hr>
3699
3700         * macros.c (Fend_kbd_macro): Remove trailing period from error
3701         message.
3702         (Fexecute_kbd_macro): Ditto.
3703
3704 1998-08-21  Greg Klanderman  <greg@alphatech.com>
3705
3706         * dired.c (Fuser_name_completion): remove optional 2nd argument.
3707         (Fuser_name_completion_1): new function to return uniqueness
3708         indication in addition to the user name completion.
3709         (user_name_completion): change type of `uniq' argument.
3710
3711 1998-08-19  Michael Sperber [Mr. Preprocessor]  <sperber@informatik.uni-tuebingen.de>
3712
3713         * lread.c (vars_of_lread): Removed `source-directory' variable.
3714
3715 1998-08-22  Hrvoje Niksic  <hniksic@srce.hr>
3716
3717         * fileio.c (Ffile_readable_p): Apply the DOS/Windows logic to
3718         Cygwin.
3719
3720 1998-08-19  SL Baur  <steve@altair.xemacs.org>
3721
3722         * dired.c (vars_of_dired): Fix misapplied patch.
3723
3724 1998-08-16  Martin Buchholz  <martin@xemacs.org>
3725
3726         * fns.c (Fremrassq, remrassq_no_quit):
3727         A XCAR that should have been an XCDR turned Fremrassq into Fremassq
3728
3729 1998-07-17  Didier Verna  <verna@inf.enst.fr>
3730
3731         * redisplay-x.c (x_get_gc): returns a GC with a FillStipple fill
3732         style as foreground GC for faces that have the `dim' property.
3733         (x_output_string): when the `dim' face property is set,
3734         ensure the gray pixmap has been created, and get a proper
3735         foreground GC to draw the text.
3736
3737 1998-08-09  Jonathan Harris  <jhar@tardis.ed.ac.uk>
3738
3739         * event-msw.c (mswindows_wnd_proc): Workaround for a Win95 bug:
3740           Manually track the state of the left and right Ctrl and Alt
3741           modifiers.
3742
3743 1998-08-07 Matt Stupple <matts@tibco.com>
3744
3745         * ntproc.c: don't wait on char_consumed at thread entry.
3746         Additionally, to get the 'process' marked as finished, ensure
3747         that the CHILD_ACTIVE macro returns false, so before exiting
3748         close char_avail and set it to NULL, and close other handles
3749         to reduce handle leak problems.
3750
3751 1998-08-09  Jonathan Harris  <jhar@tardis.ed.ac.uk>
3752
3753         * menubar-msw.c (displayable_menu_item): take account of menu
3754           depth when deciding whether to try to display accelerators.
3755
3756 1998-08-04  Andy Piper  <andyp@parallax.co.uk>
3757
3758         * event-msw.c: use MsgWaitForMultipleObjects if there are no
3759         subprocesses.
3760
3761         * glyphs-msw.c: fix a couple of potential handle leaks.
3762
3763 1998-08-04  P. E. Jareth Hein  <jareth@camelot.co.jp>
3764
3765         * dgif_lib.c gif_io.c gifrlib.h: New files to put GIF
3766           *decoding ONLY* back into the core.
3767         * glyphs-eimage.c: Change referenced header file for GIF
3768           reading to point to the incore version.
3769
3770 1998-07-20  Martin Buchholz  <martin@xemacs.org>
3771
3772         * casefiddle.c (casify_object):
3773         Change algorithm from O(N**2) to O(N).
3774         Code cleanup.
3775         Doc string cleanup.
3776
3777 1998-07-22  Greg Klanderman  <greg@alphatech.com>
3778
3779         * dired.c (file_name_completion_unwind): don't leak the cons.
3780
3781 1998-07-20  Greg Klanderman  <greg@alphatech.com>
3782
3783         * dired.c (Fuser_name_completion): new function.
3784         (Fuser_name_all_completions): new function.
3785         (user_name_completion): new function.
3786         (syms_of_dired): 2 new DEFSUBRs.
3787         (vars_of_dired): initialize user name cache vars.
3788
3789 1998-07-29  P. E. Jareth Hein  <jareth@camelot.co.jp>
3790
3791         * glyphs-eimage.c (png_instantiate): Add proper handling for background
3792         colors taken from the default face.  Also correct a thinko in
3793         transparency (not alpha) handling.
3794
3795 1998-07-23  Martin Buchholz  <martin@xemacs.org>
3796
3797         * s/decosf4-0.h:  Use a perfectly ordinary link.  Nuke BSD crap.
3798         * unexalpha.c: ANSI C-ize.  Clean compiler warnings.
3799         * lread.c (Fload_internal):  Be very careful with printfs of
3800         size_t's
3801         * gui-x.c (menu_name_to_accelerator): tolower wants an `int'
3802         argument.
3803
3804 1998-07-27  Gunnar Evermann  <Gunnar.Evermann@nats.informatik.uni-hamburg.de>
3805
3806         * callint.c (Fcall_interactively): GCPRO prompt string before
3807         passing it to Fread_key_sequence
3808
3809 1998-07-27  SL Baur  <steve@altair.xemacs.org>
3810
3811         * keymap.c (vars_of_keymap): Initialize Vkey_translation_map and
3812         Vvertical_divider_map.
3813
3814         * mule-canna.c (vars_of_mule_canna): Initialize every symbol to
3815         Qnil or 0, none were initialized prior to this change.
3816
3817         Rename misnamed `V' prefixed integer variables:
3818         Vcanna_empty_info, Vcanna_through_info, Vcanna_underline,
3819         Vcanna_inhibit_hankakukana, Vcanna_henkan_length, Vcanna_henkan_revPos,
3820         Vcanna_henkan_revLen, Vcanna_ichiran_length, Vcanna_ichiran_revPos,
3821         Vcanna_ichiran_revLen.
3822
3823         Rename misnamed `V' prefixed integer variables and initialize
3824         properly in the vars_of routine.
3825         Vcanna_mode_AlphaMode, Vcanna_mode_EmptyMode, Vcanna_mode_KigoMode,
3826         Vcanna_mode_YomiMode, Vcanna_mode_JishuMode, Vcanna_mode_TankouhoMode,
3827         Vcanna_mode_IchiranMode, Vcanna_mode_YesNoMode, Vcanna_mode_OnOffMode,
3828         Vcanna_mode_AdjustBunsetsuMode, Vcanna_mode_ChikujiYomiMode,
3829         Vcanna_mode_ChikujiTanMode, Vcanna_mode_HenkanMode,
3830         Vcanna_mode_HenkanNyuryokuMode, Vcanna_mode_ZenHiraHenkanMode,
3831         Vcanna_mode_HanHiraHenkanMode, Vcanna_mode_ZenKataHenkanMode,
3832         Vcanna_mode_HanKataHenkanMode, Vcanna_mode_HanKataHenkanMode,
3833         Vcanna_mode_ZenAlphaHenkanMode, Vcanna_mode_HanAlphaHenkanMode,
3834         Vcanna_mode_ZenHiraKakuteiMode, Vcanna_mode_HanHiraKakuteiMode,
3835         Vcanna_mode_ZenKataKakuteiMode, Vcanna_mode_HanKataKakuteiMode,
3836         Vcanna_mode_ZenAlphaKakuteiMode, Vcanna_mode_HanAlphaKakuteiMode,
3837         Vcanna_mode_HexMode, Vcanna_mode_BushuMode, Vcanna_mode_ExtendMode,
3838         Vcanna_mode_RussianMode, Vcanna_mode_GreekMode, Vcanna_mode_LineMode,
3839         Vcanna_mode_ChangingServerMode, Vcanna_mode_HenkanMethodMode,
3840         Vcanna_mode_DeleteDicMode, Vcanna_mode_TourokuMode,
3841         Vcanna_mode_TourokuEmptyMode, Vcanna_mode_TourokuHinshiMode,
3842         Vcanna_mode_TourokuDicMode, Vcanna_mode_QuotedInsertMode,
3843         Vcanna_mode_BubunMuhenkanMode, Vcanna_mode_MountDicMode,
3844         Vcanna_fn_SelfInsert, Vcanna_fn_FunctionalInsert,
3845         Vcanna_fn_QuotedInsert, Vcanna_fn_JapaneseMode, Vcanna_fn_AlphaMode,
3846         Vcanna_fn_HenkanNyuryokuMode, Vcanna_fn_Forward, Vcanna_fn_Backward,
3847         Vcanna_fn_Next, Vcanna_fn_Prev, Vcanna_fn_BeginningOfLine,
3848         Vcanna_fn_EndOfLine, Vcanna_fn_DeleteNext, Vcanna_fn_DeletePrevious,
3849         Vcanna_fn_KillToEndOfLine, Vcanna_fn_Henkan, Vcanna_fn_Kakutei,
3850         Vcanna_fn_Extend, Vcanna_fn_Shrink, Vcanna_fn_AdjustBunsetsu,
3851         Vcanna_fn_Quit, Vcanna_fn_ConvertAsHex, Vcanna_fn_ConvertAsBushu,
3852         Vcanna_fn_KouhoIchiran, Vcanna_fn_BubunMuhenkan, Vcanna_fn_Zenkaku,
3853         Vcanna_fn_Hankaku, Vcanna_fn_ExtendMode, Vcanna_fn_ToUpper,
3854         Vcanna_fn_Capitalize, Vcanna_fn_ToLower, Vcanna_fn_Hiragana,
3855         Vcanna_fn_Katakana, Vcanna_fn_Romaji, Vcanna_fn_BaseHiragana,
3856         Vcanna_fn_BaseKatakana, Vcanna_fn_BaseEisu, Vcanna_fn_BaseZenkaku,
3857         Vcanna_fn_BaseHankaku, Vcanna_fn_BaseKana, Vcanna_fn_BaseKakutei,
3858         Vcanna_fn_BaseHenkan, Vcanna_fn_BaseHiraKataToggle,
3859         Vcanna_fn_BaseZenHanToggle, Vcanna_fn_BaseKanaEisuToggle,
3860         Vcanna_fn_BaseKakuteiHenkanToggle, Vcanna_fn_BaseRotateForward,
3861         Vcanna_fn_BaseRotateBackward, Vcanna_fn_Touroku, Vcanna_fn_HexMode,
3862         Vcanna_fn_BushuMode, Vcanna_fn_KigouMode, Vcanna_fn_Mark,
3863         Vcanna_fn_TemporalMode, Vcanna_key_Nfer, Vcanna_key_Xfer,
3864         Vcanna_key_Up, Vcanna_key_Left, Vcanna_key_Right, Vcanna_key_Down,
3865         Vcanna_key_Insert, Vcanna_key_Rollup, Vcanna_key_Rolldown,
3866         Vcanna_key_Home, Vcanna_key_Help, Vcanna_key_KP_Key,
3867         Vcanna_key_Shift_Nfer, Vcanna_key_Shift_Xfer, Vcanna_key_Shift_Up,
3868         Vcanna_key_Shift_Left, Vcanna_key_Shift_Right, Vcanna_key_Shift_Down,
3869         Vcanna_key_Cntrl_Nfer, Vcanna_key_Cntrl_Xfer, Vcanna_key_Cntrl_Up,
3870         Vcanna_key_Cntrl_Left, Vcanna_key_Cntrl_Right, Vcanna_key_Cntrl_Down
3871
3872 1998-07-16  Jan Vroonhof  <vroonhof@math.ethz.ch>
3873
3874         * event-Xt.c (x_to_emacs_keysym): Return nil for modifier keysyms.
3875         (x_event_to_emacs_event): Let x_to_emacs_keysym check for modifier
3876         keys thus no longer considering all keysyms on a key.
3877
3878 1998-07-19  SL Baur  <steve@altair.xemacs.org>
3879
3880         * XEmacs 21.2-beta1 is released.
3881
3882 1998-07-12  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
3883
3884         * eldap.c (Fldap_search_internal): When converting the list of
3885         attributes to search Copy the final 0 from Lisp strings to C
3886         strings.
3887         Check base, not Vldap_default_base as a a string
3888
3889 1998-07-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
3890
3891         * nt.c: Remove Vstdio_str; already defined in console-stream.c.
3892
3893         * unexnt.c: Unconditionally define bss_start and bss_size, and
3894           ensure that they don't go in the .bss section.
3895
3896 1998-07-17  Olivier Galibert  <galibert@pobox.com>
3897
3898         * glyphs-x.c (convert_EImage_to_XImage):  Fix previous patch (conv
3899         byte order is dependant  of  the local  byte order).
3900         From Takeshi Hagiwara <hagiwara@ie.niigata-u.ac.jp>
3901
3902 1998-07-18  SL Baur  <steve@altair.xemacs.org>
3903
3904         * glyphs-msw.c (mswindows_resource_normalize): Qresource ->
3905         Qmswindows_resource.
3906         From Jonathan Harris <jhar@tardis.ed.ac.uk>
3907
3908 1998-07-12  SL Baur  <steve@altair.xemacs.org>
3909
3910         * general.c (syms_of_general): Add defsymbol for Qresource.
3911
3912         * glyphs-msw.c (vars_of_glyphs_mswindows): Rename Qresource to
3913         Qmswindows_resource.
3914         (TopLevel): Rename 'resource image format to 'mswindows_resource.
3915         (mswindows_resource_validate): Rename.
3916         (mswindows_resource_normalize): Rename.
3917         (mswindows_resource_possible_dest_types): Rename.
3918         (mswindows_resource_instantiate): Rename.
3919         (image_instantiator_format_create_glyphs_mswindows): Replace
3920         `resource' with `mswindows.resource'.
3921
3922         * XEmacs 21.0-pre5 is released.
3923
3924 1998-07-10  SL Baur  <steve@altair.xemacs.org>
3925
3926         * mule-wnnfns.c (Fwnn_open): Correctly trap on misdefined Wnn
3927         server type in environment.
3928         Use alloca-ed strings instead of tiny fixed size ones.
3929
3930 1998-07-09  SL Baur  <steve@altair.xemacs.org>
3931
3932         * XEmacs 21.0-pre4 is released.
3933
3934 1998-07-01  James N. Potts  <jnpotts@plutonium.net>
3935
3936         * fileio.c: (expand_file_name): under win32: Don't treat names
3937         as UNC names if a drive letter has been specified.  If a drive
3938         has been specified, strip out extra directory-seperators that
3939         reportedly cause problems under Win95.
3940
3941 1998-07-09  Jonathan Harris  <jhar@tardis.ed.ac.uk>
3942
3943         * windowsnt.h: Define DUMP_SEPARATE_SECTION when building with
3944           MSVC >= 5.0. Put emacs init and zero-init data in a special
3945           section of the executable when this is defined.
3946
3947         * unexnt.c, ntheap.h:
3948           Removed unused find_section() and get_section_size().
3949
3950         * unexnt.c:
3951           Fix up the executable's checksum after dumping otherwise the
3952           profiler complains.
3953           When DUMP_SEPARATE_SECTION is defined, don't need to dump
3954           zero-init data separately from init data. Dump emacs data
3955           into a special section of the executable.
3956           When DUMP_SEPARATE_SECTION not defined, dump .bss up to
3957           my_ebss instead of up to the end of bss.
3958
3959 1998-07-09  Jonathan Harris  <jhar@tardis.ed.ac.uk>
3960
3961         * filelock.c: Removed Vconfigure_lock_directory - already
3962           defined in emacs.c.
3963
3964         * frame-msw.c: Removed Qinitially_unmapped and Qpopup - already
3965           defined in frame.c and general.c respectively.
3966
3967         * glyphs-msw.c: Removed Qresource - already defined in
3968           general.c.
3969
3970 1998-07-05  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
3971
3972         * eldap.c (Fldap_search_internal): Docstring fixes
3973
3974 1998-07-04  Jonathan Harris  <jhar@tardis.ed.ac.uk>
3975
3976         * nt.c (init_environment): Removed unused PRELOAD_WINSOCK,
3977           EMACSDOC and TERM variables. Added EMACSDEBUGPATHS,
3978           EMACSPACKAGEPATH and INFOPATH variables.
3979           Removed unused get_emacs_configuration function.
3980
3981         * s/windowsnt.h: Don't define EMACS_CONFIGURATION here because
3982           it is now defined at build-time by the makefile.
3983
3984 1998-07-01  James N. Potts  <jnpotts@plutonium.net>
3985
3986         * fileio.c: (expand_file_name): under win32: Don't treat names as
3987         UNC names if a drive letter has been specified.  If a drive has
3988         been specified, strip out extra directory-seperators that
3989         reportedly cause problems under Win95.
3990
3991 1998-07-05  Andy Piper  <andyp@parallax.co.uk>
3992
3993         * faces.c (complex_vars_of_faces): for the gui-element face don't
3994         fallback to the default face, instead provide reasonable default
3995         fallbacks that were previously hardcoded elsewhere.
3996
3997 1998-07-06  Olivier Galibert  <galibert@pobox.com>
3998
3999         * glyphs-x.c (convert_EImage_to_XImage): Fix pixel writing problem
4000         when the X server endianness is different than the client's one.
4001
4002 1998-06-29  Kyle Jones  <kyle_jones@wonderworks.com>
4003
4004         * eval.c (run_hook_with_args_in_buffer): Check
4005           default (non-buffer-local) value of hook for
4006           nil before treating it as a function.  Don't initialize
4007           the `globals' variable twice.
4008
4009 1998-06-24  Jonathan Harris  <jhar@tardis.ed.ac.uk>
4010
4011         * fileio.c: Don't do directory seperator canonicalisation in
4012           substitute-in-file-name because we don't know that the
4013           filename refers to a local file.
4014
4015 1998-06-24  Adrian Aichner  <aichner@ecf.teradyne.com>
4016
4017         * process-nt.c (nt_create_process): Try appending the standard
4018           executable file extensions to the filename if none supplied.
4019
4020 1998-06-29  SL Baur  <steve@altair.xemacs.org>
4021
4022         * fileio.c (Fsubstitute_in_file_name): Enable double slash notation
4023         for cygwin32.
4024         From Keisuke Mori <ksk@ntts.com>
4025
4026 1998-06-24  Andy Piper  <andyp@parallax.co.uk>
4027
4028         * toolbar-msw.c (mswindows_output_toolbar): only enable masked
4029         images if we have masks. This handles the xbm case (have masks)
4030         and avoids overuse of resources in the xpm case (generally no masks).
4031         Don't output small toolbars.
4032
4033 1998-06-29  Kyle Jones  <kyle_jones@wonderworks.com>
4034
4035         * eval.c (run_hook_with_args_in_buffer): Don't treat
4036           the default value of a buffer local hook as a list of
4037           hooks unless it is both a cons and the car of that cons
4038           is not Qlambda.
4039
4040 1998-06-29  SL Baur  <steve@altair.xemacs.org>
4041
4042         * extents.c: Email address for Ben Wing is ben@xemacs.org.
4043         * process-unix.c: Ditto.
4044         * mule-coding.h: Ditto.
4045         * mule-coding.c: Ditto.
4046         * mule-charset.c: Ditto.
4047         * mule-charset.h: Ditto.
4048         * file-coding.c: Ditto.
4049         * file-coding.h: Ditto.
4050
4051 1998-06-22  Jonathan Harris  <jhar@tardis.ed.ac.uk>
4052
4053         * event-msw.c: Guard against recursion when freeing
4054           FRAME_MSWINDOWS_TARGET_RECT struture in WM_SIZE processing.
4055
4056         * frame-msw.c: Don't set WS_VISIBLE attribute on first frame.
4057           Call ShowWindow twice in init_frame_3 to get round runemacs
4058           weirdness.
4059
4060 1998-06-27  Hrvoje Niksic  <hniksic@srce.hr>
4061
4062         * scrollbar.c (vertical_scrollbar_changed_in_window): Ditto.
4063
4064         * winslots.h: Rename.
4065
4066         * window.c (specifier_vars_of_window): Renamed
4067         vertical-divider-draggable-p to vertical-divider-always-visible-p,
4068         as suggested by Ben Wing.
4069         (specifier_vars_of_window): Fix docstrings.
4070
4071 1998-06-22  Michael Sperber [Mr. Preprocessor]  <sperber@informatik.uni-tuebingen.de>
4072
4073         * unexaix.c: Line number information works correctly again.
4074
4075 1998-06-22  Olivier Galibert  <galibert@pobox.com>
4076
4077         * emacs.c (__sti__iflPNGFile_c___): Added. See comment. Cry.
4078
4079 1998-06-21  Martin Buchholz  <martin@xemacs.org>
4080
4081         * editfns.c (get_home_directory): ANSIfy.
4082         XEmacs is compilable under C *and* C++.
4083         It's XEmacs, not Xemacs!
4084
4085 1998-06-19  Jonathan Harris  <jhar@tardis.ed.ac.uk>
4086
4087         * console-msw.h: added a list of fonts to device data.
4088
4089         * device-msw.c: enumerate list of available fonts in
4090           mswindows_init_device. Free list in mswindows_delete_device.
4091
4092         * objects-msw.c: Added helper function match_font used by
4093           mswindows_initialize_font_instance and mswindows_list_fonts.
4094           Allow a charset to be specified in a font string, even if
4095           previous fields havn't been specified.
4096
4097 1998-06-23  Greg Klanderman  <greg@alphatech.com>
4098
4099         * indent.c (column_at_point): column cache bugfix.
4100         Set last_known_column_point to the buffer position for
4101         which the column was requested, not buffer's point.
4102
4103         * redisplay.c (decode_mode_spec): for current-column, show
4104         window's point's column, not buffer's point's column.
4105
4106 1998-06-23  Andy Piper  <andyp@parallax.co.uk>
4107
4108         * menubar-msw.c (mswindows_handle_wm_command): use
4109         enqueue_misc_user event rather than
4110         mswindows_enqueue_msic_user_event to fix customize problems. Add some
4111         checks that X does.
4112
4113         * console-msw.h: declare mswindows_enqueue_magic_event.
4114
4115         * event-msw.c (mswindows_enqueue_magic_event): make global.
4116
4117 1998-06-24  Hrvoje Niksic  <hniksic@srce.hr>
4118
4119         * line-number.c (LINE_NUMBER_FAR): Reverted to 16384.
4120         (buffer_line_number): Use EMACS_INT_MAX instead of random LOTS.
4121         (add_position_to_cache): Use EMACS_INT instead of int.
4122
4123 1998-06-21  Olivier Galibert  <galibert@pobox.com>
4124
4125         * lisp-disunion.h (XMARKBIT): Have XMARKBIT return something
4126         suitable for an int used as a boolean (btw, C sucks.).
4127
4128 1998-06-18  Andy Piper  <andyp@parallax.co.uk>
4129
4130         * object-msw.c: remove warnings.
4131
4132         * device-msw.c: #define wrongly named cygwin structure elements.
4133
4134         * s/cygwin32.h: define DEMI_BOLD
4135
4136 1998-06-19  Jonathan Harris  <jhar@tardis.ed.ac.uk>
4137
4138         * redisplay-msw.c: new function mswindows_apply_face_effects.
4139           This is called by output_string and output_cursor to display
4140           underline and strikeout on faces.
4141
4142 1998-06-19  Jonathan Harris  <jhar@tardis.ed.ac.uk>
4143
4144         * console-msw.h: added a list of fonts to device data.
4145
4146         * device-msw.c: enumerate list of available fonts in
4147           mswindows_init_device. Free list in mswindows_delete_device.
4148
4149         * objects-msw.c: Added helper function match_font used by
4150           mswindows_initialize_font_instance and mswindows_list_fonts.
4151           Allow a charset to be specified in a font string, even if
4152           previous fields havn't been specified.
4153
4154 1998-06-15  Jonathan Harris  <jhar@tardis.ed.ac.uk>
4155
4156         * objects-msw.c:
4157           Removed compilation warnings from mswindows_string_to_color.
4158           mswindows_list_fonts returns a more general bogus font.
4159           New lisp-visible function mswindows-color-list.
4160
4161 1998-06-19  David Bush <david.bush@adn.alcatel.com>
4162
4163         * editfns.c (Fuser_login_name): Modify to user new function
4164         user_login_name.
4165         (user_login_name): C only function to avoid Lisp object overhead
4166         Returns "unknown" instead of nil in Cygwin environment
4167
4168         * fileio.c (Fexpand_file_name): Treat "~" and "~user" as
4169         equivalent for current user in Cygwin environment. Use new
4170         function user_login_name to get username.
4171
4172         * lisp.h: Declare user_login_name
4173
4174 1998-06-18  Michael Sperber [Mr. Preprocessor]  <sperber@informatik.uni-tuebingen.de>
4175
4176         * unexaix.c (make_hdr): Fixed bias computations so debugging info
4177         works again.
4178         Some other insignificant nitpicks.
4179
4180 1998-06-18  Andy Piper  <andyp@parallax.co.uk>
4181
4182         * toolbar-msw.c (mswindows_output_toolbar): specify ILC_MASK when
4183         creating the image list and make sure he bk color is transparent.
4184
4185 1998-06-18  Jan Vroonhof  <vroonhof@math.ethz.ch>
4186
4187         * event-Xt.c (emacs_Xt_remove_timeout): Also remove timeout from
4188         completed_timeouts. The timer could have expired.
4189
4190 1998-06-17  Andy Piper  <andyp@parallax.co.uk>
4191
4192         * console-msw.h: move XEMACS_RECT_WH inside frame
4193         parameters. define macors to access it.
4194
4195         * frame-msw.c (mswindows_init_frame_1): use new target_rect
4196         parameter to intialise desired sizing. (mswindows_init_frame_2):
4197         enable and size the frame to something sensible when we get
4198         here. (mswindows_set_frame_properites): use new
4199         mswindows_size_frame_internal function and size frame if frame
4200         parameters not just if init is finished - WM_SIZE happens too
4201         early for some specs. (mswindows_size_frame_internal): new
4202         function abstracted from mswindows_set_frame_properties.
4203         (Vmswindows_use_system_frame_size_defaults):
4204         new variable controls whether to allow the system to pick frame
4205         size defaults, defaults to nil.
4206
4207         * event-msw.c: in WM_SIZE use mswindows_size_frame_internal rather
4208         than duplicated code.
4209
4210 1998-06-15  Colin Rafferty <colin@xemacs.org>
4211
4212         * Makefile.in.in: Made EXTW_LINK expand properly.
4213
4214 1998-06-12  Martin Buchholz  <martin@xemacs.org>
4215
4216         * redisplay.c (vars_of_redisplay): default value of
4217         column-number-start-at-one should be NIL!
4218
4219 1998-06-11  Martin Buchholz  <martin@xemacs.org>
4220
4221         * casefiddle.c:
4222         (upcase-initials "fooBar") ==> "FooBar" instead of "Foobar"
4223
4224 1998-06-05  Hrvoje Niksic  <hniksic@srce.hr>
4225
4226         * eldap.c (Fldap_search_internal): Use build_ext_string instead of
4227         build_string to avoid crashes under Mule.
4228
4229 1998-06-13  Andy Piper  <andyp@parallax.co.uk>
4230
4231         * ntplay.c (play_sound_data_1): don't delete the sound data until
4232         the next sound is played and the previous one finished.
4233
4234 1998-06-10  Samuel Mikes  <smikes@alumni.hmc.edu>
4235
4236         * fileio.c (directory-sep-char): Escape backslashes.
4237
4238 1998-06-10  Hrvoje Niksic  <hniksic@srce.hr>
4239
4240         * event-stream.c: Fix docstring reference.
4241
4242 1998-06-12  Hrvoje Niksic  <hniksic@srce.hr>
4243
4244         * alloc.c (make_float): Remove useless initialization of `next'
4245         field.
4246         (make_pure_float): Ditto.
4247
4248         * lisp.h (struct Lisp_Float): Rename `next' to `__unused__next'.
4249
4250 1998-06-08  Kirill M. Katsnelson  <kkm@kis.ru>
4251
4252         * fileio.c (Fmake_directory_internal): Remove conditionals
4253         on WINDOWSNT when calling mkdir.
4254
4255         * ntproc.c: Deleted the following unused functions:
4256         register_child, reap_subprocess, sys_wait.
4257
4258         * nt.c (sys_rename): Ifzeroed this implementation.
4259         Deleted the following unused functions:
4260         sys_access, sys_chdir, sys_chmod, sys_creat, sys_link, sys_mkdir,
4261         sys_mktemp, sys_rmdir, sys_unlink, sys_close, sys_dup, sys_dup2,
4262         sys_read, sys_write.
4263         Merger sys_fopen and sys_open with sysdep.c implementation.
4264
4265         * sysdep.c: Removed MS-DOS code.
4266         (sys_rename): Deal with Microsoft rename weirdness.
4267         (sys_open): Implemented for Windows.
4268         (sys_fopen): Ditto.
4269         (sys_mkdir): Ditto.
4270
4271 1998-06-08  Kirill M. Katsnelson  <kkm@kis.ru>
4272
4273         * buffer.c (complex_vars_of_buffer): Removed %t description from
4274         the docstring.
4275
4276 1998-06-04  Rick Rankin  <Rick_Rankin-P15254@email.mot.com>
4277
4278         * scrollbar-msw.c: initialize the cbSize element of the
4279         SCROLLINFO struct before calling SetScrollInfo. WinNT seems
4280         to ignore the value of cbSize, but Win95 (and I presume Win98)
4281         appear to want it set to sizeof(SCROLLINFO).
4282
4283 1998-06-04  Kirill M. Katsnelson  <kkm@kis.ru>
4284
4285         * event-stream.c: Defined Qcancel_mode_internal.
4286         (syms_of_event_stream): defsymbol'ed it.
4287
4288         * events.h: Externed it.
4289
4290         * event-msw.c (mswindows_wnd_proc, WM_CANCELMODE): Added this handler.
4291
4292 1998-06-04  Oliver Graf <ograf@fga.de>
4293
4294         * frame-x.c (x_cde_destroy_callback): free the data
4295         (cde-start-drag-internal) corrected root position, 21.1 needs this
4296         hardcoded in Button events
4297         (offix-start-drag-internal) corrected root position
4298
4299 1998-06-03  Kirill M. Katsnelson  <kkm@kis.ru>
4300
4301         * process-nt.c (signal_cannot_launch): Use signal_simple_error()
4302         instead of error().
4303
4304 1998-06-03  Kirill M. Katsnelson  <kkm@kis.ru>
4305
4306         * dialog-msw.c (button_width): Removed `inline' from the function
4307         declaration.
4308
4309 1998-06-03  Rick Rankin  <Rick_Rankin-P15254@email.mot.com>
4310
4311         * frame-msw.c: add WS_VISIBLE flag to the first frame created.
4312         Note that adding this flag to subsequent frames causes problems.
4313
4314 1998-06-03  Gunnar Evermann  <Gunnar.Evermann@nats.informatik.uni-hamburg.de>
4315
4316         * glyphs-eimage.c (png_instantiate) move 'struct
4317         png_memory_storage tbr' out of nested block to avoid dangling
4318         reference
4319
4320 1998-06-02  Andy Piper  <andyp@parallax.co.uk>
4321
4322         * faces.h:
4323         * faces.c: rename 3d-object -> gui-element. add toolbar face which
4324         inherits from gui-element.
4325
4326         * glyphs-msw.c: use DIBitmaps for xbm bitmaps to be consistent
4327         with existing code, generate masks correctly.
4328
4329 1998-06-03  P. E. Jareth Hein  <jareth@camelot-soft.com>
4330
4331         * glyphs-eimage.c: Changed included header for gifs to use
4332         Gifreader instead of giflib.
4333
4334         * glyphs-x.c: removed the image-related functions that were
4335         moved into glyphs-eimage.
4336
4337 1998-06-02  David Bush  <david.bush@adnb.alcatel.com>
4338
4339         * glyphs.c (bitmap_to_lisp_data) Define XFree to be free
4340         if built without X Windows support.
4341
4342 1998-06-02  Hrvoje Niksic  <hniksic@srce.hr>
4343
4344         * fns.c (Fconcat): Synch docstring with new reality.
4345
4346 1998-06-03  SL Baur  <steve@altair.xemacs.org>
4347
4348         * frame.c: Remove reference to msdos.h (which is going away).
4349         Suggested by Hrvoje Niksic and Kirill Katsnelson.
4350
4351 1998-06-02  P. E. Jareth Hein  <jareth@camelot-soft.com>
4352
4353         * glyphs-eimage.c (jpeg_instantiate): Fix handling of
4354         grayscale images/
4355
4356
4357 1998-05-30  Kirill M. Katsnelson  <kkm@kis.ru>
4358
4359         * events.h: Fixed commentary about misc-user scrollbar events.
4360
4361         * scrollbar-x.c (x_update_vertical_scrollbar_callback): Use frame
4362         object as an event channel, instead of window object.
4363         (x_update_horizontal_scrollbar_callback): Ditto.
4364
4365 1998-05-29  Andy Piper  <andyp@parallax.co.uk>
4366
4367         * ntplay.c (play_sound_data_1) new function. convert alloca data
4368         to malloc if necessary.
4369         (play_sound_file): if the file is not in our path then convert to
4370         data and play.
4371
4372 1998-06-01  SL Baur  <steve@altair.xemacs.org>
4373
4374         * mule-mcpath.c (mc_chdir): Reverse parameters in call to memcpy.
4375         * msdos.c (Frecent_doskeys): Ditto.
4376
4377         * unexalpha.c (unexec): Reverse parameters in call to memcpy.
4378         Suggested by Reggie Perry <perry@zso.dec.com>
4379
4380         * buffer.h: Eliminate size in declaration.
4381
4382 1998-06-01  Olivier Galibert  <galibert@pobox.com>
4383
4384         * unexelfsgi.c (unexec): Cleanup n/nn and remove useless kludge.
4385
4386 1998-06-01  Kirill M. Katsnelson  <kkm@kis.ru>
4387
4388         * gui.c (gui_item_init): Changed the default value for config member
4389         from Qunbound to Qnil.
4390
4391 1998-06-01  Greg Klanderman  <greg@alphatech.com>
4392
4393         * indent.c (vmotion_pixels): Don't #define abs().
4394
4395 1998-05-30  Kirill M. Katsnelson  <kkm@kis.ru>
4396
4397         * s/windowsnt.h: Defined popen and pclose to be _popen and _pclose
4398         respectively.
4399
4400 1998-05-30  Andy Piper  <andyp@parallax.co.uk>
4401
4402         * glyphs.h: add xbm declarations.
4403
4404         * console.h: add xbm_instantiate_method device method.
4405
4406         * glyphs.c (check_valid_xbm_inline) (xbm_validate)
4407         (bitmap_to_lisp_data) (xbm_mask_file_munging) (xbm_normalize)
4408         (xbm_possible_dest_types): moved here from glyphs-x.c. use
4409         locate_pixmap_file device method and read_bitmap_data_from_file
4410         instead of XmuReadBitmapDataFromFile.
4411         (xbm_instatntiate): make a device method.
4412
4413         * glyphs-x.c: see glyphs.c changes. (read_bitmap_data_from_file)
4414         new function that just calls XmuReadBitmapDataFromFile.
4415         (x_xbm_instatntiate): device method from xbm_instantiate.
4416
4417         * glyphs-msw.c (read_bitmap_data) (NextInt)
4418         (read_bitmap_data_from_file): new functions copied from Xmu
4419         sources.
4420         (xbm_create_bitmap_from_data) from Ben <ben@666.com> convert
4421         inline data to an mswindows bitmap.
4422         (init_image_instance_from_xbm_inline) (xbm_instantiate_1)
4423         (mswindows_xbm_instantiate): mswindows-ized versions of the X
4424         functions.
4425
4426 1998-05-30  Kirill M. Katsnelson  <kkm@kis.ru>
4427
4428         * window.c (specifier_vars_of_window): Renamed `has_modeline-p' to
4429         `modeline-visible-p'.
4430         Declared specifier lisp variables at the beginning oh the file
4431         as static.
4432
4433         * procimpl.h (struct process_methods): Changed semantics of
4434         create_process method so it accepts lisp strings instead of
4435         char pointers.
4436
4437         * process.c (Fstart_process_internal): Moved building of
4438         unix style argv from here to process-unix.c, ...
4439
4440         * process-unix.c (unix_create_process): ... right here.
4441
4442         * process-nt.c (nt_create_process): Changed this function to
4443         support new semantics, so avoided a GC problem.
4444
4445         * events.c (Fmake_event): Document misc-user events properties.
4446         (Fmake_event): Do not allow arbitrary objects for channel property
4447         of misc-user events.
4448         (Fmake_event): Change misc-user event validation: it is function
4449         which is required, not button.
4450
4451         * event-msw.c (mswindows_user_event_p): Recognize misc user events as
4452         user events.
4453         (mswindows_enqueue_misc_user_event): Added function.
4454         (mswindows_bump_queue): Removed function.
4455         (mswindows_enqueue_magic_event): Support NULL HWND parameter.
4456         (mswindows_wnd_proc, WM_CLOSE): Use mswindows_enqueue_misc_user_event().
4457         (mswindows_wnd_proc, WM_EXITSIZEMOVE): Ditto.
4458         (emacs_mswindows_handle_magic_event): Handle XM_BUMPQUEUE, by doing
4459         really nothing, which is my personal favorite thing.
4460
4461         * console-msw.h: Removed prototype for mswindows_bump_queue().
4462         Added prototype for mswindows_enqueue_misc_user_event().
4463
4464         * menubar-msw.c (mswindows_handle_wm_command): Use
4465         mswindows_enqueue_misc_user_event().
4466
4467         * toolbar-msw.c (mswindows_handle_toolbar_wm_command): Ditto.
4468
4469         * dialog-msw.c (dialog_proc): Ditto.
4470
4471         * scrollbar-msw.c (mswindows_handle_scrollbar_event): Ditto.
4472          (mswindows_handle_scrollbar_event): Use frame, not window, for misc
4473         user events channel.
4474
4475 1998-05-29  Greg Klanderman  <greg@alphatech.com>
4476
4477         * window.c (Fwindow_displayed_text_pixel_height): was relying on
4478         incorrect semantics of vmotion_pixels which has been fixed.  don't
4479         use it anymore as it can't easily be used.
4480
4481         * indent.c (vmotion_pixels): fix off by one bug moving up.  also
4482         the motion was reported incorrectly if you tried to go past end of
4483         buffer.
4484
4485 1998-05-30  Kirill M. Katsnelson  <kkm@kis.ru>
4486
4487         * toolbar.h: Removed misleading commentary, as Martin suggested.
4488
4489 1998-05-30  Kirill M. Katsnelson  <kkm@kis.ru>
4490
4491         * lisp.h: Extern Qactivate_menubar_hook.
4492
4493         * menubar-msw.c (unsafe_handle_wm_initmenu_1): Pass correct value to
4494         run_hook ().
4495
4496 1998-05-29  Andy Piper  <andyp@parallax.co.uk>
4497
4498         * glyphs-msw.c: use BPLINE macro.
4499
4500         * select-msw.c (mswindows-selection-exists-p)
4501         (mswindows-delete-selection): doc string fixes.
4502
4503         * toolbar-msw.c (mswindows_output_toolbar): make disabled buttons
4504         unpressable. warning elimination.
4505
4506 1998-05-28  Martin Buchholz  <martin@xemacs.org>
4507
4508         * alloc.c (dbg_constants):
4509         * dbxrc:
4510         * gdbinit:
4511         Remove toolbar_data debugging code, since that lrecord has
4512         also been removed.
4513
4514 Wed May 27, 1998  Darryl Okahata  <darrylo@sr.hp.com>
4515
4516         * alloc.c: zap cached value of (user-home-directory), so that
4517           it's not undumped.
4518
4519         * buffer.c: From init_buffer(), separated out code that
4520           determined the initial directory for the *scratch* buffer, and
4521           put them into a function called "init_initial_directory()".
4522           The initial directory is now available as a global "char *"
4523           called initial_directory.
4524
4525         * buffer.h: Added extern entries for initial_directory[] and
4526           init_initial_directory().
4527
4528         * editfns.c: added new elisp function "user-home-directory",
4529         which basically returns getenv("HOME"), but attempts to use
4530         other values if $HOME isn't set.This may have to be tweaked in
4531         the future as, under Unix, "/" is used if $HOME isn't set (this
4532         probably should be set to the current directory).  To support
4533         this, a new C function, "get_home_directory()", now exists,
4534         which returns the "home directory", as a "char *" string.
4535
4536         * emacs.c: Rearrange NT initialization order so that
4537         environment/registry variables will be properly entered into
4538         Vprocess_enviroment.
4539
4540         * fileio.c: replaced egetenv("HOME") with calls to the new
4541           get_home_directory().
4542
4543         * lisp.h: Added function prototypes for uncache_home_directory()
4544           and get_home_directory(), along with lisp prototypes for
4545           Fuser_home_directory() and friends.
4546
4547         * nt.c: replaced getenv("HOME") with calls to the new
4548           get_home_directory().
4549
4550         * sysfile.h: for WINDOWSNT, #include <direct.h>, to suppress
4551           warnings about getcwd(), etc. not having prototypes.
4552
4553 1998-05-28  Kirill M. Katsnelson  <kkm@kis.ru>
4554
4555         * process-nt.c (send_signal): Emulate SIGHUP.
4556         (validate_signal_number): Ditto.
4557
4558         * event-msw.c (mswindows_wnd_proc, WM_KEYDOWN): Unconditionally
4559         remove MOD_SHIFT from ASCII characters.
4560         (mswindows_wnd_proc, WM_KEYDOWN): Do not activate the menubar when
4561         F10 is pressed.
4562
4563 1998-05-24  Oliver Graf <ograf@fga.de>
4564
4565         * frame-x.c (cde-start-drag-internal): added filename and multi-
4566         data transfers
4567         (x_cde_convert_callback) dito
4568
4569 1998-05-26  Oliver Graf <ograf@fga.de>
4570
4571         * frame-x.c: include event-mod.h also with CDE
4572         (x_cde_convert_callback) made the thing working
4573         (cde-start-drag-internal) also debugging
4574
4575 1998-05-25  Hans Guenter Weigand  <hgweigand@wiesbaden.netsurf.de>
4576
4577         * m/sparc.h:
4578         * getloadavg.c:
4579         * malloc.c:
4580         * unexec.c:
4581         * mem-limits.h:
4582           - add __OpenBSD__ where __NetBSD__ was found.
4583           - TODO: replace platform-specific conditional compilation by
4584             feature tests in configure.in.
4585
4586 1998-05-15  Greg Klanderman  <greg@alphatech.com>
4587
4588         * window.c (Fwindow_displayed_text_pixel_height): New function.
4589         (syms_of_window): DEFSUBR it.
4590
4591         * indent.c (Fvertical_motion_pixels): New function - request
4592         movement in pixels.
4593         (vmotion_pixels): helper.
4594         (syms_of_indent): DEFSUBR.
4595         * lisp.h: declaration for vmotion_pixels().
4596
4597         * indent.c (Fvertical_motion): Add optional third argument PIXELS,
4598         to request returning motion in pixels.
4599         (Fvertical_motion_pixels): Remove, functionality merged into
4600         Fvertical_motion.
4601         * window.c (window_scroll): call Fvertical_motion with 3 arguments.
4602         (Fmove_to_window_line): ditto.
4603         * lisp.h: Change declaration for Fvertical_motion.
4604
4605         * window.c: rename window-text-pixel-{height,width,edges} to
4606         window-text-area-pixel-*.
4607
4608 1998-05-26  Gunnar Evermann  <Gunnar.Evermann@nats.informatik.uni-hamburg.de>
4609
4610         * tooltalk.c (vars_of_tooltalk) added staticpro for
4611         Tooltalk_Message_plist_str and Tooltalk_Pattern_plist_str
4612
4613 1998-05-27  Andy Piper  <andyp@parallax.co.uk>
4614
4615         * faces.c: create a new 3d_object_face, make modeline and
4616         vertical_divider faces fallback to this rather than the default.
4617
4618 1998-05-21  Andy Piper  <andyp@parallax.co.uk>
4619
4620         * s/cygwin32.h: define charsets for cygwin.
4621
4622 1998-05-25  Andy Piper  <andyp@parallax.co.uk>
4623
4624         * toolbar-msw.c (mswindows_output_toolbar): fix up button sizes
4625         and coordinates. resize bitmaps if we have already settled on a
4626         different size.
4627
4628         * glyphs-msw.c (xpm_to_eimage): add ';' for mswindows compiler.
4629
4630 1998-05-25  Hrvoje Niksic  <hniksic@srce.hr>
4631
4632         * toolbar-msw.c (mswindows_handle_toolbar_wm_command): Ditto.
4633
4634         * menubar-msw.c (mswindows_handle_wm_command): Ditto.
4635
4636         * gui.h: Ditto.
4637
4638         * gui-x.c (popup_selection_callback): Ditto.
4639
4640         * dialog-msw.c (dialog_proc): get_callback -> get_gui_callback.
4641
4642         * gui.c (get_callback): Renamed to get_gui_callback.
4643
4644 1998-05-17  Martin Buchholz  <martin@xemacs.org>
4645
4646         * glyphs.h: order rearrangement.
4647
4648         * device-tty.c (tty_asynch_device_change): Warning suppression.
4649         * device-x.c (x_device_system_metrics): Warning suppression.
4650         Make Doc strings consistent with coding standards.
4651
4652 1998-05-24  Martin Buchholz  <martin@xemacs.org>
4653
4654         * general.c: multiple definition of `Qicon'.  general.c seems
4655           like a good home for Qicon.
4656
4657 1998-05-20  Kirill M. Katsnelson  <kkm@kis.ru>
4658
4659         * This patch is to fix compilation warnings under Windows.
4660
4661         * s/windowsnt.h: Encapsulate getpid with sys_getpid.
4662         Added prototypes for FSF inherited functions, with which XEmacs is
4663         sprinkled thoroughly.
4664         Removed some #if 0 code. Bracketed some more definitions, probably
4665         related to Visual C versions prior to 4 (we do not support them).
4666
4667         * sysfloat.h (logb): Finally, get logb() prototyped.
4668
4669         * sysfile.h: Added Windows specific includes.
4670         Removed old Windows specific code bracketed with #if 0.
4671
4672         * sysdep.h: Added prototype for xrealpath().
4673
4674         * sysdep.c (sys_getpid): Added function, to support '95 negative pids.
4675
4676         * symsinit.h: Added prototypes for syms_of_dired_mswindows,
4677         vars_of_dired_mswindows and init_ntproc (Grrr).
4678
4679         * realpath.c: Added Windows specific include files.
4680         (xrealpath): Conditionalized declaration of some auto variables on
4681         S_IFLNK, to avoid warnings.
4682
4683         * ntproc.c: Disabled some compiler warnings. This file is going to
4684         die, so I have not cleaned it up much.
4685         (set_process_dir): Const parameter.
4686         (Fwin32_short_file_name): Down CHECK_* macros to one argument.
4687         (Fwin32_long_file_name): Ditto.
4688         (Fwin32_set_process_priority): Ditto. Why didn't I remove these
4689         three functions?
4690
4691         * nt.h: Added prototypes for set_process_dir and convert_time.
4692
4693         * nt.c: More include files.
4694         (getpwnam): Consted char* argument.
4695         (get_emacs_configuration): Const return value.
4696         (opendir): Const argument.
4697         (stat): Casted converstion long->short.
4698         (stat): Removed ad hoc and questionable support for non-MSC compile.
4699         (sys_pipe): Removed unused auto variable.
4700         (_sys_read_ahead): Removed calls to DebPrint.
4701         (sys_read): Ditto, in 2 places.
4702         (term_ntproc): Added unused int parameter to signal handler, to
4703         avoid a warning when compiling a call to signal().
4704         (msw_sigset): Properly return old signandler or NULL instead of void.
4705
4706         * floatfns.c (Flogb): Casted arguments to unary minus to signed.
4707
4708         * gmalloc.c (morecore): Ditto.
4709         (_free_internal): Ditto.
4710
4711         * lread.c (parse_integer): Ditto.
4712
4713         * dired-msw.c: Added several include files.
4714
4715         * cmdloop.c (Fcommand_loop_1): Added Microsoft C to the Big List
4716         of Compilers to Shut Up.
4717
4718         * callproc.c: Added #includes to suppress warnings under Windows.
4719         (init_callproc): Removed #if0'ed code and unused variables.
4720
4721 1998-05-25  Andy Piper  <andyp@parallax.co.uk>
4722
4723         * device-msw.c (mswindows_device_system_metrics): do planes in a
4724         way consistent with X.
4725
4726         * glyphs-msw.c (mswindows_initialize_image_instance_mask): don't
4727         use SetPixel, use DIBits functions.
4728         (xpm_to_eimage): frob colors more closely like xpm deos.
4729
4730         * toolbar-msw.c: only resize bitmaps when shrinking. Adjust look
4731         to be closer to X version.
4732
4733         * event-msw.c: use tooltip string directly.
4734
4735         * redisplay-msw.c: reinstate Kirill's bg pixmap change.
4736
4737         * objects-msw.c: frob rgb colors that only Kyle uses.
4738
4739         * dialog-msw.c (button_width): INLINE -> inline.
4740
4741 1998-05-23  SL Baur  <steve@altair.xemacs.org>
4742
4743         * getloadavg.c (getloadavg): Fix typo.
4744
4745 1998-05-23  Kirill M. Katsnelson  <kkm@kis.ru>
4746
4747         * objects-msw.c (mswindows_initialize_font_instance): Added support
4748         for font character sets.
4749         Replaced 'XXX' with '####' in comments throughout the file.
4750
4751 1998-05-23  Kirill M. Katsnelson  <kkm@kis.ru>
4752
4753         * emacs.c (main_1): Added calls to vars_of_dialog_mswindows() and
4754         console_type_create_dialog_mswindows(), to initialize Windows dialog
4755         support.
4756
4757         * symsinit.h: Prototyped the above functions.
4758
4759         * dialog-x.c (x_popup_dialog_box): Moved dialog descriptor consistency
4760         checks to dialog.c...
4761
4762         * dialog.c (Fpopup_dialog_box): ...right here. Added more checks: a
4763         device must support dialog boxes, and the descriptor must supply at
4764         least one button.
4765
4766         * dialog-msw.c: New file, dialogs for Windows.
4767
4768 1998-05-21  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
4769
4770         * eldap.c (ldap_search_unwind): Return Qnil instead of nothing
4771         (Fldap_search_internal): Removed unused variable `err'
4772
4773         * eldap.h: Moved Lisp_LDAP declaration here instead of using a
4774         forward declaration
4775
4776 1998-05-17  Martin Buchholz  <martin@xemacs.org>
4777
4778         * eldap.h: eldap.[ch] should never be used unless HAVE_LDAP is
4779         defined.  Therefore there is no need to handle the case when
4780         HAVE_LDAP is undefined.  Similarily, there is no reason to have
4781         any code wrapped within `#ifdef emacs', since this code is only
4782         useful within an emacs.  This simplifies the code significantly.
4783
4784         * inline.c: Include eldap.h only if HAVE_LDAP.
4785         * inline.c: Don't bother including TT_C_H_PATH, since tooltalk.h
4786         already does that.
4787
4788 1998-05-21  Kirill M. Katsnelson  <kkm@kis.ru>
4789
4790         * unexnt.c (copy_executable_and_dump_data_section): Suppress
4791         printing dump stats when building without DEBUG_XEMACS.
4792         (dump_bss_and_heap): Ditto.
4793
4794 1998-05-21  Andy Piper  <andyp@parallax.co.uk>
4795
4796         * gnuclient.c: don't suppress window system if there is no display
4797         and we are running under mswindows. send 'mswindows device type if
4798         we are in this situation.
4799
4800 1998-05-20  Andy Piper  <andyp@parallax.co.uk>
4801
4802         * general.c:
4803         * lisp.h: Qbitmap, Qcursor, Qicon moved here from glyphs-msw.c.
4804
4805         * glyphs-msw.c: change cursor imgae type name to resource. Fix
4806         some nits.
4807
4808 1998-05-20  Kirill M. Katsnelson  <kkm@kis.ru>
4809
4810         * EmacsFrame.c (Xt_StringToScrollBarPlacement):  Added support for
4811         {top,bottom}-{left,right} values in addition to
4812         {top,bottom}_{left,right}.
4813
4814 1998-05-18  Hrvoje Niksic  <hniksic@srce.hr>
4815
4816         * fileio.c (Fmake_temp_name): Remove unreached code.
4817
4818         * process-nt.c (validate_signal_number): Use
4819         signal_simple_error().
4820
4821 1998-05-19  Martin Buchholz  <martin@xemacs.org>
4822
4823         * unexhp9k800.c:
4824         * sound.c (vars_of_sound):
4825         * sysdep.c (reset_sigio_on_device):
4826         * window.c (window_bottom_gutter_height):
4827         unexhp9k800.c:258: warning: implicit declaration of function
4828         `calculate_checksum'
4829         sound.c:604: warning: implicit declaration of function `vars_of_hpplay'
4830         sysdep.c:1012: warning: unused variable `owner'
4831         window.c:993: warning: `window_right_toolbar_width' defined but not used
4832
4833 1998-05-19  Andy Piper  <andyp@parallax.co.uk>
4834
4835         * glyphs-msw.c (mswindows_create_resized_mask)
4836         (mswindows_create_resized_bitmap): new funnctions split out from
4837         mswindows_resize_dibitmap_instance.
4838
4839         * glyphs-msw.h: declare new resize functions.
4840
4841         * toolbar-msw.c (mswindows_output_toolbar): use new bitmap resize
4842         functions so that the original bitmaps are preserved.
4843
4844         * sheap.c: fixup static heap exhausted error to avoid FAQs.
4845
4846         * redisplay-msw.c (mswindows_output_blank): fixup brush from bg
4847         color if we are trying to output 0 depth bg pixmap.
4848
4849         * scrollbar-msw.c: warning elimination.
4850
4851 1998-05-18  Martin Buchholz  <martin@xemacs.org>
4852
4853         * frame-x.c (x_update_frame_external_traits): Start preprocessor
4854         directives in column 1.
4855
4856         * search.c (skip_chars): Avoid using xzero with arrays, since some
4857         compilers get confused by the construct &array.
4858
4859 1998-05-18  Kirill M. Katsnelson  <kkm@kis.ru>
4860
4861         * objects-msw.h:
4862         * objects-msw.c: Changed the charset value for a new font from
4863         "don't care" to "ansi".
4864
4865         * glyphs-msw.c (convert_EImage_to_DIBitmap): Warnings fix.
4866
4867 1998-05-18  Kirill M. Katsnelson  <kkm@kis.ru>
4868
4869         * event-msw.c (mswindows_wnd_proc, WM_KEYDOWN): Do not clear shift
4870         modifier on control chars.
4871         Use IsCharAlpha() instead of isaplha().
4872
4873 1998-05-19  Kazuyuki IENAGA <ienaga@jsys.co.jp>
4874
4875         * s/freebsd.h: FreeBSD 2.2.6 now supports setlocale(LC_ALL, "").
4876
4877 1998-05-18  Kirill M. Katsnelson  <kkm@kis.ru>
4878
4879         * objects-msw.c (mswindows_initialize_font_instance): Use ANSI
4880         charset when creating font.
4881         (mswindows_initialize_color_instance): Do not create brush along
4882         with a color.
4883         (mswindows_finalize_color_instance): Do not delete it then.
4884
4885         * objects-msw.h (struct mswindows_color_instance_data): Removed
4886         brush slot, and corresponding accessor macro.
4887
4888 1998-05-18  Kirill M. Katsnelson  <kkm@kis.ru>
4889
4890         * toolbar.c: Removed toolbar_data lrecord implementation.
4891         (mark_frame_toolbar_buttons_dirty): Replase usage of toolbar_data
4892         with toolbar_buttons (via FRAME_TOOLBAR_BUTTONS).
4893         (compute_frame_toolbar_buttons): Ditto.
4894         (CHECK_TOOLBAR): Ditto.
4895         (set_frame_toolbar): Removed allocation of toolbar_data lrecord.
4896         (update_frame_toolbars): Do not check for changed buffer
4897         here. Toolbar information is provided by cached specs in
4898         windows. The check for buffer is eliminated becuase toolbars are
4899         marked changed in set_frame_selected_window() in frame.c
4900         Added check for changed toolbars geometry.
4901         (compute_frame_toolbars_data): Removed unused second parameter;
4902         Adjusted callers of this static function throughout the file.
4903         (init_frame_toolbars): Initialize current_toolbar_size.
4904         (update_frame_toolbars): Use DEVICE_SUPPORTS_TOOLBARS_P instead of
4905         what is its current expansion, for clarity.
4906         (init_frame_toolbars): Ditto.
4907         (init_device_toolbars): Ditto.
4908         (init_global_toolbars): Ditto.
4909
4910         * toolbar.h: Removed definition of toolbar_data lrecord.
4911         Added accessor macros FRAME_TOOLBAR_BUTTONS and
4912         FRAME_CURRENT_TOOLBAR_SIZE.
4913         Added macro DEVICE_SUPPORTS_TOOLBARS_P.
4914
4915         * toolbar-x.c (x_output_toolbar): The same change as in
4916         toolbar-msw.c
4917         (x_output_toolbar): Ditto.
4918         (x_redraw_exposed_toolbar): Ditto.
4919
4920         * toolbar-msw.c (mswindows_output_toolbar): Retrieve current
4921         buttons from toolbar_buttons using FRAME_TOOLBAR_BUTTONS macro.
4922         (mswindows_output_toolbar): Ditto.
4923         (mswindows_output_toolbar): Ditto.
4924
4925         * frame.c (mark_frame): Removed marking of arrays, according to
4926         frameslots.h change.
4927         (nuke_all_frame_slots): Ditto.
4928         (set_frame_selected_window): Mark toolbars changed when
4929         last_nonminibuf_window changes.
4930
4931         * frame.h (struct frame): Moved some slots to frameslots.h.
4932         Added current_toolbar_size array.
4933         Changed references from toolbar_data to toolbar_buttons in macros
4934         FRAME_RAW_THEORETICAL_TOOLBAR_VISIBLE,
4935         FRAME_RAW_THEORETICAL_TOOLBAR_SIZE and
4936         FRAME_RAW_THEORETICAL_TOOLBAR_BORDER_WIDTH.
4937
4938         * frameslots.h: Added macro MARKED_SLOT_ARRAY a la winslots.h
4939         Moved arrays of lisp objects here from frame.h: toolbar_size,
4940         toolbar_visible_p, toolbar_border_width.
4941         Removed toolbar_data slot and added toolbar_buttons.
4942
4943 1998-05-17  Kirill M. Katsnelson  <kkm@kis.ru>
4944
4945         * symsinit.h: Externed syms_of_process_nt()
4946
4947         * emacs.c (main_1): Call syms_of_process_nt()
4948
4949         * process-nt.c: Quote process arguments by a call to Lisp function
4950         `nt-quote-process-args'.
4951         (syms_of_process_nt): New function.
4952         (nt_send_process): Flush data stream after each write, to avoid
4953         leaving buffered data.
4954         (nt_send_process): When blocked on process output, wait for
4955         process to slurp more for progressively increasing time intervals.
4956
4957 1998-05-17  Martin Buchholz  <martin@xemacs.org>
4958
4959         * window.c (have_undivided_common_edge): Make file-local function
4960         static.
4961         (map_windows): Return 0 if all map functions successful.
4962         Fix typos.
4963
4964         * winslots.h: Use unlikely names for local variables in macros to
4965         avoid shadowing warnings.
4966
4967 1998-05-17  Andy Piper  <andyp@parallax.co.uk>
4968
4969         * toolbar-msw.c (mswindows_output_toolbar): hash on toolbar width
4970         so that we re-output if the toolbar size has changed.
4971
4972 1998-05-17  Michael Sperber [Mr. Preprocessor]  <sperber@informatik.uni-tuebingen.de>
4973
4974         * s/aix4-2.h (ALIGN_DATA_RELOC): Undefined to support new unexaix.c.
4975
4976         * s/aix3-1.h (ALIGN_DATA_RELOC): Defined to support new unexaix.c.
4977
4978         * unexaix.c: Massive cleanup and support of AIX 4.2 (and hopefully
4979         greater).
4980
4981 1998-05-16  Kirill M. Katsnelson  <kkm@kis.ru>
4982
4983         * glyphs-msw.c: Defined OEMRESOURCE before including windows.h to
4984         get bitmap manifest constants defined.
4985
4986         * console-msw.h: Include system files in angle brackets, not in
4987         quotes.
4988
4989         * window.c (specifier_vars_of_window): Fixed a typo in
4990         `vertical-divider-line-width' docstirng.
4991
4992 1998-05-16  Olivier Galibert  <galibert@pobox.com>
4993
4994         * line-number.c (delete_invalidate_line_number_cache): Use an
4995         EMACS_INT.
4996         (buffer_line_number): Remove dangerous, plain wrong when using
4997         64bits emacs ints, cast.
4998
4999         * insdel.c (buffer_delete_range): Use an EMACS_INT.
5000
5001         * cmds.c (Fforward_line): Use EMACS_INTs.
5002
5003         * search.c (bi_scan_buffer): Change to use EMACS_INTs.
5004         (scan_buffer): Ditto.
5005         (bi_find_next_newline_no_quit): Remove useless cast.
5006         (find_next_newline_no_quit): Ditto.
5007         (find_next_newline): Ditto.
5008         (find_before_next_newline): Use an EMACS_INT.
5009
5010         * lisp.h: Change scan_buffer to pass EMACS_INTs.
5011
5012 1998-05-16  Hrvoje Niksic  <hniksic@srce.hr>
5013
5014         * menubar-msw.c (mswindows_handle_wm_command): Ditto.
5015
5016         * toolbar-msw.c (mswindows_handle_toolbar_wm_command): Ditto.
5017
5018         * gui-x.c (popup_selection_callback): Use it.
5019
5020         * gui.h (get_callback): Declare it.
5021
5022         * gui.c (get_callback): New function.
5023
5024 1998-05-15  SL Baur  <steve@altair.xemacs.org>
5025
5026         * window.c (have_undivided_common_edge): Guard scrollbar specific
5027         stuff.
5028         (window_needs_vertical_divider_1): Ditto.
5029
5030 1998-05-16  Hrvoje Niksic  <hniksic@srce.hr>
5031
5032         * emacs.c (decode_path): Eliminate compiler warning.
5033         (Fdecode_path): Renamed to Fsplit_path.
5034         (Fsplit_string_by_char): New function.
5035
5036 1998-05-14  Damon Lipparelli  <lipp@primus.com>
5037
5038         * winslots.h: close comment
5039
5040 1998-05-16  Kirill M. Katsnelson  <kkm@kis.ru>
5041
5042         * callproc.c: Removed declared and unused variable Qbuffer_file_type.
5043
5044         * bufslots.h: Removed buffer_file_type slot.
5045
5046         * buffer.c (complex_vars_of_buffer): Removed buffer_file_type from
5047         buffer local flags.
5048         (complex_vars_of_buffer): Removed buffer-file-type variable and
5049         its default reference.
5050
5051 1998-05-15  Kirill M. Katsnelson  <kkm@kis.ru>
5052
5053         * faces.c (complex_vars_of_faces): Defined
5054         Vvertical_divider_face.
5055         (vars_of_faces): Staticpro it.
5056
5057         * faces.h: Externed Vvertical_divider_face.
5058
5059         * redisplay-x.c (x_output_vertical_divider): Use
5060         Vvertical_divider_face to draw the divider instead of modeline
5061         face.
5062
5063         * redisplay-msw.c (mswindows_output_vertical_divider): Draw
5064         divider face using Vvertical_divider_face background.
5065         Fix drawing spacing gaps around the divider.
5066
5067 1998-05-14  Didier Verna  <verna@inf.enst.fr>
5068
5069         * redisplay-x.c (x_output_vertical_divider): removed hard-wired
5070         values for the vertical divider line width and spacing. Use the
5071         cached values from the window structure instead.
5072         (x_divider_width): ditto.
5073
5074         * window.c (specifier_vars_of_window): new specifiers:
5075         vertical-divier -line-width and -spacing.
5076         (vertical_divider_global_width_changed): formerly known as
5077         vertical_divider_shadow_thickness_changed.
5078
5079         * winslots.h: new slots: vertical_specifier _line_width and
5080         _spacing. Plus corrected a comment typo.
5081
5082 1998-05-15  Kirill M. Katsnelson  <kkm@kis.ru>
5083
5084         * window.h: Declared window_divider_width().
5085
5086         * console-stream.c (stream_divider_width): Removed method.
5087         (console_type_create_stream): And declaration for it.
5088
5089         * redisplay.c (pixel_to_glyph_translation): Use
5090         window_divider_width() instead of divider_width redisplay method.
5091         (pixel_to_glyph_translation): Fix top divider edge calculation
5092         when scrollbar is on top.
5093
5094         * window.c (window_divider_width): New function, an outphaser for
5095         divider_width redisplay method.
5096         (window_right_gutter_width): Use it.
5097         (specifier_vars_of_window): For vertical-divider-{spacing,line-width}
5098         specifiers, set fallback values differently on TTYs, and document
5099         the behavior of these on TTYs in the docstrings.
5100
5101         * scrollbar.c (update_scrollbar_instance): Use
5102         window_divider_width() instead of divider_width redisplay method.
5103
5104         * console.h (struct console_methods): Removed divider_width_method.
5105
5106         * redisplay-tty.c (tty_divider_width): Removed device method.
5107         (console_type_create_redisplay_tty): Removed definition for it.
5108         (tty_output_vertical_divider): Respect the value returned by
5109         window_divider_width thus divider line width specification.
5110
5111         * redisplay-msw.c (mswindows_divider_width): Removed device method.
5112         (console_type_create_redisplay_mswindows): Removed definition for it.
5113         (mswinodws_output_vertical_divider): Respect the value returned by
5114         window_divider_width thus divider line width specification.
5115
5116 1998-05-15  Andy Piper  <andyp@parallax.co.uk>
5117
5118         * toolbar-msw.c: guess toolbar frame size a bit more accurately.
5119
5120 1998-05-15  Andy Piper  <andyp@parallax.co.uk>
5121
5122         * glyphs-msw.c: resource loading implementation.
5123         (cursor_normalize): new function.
5124         (cursor_validate): ditto.
5125         (cursor_instantiate): ditto.
5126         (cursor_name_to_resource): ditto.
5127         (cursor_possible_dest_types): ditto.
5128         (check_valid_symbol): ditto.
5129         (check_valid_string_or_int): ditto.
5130
5131 1998-05-14  Martin Buchholz  <martin@xemacs.org>
5132
5133         * sysdep.c (tty_init_sys_modes_on_device): Treat VSUSP just like
5134         VINTR and VQUIT.
5135
5136         * process-unix.c (process_signal_char): Use VSUSP instead of
5137         non-standard VSWTCH.  Always prefer VSUSP to VSWTCH.
5138
5139 1998-05-14  Kirill M. Katsnelson  <kkm@kis.ru>
5140
5141         * specifier.c (specifier_instance): Change locale precedence of
5142         instantiation so window locale has higher priority than buffer
5143         locale.
5144         (Fspecifier_instance): Reflect this in docstring.
5145         (Fadd_spec_list_to_specifier): Ditto.
5146         (Fadd_spec_to_specifier): Ditto.
5147         (Fremove_specifier): Ditto.
5148
5149 1998-05-15  Kirill M. Katsnelson  <kkm@kis.ru>
5150
5151         ** Dialog separation into a device method from Andy Piper
5152
5153         * emacs.c (main_1): Call console_type_create_dialog_x().
5154
5155         * dialog-x.c (x_popup_dialog_box): Old Fpopup_dialog_box converted
5156         into this device method.
5157         (console_type_create_dialog_x): New function.
5158
5159         * dialog.c (Fpopup_dialog_box): New function.
5160         (syms_of_dialog): Defsubr it.
5161
5162         * console.h (struct console_methods): Declared
5163         popup_dialog_box_method().
5164
5165         * symsinit.h: Defined console_type_create_dialog_{x,mswindows}
5166
5167 1998-05-14  Oliver Graf <ograf@fga.de>
5168
5169         * dragdrop.c (vars_of_dragdrop): dragdrop-protocols created
5170         * frame-x.c (x_cde_transfer_callback): checked for merge errors
5171
5172 1998-05-13  Oliver Graf <ograf@fga.de>
5173
5174         * dragdrop.c (vars_of_dragdrop): provide dragdrop-api
5175
5176 1998-05-15  Kirill M. Katsnelson  <kkm@kis.ru>
5177
5178         * console.h (device_metrics): Removed dbcs, input-method-editor
5179         and right-to-left metrics.
5180
5181         * device.c (Fdevice_system_metric): Ditto.
5182         (Fdevice_system_metrics): Ditto.
5183         (syms_of_device): Ditto.
5184         (Fdevice_system_metric): Swapped DEVICE and METRIC parameters back
5185         again.
5186
5187 1998-05-14  Hrvoje Niksic  <hniksic@srce.hr>
5188
5189         * line-number.h (mark_line_number_cache): Remove unused
5190         declaration.
5191
5192         * line-number.c (LINE_NUMBER_FAR): Increase to 32768.
5193         (get_nearest_line_number): Simplify.
5194         (add_position_to_cache): Make the old marker point nowhere.
5195
5196 1998-05-14  Kirill M. Katsnelson  <kkm@kis.ru>
5197
5198         ** Renamed window-divider-map => vertical-divider-map
5199         and event-over-divider-p => event-over-vertical-divider-p,
5200         in the following files/functions:
5201         * events.h:
5202         * events.c (Fevent_over_divider_p):
5203         * keymap.c (get_relevant_keymaps):
5204         (vars_of_keymap):
5205
5206         * redisplay.h (OVER_V_DIVIDER): Renamed so from OVER_DIVIDER.
5207
5208         * redisplay.c (pixel_to_glyph_translation): Use OVER_V_DIVIDER.
5209
5210 1998-05-14  Kirill M. Katsnelson  <kkm@kis.ru>
5211
5212         * window.c (vertical_divider_changed_in_window): Renamed so.
5213         (specifier_vars_of_window): Defined Vvertical_divider_draggable_p.
5214         (window_needs_vertical_divider_1): Decide whether we need it based
5215         on the value of the above specifier. If separators are unwanted,
5216         put them only if there's no scrollbar between this window and its
5217         right neighbor.
5218         (have_undivided_common_edge): New function, helper for the above.
5219         (window_needs_vertical_divider): Return either a cached value,
5220         or clauclate and cache one.
5221         (invalidate_vertical_divider_cache_in_window): Implemented.
5222         (map_windows): Changed return type to int, return the value from
5223         MAPFUN.
5224
5225         * window.h: Prototype invalidate_vertical_divider_cache_in_window.
5226         (struct window): Added need_vertical_divider_p and
5227         need_vertical_divider_valid_p.
5228
5229         * winslots.h: Added vertical_divider_draggable_p slot.
5230
5231         * scrollbar.c (vertical_scrollbar_changed_in_window): Implemented.
5232         (specifier_vars_of_scrollbar): Used it in all vertical specifiers.
5233
5234         * frame.c (invalidate_vertical_divider_cache_in_frame): New function.
5235
5236         * frame.h (MARK_FRAME_WINDOWS_STRUCTURE_CHANGED): Call
5237         invalidate_vertical_divider_cache_in_frame().
5238         Prototype it.
5239
5240 1998-05-14  Andy Piper  <andyp@parallax.co.uk>
5241
5242         * toolbar-msw.c: provide correct parameters to TB_SETROWS.
5243
5244         * glyphs-msw.c (mswindows_initialize_image_instance_mask): size
5245         masks correctly and don't select 0.
5246
5247 1998-05-14  Kirill M. Katsnelson  <kkm@kis.ru>
5248
5249         * winslots.h: New file, declaration of some struct window and
5250         struct saved_window members.
5251
5252         * window.h (struct window): Include it, with required preprocessor
5253         magic.
5254
5255         * window.c (mark_window): Ditto.
5256         (allocate_window): Ditto.
5257         (struct saved_window): Ditto.
5258         (mark_window_config): Ditto.
5259         (saved_window_equal): Ditto.
5260         (Fset_window_configuration): Ditto.
5261
5262 1998-05-14  Kirill M. Katsnelson  <kkm@kis.ru>
5263
5264         * redisplay-msw.c (mswindows_output_vertical_divider): Syntax fix.
5265
5266 1998-05-12  Didier Verna  <verna@inf.enst.fr>
5267
5268         * redisplay-x.c (x_output_vertical_divider): draw shadows around
5269         the divider line. The shadow thickness is currently
5270         hard-wired. This will probably be turned into a specifier soon.
5271
5272 1998-05-12  Didier Verna  <verna@inf.enst.fr>
5273
5274         * console.h (struct console_methods): the divider_width console
5275         method now requires a struct window * argument.
5276
5277         * redisplay-x.c (x_divider_width): ditto. Plus remove
5278         X_DIVIDER_WIDTH, X_DIVIDER_SHADOW_THICKNESS.
5279         (x_output_vertical_divider): give a depressed look when the shadow
5280         thickness is negative.
5281
5282         * console-stream.c (stream_divider_width): pass a struct window *
5283         argument.
5284
5285         * redisplay-tty.c (tty_divider_width): ditto.
5286
5287         * window.c (window_right_gutter_width): totdi.
5288
5289         * redisplay.c (generate_modeline): ittod.
5290
5291         * scrollbar.c (update_scrollbar_instance): ttido.
5292
5293         * redisplay-msw.c (mswindows_divider_width): ottid.
5294         WARNING: this enables to compile, but the feature is not functional.
5295
5296         * window.h (struct window): new field
5297         vertical_divider_shadow_thickness.
5298
5299         * window.c (specifier_vars_of_window): new specifier
5300         vertical-divider-shadow-thickness.
5301         (vertical_divider_shadow_thickness_changed): new function to
5302         inform redisplay that the window has changed.
5303         (mark_window): handle new field vertical_divider_shadow_thickness
5304         from struct window.
5305         (allocate_window): ditto.
5306         (saved_window_equal): toddi.
5307         (Fset_window_configuration): totid.
5308         (save_window_save): ttdio.
5309         (struct saved_window): new field vertical_divider_shadow_thickness.
5310
5311 1998-05-14  Kirill M. Katsnelson  <kkm@kis.ru>
5312
5313         * device-msw.c (mswindows_device_system_metrics): Support a deluge
5314         of metrics.
5315
5316 1998-05-12  Oliver Graf <ograf@fga.de>
5317
5318         * frame-x.c (x_cde_transfer_callback): fixed for the new protocol
5319         * event-Xt.c (x_event_to_emacs_event): C++ compability
5320
5321 1998-05-14  Hrvoje Niksic  <hniksic@srce.hr>
5322
5323         * emacs.c (Fdecode_path): Default SEPCHAR to value of
5324         path-separator.
5325
5326 1998-05-14  Hrvoje Niksic  <hniksic@srce.hr>
5327
5328         * emacs.c (vars_of_emacs): Do it here; change the meaning of
5329         Vpath_separator.
5330
5331         * fileio.c (vars_of_fileio): Don't define Vpath_separator here.
5332
5333 1998-05-14  Hrvoje Niksic  <hniksic@srce.hr>
5334
5335         * emacs.c (decode_path_1): New function.
5336         (decode_path): Use it.
5337         (Fdecode_path): Renamed from Fdecode_path_internal; use
5338         decode_path_1.
5339
5340 1998-05-12  Hrvoje Niksic  <hniksic@srce.hr>
5341
5342         * macros.c (Fzap_last_kbd_macro_event): New function.
5343         (Fend_kbd_macro): Remove REMOVE_LAST kludge.
5344
5345 1998-05-10  Andy Piper  <andyp@parallax.co.uk>
5346
5347         * redisplay-msw.c (mswindows_output_dibitmap_region): make sure
5348         multiple bitmaps are output vertically as well as horizontally.
5349         * (mswindows_output_dibitmap): don't cope with bitmap boundaries
5350         crossing lines this is handled by
5351         mswindows_output_dibitmap_region.
5352
5353 1998-05-12  Martin Buchholz  <martin@xemacs.org>
5354
5355         * inline.c: Include eldap.h
5356
5357         * menubar-x.c (x_update_frame_menubar_internal):
5358         Remove: unused variable `container'
5359
5360 1998-05-11  Martin Buchholz  <martin@xemacs.org>
5361
5362         * s/aix4.h: Allow AIX 4.3 XEmacs to compile cleanly.
5363         Unfortunately, the resulting temacs still cannot dump.
5364
5365         * symbols.c (symbol_is_constant):
5366         (verify_ok_for_buffer_local):
5367         -Wswitch Warning suppression - add default case to switches.
5368
5369         * redisplay.c (decode_mode_spec): Remove unused variables,
5370         Replace Fcoding_system_property (codesys, Qmnemonic) with
5371         XCODING_SYSTEM_MNEMONIC (codesys);
5372         Fcoding_system_property is for users.
5373
5374         * buffer.c:
5375         * fileio.c:
5376         * lread.c:
5377         * xselect.c:
5378         Change empty docstrings into no doc strings at all.
5379         Fix bogus FSF-format docstrings.
5380
5381         * extents.c:
5382         Standardize docstrings.
5383
5384         * floatfns.c:
5385         Explain problems with matherr.
5386
5387         * glyphs.c:  make DEFUNs etags-readable, i.e. single-line
5388
5389         * syssignal.h:
5390         if BROKEN_SIGIO, then SIGIO wants to be undefined.
5391         if SIGIO and not SIGPOLL, SIGPOLL wants to be SIGIO.\
5392         Fix the weird resultant interaction (causes windows problems)
5393
5394         * gdbinit:
5395         * dbxrc:
5396         Take new EMACSBOOTSTRAPLOADPATH into account.
5397         Update documentation strings
5398
5399         * Makefile.in.in:
5400         - Adjust for luser's CDPATH being set to something weird.
5401         - Take into account bash 2.02's tendency to print the cwd when
5402           using CDPATH.  Always use `cd ./foo' instead of `cd foo'.
5403         - fix the run-temacs target to use $(DUMPENV)
5404         - fix the run-puremacs target to use $(DUMPENV)
5405         - fix the `depend' target to properly $(RM) the right files
5406         - Generate a better TAGS file for XEmacs' lisp code using
5407           hand-crafted regexps.
5408         - Use standard coding conventions for modules/Makefile.in
5409
5410 1998-05-12  Didier Verna  <verna@inf.enst.fr>
5411
5412         * redisplay.c: removed the scrolling modeline code that didn't
5413         make it for 21.0. To be continued ...
5414
5415 1998-05-13  Michael Sperber [Mr. Preprocessor]  <sperber@informatik.uni-tuebingen.de>
5416
5417         * emacs.c (Fdecode_path_internal): Removed bogus handling of nil
5418         and empty string inputs.
5419
5420 1998-05-12  Hrvoje Niksic  <hniksic@srce.hr>
5421
5422         * redisplay-x.c (x_output_vertical_divider): Fixed typo.
5423
5424 1998-05-10  Oliver Graf <ograf@fga.de>
5425
5426         * event-stream.c (enqueue_misc_user_event_pos): created
5427         * lisp.h (enqueue_misc_user_event_pos): prototype added
5428         * frame-x.c (x_cde_transfer_callback): debug code plus API changes
5429         * emacs.c: call vars_of_dragdrop
5430         * dragdrop.c (vars_of_dragdrop): provide dragdrop
5431
5432 1998-05-11  Oliver Graf <ograf@fga.de>
5433
5434         * frame-x.c (x_cde_transfer_callback): return at correct pos
5435         * event-Xt.c (x_event_to_emacs_event): changed format of drop
5436         object for MIME (see comment in dragdrop.c)
5437         * dragdrop.c: API change documented in comment
5438         removed provide of dragdrop [is provided by dragdrop.el]
5439
5440 1998-05-12  Kirill M. Katsnelson  <kkm@kis.ru>
5441
5442         * window.c (window_needs_vertical_divider): Enable vertical
5443         dividers for every non-rightmost window.
5444         (window_left_gutter_width): Left gutter consists of mythical
5445         toolbar and a virtual scrollbar.
5446         (window_right_gutter_width): The right one may have a divider
5447         also.
5448
5449         * scrollbar.c (update_scrollbar_instance): Position vertical
5450         scrollbar left to divider if the latter present.
5451
5452         * redisplay.h: Declared OVER_DIVIER constant.
5453
5454         * redisplay.c (pixel_to_glyph_translation): Handle OVER_DIVIDER
5455         case.
5456
5457         * redisplay-x.c (x_output_vertical_divider): Output divider along
5458         the right side of the window, down to window bottom. Swapped
5459         foreground and background colors so it is visible by default.
5460
5461         * redisplay-tty.c (tty_output_vertical_divider): Uncondiionally
5462         stick the divider to the right window side.
5463
5464         * redisplay-msw.c (mswindows_redisplay_deadbox_maybe): Fixed
5465         deadbox painting.
5466         (mswindows_divider_width): Ask system for user preferred value.
5467         (mswindows_output_vertical_divider): Always output the divider on
5468         the right side of a window, down to bottom.
5469
5470         * keymap.c (get_relevant_keymaps): Route mouse button events which
5471         happened over a window divider through window-divider-map.
5472         (Fkey_binding): Documented that in the docstring.
5473         Defined the variable Vwindow_divider_map.
5474
5475         * events.c (Fevent_over_divider_p): Added this function.
5476
5477         * events.h: EXFUNed it.
5478
5479 1998-05-12  Kirill M. Katsnelson  <kkm@kis.ru>
5480
5481         * toolbar.c (update_frame_toolbars): Re-layout frame windows if
5482         toolbar geometry is suspected to change.
5483
5484 1998-05-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5485
5486         * src/device-msw.c
5487         * src/event-msw.c
5488         Condition dnd and dde code on HAVE_DRAGNDROP.
5489
5490 1998-05-11  Hrvoje Niksic  <hniksic@srce.hr>
5491
5492         * events.c (format_event_object): Print space as SPC etc.
5493
5494 1998-05-11  Hrvoje Niksic  <hniksic@srce.hr>
5495
5496         * print.c (print_internal): In the default case, abort() if
5497         ERROR_CHECK_TYPECHECK.
5498
5499         * fileio.c (Fmake_temp_name): Doc fix.
5500
5501 1998-05-10  Hrvoje Niksic  <hniksic@srce.hr>
5502
5503         * xgccache.c (describe_gc_cache): Define only if DEBUG_XEMACS.
5504
5505         * undo.c (Fprimitive_undo): Fixed typo.
5506
5507 1998-05-11  Hrvoje Niksic  <hniksic@srce.hr>
5508
5509         * fns.c (concat): Signal error on integer argument.
5510
5511 1998-05-10  Kirill M. Katsnelson  <kkm@kis.ru>
5512
5513         * console.h (device_metrics): Prefixed each constatnt with DM_
5514
5515         * device.c: (Fdevice_system_metric): Renamed so from plural form
5516         (metrics); Changed parameters order and added DEFAULT parameter;
5517         Unabbreviated some metric constants; Fixed and untabified doc string.
5518         (Fdevice_system_metrics): Added. Returns a plist of all provided
5519         metrics.
5520
5521         * device-msw.c (mswindows_device_system_metrics): Renamed
5522         device_metrics enum constants.
5523         Return Qunbound instead of Qnil.
5524
5525         * device-tty.c (tty_device_system_metrics): Ditto.
5526
5527         * device-x.c (x_device_system_metrics): Ditto.
5528
5529 1998-05-10  Andy Piper  <andyp@parallax.co.uk>
5530
5531         * redisplay-msw.c: implement background pixmaps (really!). Make
5532         sure bg color is transparent if we have bg pmaps.
5533         * (mswindows_output_string) (mswindows_clear_region): output bg
5534         pmap if required.
5535         * (mswindows_output_dibitmap_region): new function.
5536         * (mswindows_output_dibitmap): output offset pixmaps, blt masks in
5537         the bg color rather than transparently.
5538
5539         * toolbar-msw.c: use masks if they exist.
5540
5541         * glyphs-msw.c: set up masks correctly.
5542
5543         * event-msw.c: typedef SOCKET if cygwin and not msg select().
5544
5545 1998-05-10  Hrvoje Niksic  <hniksic@srce.hr>
5546
5547         * regex.c (re_match_2_internal): Check for quit.
5548
5549 1998-05-10  Hrvoje Niksic  <hniksic@srce.hr>
5550
5551         * frame.c (Ffocus_frame): New function.