XEmacs 21.2.33 "Melpomene".
[chise/xemacs-chise.git.1] / src / ChangeLog
1 2000-05-01  Martin Buchholz <martin@xemacs.org>
2
3         * XEmacs 21.2.33 is released.
4
5 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
6
7         * make-src-depend: Allow dots in header file name.
8
9 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
10
11         * mule-charset.h (struct charset_lookup): Add
12         next_allocated_1_byte_leading_byte and
13         next_allocated_2_byte_leading_byte.
14         * mule-charset.c: Move above two variables so that those values
15         will be dumped.
16
17 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
18
19         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
20         when string length is zero.
21         (find_charsets_in_emchar_string): Ditto.
22
23 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
24
25         * lisp.h: extern Qdialog and Qmenubar.
26
27         * gui-x.c: added events.h.
28                 also fixed typo which made the file uncompilable.
29
30         * general.c: Added Qmenubar and Qdialog
31
32 2000-04-28  Ben Wing  <ben@xemacs.org>
33
34         * frame-msw.c (mswindows_init_frame_1):
35         * frame-msw.c (mswindows_mark_frame):
36         * event-msw.c (mswindows_enqueue_dispatch_event):
37         * console-msw.h:
38         * console-msw.h (struct mswindows_frame):
39         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
40         there are now three hash tables for callbacks.
41         mswindows_enqueue_dispatch_event is no longer static.
42         
43         * dialog-x.c (maybe_run_dbox_text_callback):
44         * dialog-x.c (dbox_descriptor_to_widget_value):
45         switch to new cons3 form for callbacks.
46         
47         * glyphs-msw.c (mswindows_register_gui_item):
48         * glyphs-msw.c (mswindows_widget_instantiate):
49         * glyphs-msw.c (add_tree_item):
50         * glyphs-msw.c (add_tab_item):
51         new image instance parameter, so it can be passed to callback-ex.
52         respect :callback-ex as well as :callback.
53         
54         * glyphs-widget.c (VALID_GUI_KEYWORDS):
55         add :callback-ex.
56         
57         * glyphs.c (print_image_instance):
58         prettify, e.g. now prints widget type.
59         
60         * gui-x.h:
61         certain funs have new image instance parameter.
62         
63         * gui.c:
64         * gui.c (get_gui_callback):
65         * gui.c (gui_item_add_keyval_pair):
66         * gui.c (gui_item_init):
67         * gui.c (gui_add_item_keywords_to_plist):
68         * gui.c (mark_gui_item):
69         * gui.c (gui_item_hash):
70         * gui.c (gui_item_equal):
71         * gui.c (copy_gui_item):
72         * gui.c (syms_of_gui):
73         recognize callback-ex in a number of places.
74         also, fix the annoying "can't get out of yes-no dialog" bug.
75         
76         * gui.h:
77         * gui.h (struct Lisp_Gui_Item):
78         recognize callback-ex in a number of places.
79
80         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
81         new parameter in button_item_to_widget_value.
82         
83         * glyphs-x.c (x_update_widget):
84         * glyphs-x.c (x_button_instantiate):
85         * glyphs-x.c (x_button_update):
86         * glyphs-x.c (x_progress_gauge_instantiate):
87         * glyphs-x.c (x_edit_field_instantiate):
88         * glyphs-x.c (x_combo_box_instantiate):
89         * glyphs-x.c (x_tab_control_instantiate):
90         * glyphs-x.c (x_label_instantiate):
91         new image instance parameter in various places.
92         
93         * event-Xt.c:
94         * event-Xt.c (enqueue_Xt_dispatch_event):
95         this fun gets exported.
96         
97         * gui-msw.c:
98         * gui-msw.c (mswindows_handle_gui_wm_command):
99         handle both :callback and :callback-ex, and generate our own
100         event because it's one of the callback-ex arguments.
101         
102         * gui-x.c:
103         * gui-x.c (popup_selection_callback):
104         handle both :callback and :callback-ex, and generate our own
105         event because it's one of the callback-ex arguments.
106         * gui-x.c (button_item_to_widget_value):
107         * gui-x.c (gui_items_to_widget_values_1):
108         * gui-x.c (gui_item_children_to_widget_values):
109         * gui-x.c (gui_items_to_widget_values):
110         new image instance parameter in various places.
111
112         * fns.c (Freplace_list):
113         fix small typo in doc string.
114         
115         * lisp.h:
116         declare enqueue_Xt_dispatch_event.
117
118 2000-04-28  Ben Wing  <ben@xemacs.org>
119
120         * buffer.c:
121         * buffer.c (Frecord_buffer):
122         * buffer.c (syms_of_buffer):
123         delete record-buffer-hook.
124         
125         * fns.c:
126         * fns.c (Freplace_list):
127         * fns.c (syms_of_fns):
128         new primitive replace-list.
129         
130         * frameslots.h:
131         slot for old buffer-alist.
132         
133         * lisp.h:
134         exfun replace-list.
135         
136         * redisplay.c:
137         * redisplay.c (redisplay_frame):
138         * redisplay.c (syms_of_redisplay):
139         * redisplay.c (vars_of_redisplay):
140         new hook buffer-list-changed-hook.
141         call it.
142
143 2000-04-27  Ben Wing  <ben@xemacs.org>
144
145         * extents.h: extern in_modeline_generation.
146
147         * redisplay.c (generate_formatted_string_db): set
148         in_modeline_generation.
149
150         * extents.c (extent_changed_for_redisplay): don't mark redisplay
151         flags if in modeline generation.  otherwise frame-modified-tick
152         is ticked far too often.
153         Declare in_modeline_generation.
154
155 2000-04-26  Ben Wing  <ben@xemacs.org>
156
157         * emacs.c (vars_of_emacs): document quick-build "error-checking"
158         option.
159         (vars_of_emacs): add quick-build as an error-checking option.
160         A bit kludgy, but there doesn't seem much point in creating
161         a real var for this.
162
163         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
164
165 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
166
167         * redisplay.h (struct display_line): Add a new variable,
168         line_continuation.
169
170         * redisplay.c (create_text_block): Set dl->line_continuation if
171         the line continues.
172         (create_string_text_block): Ditto.
173         (regenerate_window_incrementally): Use line_continuation instead
174         of searching continuation glyph.
175         (add_margin_runes): Call add_glyph_rune.
176         (add_glyph_rune): Handle margin glyph.
177
178 2000-04-20  Martin Buchholz  <martin@xemacs.org>
179
180         * filelock.c (fill_in_lock_file_name): 
181         ANSIfy.
182         Check for IS_ANY_SEP instead of '/'.
183         (lock_file_1): 
184         Avoid generating gratuitous garbage.  Call user_login_name() directly.
185         Never check errno without first seeing that system call failed.
186         (unlock_file): Add GCPRO.
187         (Flock_buffer): Fix docstring.
188         (Ffile_locked_p): Fix docstring.  Add GCPRO.
189
190 2000-04-19  Martin Buchholz  <martin@xemacs.org>
191
192         * sysdep.c (get_pty_max_bytes): 
193         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
194         strings longer than 252 bytes.
195
196         * md5.c: Unconditionally include ANSI header <limits.h>
197
198         * glyphs-x.c (convert_EImage_to_XImage): 
199         * lisp-union.h (union Lisp_Object): 
200         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
201
202 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
203
204         * filelock.c (current_lock_owner): Remove unused variable o, p.
205
206 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
207
208         * callint.c: Remove multiply defined symbol Qlet
209         (syms_of_callint): ditto.
210
211 2000-04-14  Andy Piper  <andy@xemacs.org>
212
213         * general.c (syms_of_general): add last-command, this-command, let
214         and funcall.
215
216         * lisp.h: declare various symbols.
217
218         * glyphs.h: declare Qwidget_callback_current_channel;
219
220         * glyphs-widget.c (syms_of_glyphs_widget): add
221         Qgui_callback_current_channel.
222         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
223
224         * gui-msw.c (mswindows_handle_gui_wm_command): bind
225         widget-callback-current-channel when invoking the interactive
226         arg. Also bind last-command and next-command when invoking the
227         widget updates.
228         * gui-x.c (popup_selection_callback): ditto.
229
230         * gui.c (get_gui_callback): massage args so that we are always
231         calling eval. This allows us to add our own variable bindings
232         outside.
233
234         * glyphs-x.c (x_button_instantiate): use
235         gui_items_to_widget_values since this is GC safe.
236         (x_progress_gauge_instantiate): ditto.
237         (x_edit_field_instantiate): ditto.
238         (x_label_instantiate): ditto.
239
240         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
241         (emacs_Xt_event_widget_focus_out): new function
242         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
243         focus.
244         (emacs_Xt_event_add_widget_actions): new function. add focus
245         functions as actions.
246         (init_event_Xt_late): use it.
247
248 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
249
250         * event-stream.c (Fdispatch_event): Doc fix.
251
252 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
253
254         * postgresql.c: Remove all references to PQsetenv*.
255
256         * postgresql.h: Remove references to PGsetenvHandler object.
257         * lrecord.h (lrecord_type): Ditto.
258
259 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
260
261         * glyphs-msw.h (struct mswindows_image_instance_data): Added
262         real_heigh and real_width members, and accessor macros for these.
263
264         * glyphs-msw.c (init_image_instance_geometry): New function.
265         (init_image_instance_from_dibitmap): Use it.
266         (mswindows_resource_instantiate): Use it.
267         (init_image_instance_from_xbm_inline): Use it.
268         (mswindows_initialize_image_instance_mask): Use real bitmap
269         geometry.
270         (mswindows_create_resized_bitmap): Ditto.
271         (mswindows_create_resized_mask): Ditto.
272         
273         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
274         and bitmap to their surface size.
275
276 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
277
278         * process-unix.c (unix_send_process): Guard against process MIA
279         after Faccept_process_output.
280
281 2000-04-11  Ben Wing  <ben@xemacs.org>
282
283         * eval.c (unbind_to_hairy): fix brokenness introduced by
284         nanosecond speed improvements.
285
286 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
287
288         * sunplay.c (init_device): To play sounds correctly, the device
289         apparently needs to be initialized at least once by XEmacs.  Make
290         it so.
291
292 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
293
294         * redisplay.c (add_margin_runes): Add text image glyph
295           handling.
296
297 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
298
299         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
300         gcc is newer than 2.5.
301
302 2000-04-06  Colin Rafferty  <colin@xemacs.org>
303
304         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
305         
306         * fns.c (size_bit_vector):
307         * alloc.c (size_vector):
308         (make_vector_internal):
309         (make_bit_vector_internal):
310         (sweep_bit_vectors_1):
311         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
312
313 2000-04-06  Andy Piper  <andy@xemacs.org>
314
315         * gmalloc.c (malloc): undo previous change.
316         (malloc): ditto.
317         (free): ditto.
318         (realloc): ditto.
319
320 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
321
322         * line-number.c (buffer_line_number): Revert to former version.
323
324 2000-04-06  Andy Piper  <andy@xemacs.org>
325
326         * gmalloc.c (malloc): add error checking.
327         (malloc): ditto.
328         (free): ditto.
329         (realloc): ditto.
330
331         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
332         button_item_to_widget_value arg.
333
334         * glyphs-x.c (x_button_instantiate): add extra
335         button_item_to_widget_value arg.
336         (x_progress_gauge_instantiate): ditto.
337         (x_edit_field_instantiate): ditto.
338         (x_label_instantiate): ditto.
339
340         * gui-x.c (gui_items_to_widget_values_1): add extra
341         button_item_to_widget_value arg.
342         (button_item_to_widget_value): add extra menu_item_p arg.
343
344         * gui-x.h: change signature of button_item_to_widget_value.
345
346         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
347         button_item_to_widget_value arg.
348
349 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
350
351         * buffer.h (struct buffer): auto_save_modified should be long.
352
353 2000-04-05  Andy Piper  <andy@xemacs.org>
354
355         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
356         type.
357         (button_query_geometry): give a little more room so that athena
358         buttons fit.
359
360 2000-04-05  Andy Piper  <andy@xemacs.org>
361
362         * faces.c (complex_vars_of_faces): The widget face should inherit
363         the font of the gui-element face.
364
365 2000-04-04  Andy Piper  <andy@xemacs.org>
366
367         * glyphs-x.c (x_button_update): new function. unconditionally
368         update a button's state when the instance is dirty.
369         (image_instantiator_format_create_glyphs_x): add x_button_update.
370         (x_widget_instantiate): remove old resize cruft.
371
372 2000-04-02  Andy Piper  <andy@xemacs.org>
373
374         * frame.c (change_frame_size_1): The introduction of gutters means
375         that we need to allow 0 as a potential frame dimension.
376
377 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
378
379         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
380         image glyph if allow_cursor.
381         (add_hscroll_rune): Don't allow cursor to border glyph.
382         (create_text_block): Ditto.
383
384         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
385         text not in buffer.
386         (redisplay_output_layout): Call ensure_face_cachel_complete for
387         text image glyph.
388
389
390 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
391
392         * redisplay.c (add_glyph_rune): Adding text image as text runes.
393
394         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
395         not in buffer
396
397         * redisplay-tty.c (tty_output_display_block): Delete the routine
398         for text image glyph
399         * redisplay-x.c (x_output_display_block): ditto
400         * redisplay-msw.c (mswindows_output_display_block): ditto
401
402 2000-02-02  Mike Alexander  <mta@arbortext.com>
403
404         Note: Some of these were committed by accident as part of other
405         patches.
406         
407         * regex.c (regex_compile): Avoid compiler warnings.
408
409         * ntproc.c (sys_spawnve): Avoid compiler warnings.
410
411         * nt.h: Declare term_ntproc correctly.
412
413         * nt.c: Remove incorrect declaration of get_home_directory which
414         is declared correctly in lisp.h.
415
416         * keymap.c (get_keyelt): Avoid compiler warnings.
417         (raw_lookup_key_mapper): Avoid compiler warnings.
418
419         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
420
421         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
422
423         * filemode.c (mode_string): Avoid compiler warnings.
424
425         * file-coding.c (Fcoding_system_aliasee): Add return statement to
426         avoid warning.
427
428         * events-mod.h: Undef some things that winuser.h defines differently.
429
430         * data.c (Faset): Avoid compiler warnings.
431
432         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
433
434 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
435
436         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
437         Fall through to simple beep on error.
438         Replace "extern" by real header file.
439
440         * linuxplay.c: Use nativesound.h
441         (play_sound_data): Return error code. Be less verbose on error.
442
443         * sunplay.c: Use nativesound.h
444         (play_sound_data): Return error code. Be less verbose on error.
445
446         * ntplay.c: Use nativesound.h
447         (play_sound_data): Return fake error code
448
449         * sgiplay.c: Use nativesound.h
450         (play_sound_data): Return error code
451
452         * hpplay.c: Use nativesound.h, partially implement
453         new error code. Break compilation until finished.
454         (play_sound_data): error code.
455
456         * nativesound.h (play_sound_file): 
457           (play_sound_data): Prototype in new header.
458
459 2000-03-31  Andy Piper  <andy@xemacs.org>
460
461         * glyphs-widget.c: (button_query_geometry): new function. Adjust
462         for toggle and radio buttons.
463         (image_instantiator_buttons): use it.
464
465 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
466
467         * scrollbar-x.c (x_update_vertical_scrollbar_callback): 
468         (x_update_horizontal_scrollbar_callback): Return if no mirror was
469         found. Scrollbar event probably belonged to some old config.
470
471 2000-03-31  Andy Piper  <andy@xemacs.org>
472
473         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
474         than 1.
475         (initialize_widget_image_instance): default layout to
476         LAYOUT_HORIZONTAL rather than 0.
477         (widget_instantiate): reverse the item list at the end rather than
478         every iteration.
479         (layout_layout): re-code for the border text at the front of the
480         item list rather than at the end.
481         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
482         provided by the user.
483         (widget_query_geometry): comment.
484
485 2000-03-30  Andy Piper  <andy@xemacs.org>
486
487         * glyphs-widget.c (image_instantiator_layout): allow standard
488         widget keywords in layouts.
489
490         * gutter.c (output_gutter): cope with nil gutter contents.
491
492         * frame.c (Fset_frame_properties): add gutter docs.
493
494 2000-03-29  Andy Piper  <andy@xemacs.org>
495
496         * toolbar-msw.c (TBSTYLE_FLAT): add.
497         (mswindows_output_toolbar): minor fiddling.
498
499 2000-03-29  Andy Piper  <andy@xemacs.org>
500
501         * gutter.c (output_gutter): force gutter size recalculation if
502         what we are trying to display won't fit.
503         (update_gutter_geometry): new function. A per-gutter version of
504         update_frame_gutter_geometry.
505         (update_frame_gutter_geometry): use it.
506         (redraw_exposed_gutter): add extra debugging output.
507
508 2000-03-28  Mike Alexander  <mta@arbortext.com>
509
510         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
511         (pdump_file_unmap): Implement it on Windows
512         (pdump_file_get): Save alocated handles for pdump_file_unmap
513
514 2000-03-28  Andy Piper  <andy@xemacs.org>
515
516         * gui.c (get_gui_callback): treat Quit specially.
517
518 2000-03-27  Andy Piper  <andy@xemacs.org>
519
520         * glyphs.c (image_instantiate): be careful to check in the same
521         way we assigned.
522
523 2000-03-27  Didier Verna  <didier@xemacs.org>
524
525         * config.h.in: define the proper SMART_INCLUDE macro.
526         handle renaming of `foo_h_path' to `foo_h_file'.
527
528         * database.c: ditto.
529
530         * emacs.c: ditto.
531
532         * linuxplay.c: ditto.
533
534         * terminfo.c: ditto.
535
536         * tooltalk.h: ditto.
537
538 2000-03-27  Andy Piper  <andy@xemacs.org>
539
540         * glyphs-msw.c (mswindows_update_widget): make sure the widget
541         gets updated whenever the face might have changed.
542
543 2000-03-26  Mike Alexander  <mta@arbortext.com>
544
545         * dumper.c (pdump_resource_free): Fix the comment.
546
547 2000-03-21  Olivier Galibert  <galibert@pobox.com>
548
549         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
550
551 2000-03-22  Mike Alexander  <mta@arbortext.com>
552
553         * dumper.c: Include Windows headers on Windows
554         (pdump_resource_free): Add a body to the function
555         (pdump_load): exe_name -> exe_path and add some comments.
556
557 2000-03-25  Mike Alexander  <mta@arbortext.com>
558
559         * gui.c (copy_gui_item_tree): Return a value in all cases
560
561 2000-03-21  Didier Verna  <didier@xemacs.org>
562
563         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
564         lwlib/config.h.in.
565         (SMART_INCLUDE): new macro.
566         (POSTGRES_INCLUDE): new macro to include postgresql headers from
567         the proper location.
568
569         * postgresql.c: use it.
570
571         * inline.c: ditto.
572
573 2000-03-24  Andy Piper  <andy@xemacs.org>
574
575         * gutter.c (redraw_exposed_gutters): must be "in display" when we
576         do this.
577
578 2000-03-24  Andy Piper  <andy@xemacs.org>
579
580         * redisplay-output.c (compare_runes): use image_instance_changed
581         to detect changes. Do not depend on glyphs_changed, only depend on
582         dirtiness.
583          (redisplay_output_layout): add debug messages.
584         (compare_runes): ditto.
585
586         * glyphs.h: declare new functions.
587         (struct Lisp_Image_Instance): remove percent and associated
588         accessors.
589
590         * gui.h: declare new copying functions.
591
592         * gui.c (copy_gui_item_tree): new function.
593         (copy_gui_item): new function.
594         (gui_item_id_hash): revert to standard hash.
595         (gui_item_hash): ditto.
596         (gui_item_hash_internal): deleted.
597         (mark_gui_item): mark value.
598         (gui_item_add_keyval_pair): add value.
599         (gui_item_init): ditto.
600         (gui_add_item_keywords_to_plist): ditto.
601         (gui_item_equal): ditto.
602         (syms_of_gui): add Q_value.
603
604         * glyphs-x.c (x_progress_gauge_update): use pending items and
605         value for setting the state.
606         (x_update_widget): don't set items from pending here.
607
608         * glyphs-widget.c (update_widget): update items here.
609         (progress_gauge_set_property): use items for storing value. Put
610         new value in pending items.
611
612         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
613         items for new value. Convert percent -> value.
614         (mswindows_tab_control_update): don't update items here.
615
616         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
617         (update_subwindow): ditto.
618         (image_instance_changed): new function. Compare hash values and
619         past and present widget items.
620         (image_instantiate): We more careful about where we instantiate
621         things.
622         (image_instantiate): add error checking.
623
624         * gutter.c (syms_of_gutter): use -hook.
625
626 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
627
628         * console-tty.c (Fset_console_tty_input_coding_system): Use
629         Qkeyboard.
630         (Fset_console_tty_output_coding_system): Use Qterminal.
631         (tty_init_console): Use Qkeyboard and Qterminal.
632
633 2000-03-21  Ben Wing  <ben@xemacs.org>
634
635         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
636         From Mike Alexander <mta@arbortext.com>.
637
638 2000-03-21  Ben Wing  <ben@xemacs.org>
639
640         * event-msw.c (mswindows_need_event): Horrible kludge to fix
641         process brokenness.  Proper implementation to come.
642         * callproc.c:
643         Rename call-process-internal to old-call-process-internal.
644         New impl. in process.el.
645
646 2000-03-21  Martin Buchholz  <martin@xemacs.org>
647
648         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
649
650 2000-03-20  Andy Piper  <andy@xemacs.org>
651
652         * glyphs.c (full_list_hash): make hashes of the same elements in
653         different orders return different values.
654
655 2000-03-20  Martin Buchholz <martin@xemacs.org>
656
657         * XEmacs 21.2.32 is released.
658
659 2000-03-20  Martin Buchholz  <martin@xemacs.org>
660
661         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
662         (DFC_MALLOC_USE_CONVERTED_DATA):
663         Add aliasing-safe casts to allow use with char* or unsigned char*
664         lvalues.
665
666         * eldap.c (Fldap_open):
667         (Fldap_search_basic):
668         (Fldap_add):
669         (Fldap_modify):
670         Make C++-compilable.
671         Make sure GCPRO'ed variables are initialized.
672         Use temp variables to avoid repeated calls to Flength.
673
674 2000-03-16  Martin Buchholz  <martin@xemacs.org>
675
676         * sysfile.h:
677         Make sure PATH_MAX is always defined.
678         Include limits.h for PATH_MAX.
679         Deprecate use of MAXPATHLEN.
680
681 2000-03-10  Martin Buchholz  <martin@xemacs.org>
682
683         * emacs.c: Add reinit_vars_of_fileio.
684         * symsinit.h: Add reinit_vars_of_fileio.
685         * fileio.c (reinit_vars_of_fileio): New.
686         * fileio.c (Fmake_temp_name):
687         Initialize temp_name random number from microseconds to make
688         collisions even less likely.  Initialize always at process startup
689         time.  (make-temp-name) used to return the same file name twice in
690         a row when PDUMP.
691         Random stylistic fiddling.
692         Comment fixes.
693
694 2000-03-20  Andy Piper  <andy@xemacs.org>
695
696         * glyphs.c (image_instantiate): allow text glyphs to be
697         instantiated in the minibuffer window.
698
699 2000-03-19  Andy Piper  <andy@xemacs.org>
700
701         * glyphs.c (image_instance_hash): be careful about which items we
702         hash on.
703
704         * glyphs-widget.c (tab_control_set_property): record into pending
705         items rather than the actual items.
706
707         * glyphs-x.c (x_update_widget): use pending items to update with.
708
709         * glyphs-msw.c (mswindows_tab_control_update): use pending items
710         to update with.
711
712         * glyphs.c (mark_image_instance): mark pending items.
713
714         * window.c (Fset_window_configuration): record the buffer.
715         (Fselect_window): totally revert previous change which breaks many
716         things.
717
718 2000-03-18  Andy Piper  <andy@xemacs.org>
719
720         * glyphs-msw.c (mswindows_tab_control_update): force selected
721         item.
722
723         * glyphs.c (image_instantiate): don't allow the minibuffer as a
724         window domain cache, otherwise we get inconsistencies at
725         startup. There is something fishy at startup which can lead to the
726         minibuffer being the selected window when the gutter content is
727         instantiated.
728
729         * gui.c (parse_gui_item_tree_list): add probably unneccessary
730         gcpros.
731         (parse_gui_item_tree_children): ditto.
732         (parse_gui_item_tree_item): ditto.
733
734         * glyphs.c (Fupdate_widget_instances): return something.
735
736 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
737
738         * window.c (Fselect_window): Undo 2000-03-17 change.
739
740 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
741
742         * postgresql.c (Fpq_setenv): Remove this turkey when linking
743         against v7.0 libraries.  Insta-coredump city until the postgres
744         folks fix it.
745
746 2000-03-17  Andy Piper  <andy@xemacs.org>
747
748         * faces.c (complex_vars_of_faces): don't give the widget face an
749         inherited background pixmap.
750
751         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
752         selected item.
753
754         * event-stream.c (Fdispatch_non_command_events): return something.
755
756         * gutter.c (output_gutter): use widget face.
757         (clear_gutter): ditto.
758
759         * NEWS: adjust again.
760
761         * window.c (Fselect_window): make sure this runs to completion to
762         avoid oddities with Fset_window_configuration.
763         (Fcurrent_window_configuration): in general do not save the
764         minibuffer as the selected window.
765
766         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
767
768 2000-03-16  Olivier Galibert  <galibert@pobox.com>
769
770         * emacs.c (Frunning_temacs_p): Revert previous patch.
771         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
772
773 2000-03-16  Andy Piper  <andy@xemacs.org>
774
775         * glyphs-x.c (x_tab_control_update): if no widget values then
776         return.
777
778         * NEWS: update for new features.
779
780         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
781         synthetic event to the native system.
782         (reinit_vars_of_event_Xt): set force_event_pending to
783         emacs_Xt_force_event_pending.
784
785         * events.h (struct event_stream): add force_event_pending.
786
787         * specifier.c (recompute_one_cached_specifier_in_window): add
788         comment.
789
790         * redisplay.c (redisplay_frame): don't call
791         update_frame_subwindows. Reset subwindow cachels when
792         subwindows_changed, removing this was an optimization too far.
793
794         * redisplay-output.c (compare_runes): reorganize so that we catch
795         glyph changes when we want them. Set optimize_output when this
796         would help layouts.
797         (redisplay_output_layout): remove frame_really_changed, use
798         optimize_output instead.
799
800         * redisplay-msw.c (mswindows_output_display_block): reset
801         optimize_output after outputting a glyph.
802         * redisplay-x.c (x_output_display_block): ditto.
803         * redisplay-tty.c (tty_output_display_block): ditto.
804
805         * gutter.c: (specifier_vars_of_gutter): use new spec changed
806         functions.
807         (gutter_specs_changed): do specific gutter positions.
808         (top_gutter_specs_changed): new function. Only update the
809         specified gutter specs.
810         (bottom_gutter_specs_changed): ditto.
811         (left_gutter_specs_changed): ditto.
812         (right_gutter_specs_changed): ditto.
813
814         * gui.c (gui_item_hash_internal): new function, does a real hash.
815         (gui_item_id_hash): use it.
816         (gui_item_hash): hash the eval'ed gui_item.
817
818         * gui-x.c (popup_selection_callback): send an eval event to call
819         Fupdate_widget_instances.
820
821         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
822         to call Fupdate_widget_instances.
823
824         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
825         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
826
827         * glyphs.c: (update_frame_subwindows): deleted.
828         (Fupdate_widget_instances): new function for updating the dirty
829         state of widgets that might have changed.
830         (syms_of_glyphs): add Qupdate_widget_instances.
831         (full_list_hash): hash a list completely.
832         (image_instance_hash): use it for items and properties.
833
834         * frame-msw.c (mswindows_size_frame_internal): remove unused
835         variable.
836
837         * faces.h (struct face_cachel): fix comment.
838
839         * event-stream.c (Fdispatch_non_command_events): new
840         function. Process non-command events, forcing an event cycle
841         beforehand.
842         (syms_of_event_stream): declare.
843         (event_stream_force_event_pending): new function. Force an event
844         on the native event queue so that an event cycle will occur next
845         time we check.
846
847         * event-msw.c:
848         (struct ntpipe_shove_stream):
849         (mswindows_enqueue_dispatch_event):
850         (mswindows_dequeue_dispatch_event):
851         (mswindows_cancel_dispatch_event):
852         (mswindows_pump_outstanding_events):
853         (mswindows_drain_windows_queue):
854         (mswindows_handle_paint):
855         (mswindows_wnd_proc):
856         (mswindows_key_to_emacs_keysym):
857         (get_process_input_waitable):
858         (emacs_mswindows_delete_stream_pair): re-indent file.
859         (mswindows_need_event): do not process further fds if the windows
860         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
861         fixes the 100% cpu problem.
862         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
863
864 2000-03-15  Olivier Galibert  <galibert@pobox.com>
865
866         * alloc.h: New.
867         * dumper.h: New.
868         * dumper.c: New.
869
870         * emacs.c: Moved dump file searching to dumper.c.
871         (Frunning_temacs_p): Fixed.
872
873         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
874         last_lrecord_type_index_assigned.
875
876 2000-02-20  Olivier Galibert  <galibert@pobox.com>
877
878         * symsinit.h: Added reinit parameter to init_console_stream
879         declaration.
880
881         * lisp.h: Added file parameter to pdump_load declaration.
882
883         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
884         support.  Added dump file searching.
885
886         * config.h.in: Added EMACS_PROGNAME.
887
888         * console-stream.c (init_console_stream): Fix reinitialisation
889         when running from temacs.
890
891         * alloc.c (pdump): Add id support.
892         (pdump_load): Add file parameter and signature/id support.
893
894         * Makefile.in.in: Add full pdump support.
895
896 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
897
898         * postgresql.c: Update documentation to reflect latest code
899         status.
900         (print_result): Show tuple counts in printed representation when
901         appropriate.
902         (Fpq_put_nbytes): MULE-ize.
903         (Fpq_get_line_async): Ditto.
904
905 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
906
907         * postgresql.c (Fpq_lo_import): Fix return value.
908         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
909
910 2000-03-13  Ben Wing  <ben@xemacs.org>
911
912         * alloc.c (pdump_load):
913         Fix compile warning under mswin.
914
915 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
916
917         * postgresql.c: Mule-ization, bug fixes.
918         Use PG_CODING to encapsulate coding system name changes.
919         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
920         (pg-coding-system): Create.
921
922         (Fpq_conn_defaults): Mule-ize.
923         (Fpq_connectdb): Mule-ize & bug fix.
924         (Fpq_connect_start): Mule-ize.
925         (Fpq_set_client_encoding): Mule-ize.
926         (Fpq_finish): Document `DEAD' connection status.
927         (Fpq_clear): Ditto.
928         (Fpq_pgconn): Mule-ize.
929         (Fpq_exec): Mule-ize & bug fix.
930         (Fpq_send_query): Ditto.
931         (Fpq_get_result): Ditto.
932         (Fpq_res_status): Mule-ize.
933         (Fpq_result_error_message): Mule-ize.
934         (Fpq_ntuples): fix comments.
935         (Fpq_fname): Mule-ize.
936         (Fpq_fnumber): Mule-ize.
937         (Fpq_ftype): fix comments.
938         (Fpq_get_value): Mule-ize.
939         (Fpq_cmd_status): Ditto.
940         (Fpq_cmd_tuples): Ditto.
941         (Fpq_oid_value): Ditto.
942         (Fpq_notifies): Ditto.
943         (Fpq_lo_import): Ditto.
944         (Fpq_lo_export): Ditto.
945         (Fpq_get_line): Ditto.
946         (Fpq_put_line): Mule-ize and bug fix.
947         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
948
949 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
950
951         * postgresql.c (vars_of_postgresql): Mule-ize.
952         (Fpq_conn_defaults): Ditto.
953
954 2000-03-12  Ben Wing  <ben@xemacs.org>
955
956         * alloc.c (Fmake_byte_code):
957         * alloc.c (debug_string_purity_print):
958         * alloc.c (pdump_backtrace):
959         * alloc.c (pdump_get_indirect_count):
960         * alloc.c (pdump_register_sub):
961         * alloc.c (pdump_register_object):
962         * alloc.c (pdump_register_struct):
963         * alloc.c (pdump_dump_data):
964         * alloc.c (pdump_reloc_one):
965         Minor cleanups.
966
967         * console-msw.c:
968         * console-msw.c (GetConsoleHwnd):
969         * console-msw.c (msw_hide_console):
970         * console-msw.c (msw_show_console):
971         * console-msw.c (msw_ensure_console_buffered):
972         * console-msw.c (msw_output_console_string):
973         * console-msw.c (console_type_create_mswindows):
974
975         a) Added functions to manipulate the console window for use with
976         shell support.
977
978         b) Added support for writing text to the console, which is now
979         used under Windows when xemacs is not being run non-interactively,
980         to write text that would otherwise be destined for stdout because
981         under these circumstances, text written to stdout tends to
982         disappear and not be seen.
983
984         * console-msw.h:
985         * event-Xt.c:
986         * event-Xt.c (x_event_to_emacs_event):
987         * event-Xt.c (describe_event_window):
988         * events-mod.h (XEMACS_MOD_CONTROL):
989         * events.c:
990         * events.c (Fmake_event):
991         * events.c (character_to_event):
992         * events.c (event_to_character):
993         * events.c (format_event_object):
994         * events.c (Fevent_modifiers):
995         * events.h:
996         * events.h (struct key_data):
997         * events.h (struct button_data):
998         * events.h (struct misc_user_data):
999         * frame-x.c (Fcde_start_drag_internal):
1000         * frame-x.c (Foffix_start_drag_internal):
1001         * gpmevent.c (Freceive_gpm_event):
1002         * keymap.c:
1003         * keymap.c (bucky_sym_to_bucky_bit):
1004         * keymap.c (control_meta_superify):
1005         * keymap.c (make_key_description):
1006         * keymap.c (keymap_lookup_directly):
1007         * keymap.c (create_bucky_submap):
1008         * keymap.c (keymap_store):
1009         * keymap.c (define_key_check_and_coerce_keysym):
1010         * keymap.c (define_key_parser):
1011         * keymap.c (define_key_alternate_name):
1012         * keymap.c (Fdefine_key):
1013         * keymap.c (raw_lookup_key_mapper):
1014         * keymap.c (struct map_keymap_unsorted_closure):
1015         * keymap.c (map_keymap_unsorted_mapper):
1016         * keymap.c (map_keymap_sort_predicate):
1017         * keymap.c (map_keymap_sorted):
1018         * keymap.c (accessible_keymaps_mapper_1):
1019         * keymap.c (where_is_recursive_mapper):
1020         * keymap.c (describe_map_mapper):
1021         * keymap.c (describe_map_sort_predicate):
1022         * keymap.c (describe_map):
1023         * keymap.c (complex_vars_of_keymap):
1024         And a number of other files, the key modifier preprocessor
1025         constants that xemacs uses have names that conflict with constants
1026         defined under MS Windows for other purposes, so they were renamed
1027         to begin with the prefix XEMACS_. The variables that hold such
1028         modifiers were changed to consistently be of type int to fix
1029         various compile warnings.
1030
1031         * console.c (complex_vars_of_console):
1032         * device.c:
1033         * device-msw.c:
1034         * device-msw.c (mswindows_finish_init_device):
1035         * device-msw.c (msw_get_workspace_coords):
1036         * device-msw.c (mswindows_device_system_metrics):
1037         and various other files, added support for a new
1038         device property called offset-workspace which returns the position
1039         of the upper left corner of the workspace area and goes along with
1040         the existing size-workspace property.
1041
1042         * dialog-msw.c:
1043         * dialog-msw.c (push_bufbyte_string_as_unicode):
1044         * dialog-msw.c (mswindows_popup_dialog_box):
1045         Added support for XEmacs-style accelerator specifications in
1046         button text.  Note: I didn't add support for this under X Windows,
1047         and somebody needs to do this.
1048
1049         * dialog.c:
1050         * dialog.c (Fpopup_dialog_box):
1051         Documented the support for accelerators that was just mentioned.
1052
1053         editfns.c (get_home_directory): Changed behavior under Windows
1054         when HOME not defined; former behavior was irretrievably broken.
1055
1056         * emacs.c:
1057         * emacs.c (main_1):
1058         * emacs.c (main):
1059         * minibuf.c (clear_echo_area_internal):
1060         * minibuf.c (echo_area_append):
1061         * print.c:
1062         * print.c (std_handle_out_external):
1063         * print.c (std_handle_out_va):
1064         * print.c (fatal):
1065         * print.c (write_string_to_stdio_stream):
1066         * print.c (output_string):
1067         * print.c (debug_print):
1068         * print.c (debug_backtrace):
1069         * print.c (debug_short_backtrace):
1070         Cleaned up the code that prints text to stdout so that this can be
1071         changed to output into a console window instead under MS Windows,
1072         as described above.
1073
1074         * eval.c:
1075         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
1076         * eval.c (internal_catch):
1077         * eval.c (unwind_to_catch):
1078         * eval.c (throw_or_bomb_out):
1079         * eval.c (condition_case_1):
1080         * eval.c (signal_1):
1081         * eval.c (check_error_state_sanity):
1082         * eval.c (call_with_suspended_errors_1):
1083         * eval.c (call_with_suspended_errors):
1084         * eval.c (reinit_vars_of_eval):
1085         Added code to catch throw loops and check for a pesky bug that may
1086         be gone now.
1087
1088         * event-msw.c:
1089         * event-msw.c (key_needs_default_processing_p):
1090         * event-msw.c (mswindows_wnd_proc):
1091         * event-msw.c (mswindows_modifier_state):
1092         * event-msw.c (emacs_mswindows_quit_p):
1093         * event-msw.c (vars_of_event_mswindows):
1094         a) Added support for using the alt key to select menu items as is
1095         standard under MS Windows.  This is controlled using the variable
1096         menu-accelerator-enabled, just like under X Windows.  There is an
1097         option on the options menu to turn this support on.  I really
1098         think that it should be on by default under Windows, but I'm not
1099         going to make this change yet.
1100
1101         b)  Added support for dynamic display size changes under Windows.
1102
1103         * event-stream.c:
1104         * event-stream.c (maybe_echo_keys):
1105         * event-stream.c (Fnext_event):
1106         * event-stream.c (command_builder_find_leaf):
1107         * event-stream.c (lookup_command_event):
1108         * event-stream.c (execute_command_event):
1109         * event-stream.c (pre_command_hook):
1110         * event-stream.c (post_command_hook):
1111         * event-stream.c (syms_of_event_stream):
1112         * event-stream.c (vars_of_event_stream):
1113         * event-stream.c (complex_vars_of_event_stream):
1114         * events.h (struct command_builder):
1115
1116         a) Tried to clean up a little bit the horribly written x-specific
1117         accelerator code that crept into this file.  I moved this code
1118         into menubar-x.c where it belongs. I also needed to move the
1119         command builder structure into the file events.h because it is
1120         accessed directly by this accelerator code.  What I didn't do, but
1121         which should be done at some point, is to properly abstract this
1122         code using device methods instead of the kludgy way that it
1123         currently hooks into the event code.
1124
1125         b) Added the lisp variables this-command-properties and
1126         last-command- properties, which should be used to synchronize two
1127         adjacent commands in preference to playing games with the variable
1128         this-command, which is typically what happens.
1129
1130         c) Added some slightly nasty code to hook into the lisp support
1131         for shifted- motion-key selection.  This is actually necessary for
1132         somewhat complicated reasons, which are described in
1133         simple.el. (NB: I think the proper thing would be to have the code
1134         that calls the pre and post command hooks also call out to generic
1135         lisp functions in simple.el, where all built-in stuff could be
1136         added.  I will think about this more.)
1137
1138         * event-unixoid.c (poll_fds_for_input):
1139         * lread.c (readchar):
1140         * redisplay-tty.c (tty_clear_frame):
1141         * redisplay-x.c (x_get_gc):
1142         * signal.c (interrupt_signal):
1143         And a whole bunch of other files: fixed up places that printed
1144         directly to stderr to instead call the function stderr_out so that
1145         the changes I made under Windows work correctly.
1146
1147         * filemode.c (mode_string):
1148         Warning fixes.
1149
1150         * frame-msw.c:
1151         * frame-msw.c (mswindows_size_frame_internal):
1152         Fixed the computation of frame size and position to keep the frame
1153         within the workspace area, rather than within the physical
1154         dimensions of the screen, so that the frame doesn't overlap window
1155         manager decorations, such as the start menu and toolbar, typically
1156         at the bottom of the screen.
1157
1158         * frame.c (vars_of_frame):
1159         Changed the default frame title format under MS Windows to consist
1160         of buffername-XEmacs, which is standard under MS Windows.  I think
1161         it might be a good idea to change this everywhere because I think
1162         it is superior to the current frame title format, but this is the
1163         kind of change that is likely to cause some people to get annoyed,
1164         so I'm not making it.
1165
1166         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
1167
1168         * gui-msw.c (mswindows_handle_gui_wm_command):
1169         Fixed compile warnings.
1170
1171         * gui-x.c:
1172         * gui-x.c (strdup_and_add_accel):
1173         * gui-x.c (button_item_to_widget_value):
1174         * gui-x.h:
1175         Added code to automatically put an accelerator onto the beginning
1176         of menu items that don't have one as is now the standard, and is
1177         described more later.  Also fixed things so that the menu item
1178         name can be an evaluated expression, again a new standard.
1179
1180         * gui.c:
1181         * gui.c (gui_item_add_keyval_pair):
1182         * gui.c (make_gui_item_from_keywords_internal):
1183         * gui.c (gui_add_item_keywords_to_plist):
1184         * gui.c (gui_item_accelerator):
1185         * gui.c (gui_name_accelerator):
1186         * gui.c (gui_item_included_p):
1187         * gui.c (gui_item_display_flush_left):
1188         * gui.c (gui_item_display_flush_right):
1189         * gui.c (parse_gui_item_tree_item):
1190         * gui.c (parse_gui_item_tree_children):
1191         * gui.c (parse_gui_item_tree_list):
1192         Mule-ized.  Cleanup.  GCPRO addition.
1193
1194         * line-number.c (buffer_line_number):
1195         * lisp.h:
1196         * lisp.h (EMACS_INT_MAX):
1197         Added the manifest constant EMACS_INT_MIN corresponding to the
1198         existing constant EMACS_INT_MAX.  This is partially to fix compile
1199         warnings under Windows, and partly for cleanliness.
1200
1201         * menubar-msw.c:
1202         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
1203         * menubar-msw.c (msw_translate_menu_or_dialog_item):
1204         * menubar-msw.c (displayable_menu_item):
1205         * menubar-msw.c (populate_menu_add_item):
1206         * menubar-msw.c (populate_or_checksum_helper):
1207         * menubar-msw.c (populate_menu):
1208         * menubar-msw.c (update_frame_menubar_maybe):
1209         * menubar-msw.c (prune_menubar):
1210         * menubar-msw.c (msw_char_is_accelerator):
1211         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
1212         * menubar-msw.c (mswindows_handle_wm_command):
1213         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
1214         * menubar-msw.c (mswindows_handle_wm_initmenu):
1215         * menubar-msw.c (mswindows_update_frame_menubars):
1216         * menubar-msw.c (mswindows_free_frame_menubars):
1217         * menubar-msw.c (mswindows_popup_menu):
1218         Fixed a bug in handling accelerators where an extra character
1219         would be displayed in the menu item.  Also generalized the
1220         function displayable_menu_item because it is now used by the
1221         dialog box code as well.  And finally, added code in the functions
1222         that create the menubar to extract a list of accelerators for the
1223         top level menubar, which is used in the event code to determine
1224         whether a particular alt-key combination should be used to invoke
1225         a menu item, or should be passed through to access the standard
1226         XEmacs keymap binding for this key combination.
1227
1228         Much needed GCPROing.
1229
1230         * menubar-x.c:
1231         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
1232         * menubar-x.c (menu_item_descriptor_to_widget_value):
1233         * menubar-x.c (restore_in_menu_callback):
1234         * menubar-x.c (x_popup_menu):
1235         * menubar-x.c (menu_move_up):
1236         * menubar-x.c (menu_move_down):
1237         * menubar-x.c (menu_move_left):
1238         * menubar-x.c (menu_move_right):
1239         * menubar-x.c (menu_select_item):
1240         * menubar-x.c (command_builder_operate_menu_accelerator):
1241         * menubar-x.c (menu_accelerator_junk_on_error):
1242         * menubar-x.c (command_builder_find_menu_accelerator):
1243         * menubar-x.c (Faccelerate_menu):
1244         * menubar.h:
1245         Moved a whole bunch of code here that was previously in
1246         event-stream.c as described above.  There is also code connected
1247         to the new standard of adding an accelerator to the beginning of
1248         menu items that don't have one as described above and below.
1249
1250         * menubar.c:
1251         * menubar.c (menu_parse_submenu_keywords):
1252         * menubar.c (Fmenu_find_real_submenu):
1253         * menubar.c (Fnormalize_menu_item_name):
1254         * menubar.c (syms_of_menubar):
1255         * menubar.c (vars_of_menubar):
1256         * menubar.c (complex_vars_of_menubar):
1257
1258         a) Cleaned up a bunch of documentation and improved it.
1259
1260         b) XEmacs now automatically adds an accelerator onto the beginning
1261         of any menu items that don't have one.  I did this because there
1262         will inevitably be some menu items on the main menubar that don't
1263         have accelerators on them because the package that adds that
1264         particular menu item hasn't yet been fixed up to have accelerators
1265         in them and it looked rather strange to have some items with and
1266         some items without accelerators, especially since even in items
1267         without accelerators, you can, at least under windows, still
1268         access the item through an accelerator corresponding to the first
1269         character in the item's name.  If people don't like this behavior,
1270         I can add a variable to turn it off optionally, but I'm not sure
1271         this is a good idea because we really do need to have accelerators
1272         on all of the menu items, and if a package doesn't like the
1273         accelerators being put on the first character, then it should put
1274         the accelerators where they belong.
1275
1276         c) I made a behavior change, which is that the descriptor that
1277         specifies the text of the menu item, which formerly was just a
1278         string, can now also be an evaluated expression.  This makes this
1279         descriptor parallel with all of the others, which could also be
1280         evaluated expressions.  This also obviates the need for the
1281         keyword :label, which was previously listed in the documentation
1282         as unimplemented, and which was for the same purpose.
1283
1284         d) GCPROing.
1285
1286         * ntproc.c:
1287         * ntproc.c (new_child):
1288         * ntproc.c (sys_spawnve):
1289         * ntproc.c (find_child_console):
1290         * ntproc.c (sys_kill):
1291         Fixed compile warnings.  By the way, this file should really go
1292         away entirely, and this will happen as soon as Kirill makes his
1293         final round of process cleanups, which affect the function
1294         call-process.
1295
1296         * process-nt.c:
1297         * process-nt.c (struct nt_process_data):
1298         * process-nt.c (find_process_from_pid):
1299         * process-nt.c (send_signal_the_nt_way):
1300         * process-nt.c (enable_child_signals):
1301         * process-nt.c (find_child_console):
1302         * process-nt.c (send_signal_the_95_way):
1303         * process-nt.c (nt_finalize_process_data):
1304         * process-nt.c (ensure_console_window_exists):
1305         * process-nt.c (nt_create_process):
1306         * process-nt.c (nt_kill_child_process):
1307         * process-nt.c (nt_kill_process_by_pid):
1308         * process-nt.c (nt_open_network_stream):
1309         * process-nt.c (vars_of_process_nt):
1310         Copied over code from Emacs 20.5 to correctly send signals to sub-
1311         processes under Windows 95.  Also added code to automatically
1312         create and hide console window when a sub-process is created under
1313         Windows 95, which obviates the need for the separate runemacs.exe
1314         executable, and finally implemented some variables that were
1315         implemented in Emacs 20.5, but previously not in XEmacs.  These
1316         include mswindows- start-process-share-console and
1317         mswindows-start-process-inherit-error-mode. (Both of these only
1318         apply to Windows 95.)
1319
1320         * regex.c (regex_compile): Fixed a compile warning.
1321
1322         * select-msw.c:
1323         * select-msw.c (mswindows_own_selection):
1324         * select-msw.c (mswindows_get_foreign_selection):
1325         * select-msw.c (mswindows_disown_selection):
1326         * select-msw.c (console_type_create_select_mswindows):
1327         * select-msw.c (syms_of_select_mswindows):
1328         Cleaned up the file and implemented the device method
1329         selection_exists_p, which had accidentally been left out.  Also
1330         removed four lisp functions that were remnants from before the
1331         time when the selection code was properly device abstracted.
1332         These functions are no longer needed because there are generic
1333         equivalents, and because they were added recently and don't exist
1334         in FSF Emacs, I don't think there's any problem with just deleting
1335         them.
1336
1337         * sysdep.c:
1338         * sysdep.c (sys_subshell):
1339         Fixed a compile warning, although in this case there's probably
1340         something wrong with this code, and it ought to be looked into
1341         more thoroughly by somebody who understands it.
1342
1343         * window.c:
1344         * window.c (Fwindow_text_area_height):
1345         * window.c (Fwindow_width):
1346         * window.c (Fwindow_full_width):
1347         * window.c (Fwindow_pixel_width):
1348         * window.c (debug_print_window):
1349         * window.c (syms_of_window):
1350         Added functions window-text-area-height and window-full-width,
1351         which are functions for returning various width and height
1352         characteristics of a window. (One of these functions is necessary
1353         for making the file dialog box work correctly, and the other one
1354         was added for completeness.)  Also added a table to the
1355         documentation for window-height which describes the entire scheme
1356         for accessing width and height characteristics of a window.
1357
1358 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
1359
1360         * nt.c (fstat): Added a comment for another problem with
1361         non-encapsulated [f]stat(), reported by Adrian Aichner
1362         <aichner@ecf.teradyne.com>.
1363
1364 2000-03-11  Andy Piper  <andy@xemacs.org>
1365
1366         * window.c (make_dummy_parent): initialize subwindow instance
1367         cache.
1368         (Fset_window_configuration): zero extent_modiff.
1369
1370 2000-03-10  Andy Piper  <andy@xemacs.org>
1371
1372         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
1373         more changes can be triggered.
1374         (Fredisplay_frame): ditto.
1375         (Fredraw_device): ditto.
1376         (Fredisplay_device): ditto.
1377         (redisplay_frame): make non-static.
1378         (redisplay_frame): call update_frame_gutter_geometry outside of
1379         display proper.
1380
1381         * gutter.h: declare update_frame_gutter_geometry.
1382
1383         * redisplay.h: declare redisplay_frame.
1384
1385         * gutter.c (update_frame_gutter_geometry): move geometry changes
1386         in update_frame_gutters here. Geometry changes can only occur
1387         outside of redisplay.
1388         (update_frame_gutters): remove geometry change code.
1389         (Fredisplay_gutter_area): make sure that we are in display when we
1390         update and that we have flushed any size changes.
1391
1392 2000-03-11  Andy Piper  <andy@xemacs.org>
1393
1394         * alloc.c (pdump_dump_data): remove i & count shadows.
1395
1396 2000-02-27  Mike Alexander  <mta@arbortext.com>
1397
1398         * sysdep.h: Declare pdump_read_file
1399
1400         * sysdep.c (pdump_read_file): New function
1401
1402         * alloc.c (pdump_load): Call pdump_read_file to get the portable
1403         dump data
1404
1405 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
1406
1407         * lrecord.h: add `lrecord_type_pgsetenv'.
1408
1409 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
1410
1411         * symsinit.h: declare (vars|syms)_of* functions.
1412         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
1413
1414 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
1415
1416         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
1417
1418         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
1419         GCCs.
1420
1421         * emacs.c (main_1): Call postgres initialization code.
1422
1423         * postgresql.h: New file.  PostgreSQL RDBMS support.
1424         * postgresql.c: New file.
1425
1426 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
1427
1428         * redisplay-output.c (redisplay_output_display_block): Disable
1429         redundant code.
1430
1431 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
1432
1433         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
1434         (Fcanna_henkan_next): Ditto.
1435         (Fcanna_bunsetu_henkou): Ditto.
1436         (Fcanna_henkan_kakutei): Ditto.
1437         (Fcanna_henkan_end): Ditto.
1438         (Fcanna_henkan_quit): Ditto.
1439         (Fcanna_henkan_next): Set retun value correctly.
1440         (c2mu): Use unsigned char instead of signed char.
1441
1442 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
1443
1444         * emacs.c (main_1): Always call syms_of_gui.
1445         * inline.c: include gui.h
1446
1447 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
1448
1449         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
1450         converted to Lisp_Object.
1451         (Qtop_bottom): New variable.
1452         (syms_of_redisplay): Initialize it.
1453         * redisplay.h (Vvisible_bell): Ditto.
1454         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
1455         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
1456         only flash top and bottom.
1457
1458 2000-03-08  Andy Piper  <andy@xemacs.org>
1459
1460         * buffer.c (Frename_buffer): record new buffer name the right way.
1461
1462 2000-03-08  Andy Piper  <andy@xemacs.org>
1463
1464         * glyphs.c (update_subwindow): increase hash depth so that widget
1465         items get picked up properly.
1466
1467         * redisplay-output.c (compare_runes): increase hash depth so that
1468         widget items get picked up properly.
1469
1470 2000-03-08  Andy Piper  <andy@xemacs.org>
1471
1472         * gutter.c (output_gutter): add some debug.
1473
1474         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
1475         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
1476         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
1477
1478         * redisplay-output.c (compare_runes): use display_hash to
1479         determine if glyphs really are not the same.
1480
1481         * glyphs.c (update_subwindow): check display_hash to see if
1482         anything really needs to be updated. If not then do
1483         nothing. Record the display_hash after updating.
1484         (image_instance_equal): compare the image_instance face also.
1485
1486 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
1487
1488         * redisplay.h: Fix comment style.
1489
1490 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
1491
1492         * consle-msw.h (struct mswindows_frame):
1493         Added new member paint_pending to indicate whether a WM_PAINT
1494         magic event has been queued for this frame.
1495
1496         * event-msw.c (mswindows_drain_windows_queue):
1497         Don't queue a WM_PAINT magic event if one is already queued.
1498         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
1499
1500         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
1501
1502 2000-03-07  Didier Verna  <didier@xemacs.org>
1503
1504         * dired.c: #include `regex.h' after `sysfile.h'.
1505
1506 2000-03-06  Martin Buchholz  <martin@xemacs.org>
1507
1508         * sound.c (init_nas_sound): Fix compiler warning.
1509
1510         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
1511         (FREE_STRUCT_P):
1512         (MARK_STRUCT_AS_FREE):
1513         (MARK_STRUCT_AS_NOT_FREE):
1514         Make `gcc -fstrict-aliasing' work properly.
1515
1516 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
1517
1518         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
1519         (mswindows_delete_device): Call CoUnnitialize().
1520
1521         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
1522
1523 2000-02-25    <CraigL@DyCon.com>
1524
1525         * process-nt.c: MinGW now has <shellapi.h>, but still needs
1526         <errno.h>.
1527
1528         * sysdep.c: This extern declaration for environ prevents MinGW
1529         from finding the variable in CRTDLL.DLL.
1530
1531         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
1532         windows headers.
1533         (SHGFI_EXETYPE): ..
1534         (WM_MOUSEWHEEL): ..
1535         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
1536         definitions.
1537         (MMRESULT): Removed, now defined in cygwin's windows headers.
1538         (TIMECAPS): ..
1539         (uid_t,gid_t,pid_t,ssize_t): ..
1540         (_timeb): Removed, MinGW defines both _timeb and timeb.
1541         (HAVE_H_ERRNO): Added.
1542         (HAVE_TZNAME): Added, configure is not detecting this.
1543
1544 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
1545
1546         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
1547         * syntax.c (syntax_match): Use it.
1548
1549         * cmds.c: Import auto-fill-chars from FSF Emacs.
1550         (Vauto_fill_chars): New variables.
1551         (internal_self_insert): Check Vauto_fill_chars.
1552         (vars_of_cmds):
1553         Declare auto-fill-chars as a Lisp variable and initialize it.
1554
1555 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
1556
1557         * fileio.c (Fmake_symbolic_link):
1558         (Ffile_symlink_p):
1559         Run handlers even if local machine doesn't have symlinks.
1560
1561 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
1562
1563         * event-msw.c (mswindows_drain_windows_queue):
1564         Don't generate paint magic events for non-XEmacs frames.
1565
1566 2000-03-05  Andy Piper  <andy@xemacs.org>
1567
1568         * redisplay.c (redisplay_frame): generate_displayable_area and
1569         friends assumes that we are not in GC, we therefore have to make
1570         sure that this doesn't happen.
1571
1572         * gutter.c (calculate_gutter_size): generate_displayable_area
1573         assumes that we are not in GC, we therefore have to make sure that
1574         this doesn't happen.
1575
1576 2000-03-05  Martin Buchholz  <martin@xemacs.org>
1577
1578         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
1579
1580 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
1581
1582         * redisplay.c (regenerate_window): Make sure we set a sane value
1583         for end_pos even if we jump out of the loop.
1584         (regenerate_window): Answer Ben's question :-).
1585         (start_end_of_last_line): Add may_error argument.
1586         (start_of_last_line):
1587         (end_of_last_line): Pass may_error = 0.
1588         (end_of_last_line_may_error): New function.
1589         (pixel_to_glyph_translation): Use it, so we don't crash in
1590         event_to_glyph.
1591
1592 2000-03-04  Andy Piper  <andy@xemacs.org>
1593
1594         * window.h (struct window): add gutter_extent_modiff.
1595
1596         * window.c (allocate_window): zero out gutter_extent_modiff.
1597
1598         * redisplay.h: declare sync_display_line_structs.
1599
1600         * redisplay.c (add_glyph_rune): add a better comment.
1601
1602         * redisplay-output.c (sync_display_line_structs): made non-static.
1603         (compare_runes): remove unneccesary glyph cachel access.
1604
1605         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
1606
1607         * gutter.c (output_gutter): don't output the gutter if extent
1608         changes only involve extents in buffers. use 4 sets of display
1609         lines.
1610         (gutter_extent_signal_changed_region_maybe): new function. Mark
1611         extents in gutters as changed.
1612         (update_frame_gutters): use 4 sets of display lines.
1613         (reset_gutter_display_lines): ditto.
1614         (free_frame_gutters): ditto.
1615         (redraw_exposed_gutter): force output of gutters.
1616
1617         * frame.h (struct frame): add 4 sets of gutter display lines.
1618
1619         * extents.c: (extent_changed_for_redisplay): signal changes to
1620         extents in strings in the gutter as well as extents in buffers.
1621
1622 2000-03-02  Andy Piper  <andy@xemacs.org>
1623
1624         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
1625
1626         * frame.c (Fmake_frame): make sure the gutters get initialized
1627         after the frame is visible.
1628         (set_frame_selected_window): re-arrange compilation macros a
1629         little.
1630         (change_frame_size_1): mark gutters changed.
1631
1632         * device.c (Fset_device_class): mark gutters changed.
1633
1634 2000-03-01  Andy Piper  <andy@xemacs.org>
1635
1636         * window.c (window_top_frame_gutter_height): deleted.
1637         (window_bottom_frame_gutter_height): ditto.
1638         (window_left_frame_gutter_height): ditto.
1639         (window_right_frame_gutter_height): ditto.
1640         (window_top_gutter_height): don't use them.
1641         (window_bottom_gutter_height): ditto.
1642         (window_left_gutter_width): ditto.
1643         (window_right_gutter_width): ditto.
1644         (Fsplit_window): ditto.
1645         (Fwindow_pixel_edges): don't use border dimensions here.
1646
1647         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
1648         (update_scrollbar_instance): ditto.
1649
1650         * redisplay.c (generate_modeline): don't take gutters into account.
1651         (generate_modeline): ditto.
1652         (redisplay_frame): small gutter display optimisation.
1653
1654         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
1655
1656         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
1657         gutters into account.
1658
1659         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
1660         for window position and type.
1661
1662         * gutter.c (get_gutter_coords): fix for frame gutters.
1663         (update_frame_gutters): update frame geometry if the gutters have
1664         changed.
1665         (init_frame_gutters): record current gutter geometries.
1666
1667         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
1668         var.
1669         (mswindows_widget_instantiate): ditto.
1670
1671         * frame.h (struct frame): add current_gutter_bounds.
1672
1673         * frame.c (change_frame_size_1): position window and minibuffer
1674         appropriately taking into account the frame gutters.
1675
1676         * frame-x.c: (x_initialize_frame_size): take into account the
1677         frame gutters.
1678
1679 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
1680
1681         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
1682
1683 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
1684
1685         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
1686
1687 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
1688
1689         * file-coding.c (reset_decoding_stream): Clear previous
1690         detection state when autodetect.
1691
1692 2000-02-29  Didier Verna  <didier@xemacs.org>
1693
1694         * extents.c (set_extent_glyph_1): don't require extents to be
1695         attached.
1696
1697 2000-02-27  Andy Piper  <andy@xemacs.org>
1698
1699         * gutter.c (Fset_default_gutter_position): don't default left and
1700         right gutter visibility to t.
1701         (Fset_default_gutter_position): run
1702         default-gutter-position-changed-hook.
1703         (syms_of_gutter): add default-gutter-position-changed-hook.
1704
1705 2000-02-26  Andy Piper  <andy@xemacs.org>
1706
1707         * specifier.c (Fmake_specifier): add gutter references.
1708
1709         * gutter.h (RAW_WINDOW_GUTTER): new macro.
1710
1711         * lisp.h: declare Fvalid_plist_p.
1712
1713         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
1714         as changed.
1715         (default_gutter_visible_p_changed_in_window): invalidate gutter as
1716         well as its visibility so that it gets reconstructed.
1717         (construct_window_gutter_spec): new function. Construct a string
1718         to be displayed in the gutter from a plist of strings. Take care
1719         to only use elements that are declared as visible.
1720         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
1721         WINDOW_GUTTER.
1722         (gutter_validate): allow plists of strings in the specifier.
1723         (gutter_specs_changed): construct the real_gutter from the gutter
1724         specs using construct_window_gutter_spec.
1725         (gutter_visible_validate): gutter-visible is a new specifier type.
1726         (Fgutter_visible_specifier_p): new function for the new specifier.
1727         (syms_of_gutter): declare gutter-visible and
1728         Fgutter_visible_specifier_p.
1729         (specifier_type_create_gutter): intitalize new gutter-visible
1730         specifier.
1731         (reinit_specifier_type_create_gutter): ditto.
1732         (specifier_vars_of_gutter): use new specifier type for gutter
1733         visibility.
1734         (init_frame_gutters): construct real_gutter correctly.
1735         (Fgutter_specifier_p): beef up documentation.
1736         (Fgutter_size_specifier_p): ditto.
1737
1738         * winslots.h: add real_gutter slots.
1739
1740 2000-02-25  Andy Piper  <andy@xemacs.org>
1741
1742         * device-msw.c: Be kind to older cygwin versions. From Raymond
1743         Toy <toy@rtp.ericsson.se>.
1744
1745         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
1746         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
1747
1748 2000-02-25  Martin Buchholz  <martin@xemacs.org>
1749
1750         * elhash.c (MARK_OBJ): Practice macro hygiene.
1751
1752 2000-02-24  Martin Buchholz  <martin@xemacs.org>
1753
1754         * miscplay.c: s/__inline__/inline/g;
1755         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
1756         (get_device_compdc): INLINE ==> static inline
1757         * *.[ch]: Change INLINE to INLINE_HEADER globally.
1758         find -name '*.h' | \
1759         xargs global-replace \
1760         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
1761
1762 2000-02-25  Andy Piper  <andy@xemacs.org>
1763
1764         * window.c (window_top_frame_gutter_height): new function.
1765         (window_top_window_gutter_height): ditto.
1766         (window_top_gutter_height): use them.
1767         (window_bottom_frame_gutter_height): new function.
1768         (window_bottom_window_gutter_height): ditto.
1769         (window_bottom_gutter_height): use them.
1770         (window_left_window_gutter_width): new function.
1771         (window_left_frame_gutter_width): ditto.
1772         (window_left_gutter_width): use them.
1773         (window_right_window_gutter_width): new function.
1774         (window_right_frame_gutter_width): ditto.
1775         (window_right_gutter_width): use them.
1776         (window_pixel_height): new function. calulate window pixel height
1777         with frame gutter involvement.
1778         (Fsplit_window): calculate new sizes taking frame gutters into
1779         account.
1780         (window_char_height_to_pixel_height): don't include frame gutters.
1781         (window_char_height): use window_pixel_height.
1782         (window_pixheight): rename from window_pixel_height.
1783         (change_window_height): use it.
1784         (window_pixel_height_to_char_height): don't include frame gutters.
1785         (window_char_width_to_pixel_width): ditto.
1786
1787 2000-02-25  Andy Piper  <andy@xemacs.org>
1788
1789         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
1790         if it is.
1791
1792 2000-02-24  Martin Buchholz  <martin@xemacs.org>
1793
1794         * alloc.c (staticpro):
1795         (staticpro_nodump):
1796         (dumpstruct):
1797         (dumpopaque):
1798         (pdump_wire):
1799         (pdump_wire_list):
1800         (compact_string_chars):
1801         (pdump_dump_wired):
1802         Convert:  if (foo) abort();  ==>  assert (! foo);
1803
1804         * eldap.c (Fldap_search_basic):
1805         (Fldap_add):
1806         (Fldap_modify):
1807         (Fldap_delete):
1808         Fix compiler warnings, and possible crashes if (random) return
1809         value were to be used.
1810
1811 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
1812
1813         * device-msw.c: Workaround ResetDC failure.
1814
1815         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
1816         applying a devmode.
1817
1818         * redisplay-msw.c (get_frame_dc): Added start_page_p.
1819         (mswindows_text_width): Do not start printer page.
1820
1821         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
1822
1823         * glyphs-msw.c: Added image methods to msprinter console and
1824         msprinter-specific image instantiation.
1825
1826 2000-02-20  Mike Alexander  <mta@arbortext.com>
1827
1828         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
1829         to avoid crashes when selection-sets-clipboard is on
1830         (mswindows_own_selection): ditto
1831
1832 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
1833
1834         * glyphs-msw.c:
1835         * redisplay-msw.c (get_frame_dc):
1836         (get_frame_compdc):
1837         * console-msw.h:
1838         * device-msw.c (mswindows_init_device):
1839         (mswindows_delete_device):
1840         (msprinter_init_device):
1841         (msprinter_delete_device):
1842         * frame-msw.c (mswindows_init_frame_1):
1843         (mswindows_delete_frame):
1844         (msprinter_init_frame_3):
1845         (msprinter_delete_frame): Move compatible DC to device object from
1846         frame object, for both mswindows and msprinter. Only one at a time
1847         is needed, it is a real waste to have one per frame!
1848
1849 2000-02-23  Andy Piper  <andy@xemacs.org>
1850
1851         * glyphs.c: add dynamic width and height elements.
1852         (image_instance_equal): ditto.
1853
1854         * glyphs-widget.c (widget_query_geometry): calculate width and
1855         height dynamically if required.
1856         (initialize_widget_image_instance): initialize dynamic dimensions.
1857         (widget_instantiate): pick-up dynamic dimensions.
1858
1859         * glyphs.h (struct Lisp_Image_Instance): add width and height for
1860         dynamic determination. Add appropriate macros.
1861
1862         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
1863         dimensions safe.
1864         (WINDOW_GUTTER_SIZE): ditto.
1865         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
1866
1867         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
1868         inline.
1869         (get_frame_dc): ditto.
1870
1871         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
1872         here.
1873
1874 2000-02-23  Martin Buchholz <martin@xemacs.org>
1875
1876         * XEmacs 21.2.31 is released.
1877
1878 2000-02-22  Ben Wing <ben@xemacs.org>
1879
1880         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
1881
1882 2000-02-22  Andy Piper  <andy@xemacs.org>
1883
1884         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
1885
1886 2000-02-21  Mike Sperber <mike@xemacs.org>
1887
1888         * .dbxrc:
1889         * .gdbinit:
1890         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
1891         variables.
1892
1893 2000-02-21  Mike Sperber <mike@xemacs.org>
1894
1895         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
1896
1897 2000-02-21  Martin Buchholz <martin@xemacs.org>
1898
1899         * XEmacs 21.2.30 is released.
1900
1901 2000-02-20  Martin Buchholz  <martin@xemacs.org>
1902
1903         Performance hacking.
1904         * *.c (syms_of_*):
1905         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
1906         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
1907         * emacs.c (main_1):
1908         * lisp.h (DEFUN):
1909         * console.c (DEFVAR_CONSOLE_LOCAL_1):
1910         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
1911         * symeval.h (DEFVAR_SYMVAL_FWD):
1912         * symbols.c (guts_of_unbound_marker):
1913         Make all c_readonly objects also lisp_readonly and marked for life.
1914         * lrecord.h (struct lrecord_implementation):
1915         Document flags better.
1916         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
1917         * lrecord.h (DECLARE_LRECORD):
1918         * lrecord.h (XSETRECORD):
1919         * lrecord.h (RECORDP):
1920         * lrecord.h (RECORD_TYPEP):
1921         * lrecord.h (RECORD_MARKER): New.
1922         * lrecord.h (error_check_*):
1923         * lrecord.h (CONCHECK_NONRECORD):
1924         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
1925         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
1926         * lrecord.h (set_lheader_implementation):
1927         * lrecord.h (enum lrecord_type): New.
1928         * symeval.h (SYMBOL_VALUE_MAGIC_P):
1929         * alloc.c (disksave_object_finalization_1):
1930         * alloc.c (mark_object):
1931         * alloc.c (lrecord_type_index):
1932         * alloc.c (tick_lcrecord_stats):
1933         * alloc.c (Fgarbage_collect):
1934         * alloc.c (init_alloc_once_early):
1935         * alloc.c (pdump_load):
1936         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
1937         * alloc.c (lrecord_type_index): Delete.
1938         Make lisp object type indexes be constant.
1939           Makes (byte-compile) 5% faster.
1940         Put all marker functions into their own array.
1941           Makes (garbage-collect) 5% faster.
1942         Optimize SYMBOL_VALUE_MAGIC_P.
1943           Makes (byte-compile) 2-3% faster.
1944         * config.h.in (gc_checking_assert): New.
1945         * alloc.c: Use gc_checking_assert().
1946         * .dbxrc: Make compatible with new object type implementation.
1947         * .gdbinit: Make compatible with new object type implementation.
1948         * alloc.c: Delete all symbols defined only for debugging, such as
1949         Lisp_Type_Vector and lrecord_charset.
1950
1951 2000-02-21  Andy Piper  <andy@xemacs.org>
1952
1953         * gui-msw.c (Fmswindows_shell_execute): fix file location
1954         problems.
1955
1956         * buffer.c (Fkill_buffer): remove buffer from alist buffer
1957         unshowing so that set_window_buffer doesn't undo
1958         kill_buffer_hook's hard work.
1959
1960         * glyphs-widget.c (tab_control_query_geometry): don't count the
1961         first item when calculating geometry.
1962
1963         * glyphs.c (map_subwindow): remove redundant code.
1964         (update_frame_subwindows): be more circumspect about when to
1965         update subwindows.
1966
1967         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
1968         when items haven't changed. Update faces if faces have changed as
1969         well as just the widget face.
1970         (x_tab_control_update): Update faces if faces have changed as well
1971         as just the widget face.
1972
1973 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
1974
1975         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
1976         registration.
1977         (build_syscolor_string): Use mswindows_color_to_string to try to
1978         get a named color.
1979         (mswindows_device_system_metrics): Reverse the foreground and
1980         background colors so that they match the documentation.
1981
1982         * objects-msw.c: (mswindows_X_color_map): tweak some values so
1983         they match the default Windows palette.
1984         (mswindows_color_to_string): New function.
1985
1986 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
1987
1988         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
1989
1990 2000-02-18  Olivier Galibert  <galibert@pobox.com>
1991
1992         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
1993         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
1994
1995         * symbols.c (init_symbols_once_early): Removed obsolete
1996         DATA_SEG_BITS related kludge.
1997         (defvar_magic): Ditto.
1998
1999         * malloc.c: Removed obsolete DATA_SEG_BITS
2000         * ralloc.c: Ditto.
2001         * mem-limits.h: Ditto.
2002
2003         * Makefile.in.in: Removed obsolete HAVE_SHM
2004         * emacs.c: Ditto.
2005
2006 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
2007
2008         *  device-msw.c (mswindows_delete_device): Free DDE string
2009         handles.
2010
2011 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
2012
2013         * keymap.c (get_keyelt):
2014         * unexnt.c (unexec):
2015         * vm-limit.c (memory_warnings):
2016         * ntheap.c (recreate_heap):
2017         * ntheap.h (UNINIT_PTR):
2018         * select-msw.c (Fmswindows_get_clipboard):
2019         (Fmswindows_set_clipboard):
2020         * objects-msw.h (MSWINDOWS_BAD_HFONT):
2021         * objects-msw.c:
2022         * menubar-msw.c (displayable_menu_item):
2023         * glyphs-msw.c:
2024         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
2025         * sysdep.c (sys_subshell):
2026         * process-nt.c (nt_create_process):
2027         * nt.c (normalize_filename):
2028         (dostounix_filename):
2029         (unixtodos_filename):
2030         * ntproc.c (win32_executable_type):
2031         * ntplay.c (play_sound_data_1):
2032         (play_sound_file):
2033         * editfns.c (get_home_directory):
2034         * event-msw.c (struct winsock_stream):
2035         (mswindows_dde_callback):
2036         * device-msw.c (msprinter_init_device):
2037         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
2038
2039         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
2040         mswindows_clear_toolbar were swapped!
2041
2042         * objects-msw.c:(colormap_t):
2043         (fontmap_t):
2044         * emacs.c (struct standard_args): Fixed const jumble.
2045
2046         * glyphs-widget.c (update_widget): Fixed comparison notation.
2047
2048         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
2049
2050         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
2051         __declspec(noreturn) syntax.
2052
2053 2000-02-19  Martin Buchholz  <martin@xemacs.org>
2054
2055         * eldap.c (Fldap_open):
2056         (Fldap_search_basic):
2057         (Fldap_add):
2058         (Fldap_modify):
2059         Use new coding system conversion macros.
2060
2061 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
2062
2063         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
2064
2065 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
2066
2067         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
2068         (Fldap_add, Fldap_modify, Fldap_delete): New functions
2069
2070         * eldap.c (Qadd, Qreplace): New constant symbols
2071         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
2072         interruptions by XEmacs signals
2073         Remove unnecessary calls to slow_down_interrupts and
2074         speed_up_interrupts
2075         (Fldap_search_basic): Renamed from Fldap_search_internal
2076         Added new optional parameter VERBOSE that triggers the
2077         display of progress messages
2078         Remove unnecessary calls to slow_down_interrupts and
2079         speed_up_interrupts
2080         LDAP result code analysis rewritten
2081         (Fldap_add, Fldap_modify, Fldap_delete): New functions
2082         (syms_of_eldap): Define the new symbols and functions
2083
2084
2085 2000-02-17  Martin Buchholz  <martin@xemacs.org>
2086
2087         * realpath.c: Determine PATH_MAX maximally portably.
2088
2089         * insdel.c (bytecount_to_charcount): Optimize.
2090         The function used to be optimized for entirely ASCII sequences.
2091         Now it is optimized for successive characters from the same
2092         charset.  This also wins big for _mostly_ ASCII sequences.
2093
2094         * fileio.c (Ffile_truename): convert return from realpath() using
2095         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
2096         - Rewrite GCPROing slightly.
2097
2098         * sysdep.c (sys_open): Do filename conversion, like all other
2099         sys_* functions.  Fixes bug:
2100         (let ((file-name-coding-system 'iso-8859-2))
2101            (write-region x y latin2-name))
2102         ==> writes filename using internal encoding.
2103
2104 2000-02-18  Martin Buchholz  <martin@xemacs.org>
2105
2106         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
2107         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
2108         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
2109         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
2110         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
2111         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
2112         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
2113         (CONST_IF_NOT_DEBUG): Delete.
2114         * alloc.c (this_one_is_unmarkable): Delete.
2115         (mark_object): Don't check for this_one_is_unmarkable. Use the
2116         c_readonly flag instead.
2117         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
2118
2119 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
2120
2121         * event-msw.c (mswindows_drain_windows_queue):
2122         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
2123         away redundant repaint events.
2124
2125 2000-02-17  Andy Piper  <andy@xemacs.org>
2126
2127         * redisplay.h: declare mark_redisplay_structs.
2128
2129         * redisplay.c (redisplay_window):
2130         (redisplay_frame): don't check subwindows_state_changed.
2131         (mark_redisplay): mark gutters here.
2132
2133         * glyphs.c: (instantiate_image_instantiator): always layout if we
2134         haven't done so already.
2135         (allocate_image_instance): don't mark as dirty.
2136         (update_subwindow): bind inhibit_quit.
2137
2138         * gutter.c (mark_gutters): new function.
2139
2140         * glyphs-x.c (x_update_widget): Always resize to get round a
2141         widget bug.
2142
2143         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
2144         breaking absolutely everything.
2145
2146         * gutter.h: declare mark_gutters.
2147
2148 2000-02-16  Martin Buchholz <martin@xemacs.org>
2149
2150         * XEmacs 21.2.29 is released.
2151
2152 2000-02-15  Olivier Galibert  <galibert@pobox.com>
2153
2154         * fns.c (size_bit_vector): Fix computation of the size.
2155
2156 2000-02-15  Martin Buchholz  <martin@xemacs.org>
2157
2158         * *.[ch]: Change CONST to const globally.
2159         find -name '*.[ch]' | \
2160         xargs global-replace \
2161         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
2162         - Remove vestigial references to CONST_IS_LOSING
2163
2164 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
2165
2166         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
2167         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
2168         events instead of dispatching them directly.
2169         (mswindows_handle_paint): New function to do repainting.
2170         (mswindows_wnd_proc):
2171         (emacs_mswindows_handle_magic_event): Call above function.
2172
2173 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
2174
2175         * objects-msw.c (mswindows_create_font_variant): Return the new
2176         font handle.
2177         (initialize_font_instance): Get font metrics from the underlined
2178         variant of the font to cope with the case where the underlined
2179         font has a bigger descent.
2180
2181 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
2182
2183         * gui.c (gui_item_accelerator): Return the first underlined
2184         character in item name.
2185
2186 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
2187
2188         * lisp.h: Added Qprinter.
2189
2190         * general.c (syms_of_general): Initialized it.
2191
2192         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
2193         (get_frame_dc):
2194         (get_frame_compdc): Made inline.
2195
2196         * console.h (struct console_methods): Added eject_page method.
2197
2198         * frame.h: Added FRAME_DISPLAY_P and friends.
2199         Aligned backslahes in many macros in more readable fashion.
2200         Added page_number to struct frame, and an accessor macro
2201         for it.
2202
2203         * defice.h: Added DEVICE_DISPLAY_P and friends.
2204
2205         * device.c (Fdevice_printer_p): Used these.
2206
2207         * frame.c (allocate_frame_core): Initialize page number.
2208         (Fprint_job_page_number):
2209         (Fprint_job_eject_page): Implemented.
2210
2211         * frame-msw.c (msprinter_eject_page): Added method.
2212         (msprinter_start_page): Added.
2213
2214         * window.c (Fwindow_truncated_p): Fixed docstring.
2215         (Fwindow_last_line_visible_height): Implemented.
2216
2217 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
2218
2219         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
2220
2221 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
2222
2223         * syntax.c (scan_words): Always advance at least one character.
2224
2225 2000-02-13  Andy Piper  <andy@xemacs.org>
2226
2227         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
2228         to make sure the glyph is in the cachels.
2229
2230         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
2231         global image instance flag.
2232         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
2233         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
2234
2235         * glyphs.c (allocate_image_instance): set dirty bits correctly.
2236         (Fset_image_instance_property): mark layout as changed.
2237         (invalidate_glyph_geometry_maybe): mark layout as changed.
2238         (glyph_width): use new NEEDS_LAYOUT macro.
2239         (glyph_ascent): ditto.
2240         (glyph_descent): ditto.
2241         (glyph_height): ditto.
2242         (image_instance_layout): mark layout as clean after laying out.
2243         (update_subwindow): don't mark layout as clean here.
2244
2245         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
2246         should no longer be needed.
2247
2248         * glyphs-x.c (x_update_widget): sanitize asserts.
2249         (x_finalize_image_instance): sanitize assignment to widgets.
2250
2251         * glyphs-widget.c (widget_instantiate): don't need to clear the
2252         layout flag here.
2253
2254 2000-02-13  Martin Buchholz  <martin@xemacs.org>
2255
2256         * sysdep.c (getcwd): Use standard prototype.
2257         * sysdep.h (getcwd): Use standard prototype.
2258
2259         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
2260         (sequence, start, end).
2261         Remove redundant type checking.
2262         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
2263         view of `caller-protects') to avoid a crash where the real fix was
2264         found elsewhere.
2265
2266 2000-02-12  Martin Buchholz  <martin@xemacs.org>
2267
2268         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
2269
2270         * s/sol2.h: Remove feature macro initialization.
2271
2272         * alloc.c (alloc_lcrecord): Add more type checking assertions.
2273         (vector_hash): New.  Code from internal_hash.
2274         * lrecord.h:
2275         Fix up allocation subsystem comments.
2276
2277         * config.h.in: Add __EXTENSIONS__ for Solaris.
2278
2279         * systime.h (EMACS_GETTIMEOFDAY): New.
2280         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
2281         Remove Solaris-specific code.
2282         Use void* for the (ignored) second arg for gettimeofday().
2283
2284         * elhash.c (hash_table_hash): Implement it, finally.
2285         * elhash.c:  Use hashcode_t.
2286
2287         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
2288         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
2289
2290         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
2291         * fns.c (size_bit_vector):
2292         * alloc.c (size_vector):
2293         (make_vector_internal):
2294         (make_bit_vector_internal):
2295         (sweep_bit_vectors_1):
2296         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
2297
2298 2000-02-10  Martin Buchholz  <martin@xemacs.org>
2299
2300         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
2301         Include strings.h to avoid warnings for bzero and strcasecmp.
2302
2303 2000-02-10  Olivier Galibert  <galibert@pobox.com>
2304
2305         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
2306         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
2307
2308         * fns.c (size_bit_vector): New.  Declare bit vectors as a
2309         sequence.
2310
2311 2000-02-10  Olivier Galibert  <galibert@pobox.com>
2312
2313         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
2314         use a value field instead.
2315         (symbol_value_forward_forward): Use value field.
2316         (DEFVAR_SYMVAL_FWD): Use value field.
2317         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
2318         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
2319         (DEFVAR_CONST_INT): Ditto.
2320         (DEFVAR_BOOL): Ditto.
2321         (DEFVAR_CONST_BOOL): Ditto.
2322         (DEFVAR_INT_MAGIC): Ditto.
2323         (DEFVAR_BOOL_MAGIC): Ditto.
2324
2325         * symbols.c (guts_of_unbound_marker): Use value field.
2326         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
2327         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
2328
2329         * lisp.h: Declare dumpopaque and noninteractive1.
2330
2331         * alloc.c (dumpopaque): Added.
2332         (pdump_dump_opaquevec): Added.
2333         (pdump): Call pdump_dump_opaquevec to dump opaque data.
2334         (pdump_load): Reload opaque data.  Sync noninteractive1 with
2335         noninteractive.
2336
2337 2000-02-10  Andy Piper  <andy@xemacs.org>
2338
2339         * glyphs.c (image_instance_layout): if the size changes, mark it
2340         as such.
2341
2342         * redisplay-output.c (redisplay_output_layout): Update the
2343         subwindow here.
2344         (redisplay_output_subwindow): ditto.
2345
2346         * glyphs.c (update_subwindow): make sure we reset flags for
2347         layouts as well as everything else.
2348
2349         * glyphs-widget.c (layout_layout): don't need to set the instances
2350         dimensions here.
2351
2352 2000-02-09  Martin Buchholz  <martin@xemacs.org>
2353
2354         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
2355         not HAVE_DLOPEN, which is a lower-level thing.
2356
2357         * .cvsignore: Ignore gmon.out
2358
2359 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
2360
2361         * .cvsignore: Ignore portable dumper xemacs.dmp file
2362
2363 2000-02-09  Andy Piper  <andy@xemacs.org>
2364
2365         * redisplay-output.c (redisplay_output_layout): be more clever
2366         about when we output based on the changed flags.
2367
2368         * glyphs.h (struct image_instantiator_methods): add update_method.
2369         (struct Lisp_Image_Instance): add changed flags. Declare new
2370         macros for manipulating them.
2371
2372         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
2373         (image_instance_parent_glyph): find an image_instance's parent
2374         glyph or image_instance.
2375         (image_instance_layout): mark the size as changed.
2376         (set_image_instance_dirty_p): new function. mark an image
2377         instance, plus all of its parents, as dirty.
2378         (Fset_image_instance_property): use it.
2379         (Fglyph_animated_timeout_handler): use it.
2380         (update_subwindow): call update_widget and device methods for
2381         update_subwindow. Mark all changed flags as clean.
2382         (Fresize_subwindow): mark size as changed.
2383
2384         * glyphs-x.c (x_finalize_image_instance): try and detect gc
2385         failures.
2386         (x_update_subwindow): only resize subwindows here.
2387         (x_update_widget): new function. Update all changed properties of
2388         a widget.
2389         (x_resize_subwindow): deleted.
2390         (x_widget_set_property): deleted.
2391         (x_progress_gauge_set_property): deleted.
2392         (x_progress_gauge_update): new function. Implement recorded
2393         changes.
2394         (x_tab_control_update): ditto.
2395         (x_tab_control_set_property): deleted.
2396         (console_type_create_glyphs_x): declare new functions.
2397         (image_instantiator_format_create_glyphs_x): ditto.
2398
2399         * glyphs-widget.c (widget_set_property): mark text changed.
2400         (update_widget): new function. Update properties of a widget.
2401         (widget_instantiate): for layouts make sure we set their
2402         children's parent correctly.
2403         (tab_control_set_property): new function. Record changes that will
2404         take place under redisplay's control.
2405         (progress_gauge_set_property): ditto.
2406         (image_instantiator_progress_guage): declare new functions.
2407         (image_instantiator_tab_control): ditto.
2408
2409         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
2410         now.
2411         (mswindows_update_widget): new function. Update all properties on
2412         a widget that have changed.
2413         (mswindows_button_update): new function. Update a button's set
2414         state.
2415         (mswindows_tab_control_update): new function. Update the items in
2416         a tab.
2417         (mswindows_tab_control_set_property): deleted.
2418         (mswindows_progress_gauge_update): new function. Update the
2419         progress gauge's progress.
2420         (mswindows_widget_set_property): deleted. This is all done
2421         asynchronously now.
2422         (mswindows_progress_gauge_set_property): ditto.
2423         (console_type_create_glyphs_mswindows): declare new methods.
2424         (image_instantiator_format_create_glyphs_mswindows): ditto.
2425
2426         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
2427         (msprinter_set_frame_properties): ditto.
2428
2429         * console.h (struct console_methods): Add update_widget_method.
2430
2431 2000-02-09  Andy Piper  <andy@xemacs.org>
2432
2433         * gui-msw.c (Fmswindows_shell_execute): Make
2434         mswindows-shell-execute industrial strength.
2435
2436 2000-02-08  Martin Buchholz  <martin@xemacs.org>
2437
2438         * lrecord.h: Make macro argument `props' match member function `plist'.
2439         * fns.c (Fget):
2440         * fns.c (Fput):
2441         * fns.c (Fremprop):
2442         * fns.c (Fobject_plist):
2443         * alloc.c:
2444         * symbols.c:
2445         Object property list frobbing cleanup.
2446         - Allow any lisp object (compared with `eq'), not just symbols, as
2447           keys in object plists.
2448         - Move symbol plist frobbing into symbols.c, where it belongs.
2449         - Move string plist frobbing into alloc.c, where it belongs.
2450         - Everything's an lrecord now, so no need to test for symbolp, etc.
2451         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
2452
2453         * extents.c: Reorder code to remove declarations.
2454
2455         * frame.h (store_in_alist): Remove useless declaration.
2456
2457 2000-02-07  Martin Buchholz  <martin@xemacs.org>
2458
2459         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
2460         * config.h.in: Add HAVE_XCONVERTCASE.
2461
2462 2000-02-07  Andy Piper  <andy@xemacs.org>
2463
2464         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
2465         it breaks many things.
2466
2467 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
2468
2469         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
2470         actually can start a common comment type.
2471         * src/syntax.h (SYNTAX_END_P): ditto for end.
2472
2473 2000-02-07  Martin Buchholz <martin@xemacs.org>
2474
2475         * XEmacs 21.2.28 is released.
2476
2477 2000-02-06  Martin Buchholz  <martin@xemacs.org>
2478
2479         * event-Xt.c (x_keysym_to_character): New.
2480         (maybe_define_x_key_as_self_inserting_character): New.
2481         (x_has_keysym): New.
2482         Auto-define all keys on the keyboard as self-insert-key.
2483
2484 2000-02-02  Martin Buchholz  <martin@xemacs.org>
2485
2486         * menubar.c (vars_of_menubar): A small code simplification.
2487
2488         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
2489
2490         * ExternalShell.c:
2491         * ExternalClient.c:
2492         * EmacsShell-sub.c:
2493         * EmacsManager.c:
2494         * EmacsFrame.c:
2495         Use consistent style for specifying X resources.
2496
2497         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
2498         This makes (dontusethis-set-symbol-value-handler) actually usable.
2499
2500         * lrecord.h (lrecord_decription_type):
2501         * alloc.c (pdump_register_sub):
2502         (pdump_dump_data):
2503         (pdump_reloc_one):
2504         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
2505         Comply with XEmacs coding style.
2506         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
2507         args, and XD_LISP_OBJECT_ARRAY with 3 args.
2508
2509         * keymap.c (Faccessible_keymaps):
2510         Make (accessible-keymaps map "\C-h") do the Right Thing.
2511         Make (accessible-keymaps map []) do the Right Thing.
2512         Make (accessible-keymaps map "") do the Right Thing.
2513         (check_keymap_definition_loop): New function.
2514         (keymap_store_internal): Keep luser from shooting self in foot,
2515           via (define-key ctl-x-4-map "p" global-map).
2516         Remove fullness slot from struct Lisp_Keymap, since hash tables
2517         are now reliable.
2518         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
2519
2520 2000-01-30  Martin Buchholz  <martin@xemacs.org>
2521
2522         * redisplay.c (init_redisplay): Fix small memory leak.
2523         * elhash.h:
2524         * elhash.c (pdump_reorganize_hash_table):
2525         Rename from reorganize_hash_table. Change prototype.
2526         Reuse the original memory for hentries.  Save 100k.
2527         * alloc.c (PDUMP_READ): new macro.
2528         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
2529         * alloc.c: No need to #ifndef before #undef.
2530
2531         * print.c: Allow debug_print() to print readably by modifying
2532         debug_print_readably.  Use consistent variable names.
2533
2534         * .dbxrc: Try to get things to work even if stopped in a function
2535         without source available by explicitly specifying source files.
2536 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
2537
2538         * unexnt.c (_start): Removed bogus code which caused loading heap
2539         from differrent executable file.
2540         Removed bogus assignment to _fmode, which caused inconsistencies.
2541
2542 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
2543
2544         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
2545         Have spawnve encapsulation regard DONT_ENCAPSULATE.
2546         Do not preliminary `#define signal sigset'.
2547
2548         * systime.h: Do not prototype environ on windows nt and cygwin,
2549         this conflicts with system header.
2550
2551         * syssignal.h: Use correct define for WINDOWSNT
2552
2553         * sysdep.h: Do not prototype environ on windows nt, this conflicts
2554         with system header.
2555
2556         * sysdep.c (near start of file): Fixed commentary and rearranged
2557         ifdefs in readable order.
2558         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
2559         (start_of_text):
2560         (end_of_text):
2561         (end_of_data): Do not compile in if using PDUMP.
2562
2563         * symsinit.h: Protptyped vars_of_nt().
2564
2565         * ntproc.c (windows9x_p): Added, instead of os_subtype.
2566         (find_child_console): Use it.
2567         (sys_kill): Use it.
2568
2569         * ntheap.h: Do not extern os_subtype.
2570
2571         * ntheap.c (cache_system_info): Do not cache unneeded:
2572         nt_major_version, nt_minor_version and os_subtype.
2573         (recreate_heap): Do not compile in when PDUMPing.
2574
2575         * nt.c (geteuid and friends): Use the new varibale
2576         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
2577         (init_user_info): Removed the above mentioned hackery.
2578         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
2579         stat has been fixed in the C runtime.
2580         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
2581
2582         * file-coding.c (struct file_coding_dump): Do not define
2583         ucs_to_mule_table in the struct if not MULE.
2584         (struct struct lrecord_description fcd_description_1): Do not dump
2585         the above.
2586
2587         * emacs.c (main_1): Call vars_of_nt().
2588         (right before Fdump_emacs_data): Don't need lastfile if using both
2589         portabe dumper and system malloc.
2590
2591         * alloc.c (Fmemory_limit): Conditionalized out.
2592         (pdump): Use OPEN_BINARY for the portable dump file.
2593         (pdump_load): Ditto.
2594
2595 2000-02-02  Mike Alexander  <mta@arbortext.com>
2596
2597         * nt.c (convert_time): Set tm_isdst before calling mktime and
2598         avoid calling it at all if the compiler supports 64 bit integers.
2599         Also initialize utc_base_ft before using it.
2600
2601 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
2602
2603         * frame.c (change_frame_size_1): Take f->internal_border_width
2604         into consideration when calculating the width of the frame.
2605
2606 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
2607
2608         * window.c (frame_min_height):
2609         (frame_size_valid_p):
2610         (frame_pixsize_valid_p): Added.
2611         (check_frame_size): Generalized.
2612
2613         * window.h: Prototyped the above.
2614
2615         * lisp.h:
2616         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
2617         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
2618         Deleted Vwin32_* and Vbinary_process_* unused variables.
2619
2620         * device-msw.c (msprinter_init_device): Do not get printer font
2621         list; Added DEVMODE functions.
2622
2623         * frame-msw.c: Added lots of printer code.
2624
2625         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
2626         general.c.
2627
2628         * console-msw.h: Added more msprinter device private slots.
2629
2630 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
2631
2632         * event-msw.c (key_needs_default_processing_p): Added.
2633         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
2634
2635 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
2636
2637         * glyphs.c (image_instance_layout): Mark image instance as clean
2638         after layout.
2639         (glyph_dirty_p): Removed redundant function.
2640         (invalidate_glyph_geometry_maybe): Added.
2641         (update_glyph_cachel_data): Call it.
2642
2643         * glyphs.h: Prototyped it.
2644
2645         * redisplay.c (add_glyph_rune): Call it.
2646         (redisplay_window): Reset glyphs cachels when frame faces has
2647         changed, thus forcing recomputation of built-in border glyphs.
2648
2649 2000-01-30  Martin Buchholz  <martin@xemacs.org>
2650
2651         * Makefile.in.in: Make portable dumper and purify play well together.
2652         Add imperfect, but better than nothing, support for pdump.
2653         Remove xemacs.dmp when temacs is re-generated.
2654         Don't ignore errors when dumping xemacs.
2655
2656         * symbols.c (maybe_call_magic_handler): Remove one magic number.
2657
2658 2000-01-28  Andy Piper  <andy@xemacs.org>
2659
2660         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
2661         (setup_normal_frame): ditto.
2662         (setup_frame_without_minibuffer): ditto.
2663         (setup_minibuffer_frame): ditto.
2664         (delete_frame_internal): ditto.
2665         (Fmake_frame_invisible): ditto.
2666         (Ficonify_frame): ditto.
2667
2668         * window.h: change Fset_window_buffer signature.
2669
2670         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
2671         (Fset_window_buffer): allow recording of buffer if the window is
2672         the selected window.
2673         (window_loop): Use new Fset_window signature.
2674
2675 2000-01-23  Daniel Pittman  <daniel@danann.net>
2676
2677         * config.h.in: Added template for `HAVE_ATHENA_3D'
2678
2679 2000-01-29  Andy Piper  <andy@xemacs.org>
2680
2681         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
2682
2683         * gutter.c (output_gutter): Don't output if the window isn't live.
2684
2685 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
2686
2687         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
2688         of 01/12/00: Moved SetFocus back here where it belongs.
2689
2690 2000-01-23  Andy Piper  <andy@xemacs.org>
2691
2692         * s/cygwin32.h: declare printer things.
2693
2694 2000-01-26  Andy Piper  <andy@xemacs.org>
2695
2696         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
2697         Alexander.
2698
2699 2000-01-24  Andy Piper  <andy@xemacs.org>
2700
2701         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
2702         (mswindows_button_instantiate): Make sure glyph is a pixmap.
2703
2704         * glyphs-widget.c (widget_instantiate): Avoid shadows.
2705
2706         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
2707
2708         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
2709
2710         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
2711         (mswindows_output_display_block): Avoid local shadows.
2712
2713         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
2714         (mswindows_enqueue_mouse_button_event): ditto.
2715         (mswindows_handle_gui_wm_command): remove declaration.
2716
2717         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
2718         warnings.
2719
2720         * console-msw.h: Avoid shadows.
2721         (mswindows_get_toolbar_button_text):
2722         (emacs_mswindows_create_stream_pair):
2723         (emacs_mswindows_delete_stream_pair):
2724         (mswindows_handle_toolbar_wm_command): declare.
2725
2726         * device-msw.c (build_syscolor_string): Avoid shadows.
2727
2728 2000-01-23  Andy Piper  <andy@xemacs.org>
2729
2730         * glyphs-widget.c (widget_instantiate): reverse the items for
2731         layouts so that children are in the expected order.
2732
2733 2000-01-28  Martin Buchholz  <martin@xemacs.org>
2734
2735         * ralloc.c: safe_bcopy ==> memmove
2736         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
2737         * s/msdos.h: Remove BCOPY macros.
2738         * insdel.c (gap_right): Remove BCOPY conditional code.
2739         * insdel.c (gap_left): Remove BCOPY conditional code.
2740         XEmacs demands a working ANSI C compiler - hence memmove.
2741
2742         * regex.c (regex_compile): Remove accidental use of trigraphs.
2743
2744 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
2745
2746         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
2747         event timestamp.
2748
2749 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
2750
2751         * event-msw.c (mswindows_drain_windows_queue): Added the
2752         parameter.
2753         (mswindows_need_event): Commented the call to
2754         mswindows_drain_windows_queue().
2755         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
2756         only.
2757
2758         * console-msw.h: Moved a few function prototypes here from
2759         event-msw.c.
2760
2761         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
2762         parameter from unsigned short to unsigned long.
2763         (Fmswindows_shell_execute): Added return value.
2764
2765 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
2766
2767         * sysdep.c (init_system_name):
2768           process-unix.c (unix_canonicalized_host_name):
2769         Don't call freeaddrinfo() if getaddrinfo() fails.
2770
2771         * process-unix.c (unix_open_unix_network_stream):
2772         Moved the code to get a port # into address loop.
2773
2774 2000-01-27  Martin Buchholz  <martin@xemacs.org>
2775
2776         * buffer.c (reinit_vars_of_buffer):
2777         The right place to initialize conversion_in_dynarr and
2778         conversion_out_dynarr.
2779
2780         * alloc.c (pdump): Use the real open() till sys_open() is functional.
2781
2782         * process-unix.c (unix_canonicalize_host_name): Muleize.
2783         (unix_open_network_stream): Muleize.
2784
2785         * buffer.h: Fix up prototypes for ralloc.c functions.
2786
2787 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
2788         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
2789         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
2790                 instead of gethostbyname()
2791         * process-unix.c: In unix_canonicalize_host_name() and
2792                 unix_open_network_stream(), add code to use getaddrinfo()
2793                 instead of gethostbyname().
2794
2795 2000-01-27  Daniel Pittman <daniel@danann.net>
2796
2797         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
2798         libs when built with flat Athena.
2799
2800 2000-01-27  Martin Buchholz  <martin@xemacs.org>
2801
2802         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
2803         Use coding standards for function prototypes.
2804
2805 2000-01-25  Martin Buchholz  <martin@xemacs.org>
2806
2807         * dialog-msw.c (push_lisp_string_as_unicode):
2808         * doc.c (unparesseuxify_doc_string):
2809         * dired.c (Fuser_name_completion_1):
2810         * dired.c (Fuser_name_all_completions):
2811         * dired.c (free_user_cache):
2812         * dired.c (user_name_completion):
2813         * console-x.c (get_display_arg_connection):
2814         * minibuf.c (clear_echo_area_internal):
2815         * minibuf.c (echo_area_append):
2816         * eldap.c (Fldap_open):
2817         * eldap.c (Fldap_search_internal):
2818         * frame-x.c (x_set_frame_text_value):
2819         * frame-x.c (x_set_frame_properties):
2820         * frame-x.c (x_create_widgets):
2821         * redisplay-tty.c (term_get_fkeys_1):
2822         * objects-x.c (x_parse_nearest_color):
2823         * objects-x.c (x_valid_color_name_p):
2824         * objects-x.c (x_initialize_font_instance):
2825         * objects-x.c (x_list_fonts):
2826         * objects-x.c (x_find_charset_font):
2827         * tooltalk.c (Fadd_tooltalk_message_arg):
2828         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
2829         * tooltalk.c (Fadd_tooltalk_pattern_arg):
2830         * process-unix.c (unix_create_process):
2831         * ntproc.c (sys_spawnve):
2832         * sound.c (Fplay_sound_file):
2833         * sound.c (Fplay_sound):
2834         * buffer.c (init_initial_directory):
2835         * buffer.c (init_buffer):
2836         * editfns.c (init_editfns):
2837         * editfns.c (Ftemp_directory):
2838         * editfns.c (Fuser_full_name):
2839         * editfns.c (uncache_home_directory):
2840         * editfns.c (get_home_directory):
2841         * editfns.c (Fuser_home_directory):
2842         * editfns.c (Fformat_time_string):
2843         * editfns.c (Fcurrent_time_string):
2844         * gui-x.c (button_item_to_widget_value):
2845         * database.c (Fopen_database):
2846         * event-Xt.c (x_to_emacs_keysym):
2847         * event-Xt.c (x_event_to_emacs_event):
2848         * event-Xt.c (describe_event_window):
2849         * event-msw.c (mswindows_wnd_proc):
2850         * glyphs-eimage.c (jpeg_instantiate):
2851         * glyphs-eimage.c (gif_instantiate):
2852         * glyphs-eimage.c (png_instantiate):
2853         * glyphs-eimage.c (tiff_instantiate):
2854         * glyphs-x.c (xbm_instantiate_1):
2855         * glyphs-x.c (x_xbm_instantiate):
2856         * glyphs-x.c (x_xface_instantiate):
2857         * glyphs-x.c (autodetect_instantiate):
2858         * glyphs-x.c (cursor_font_instantiate):
2859         * glyphs-x.c (x_widget_instantiate):
2860         * glyphs-x.c (x_widget_set_property):
2861         * glyphs-x.c (x_widget_property):
2862         * glyphs-x.c (BUILD_GLYPH_INST):
2863         * print.c (write_string_to_stdio_stream):
2864         * print.c (output_string):
2865         * print.c (Falternate_debugging_output):
2866         * print.c (Fexternal_debugging_output):
2867         * glyphs-msw.c (extract_xpm_color_names):
2868         * glyphs-msw.c (mswindows_xpm_instantiate):
2869         * glyphs-msw.c (bmp_instantiate):
2870         * glyphs-msw.c (resource_name_to_resource):
2871         * glyphs-msw.c (mswindows_resource_instantiate):
2872         * glyphs-msw.c (xbm_instantiate_1):
2873         * glyphs-msw.c (mswindows_xbm_instantiate):
2874         * glyphs-msw.c (mswindows_xface_instantiate):
2875         * glyphs-msw.c (mswindows_widget_instantiate):
2876         * glyphs-msw.c (add_tree_item):
2877         * glyphs-msw.c (add_tab_item):
2878         * glyphs-msw.c (mswindows_combo_box_instantiate):
2879         * glyphs-msw.c (mswindows_widget_property):
2880         * glyphs-msw.c (mswindows_combo_box_property):
2881         * glyphs-msw.c (mswindows_widget_set_property):
2882         * console.c (stuff_buffered_input):
2883         * objects-msw.c (mswindows_initialize_color_instance):
2884         * objects-msw.c (mswindows_valid_color_name_p):
2885         * objects-msw.c (mswindows_list_fonts):
2886         * objects-msw.c (mswindows_font_instance_truename):
2887         * bytecode.c (optimize_compiled_function):
2888         * select-x.c (symbol_to_x_atom):
2889         * select-x.c (x_atom_to_symbol):
2890         * select-x.c (hack_motif_clipboard_selection):
2891         * select-x.c (selection_data_to_lisp_data):
2892         * select-x.c (lisp_data_to_selection_data):
2893         * select-x.c (Fx_get_cutbuffer_internal):
2894         * select-x.c (Fx_store_cutbuffer_internal):
2895         * buffer.h (TO_EXTERNAL_FORMAT): New function.
2896         * buffer.h (TO_INTERNAL_FORMAT): New function.
2897         * emacs.c (make_arg_list_1):
2898         * emacs.c (make_argc_argv):
2899         * emacs.c (main_1):
2900         * emacs.c (Fdump_emacs):
2901         * emacs.c (split_string_by_emchar_1):
2902         * file-coding.h:
2903         * lisp.h:
2904         * lstream.h:
2905         * symsinit.h:
2906         * device-x.c (x_init_device):
2907         * device-x.c (Fx_valid_keysym_name_p):
2908         * device-x.c (Fx_get_font_path):
2909         * device-x.c (Fx_set_font_path):
2910         * glyphs.c (bitmap_to_lisp_data):
2911         * glyphs.c (pixmap_to_lisp_data):
2912         * alloc.c (make_ext_string): Use coding system arguments.  Update
2913         all callers.
2914         * alloc.c (build_string):
2915         * callproc.c (child_setup):
2916         * callproc.c (init_callproc):
2917         * fileio.c (lisp_strerror):
2918         * fileio.c (directory_file_name):
2919         * fileio.c (Fexpand_file_name):
2920         * fileio.c (Ffile_truename):
2921         * fileio.c (Fsysnetunam):
2922         * fileio.c (Fdo_auto_save):
2923         * sysdep.c (sys_readdir):
2924         * tests.c: New file.  Allow adding C tests.
2925         Replace GET_* macros with a more comprehensible and flexible
2926         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
2927         Modify all calls.
2928         Any coding system can be used to do format conversion.
2929         Eliminate enum external_data_format.
2930         Eliminate convert_to_external_format.
2931         Eliminate convert_to_internal_format.
2932         Make sure file-name, keyboard, terminal, and ctext are always
2933         defined as coding systems or aliases.  Make
2934         file-name-coding-system, terminal-coding-system, and
2935         keyboard-coding-system magical variables that are equivalent to
2936         defining the corresponding coding system aliases.
2937
2938         * file-coding.c (Fcoding_system_canonical_name_p): New function.
2939         * file-coding.c (Fcoding_system_alias_p): New function.
2940         * file-coding.c (Fcoding_system_aliasee): New function.
2941         * file-coding.c (append_suffix_to_symbol): New function.
2942         * file-coding.c (dangling_coding_system_alias_p): New function.
2943         * file-coding.c (Ffind_coding_system):
2944         * file-coding.c (Fcopy_coding_system):
2945         * file-coding.c (encode_coding_no_conversion):
2946         * file-coding.c (syms_of_file_coding):
2947         * file-coding.c (vars_of_file_coding):
2948         Rewrite coding system alias code.
2949         Allow nested aliases, like symbolic links.
2950         Allow redefinition of coding system aliases.
2951         Prevent existence of dangling coding system aliases.
2952
2953         * dired.c (Fuser_name_completion_1):
2954         * dired.c (Fuser_name_all_completions):
2955         A crash would happen if user did QUIT in the middle of building
2956         user_name_cache.  Remove redundant code in mainline and unwind_protect.
2957
2958         * lisp.h:
2959         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
2960
2961         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
2962         an unsigned char *.  Update all callers.
2963
2964 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
2965
2966         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
2967
2968 2000-01-25  Martin Buchholz  <martin@xemacs.org>
2969
2970         * elhash.c (hentry_description): Use more portable definition.
2971         (resize_hash_table): Initialize new hentries using
2972         xnew_array_and_zero, thereby simplifying the code.
2973
2974         * mule-charset.c (make_charset): Make sure entire object is
2975         intialized, to avoid Purify warnings.
2976
2977         * alloc.c (resize_string): Fix unlikely crash with big strings.
2978
2979 2000-01-24  Martin Buchholz  <martin@xemacs.org>
2980
2981         * realpath.c (xrealpath):
2982         Don't call getwd().
2983
2984 2000-01-25  Martin Buchholz  <martin@xemacs.org>
2985
2986         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
2987
2988 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
2989
2990         * unexelfsgi.c (unexec): Change the way we decide which segment
2991         should be extended.
2992
2993         Assumption that .bss section should be outside the PT_LOADable
2994         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
2995         it's present) is inside the 'data' segment. This would fail the
2996         test which was used to find a segment to grow and cover new
2997         heap. Instead of this assumption, I created another one - on IRIX
2998         the segment to grow should start below .bss and it's address
2999         should extent above the end of .bss. Once this segment is
3000         identified, it's grown to accommodate the new heap and new
3001         zero-length .bss section is added at the end of .data2.
3002
3003 2000-01-25  Martin Buchholz  <martin@xemacs.org>
3004
3005         * eval.c (Feval): Wrong number of arguments should use original
3006         function, not the indirect_function version of it.
3007
3008 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
3009
3010         * glyphs-x.c (x_button_instantiate): Don't add image if
3011         it is not a pixmap.
3012         (x_locate_pixmap_file): Call Fexpand_file_name when file name
3013         is relative.
3014
3015 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
3016
3017         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
3018         declaration.
3019         (DEFVAR_INT_MAGIC): Ditto.
3020         (DEFVAR_BOOL_MAGIC): Ditto.
3021         * glyphs.h: Reindent backslash.
3022
3023 2000-01-24  Martin Buchholz  <martin@xemacs.org>
3024
3025         * glyphs-widget.c (layout_query_geometry):
3026         (layout_layout): Use correct types for gheight, gwidth.
3027
3028 2000-01-24  Martin Buchholz  <martin@xemacs.org>
3029
3030         * EmacsManager.c (QueryGeometry): Purified.
3031
3032 2000-01-23  Martin Buchholz  <martin@xemacs.org>
3033
3034         * alloc.c (make_float): Make sure entire object is intialized, to
3035         avoid Purify warnings.
3036         (pdump_register_sub): Remove useless assignment.
3037         (pdump): Use xmalloc, not malloc.
3038         (pdump_load): Use xmalloc, not malloc.
3039
3040 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
3041
3042         * callproc.c:
3043         * dired-msw.c:
3044         * fileio.c:
3045         * process-nt.c:
3046         * redisplay-msw.c:
3047         * sysdep.c: Removed redundant #include <windows.h>
3048
3049 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
3050
3051         * frame.c (delete_frame_internal): Do not delete device when its
3052         implementation so declares.
3053         (delete_frame_internal): Set device selected frame to nil when
3054         last frame goes away.
3055
3056         * device-msw.c (msprinter_device_system_metrics): Implemented.
3057         (mswindows_device_system_metrics): Added 'device-dpi property.
3058
3059         * device.c: (Fdevice_printer_p): Added.
3060         Added 'offset-workspace device metric.
3061
3062         * console.h (device_metrics): Declared DM_offset_workspace.
3063
3064 2000-01-23  Martin Buchholz  <martin@xemacs.org>
3065
3066         * fileio.c (Ffile_truename): Remove pointless and confusing
3067         initialization of elen.
3068
3069         * glyphs-widget.c: Compiler warning fixes.
3070
3071 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
3072
3073         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
3074         instead of a Lisp_Object as argument to make it consistent with
3075         the other LIVE_P macros.
3076         (CHECK_LIVE_PROCESS): New macro.
3077
3078         * process.c: Declare Qprocess_live_p.
3079         (Fprocess_live_p): New function.
3080         (create_process): Use PROCESS_LIVE_P.
3081         (read_process_output): Ditto.
3082         (set_process_filter): Ditto.
3083         (Fdelete_process): Ditto.
3084         (kill_buffer_processes): Ditto
3085         (process_send_signal): Use CHECK_LIVE_PROCESS.
3086         (Fprocess_input_coding_system): Check whether process is still
3087         alive (fix PR#1061).
3088         (Fprocess_output_coding_system): Ditto.
3089         (Fprocess_coding_system): Ditto.
3090         (Fset_process_input_coding_system): Ditto.
3091         (Fset_process_output_coding_system): Ditto.
3092
3093 2000-01-23  Andy Piper  <andy@xemacs.org>
3094
3095         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
3096         layout and widget.
3097
3098         * glyphs.c (mark_image_instance): take into account changed
3099         image_instance format.
3100         (image_instance_equal): ditto.
3101         (image_instance_hash): ditto.
3102
3103         * glyphs-widget.c (widget_instantiate): Incorporate layout
3104         instantiation here. Delay layout of the layout until later.
3105         (layout_instantiate): deleted.
3106         (layout_query_geometry): new function. get the geometry of a
3107         layout.
3108         (layout_layout): layout a layout dynamically.
3109         (image_instantiator_widget): New function - splitting up
3110         image_instantiator_format_create_glyphs_widget for netwinder
3111         compilation.
3112         (image_instantiator_buttons):
3113         (image_instantiator_edit_fields):
3114         (image_instantiator_combo_box):
3115         (image_instantiator_scrollbar):
3116         (image_instantiator_progress_guage):
3117         (image_instantiator_tree_view):
3118         (image_instantiator_tab_control):
3119         (image_instantiator_labels):
3120         (image_instantiator_layout): ditto.
3121         (image_instantiator_format_create_glyphs_widget): Call preceeding
3122         functions.
3123
3124 2000-01-22  Martin Buchholz  <martin@xemacs.org>
3125
3126         * process.c (Fset_process_coding_system):
3127         * device-x.c (Fx_keysym_hash_table):
3128         Docstring fixes.
3129
3130         * lstream.c (Lstream_write): Return documented value, not 0.
3131
3132         * fileio.c (directory_file_name):
3133         (Fsubstitute_in_file_name):
3134         (Fsubstitute_insert_file_contents_internal):
3135         (Fwrite_region_internal):
3136         * emacs.c:
3137         * sysdep.c:
3138         * getloadavg.c:
3139         * systty.h:
3140         Remove vestigial APOLLO-conditional code.
3141
3142 2000-01-21  Martin Buchholz  <martin@xemacs.org>
3143
3144         * getpagesize.h: Add guard macros.
3145         * libsst.h: Add guard macros.
3146         * libst.h: Add guard macros.
3147         * line-number.h: Add guard macros.
3148         * ndir.h: Add guard macros.
3149         * sysfloat.h: Add guard macros.
3150         * sysfile.h: Add guard macros.
3151         * sysproc.h: Add guard macros.
3152         * syswait.h: Add guard macros.
3153         * xintrinsic.h: Add guard macros.
3154         * xintrinsicp.h: Add guard macros.
3155         * xmmanager.h: Add guard macros.
3156         * xmmanagerp.h: Add guard macros.
3157         * xmprimitive.h: Add guard macros.
3158         * xmu.h: Add guard macros.
3159         * gpmevent.h: Add copyright statement. Add guard macros.
3160         * miscplay.h: Add guard macros.
3161         * *.h: Use consistent C-standards-approved guard macro names.
3162
3163         * opaque.c (make_opaque): Switch parameter order.
3164         * opaque.h (make_opaque): Switch parameter order.
3165         Update all callers.
3166         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
3167
3168         * config.h.in (type_checking_assert): Added.
3169         (bufpos_checking_assert): Added.
3170
3171 2000-01-21  Martin Buchholz  <martin@xemacs.org>
3172
3173         * alloc.c: Harmless pdump changes.
3174         - Use countof().
3175         - spell alignment correctly.
3176         * sysdep.c: Use countof()
3177
3178 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
3179
3180         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
3181         initially_selected_for_input() console method, default to 0.
3182         (semi_canonicalize_console_connection): Try to delegate to
3183         canonicalize_console_connection if no such console method.
3184         (canonicalize_console_connection): Vice versa.
3185         (print_console): Do not print nil connection.
3186
3187         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
3188         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
3189         (XDEVIMPF_FRAMELESS_OK): Added.
3190         (CONSOLE_INHERITS_METHOD): Added.
3191
3192         * console-msw.c (mswindows_canonicalize_console_connection):
3193         Added.
3194         (mswindows_canonicalize_device_connection): Added.
3195
3196         * console-msw.h (struct msprinter_device): Added this struct and
3197         accessor macros.
3198         (mswindows_device): Made fontlist a lisp object.
3199
3200         * device.c (semi_canonicalize_device_connection):  Try to delegate
3201         to canonicalize_device_connection if no such console method.
3202         (canonicalize_device_connection): Vice versa.
3203         (print_device): Do not print nil connection.
3204
3205         * device-msw.c (mswindows_init_device): Call InitCommonControls
3206         when have widgets.
3207         (mswindows_delete_device): Removed fontlist deallocation.
3208         (mswindows_mark_device): Added.
3209
3210         * events.c (event_equal): Added abort() at unreached code.
3211         (event_hash): Ditto.
3212
3213         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
3214         fallback tags of Windows devices.
3215
3216         * general.c (syms_of_general): Initialized Qmsprinter.
3217
3218         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
3219         of fallback tags of Windows devices.
3220
3221         * lisp.h: Declared Qmsprinter.
3222
3223         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
3224         of strings.
3225         (mswindows_list_fonts): Ditto.
3226         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
3227         that it can be used by both mswindows and msprinter devices.
3228         (initialize_font_instance): Added.
3229         (mswindows_initialize_font_instance): Use it.
3230         (msprinter_initialize_font_instance): Added.
3231
3232         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
3233         and implementation flags check.
3234         (redisplay_without_hooks): Changed the call to the above.
3235         (Fredraw_device): Ditto.
3236         (Fredisplay_device): Ditto.
3237
3238         * redisplay-msw.c (get_frame_dc): Implemented.
3239         (get_frame_compdc): Implemented.
3240         (many functions): Use the two functions above to get device
3241         contexts, ether for a window or a printer.
3242
3243 2000-01-21  Olivier Galibert  <galibert@pobox.com>
3244
3245         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
3246         initialization here.
3247         (init_symbols_once_early): Call it.
3248         * emacs.c (main_1): Call it.
3249         * symsinit.h: Declare it.
3250
3251 2000-01-19  Olivier Galibert  <galibert@pobox.com>
3252
3253         * alloc.c: Use a lrecord_header * in the backtrace instead of a
3254         Lisp_Object.
3255         (pdump_backtrace): Ditto.
3256         (pdump_register_object): Ditto.  Cleanup use of the pointers.
3257         (pdump_get_entry): Abort if trying to register a null pointer.
3258         (pdump_dump_data): Cleanup types when relocating.
3259         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
3260         (pdump_dump_rtables): Remove bad casts.
3261         (pdump_load): Cleanup relocation w.r.t union type.  Use a
3262         Lisp_Object instead of a EMACS_INT for the hashtable
3263         reorganization.
3264
3265 2000-01-20  Martin Buchholz  <martin@xemacs.org>
3266
3267         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
3268
3269         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
3270
3271         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
3272
3273         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
3274
3275 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
3276
3277         * faces.h (FACE_STRIKETHRU_P): Added.
3278
3279         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
3280         of font variants.
3281
3282         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
3283         (mswindows_set_dc_font): New function, aware of font variants,
3284         separated from mswindows_update_dc.
3285
3286         * objects-msw.h (struct mswindows_font_instance_data): Added
3287         definition.
3288
3289         * objects-msw.c (mswindows_finalize_font_instance): Delete all
3290         cached fonts and the data structure.
3291         (mswindows_initialize_font_instance): Added creation of font data
3292         structure.
3293         (mswindows_print_font_instance): Print at least something.
3294         (mswindows_create_font_variant): Implemented.
3295         (mswindows_get_hfont): Implemented.
3296
3297 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
3298
3299         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
3300         prototyping problem with msvc.
3301
3302         * emacs.c (main_1): added syms_of_gui_mswindows() call
3303
3304         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
3305         syms_of_gui_mswindows() function
3306
3307         * symsinit.h: added the prototype for syms_of_gui_mswindows()
3308
3309 2000-01-18  Martin Buchholz <martin@xemacs.org>
3310
3311         * XEmacs 21.2.27 is released.
3312
3313 2000-01-18  Martin Buchholz  <martin@xemacs.org>
3314
3315         * glyphs-eimage.c (struct tiff_error_struct):
3316         (tiff_error_func):
3317         (tiff_warning_func):
3318         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
3319
3320         * unexmips.c:
3321         * unexhp9k3.c:
3322         * unexfreebsd.c:
3323         * unexec.c: Remove vestigial Lucid C code.
3324         * unexalpha.c:
3325         * unexaix.c:
3326         * termcap.c:
3327         * libsst.c: Ansify.
3328         Remove declarations of errno and strerror().
3329
3330         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
3331
3332         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
3333
3334 2000-01-16  Martin Buchholz  <martin@xemacs.org>
3335
3336         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
3337         Optimize.
3338
3339 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
3340
3341         * md5.c:
3342         * file-coding.c:
3343         * file-coding.h:
3344         Change enum eol_type to eol_type_t.
3345
3346 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
3347
3348         * gui.c (get_gui_callback): Check cons before accessing car.
3349
3350 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
3351
3352         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
3353         (XSETSPECIFIER_TYPE): Ditto.
3354
3355 2000-01-17  Didier Verna  <didier@xemacs.org>
3356
3357         * redisplay.c (generate_fstring_runes): compute string size in
3358         characters, not bytes.
3359
3360 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
3361
3362         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
3363
3364 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
3365
3366         * print.c (print_error_message): Call print_prepare().
3367
3368 2000-01-14  Martin Buchholz  <martin@xemacs.org>
3369
3370         * .dbxrc: Renamed from dbxrc.
3371
3372         * events.c (event_to_character):
3373         Use `assert (foo)' instead of `if (!foo) abort()'
3374
3375         * .gdbinit (xtype): Add documentation.
3376         * .gdbinit (check-temacs): New function.
3377         * .gdbinit (check-xemacs): New function.
3378         * dbxrc (check-xemacs): New function.
3379         * dbxrc (check-xemacs): New function.
3380
3381 2000-01-14  Andy Piper  <andy@xemacs.org>
3382
3383         * glyphs-widget.c (widget_query_geometry): Make sure that we
3384         calculate default dimensions correctly.
3385
3386 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
3387
3388         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
3389
3390         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
3391         pdump_wire'd variable.
3392
3393         * emacs.c: (main_1): Conditionalized calls to
3394         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
3395
3396 2000-01-13  Martin Buchholz  <martin@xemacs.org>
3397
3398         * window.c (Fset_window_configuration):
3399         * sysdep.c (_start):
3400         * input-method-motif.c (res):
3401         * event-Xt.c (Xt_process_to_emacs_event):
3402         Simple compiler warning fixes.
3403
3404         * bytecode.c (funcall_compiled_function): Use the original
3405         function symbol on the backtrace list in preference to the
3406         compiled_function object in error messages.
3407
3408 2000-01-13  Andy Piper  <andy@xemacs.org>
3409
3410         * glyphs-x.c (update_widget_face): Make sure we update the widget
3411         background as well as foreground.
3412
3413 2000-01-13  Andy Piper  <andy@xemacs.org>
3414
3415         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
3416         fields to subwindow.
3417         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
3418         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
3419         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
3420         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
3421
3422         * glyphs-widget.c (check_valid_tab_orientation): new function.
3423         (initialize_widget_image_instance): zero orientation and
3424         justification.
3425         (widget_instantiate): pick up orientation.
3426         (tab_control_query_geometry): return appropriate values for
3427         vertical tabs.
3428
3429         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
3430         appropriate creation flags for left, right and bottom tabs.
3431
3432         * s/cygwin32.h: add tab definitions.
3433
3434 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
3435
3436         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
3437         frame upon hiding a subwindow.
3438         (mswindows_button_instantiate): Changed the push button style to
3439         BS_PUSHBUTTON.
3440         (mswindows_button_instantiate): Removed button BS_NOTIFY
3441         style.
3442         (mswindows_button_instantiate): Removed redundant check for
3443         a disabled gui item.
3444         (mswindows_button_instantiate): Made use of WS_TABSTOP
3445         consistent: "operable" controls (edit, button, tree, scroll) have
3446         this style, "display-only" ones (static, progress gauge) do
3447         not. This style is currently ignored by XEmacs though. Also,
3448         removed the WS_EX_CONTROLPARENT style - it is not for children,
3449         it is for their parents!
3450         (mswindows_edit_field_instantiate): Ditto.
3451         (mswindows_progress_gauge_instantiate): Ditto.
3452         (mswindows_tree_view_instantiate): Ditto.
3453         (mswindows_tab_control_instantiate): Ditto.
3454         (mswindows_scrollbar_instantiate): Ditto.
3455         (mswindows_combo_box_instantiate): Ditto.
3456         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
3457         style to the "clip" window.
3458         (mswindows_button_instantiate): Removed compilation warning by
3459         equally typing terms of the ?: operator.
3460
3461 2000-01-12  Didier Verna  <didier@xemacs.org>
3462
3463         * redisplay.c (generate_fstring_runes): new parameter holding the
3464         last modeline-format extent.
3465         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
3466         extent, fill the glyph block with it.
3467         (generate_fstring_runes): handle these parameters.
3468         (generate_formatted_string_db): ditto.
3469
3470         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
3471         glyphs'extents in the modeline.
3472
3473 1999-01-11  Mike Woolley  <mike@bulsara.com>
3474
3475         * ntheap.c: Reduced the reserved heap space from 1Gb down to
3476         256Mb, as a workaround for the non-starting problem many people
3477         have experienced.
3478
3479 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
3480
3481         * console-tty.c (Fset_console_tty_output_coding_system):
3482         Force redrawing tty frame.
3483
3484 2000-01-10  Didier Verna  <didier@xemacs.org>
3485
3486         * redisplay.c (generate_fstring_runes): fix size computation bug.
3487
3488 2000-01-09  William M. Perry <wmperry@aventail.com>
3489
3490         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
3491
3492 2000-01-09  Andy Piper  <andy@xemacs.org>
3493
3494         * glyphs-msw.c: index -> i to avoid shadows.
3495         (xbm_create_bitmap_from_data): make static.
3496         (check_valid_string_or_int): deleted.
3497         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
3498
3499         * glyphs-x.c (x_update_subwindow): remove unused args.
3500
3501         * glyphs.c (glyph_image_instance): return the thing. Don't set the
3502         back pointer - this is done in allocate_image_instance.
3503         (query_string_font): return Qnil to make the compiler happy.
3504         (unmap_subwindow): set to ~0 to make the compiler happy.
3505         (glyph_query_geometry): comment out until used.
3506         (glyph_layout): ditto.
3507
3508 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
3509
3510         * insdel.c (signal_after_change): Remove extraneous unbind_to().