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